You've already forked setup-dotnet
							
							
				mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 15:26:22 +07:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			newcdn
			...
			add-publis
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| bdafa7420b | |||
| 064c453b68 | |||
| a6d1e7b915 | |||
| b2ace4b12f | |||
| ea9897a6e5 | 
							
								
								
									
										34
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,7 +17,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -40,7 +40,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -69,7 +69,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -94,7 +94,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -114,7 +114,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -138,7 +138,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -159,7 +159,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -183,7 +183,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -209,7 +209,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -234,7 +234,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -256,7 +256,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-latest] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
| @ -287,7 +287,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-latest] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
| @ -316,7 +316,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -342,7 +342,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
| @ -366,7 +366,7 @@ jobs: | ||||
|           if (-not ($version -eq '${{steps.step2.outputs.dotnet-version}}')) { throw "Unexpected output value" } | ||||
|  | ||||
|   test-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-22.04 | ||||
|     container: | ||||
|       image: ubuntu:latest | ||||
|       options: --dns 127.0.0.1 | ||||
| @ -406,10 +406,10 @@ jobs: | ||||
|           __tests__/verify-dotnet.ps1 -Patterns "^6.0" -CheckNugetConfig | ||||
|  | ||||
|   test-bypass-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-22.04 | ||||
|     env: | ||||
|       https_proxy: http://no-such-proxy:3128 | ||||
|       no_proxy: github.com,dotnetcli.blob.core.windows.net,download.visualstudio.microsoft.com,api.nuget.org,dotnetcli.azureedge.net | ||||
|       no_proxy: github.com,download.visualstudio.microsoft.com,api.nuget.org,builds.dotnet.microsoft.com,ci.dot.net | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|  | ||||
							
								
								
									
										20
									
								
								.github/workflows/publish-immutable-action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/publish-immutable-action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| name: 'Publish Immutable Action Version' | ||||
|  | ||||
| on: | ||||
|   release: | ||||
|     types: [published] | ||||
|  | ||||
| jobs: | ||||
|   publish: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       id-token: write | ||||
|       packages: write | ||||
|  | ||||
|     steps: | ||||
|       - name: Checking out | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Publish | ||||
|         id: publish | ||||
|         uses: actions/publish-immutable-action@v0.0.4 | ||||
							
								
								
									
										2
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,7 +17,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macOS-latest] | ||||
|         dotnet-version: ['2.1', '2.2', '3.0', '3.1', '5.0', '6.0', '7.0', '8.0'] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/cache" | ||||
| version: 3.2.1 | ||||
| version: 4.0.3 | ||||
| type: npm | ||||
| summary: Actions cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/cache | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/core" | ||||
| version: 1.10.0 | ||||
| version: 1.11.1 | ||||
| type: npm | ||||
| summary: Actions core lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/core | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/http-client" | ||||
| version: 2.0.1 | ||||
| version: 2.2.3 | ||||
| type: npm | ||||
| summary: Actions Http Client | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/http-client | ||||
|  | ||||
							
								
								
									
										30
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| --- | ||||
| name: "@fastify/busboy" | ||||
| version: 2.1.1 | ||||
| type: npm | ||||
| summary: A streaming parser for HTML form data for node.js | ||||
| homepage: | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |- | ||||
|     Copyright Brian White. 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. | ||||
| notices: [] | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin-framework" | ||||
| version: 2.9.6 | ||||
| type: npm | ||||
| summary: framework to create protoc plugins | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
							
								
								
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,186 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin" | ||||
| version: 2.9.6 | ||||
| type: npm | ||||
| summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, | ||||
|   Twirp, and more. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
							
								
								
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,207 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/protoc" | ||||
| version: 2.9.6 | ||||
| type: npm | ||||
| summary: Installs the protocol buffer compiler "protoc" for you. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: Auto-generated Apache-2.0 license text | ||||
|   text: |2 | ||||
|                                      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 | ||||
|           (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 | ||||
|           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 | ||||
|  | ||||
|               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. | ||||
|  | ||||
|        Licensed under the Apache License, Version 2.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. | ||||
| notices: [] | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime-rpc" | ||||
| version: 2.9.6 | ||||
| type: npm | ||||
| summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime" | ||||
| version: 2.9.6 | ||||
| type: npm | ||||
| summary: Runtime library for code generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
| @ -1,9 +1,9 @@ | ||||
| --- | ||||
| name: semver | ||||
| version: 6.3.0 | ||||
| version: 6.3.1 | ||||
| type: npm | ||||
| summary: The semantic version parser used by npm. | ||||
| homepage: https://github.com/npm/node-semver#readme | ||||
| homepage: | ||||
| license: isc | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
							
								
								
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,239 @@ | ||||
| --- | ||||
| name: typescript | ||||
| version: 3.9.10 | ||||
| type: npm | ||||
| summary: TypeScript is a language for application scale JavaScript development | ||||
| homepage: https://www.typescriptlang.org/ | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE.txt | ||||
|   text: "Apache License\n\nVersion 2.0, January 2004\n\nhttp://www.apache.org/licenses/ | ||||
|     \n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" | ||||
|     shall mean the terms and conditions for use, reproduction, and distribution as | ||||
|     defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the | ||||
|     copyright owner or entity authorized by the copyright owner that is granting the | ||||
|     License.\n\n\"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.\n\n\"You\" | ||||
|     (or \"Your\") shall mean an individual or Legal Entity exercising permissions | ||||
|     granted by this License.\n\n\"Source\" form shall mean the preferred form for | ||||
|     making modifications, including but not limited to software source code, documentation | ||||
|     source, and configuration files.\n\n\"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.\n\n\"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).\n\n\"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.\n\n\"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.\"\n\n\"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.\n\n2. | ||||
|     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.\n\n3. 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.\n\n4. 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:\n\nYou | ||||
|     must give any other recipients of the Work or Derivative Works a copy of this | ||||
|     License; and\n\nYou must cause any modified files to carry prominent notices stating | ||||
|     that You changed the files; and\n\nYou 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\n\nIf 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.\n\n5. 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.\n\n6. 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.\n\n7. 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.\n\n8. 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.\n\n9. 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.\n\nEND | ||||
|     OF TERMS AND CONDITIONS\n" | ||||
| notices: | ||||
| - sources: AUTHORS.md | ||||
|   text: "TypeScript is authored by:\r\n\r\n - 0verk1ll\r\n - Abubaker Bashir\r\n - | ||||
|     Adam Freidin\r\n - Adam Postma\r\n - Adi Dahiya\r\n - Aditya Daflapurkar\r\n - | ||||
|     Adnan Chowdhury\r\n - Adrian Leonhard\r\n - Adrien Gibrat\r\n - Ahmad Farid\r\n | ||||
|     - Ajay Poshak\r\n - Alan Agius\r\n - Alan Pierce\r\n - Alessandro Vergani\r\n | ||||
|     - Alex Chugaev\r\n - Alex Eagle\r\n - Alex Khomchenko\r\n - Alex Ryan\r\n - Alexander\r\n | ||||
|     - Alexander Kuvaev\r\n - Alexander Rusakov\r\n - Alexander Tarasyuk\r\n - Ali | ||||
|     Sabzevari\r\n - Aluan Haddad\r\n - amaksimovich2\r\n - Anatoly Ressin\r\n - Anders | ||||
|     Hejlsberg\r\n - Anders Kaseorg\r\n - Andre Sutherland\r\n - Andreas Martin\r\n | ||||
|     - Andrej Baran\r\n - Andrew\r\n - Andrew Branch\r\n - Andrew Casey\r\n - Andrew | ||||
|     Faulkner\r\n - Andrew Ochsner\r\n - Andrew Stegmaier\r\n - Andrew Z Allen\r\n | ||||
|     - Andrey Roenko\r\n - Andrii Dieiev\r\n - András Parditka\r\n - Andy Hanson\r\n | ||||
|     - Anil Anar\r\n - Anix\r\n - Anton Khlynovskiy\r\n - Anton Tolmachev\r\n - Anubha | ||||
|     Mathur\r\n - AnyhowStep\r\n - Armando Aguirre\r\n - Arnaud Tournier\r\n - Arnav | ||||
|     Singh\r\n - Arpad Borsos\r\n - Artem Tyurin\r\n - Arthur Ozga\r\n - Asad Saeeduddin\r\n | ||||
|     - Austin Cummings\r\n - Avery Morin\r\n - Aziz Khambati\r\n - Basarat Ali Syed\r\n | ||||
|     - @begincalendar\r\n - Ben Duffield\r\n - Ben Lichtman\r\n - Ben Mosher\r\n - | ||||
|     Benedikt Meurer\r\n - Benjamin Bock\r\n - Benjamin Lichtman\r\n - Benny Neugebauer\r\n | ||||
|     - BigAru\r\n - Bill Ticehurst\r\n - Blaine Bublitz\r\n - Blake Embrey\r\n - @bluelovers\r\n | ||||
|     - @bootstraponline\r\n - Bowden Kelly\r\n - Bowden Kenny\r\n - Brad Zacher\r\n | ||||
|     - Brandon Banks\r\n - Brandon Bloom\r\n - Brandon Slade\r\n - Brendan Kenny\r\n | ||||
|     - Brett Mayen\r\n - Brian Terlson\r\n - Bryan Forbes\r\n - Caitlin Potter\r\n | ||||
|     - Caleb Sander\r\n - Cameron Taggart\r\n - @cedvdb\r\n - Charles\r\n - Charles | ||||
|     Pierce\r\n - Charly POLY\r\n - Chris Bubernak\r\n - Chris Patterson\r\n - christian\r\n | ||||
|     - Christophe Vidal\r\n - Chuck Jazdzewski\r\n - Clay Miller\r\n - Colby Russell\r\n | ||||
|     - Colin Snover\r\n - Collins Abitekaniza\r\n - Connor Clark\r\n - Cotton Hou\r\n | ||||
|     - csigs\r\n - Cyrus Najmabadi\r\n - Dafrok Zhang\r\n - Dahan Gong\r\n - Daiki | ||||
|     Nishikawa\r\n - Dan Corder\r\n - Dan Freeman\r\n - Dan Quirk\r\n - Dan Rollo\r\n | ||||
|     - Daniel Gooss\r\n - Daniel Imms\r\n - Daniel Krom\r\n - Daniel Król\r\n - Daniel | ||||
|     Lehenbauer\r\n - Daniel Rosenwasser\r\n - David Li\r\n - David Sheldrick\r\n - | ||||
|     David Sherret\r\n - David Souther\r\n - David Staheli\r\n - Denis Nedelyaev\r\n | ||||
|     - Derek P Sifford\r\n - Dhruv Rajvanshi\r\n - Dick van den Brink\r\n - Diogo Franco | ||||
|     (Kovensky)\r\n - Dirk Bäumer\r\n - Dirk Holtwick\r\n - Dmitrijs Minajevs\r\n - | ||||
|     Dom Chen\r\n - Donald Pipowitch\r\n - Doug Ilijev\r\n - dreamran43@gmail.com\r\n | ||||
|     - @e-cloud\r\n - Ecole Keine\r\n - Eddie Jaoude\r\n - Edward Thomson\r\n - EECOLOR\r\n | ||||
|     - Eli Barzilay\r\n - Elizabeth Dinella\r\n - Ely Alamillo\r\n - Eric Grube\r\n | ||||
|     - Eric Tsang\r\n - Erik Edrosa\r\n - Erik McClenney\r\n - Esakki Raj\r\n - Ethan | ||||
|     Resnick\r\n - Ethan Rubio\r\n - Eugene Timokhov\r\n - Evan Cahill\r\n - Evan Martin\r\n | ||||
|     - Evan Sebastian\r\n - ExE Boss\r\n - Eyas Sharaiha\r\n - Fabian Cook\r\n - @falsandtru\r\n | ||||
|     - Filipe Silva\r\n - @flowmemo\r\n - Forbes Lindesay\r\n - Francois Hendriks\r\n | ||||
|     - Francois Wouts\r\n - Frank Wallis\r\n - František Žiacik\r\n - Frederico Bittencourt\r\n | ||||
|     - fullheightcoding\r\n - Gabe Moothart\r\n - Gabriel Isenberg\r\n - Gabriela Araujo | ||||
|     Britto\r\n - Gabriela Britto\r\n - gb714us\r\n - Gilad Peleg\r\n - Godfrey Chan\r\n | ||||
|     - Gorka Hernández Estomba\r\n - Graeme Wicksted\r\n - Guillaume Salles\r\n - Guy | ||||
|     Bedford\r\n - hafiz\r\n - Halasi Tamás\r\n - Hendrik Liebau\r\n - Henry Mercer\r\n | ||||
|     - Herrington Darkholme\r\n - Hoang Pham\r\n - Holger Jeromin\r\n - Homa Wong\r\n | ||||
|     - Hye Sung Jung\r\n - Iain Monro\r\n - @IdeaHunter\r\n - Igor Novozhilov\r\n - | ||||
|     Igor Oleinikov\r\n - Ika\r\n - iliashkolyar\r\n - IllusionMH\r\n - Ingvar Stepanyan\r\n | ||||
|     - Ingvar Stepanyan\r\n - Isiah Meadows\r\n - ispedals\r\n - Ivan Enderlin\r\n | ||||
|     - Ivo Gabe de Wolff\r\n - Iwata Hidetaka\r\n - Jack Bates\r\n - Jack Williams\r\n | ||||
|     - Jake Boone\r\n - Jakub Korzeniowski\r\n - Jakub Młokosiewicz\r\n - James Henry\r\n | ||||
|     - James Keane\r\n - James Whitney\r\n - Jan Melcher\r\n - Jason Freeman\r\n - | ||||
|     Jason Jarrett\r\n - Jason Killian\r\n - Jason Ramsay\r\n - JBerger\r\n - Jean | ||||
|     Pierre\r\n - Jed Mao\r\n - Jeff Wilcox\r\n - Jeffrey Morlan\r\n - Jesse Schalken\r\n | ||||
|     - Jesse Trinity\r\n - Jing Ma\r\n - Jiri Tobisek\r\n - Joe Calzaretta\r\n - Joe | ||||
|     Chung\r\n - Joel Day\r\n - Joey Watts\r\n - Johannes Rieken\r\n - John Doe\r\n | ||||
|     - John Vilk\r\n - Jonathan Bond-Caron\r\n - Jonathan Park\r\n - Jonathan Toland\r\n | ||||
|     - Jordan Harband\r\n - Jordi Oliveras Rovira\r\n - Joscha Feth\r\n - Joseph Wunderlich\r\n | ||||
|     - Josh Abernathy\r\n - Josh Goldberg\r\n - Josh Kalderimis\r\n - Josh Soref\r\n | ||||
|     - Juan Luis Boya García\r\n - Julian Williams\r\n - Justin Bay\r\n - Justin Johansson\r\n | ||||
|     - jwbay\r\n - K. Preißer\r\n - Kagami Sascha Rosylight\r\n - Kanchalai Tanglertsampan\r\n | ||||
|     - karthikkp\r\n - Kate Miháliková\r\n - Keen Yee Liau\r\n - Keith Mashinter\r\n | ||||
|     - Ken Howard\r\n - Kenji Imamula\r\n - Kerem Kat\r\n - Kevin Donnelly\r\n - Kevin | ||||
|     Gibbons\r\n - Kevin Lang\r\n - Khải\r\n - Kitson Kelly\r\n - Klaus Meinhardt\r\n | ||||
|     - Kris Zyp\r\n - Kyle Kelley\r\n - Kārlis Gaņģis\r\n - laoxiong\r\n - Leon Aves\r\n | ||||
|     - Limon Monte\r\n - Lorant Pinter\r\n - Lucien Greathouse\r\n - Luka Hartwig\r\n | ||||
|     - Lukas Elmer\r\n - M.Yoshimura\r\n - Maarten Sijm\r\n - Magnus Hiie\r\n - Magnus | ||||
|     Kulke\r\n - Manish Bansal\r\n - Manish Giri\r\n - Marcus Noble\r\n - Marin Marinov\r\n | ||||
|     - Marius Schulz\r\n - Markus Johnsson\r\n - Markus Wolf\r\n - Martin\r\n - Martin | ||||
|     Hiller\r\n - Martin Johns\r\n - Martin Probst\r\n - Martin Vseticka\r\n - Martyn | ||||
|     Janes\r\n - Masahiro Wakame\r\n - Mateusz Burzyński\r\n - Matt Bierner\r\n - Matt | ||||
|     McCutchen\r\n - Matt Mitchell\r\n - Matthew Aynalem\r\n - Matthew Miller\r\n - | ||||
|     Mattias Buelens\r\n - Max Heiber\r\n - Maxwell Paul Brickner\r\n - @meyer\r\n | ||||
|     - Micah Zoltu\r\n - @micbou\r\n - Michael\r\n - Michael Crane\r\n - Michael Henderson\r\n | ||||
|     - Michael Tamm\r\n - Michael Tang\r\n - Michal Przybys\r\n - Mike Busyrev\r\n | ||||
|     - Mike Morearty\r\n - Milosz Piechocki\r\n - Mine Starks\r\n - Minh Nguyen\r\n | ||||
|     - Mohamed Hegazy\r\n - Mohsen Azimi\r\n - Mukesh Prasad\r\n - Myles Megyesi\r\n | ||||
|     - Nathan Day\r\n - Nathan Fenner\r\n - Nathan Shively-Sanders\r\n - Nathan Yee\r\n | ||||
|     - ncoley\r\n - Nicholas Yang\r\n - Nicu Micleușanu\r\n - @nieltg\r\n - Nima Zahedi\r\n | ||||
|     - Noah Chen\r\n - Noel Varanda\r\n - Noel Yoo\r\n - Noj Vek\r\n - nrcoley\r\n | ||||
|     - Nuno Arruda\r\n - Oleg Mihailik\r\n - Oleksandr Chekhovskyi\r\n - Omer Sheikh\r\n | ||||
|     - Orta Therox\r\n - Orta Therox\r\n - Oskar Grunning\r\n - Oskar Segersva¨rd\r\n | ||||
|     - Oussama Ben Brahim\r\n - Ozair Patel\r\n - Patrick McCartney\r\n - Patrick Zhong\r\n | ||||
|     - Paul Koerbitz\r\n - Paul van Brenk\r\n - @pcbro\r\n - Pedro Maltez\r\n - Pete | ||||
|     Bacon Darwin\r\n - Peter Burns\r\n - Peter Šándor\r\n - Philip Pesca\r\n - Philippe | ||||
|     Voinov\r\n - Pi Lanningham\r\n - Piero Cangianiello\r\n - Pierre-Antoine Mills\r\n | ||||
|     - @piloopin\r\n - Pranav Senthilnathan\r\n - Prateek Goel\r\n - Prateek Nayak\r\n | ||||
|     - Prayag Verma\r\n - Priyantha Lankapura\r\n - @progre\r\n - Punya Biswal\r\n | ||||
|     - r7kamura\r\n - Rado Kirov\r\n - Raj Dosanjh\r\n - rChaser53\r\n - Reiner Dolp\r\n | ||||
|     - Remo H. Jansen\r\n - @rflorian\r\n - Rhys van der Waerden\r\n - @rhysd\r\n - | ||||
|     Ricardo N Feliciano\r\n - Richard Karmazín\r\n - Richard Knoll\r\n - Roger Spratley\r\n | ||||
|     - Ron Buckton\r\n - Rostislav Galimsky\r\n - Rowan Wyborn\r\n - rpgeeganage\r\n | ||||
|     - Ruwan Pradeep Geeganage\r\n - Ryan Cavanaugh\r\n - Ryan Clarke\r\n - Ryohei | ||||
|     Ikegami\r\n - Salisbury, Tom\r\n - Sam Bostock\r\n - Sam Drugan\r\n - Sam El-Husseini\r\n | ||||
|     - Sam Lanning\r\n - Sangmin Lee\r\n - Sanket Mishra\r\n - Sarangan Rajamanickam\r\n | ||||
|     - Sasha Joseph\r\n - Sean Barag\r\n - Sergey Rubanov\r\n - Sergey Shandar\r\n | ||||
|     - Sergey Tychinin\r\n - Sergii Bezliudnyi\r\n - Sergio Baidon\r\n - Sharon Rolel\r\n | ||||
|     - Sheetal Nandi\r\n - Shengping Zhong\r\n - Sheon Han\r\n - Shyyko Serhiy\r\n | ||||
|     - Siddharth Singh\r\n - sisisin\r\n - Slawomir Sadziak\r\n - Solal Pirelli\r\n | ||||
|     - Soo Jae Hwang\r\n - Stan Thomas\r\n - Stanislav Iliev\r\n - Stanislav Sysoev\r\n | ||||
|     - Stas Vilchik\r\n - Stephan Ginthör\r\n - Steve Lucco\r\n - @styfle\r\n - Sudheesh | ||||
|     Singanamalla\r\n - Suhas\r\n - Suhas Deshpande\r\n - superkd37\r\n - Sébastien | ||||
|     Arod\r\n - @T18970237136\r\n - @t_\r\n - Tan Li Hau\r\n - Tapan Prakash\r\n - | ||||
|     Taras Mankovski\r\n - Tarik Ozket\r\n - Tetsuharu Ohzeki\r\n - The Gitter Badger\r\n | ||||
|     - Thomas den Hollander\r\n - Thorsten Ball\r\n - Tien Hoanhtien\r\n - Tim Lancina\r\n | ||||
|     - Tim Perry\r\n - Tim Schaub\r\n - Tim Suchanek\r\n - Tim Viiding-Spader\r\n - | ||||
|     Tingan Ho\r\n - Titian Cernicova-Dragomir\r\n - tkondo\r\n - Todd Thomson\r\n | ||||
|     - togru\r\n - Tom J\r\n - Torben Fitschen\r\n - Toxyxer\r\n - @TravCav\r\n - Troy | ||||
|     Tae\r\n - TruongSinh Tran-Nguyen\r\n - Tycho Grouwstra\r\n - uhyo\r\n - Vadi Taslim\r\n | ||||
|     - Vakhurin Sergey\r\n - Valera Rozuvan\r\n - Vilic Vane\r\n - Vimal Raghubir\r\n | ||||
|     - Vladimir Kurchatkin\r\n - Vladimir Matveev\r\n - Vyacheslav Pukhanov\r\n - Wenlu | ||||
|     Wang\r\n - Wes Souza\r\n - Wesley Wigham\r\n - William Orr\r\n - Wilson Hobbs\r\n | ||||
|     - xiaofa\r\n - xl1\r\n - Yacine Hmito\r\n - Yang Cao\r\n - York Yao\r\n - @yortus\r\n | ||||
|     - Yoshiki Shibukawa\r\n - Yuichi Nukiyama\r\n - Yuval Greenfield\r\n - Yuya Tanaka\r\n | ||||
|     - Z\r\n - Zeeshan Ahmed\r\n - Zev Spitz\r\n - Zhengbo Li\r\n - Zixiang Li\r\n | ||||
|     - @Zzzen\r\n - 阿卡琳" | ||||
| @ -1,16 +1,16 @@ | ||||
| --- | ||||
| name: uuid | ||||
| version: 3.4.0 | ||||
| name: undici | ||||
| version: 5.29.0 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage:  | ||||
| summary: An HTTP/1.1 client, written from scratch for Node.js | ||||
| homepage: https://undici.nodejs.org | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2010-2016 Robert Kieffer and other contributors | ||||
|     Copyright (c) Matteo Collina and Undici 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 | ||||
| @ -29,11 +29,6 @@ licenses: | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: | ||||
| - sources: AUTHORS | ||||
|   text: |- | ||||
|     Robert Kieffer <robert@broofa.com> | ||||
|     Christoph Tavan <dev@tavan.de> | ||||
|     AJ ONeal <coolaj86@gmail.com> | ||||
|     Vincent Voyer <vincent@zeroload.net> | ||||
|     Roman Shtylman <shtylman@gmail.com> | ||||
| - sources: README.md | ||||
|   text: MIT | ||||
| notices: [] | ||||
							
								
								
									
										31118
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31118
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										31142
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31142
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										563
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										563
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							| @ -72,14 +72,12 @@ | ||||
| .PARAMETER Verbose | ||||
|     Displays diagnostics information. | ||||
| .PARAMETER AzureFeed | ||||
|     Default: https://dotnetcli.azureedge.net/dotnet | ||||
|     Default: https://builds.dotnet.microsoft.com/dotnet | ||||
|     For internal use only. | ||||
|     Allows using a different storage to download SDK archives from. | ||||
|     This parameter is only used if $NoCdn is false. | ||||
| .PARAMETER UncachedFeed | ||||
|     For internal use only. | ||||
|     Allows using a different storage to download SDK archives from. | ||||
|     This parameter is only used if $NoCdn is true. | ||||
| .PARAMETER ProxyAddress | ||||
|     If set, the installer will use the proxy when making web requests | ||||
| .PARAMETER ProxyUseDefaultCredentials | ||||
| @ -90,14 +88,22 @@ | ||||
| .PARAMETER SkipNonVersionedFiles | ||||
|     Default: false | ||||
|     Skips installing non-versioned files if they already exist, such as dotnet.exe. | ||||
| .PARAMETER NoCdn | ||||
|     Disable downloading from the Azure CDN, and use the uncached feed directly. | ||||
| .PARAMETER JSonFile | ||||
|     Determines the SDK version from a user specified global.json file | ||||
|     Note: global.json must have a value for 'SDK:Version' | ||||
| .PARAMETER DownloadTimeout | ||||
|     Determines timeout duration in seconds for dowloading of the SDK file | ||||
|     Default: 1200 seconds (20 minutes) | ||||
| .PARAMETER KeepZip | ||||
|     If set, downloaded file is kept | ||||
| .PARAMETER ZipPath | ||||
|     Use that path to store installer, generated by default | ||||
| .EXAMPLE | ||||
|     dotnet-install.ps1 -Version 7.0.401 | ||||
|     Installs the .NET SDK version 7.0.401 | ||||
| .EXAMPLE | ||||
|     dotnet-install.ps1 -Channel 8.0 -Quality GA | ||||
|     Installs the latest GA (general availability) version of the .NET 8.0 SDK | ||||
| #> | ||||
| [cmdletbinding()] | ||||
| param( | ||||
| @ -120,8 +126,10 @@ param( | ||||
|     [switch]$ProxyUseDefaultCredentials, | ||||
|     [string[]]$ProxyBypassList = @(), | ||||
|     [switch]$SkipNonVersionedFiles, | ||||
|    [switch]$NoCdn, | ||||
|    [int]$DownloadTimeout=1200 | ||||
|     [int]$DownloadTimeout = 1200, | ||||
|     [switch]$KeepZip, | ||||
|     [string]$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()), | ||||
|     [switch]$Help | ||||
| ) | ||||
|  | ||||
| Set-StrictMode -Version Latest | ||||
| @ -173,7 +181,24 @@ function Say-Verbose($str) { | ||||
| function Measure-Action($name, $block) { | ||||
|     $time = Measure-Command $block | ||||
|     $totalSeconds = $time.TotalSeconds | ||||
|     Say-Verbose "⏱ Action '$name' took $totalSeconds seconds" | ||||
|     Say-Verbose "Action '$name' took $totalSeconds seconds" | ||||
| } | ||||
|  | ||||
| function Get-Remote-File-Size($zipUri) { | ||||
|     try { | ||||
|         $response = Invoke-WebRequest -Uri $zipUri -Method Head | ||||
|         $fileSize = $response.Headers["Content-Length"] | ||||
|         if ((![string]::IsNullOrEmpty($fileSize))) { | ||||
|             Say "Remote file $zipUri size is $fileSize bytes." | ||||
|          | ||||
|             return $fileSize | ||||
|         } | ||||
|     } | ||||
|     catch { | ||||
|         Say-Verbose "Content-Length header was not extracted for $zipUri." | ||||
|     } | ||||
|  | ||||
|     return $null | ||||
| } | ||||
|  | ||||
| function Say-Invocation($Invocation) { | ||||
| @ -219,8 +244,7 @@ function Get-Machine-Architecture() { | ||||
|  | ||||
|     try {         | ||||
|         if ( ((Get-CimInstance -ClassName CIM_OperatingSystem).OSArchitecture) -like "ARM*") { | ||||
|             if( [Environment]::Is64BitOperatingSystem ) | ||||
|             { | ||||
|             if ( [Environment]::Is64BitOperatingSystem ) { | ||||
|                 return "arm64" | ||||
|             }   | ||||
|             return "arm" | ||||
| @ -249,13 +273,13 @@ function Get-CLIArchitecture-From-Architecture([string]$Architecture) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| function ValidateFeedCredential([string] $FeedCredential) | ||||
| { | ||||
| function ValidateFeedCredential([string] $FeedCredential) { | ||||
|     if ($Internal -and [string]::IsNullOrWhitespace($FeedCredential)) { | ||||
|         $message = "Provide credentials via -FeedCredential parameter." | ||||
|         if ($DryRun) { | ||||
|             Say-Warning "$message" | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             throw "$message" | ||||
|         } | ||||
|     } | ||||
| @ -347,8 +371,7 @@ function Load-Assembly([string] $Assembly) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, [bool]$DisableFeedCredential) | ||||
| { | ||||
| function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, [bool]$DisableFeedCredential) { | ||||
|     $cts = New-Object System.Threading.CancellationTokenSource | ||||
|  | ||||
|     $downloadScript = { | ||||
| @ -366,12 +389,14 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|                     if ($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { | ||||
|                         if ($null -ne $DefaultProxy.GetProxy($Uri)) { | ||||
|                             $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString | ||||
|                         } else { | ||||
|                         } | ||||
|                         else { | ||||
|                             $ProxyAddress = $null | ||||
|                         } | ||||
|                         $ProxyUseDefaultCredentials = $true | ||||
|                     } | ||||
|                 } catch { | ||||
|                 } | ||||
|                 catch { | ||||
|                     # Eat the exception and move forward as the above code is an attempt | ||||
|                     #    at resolving the DefaultProxy that may not have been a problem. | ||||
|                     $ProxyAddress = $null | ||||
| @ -387,8 +412,7 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|                     BypassList            = $ProxyBypassList; | ||||
|                 } | ||||
|             }        | ||||
|             if ($DisableRedirect) | ||||
|             { | ||||
|             if ($DisableRedirect) { | ||||
|                 $HttpClientHandler.AllowAutoRedirect = $false | ||||
|             } | ||||
|             $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler | ||||
| @ -422,8 +446,7 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|                     $DownloadException.Data["StatusCode"] = [int] $Response.StatusCode | ||||
|                     $DownloadException.Data["ErrorMessage"] = "Unable to download $Uri. Returned HTTP status code: " + $DownloadException.Data["StatusCode"] | ||||
|  | ||||
|                     if (404 -eq [int] $Response.StatusCode) | ||||
|                     { | ||||
|                     if (404 -eq [int] $Response.StatusCode) { | ||||
|                         $cts.Cancel() | ||||
|                     } | ||||
|                 } | ||||
| @ -462,10 +485,8 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|     try { | ||||
|         return Invoke-With-Retry $downloadScript $cts.Token | ||||
|     } | ||||
|     finally | ||||
|     { | ||||
|         if ($null -ne $cts) | ||||
|         { | ||||
|     finally { | ||||
|         if ($null -ne $cts) { | ||||
|             $cts.Dispose() | ||||
|         } | ||||
|     } | ||||
| @ -583,11 +604,9 @@ function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string | ||||
|     elseif ($Runtime -eq "windowsdesktop") { | ||||
|         # The windows desktop runtime is part of the core runtime layout prior to 5.0 | ||||
|         $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/windowsdesktop-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip" | ||||
|         if ($SpecificVersion -match '^(\d+)\.(.*)$') | ||||
|         { | ||||
|         if ($SpecificVersion -match '^(\d+)\.(.*)$') { | ||||
|             $majorVersion = [int]$Matches[1] | ||||
|             if ($majorVersion -ge 5) | ||||
|             { | ||||
|             if ($majorVersion -ge 5) { | ||||
|                 $PayloadURL = "$AzureFeed/WindowsDesktop/$SpecificVersion/windowsdesktop-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip" | ||||
|             } | ||||
|         } | ||||
| @ -637,8 +656,7 @@ function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion, [stri | ||||
|  | ||||
|             if ($productVersionResponse.StatusCode -eq 200) { | ||||
|                 $productVersion = $productVersionResponse.Content.ReadAsStringAsync().Result.Trim() | ||||
|                 if ($productVersion -ne $SpecificVersion) | ||||
|                 { | ||||
|                 if ($productVersion -ne $SpecificVersion) { | ||||
|                     Say "Using alternate version $productVersion found in $ProductVersionTxtURL" | ||||
|                 } | ||||
|                 return $productVersion | ||||
| @ -653,8 +671,7 @@ function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion, [stri | ||||
|     } | ||||
|  | ||||
|     # Getting the version number with productVersion.txt has failed. Try parsing the download link for a version number. | ||||
|     if ([string]::IsNullOrEmpty($PackageDownloadLink)) | ||||
|     { | ||||
|     if ([string]::IsNullOrEmpty($PackageDownloadLink)) { | ||||
|         Say-Verbose "Using the default value '$SpecificVersion' as the product version." | ||||
|         return $SpecificVersion | ||||
|     } | ||||
| @ -714,16 +731,14 @@ function Get-Product-Version-Url([string]$AzureFeed, [string]$SpecificVersion, [ | ||||
|     return $ProductVersionTxtURL | ||||
| } | ||||
|  | ||||
| function Get-ProductVersionFromDownloadLink([string]$PackageDownloadLink, [string]$SpecificVersion) | ||||
| { | ||||
| function Get-ProductVersionFromDownloadLink([string]$PackageDownloadLink, [string]$SpecificVersion) { | ||||
|     Say-Invocation $MyInvocation | ||||
|  | ||||
|     #product specific version follows the product name | ||||
|     #for filename 'dotnet-sdk-3.1.404-win-x64.zip': the product version is 3.1.400 | ||||
|     $filename = $PackageDownloadLink.Substring($PackageDownloadLink.LastIndexOf("/") + 1) | ||||
|     $filenameParts = $filename.Split('-') | ||||
|     if ($filenameParts.Length -gt 2) | ||||
|     { | ||||
|     if ($filenameParts.Length -gt 2) { | ||||
|         $productVersion = $filenameParts[2] | ||||
|         Say-Verbose "Extracted product version '$productVersion' from download link '$PackageDownloadLink'." | ||||
|     } | ||||
| @ -741,6 +756,9 @@ function Get-User-Share-Path() { | ||||
|     if (!$InstallRoot) { | ||||
|         $InstallRoot = "$env:LocalAppData\Microsoft\dotnet" | ||||
|     } | ||||
|     elseif ($InstallRoot -like "$env:ProgramFiles\dotnet\?*") { | ||||
|         Say-Warning "The install root specified by the environment variable DOTNET_INSTALL_DIR points to the sub folder of $env:ProgramFiles\dotnet which is the default dotnet install root using .NET SDK installer. It is better to keep aligned with .NET SDK installer." | ||||
|     } | ||||
|     return $InstallRoot | ||||
| } | ||||
|  | ||||
| @ -753,6 +771,19 @@ function Resolve-Installation-Path([string]$InstallDir) { | ||||
|     return $InstallDir | ||||
| } | ||||
|  | ||||
| function Test-User-Write-Access([string]$InstallDir) { | ||||
|     try { | ||||
|         $tempFileName = [guid]::NewGuid().ToString() | ||||
|         $tempFilePath = Join-Path -Path $InstallDir -ChildPath $tempFileName | ||||
|         New-Item -Path $tempFilePath -ItemType File -Force | ||||
|         Remove-Item $tempFilePath -Force | ||||
|         return $true | ||||
|     } | ||||
|     catch { | ||||
|         return $false | ||||
|     } | ||||
| } | ||||
|  | ||||
| function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) { | ||||
|     Say-Invocation $MyInvocation | ||||
|  | ||||
| @ -836,8 +867,7 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     catch | ||||
|     { | ||||
|     catch { | ||||
|         Say-Error "Failed to extract package. Exception: $_" | ||||
|         throw; | ||||
|     } | ||||
| @ -869,6 +899,8 @@ function DownloadFile($Source, [string]$OutPath) { | ||||
|         $File = [System.IO.File]::Create($OutPath) | ||||
|         $Stream.CopyTo($File) | ||||
|         $File.Close() | ||||
|  | ||||
|         ValidateRemoteLocalFileSizes -LocalFileOutPath $OutPath -SourceUri $Source | ||||
|     } | ||||
|     finally { | ||||
|         if ($null -ne $Stream) { | ||||
| @ -877,19 +909,40 @@ function DownloadFile($Source, [string]$OutPath) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| function ValidateRemoteLocalFileSizes([string]$LocalFileOutPath, $SourceUri) { | ||||
|     try { | ||||
|         $remoteFileSize = Get-Remote-File-Size -zipUri $SourceUri | ||||
|         $fileSize = [long](Get-Item $LocalFileOutPath).Length | ||||
|         Say "Downloaded file $SourceUri size is $fileSize bytes." | ||||
|      | ||||
|         if ((![string]::IsNullOrEmpty($remoteFileSize)) -and !([string]::IsNullOrEmpty($fileSize)) ) { | ||||
|             if ($remoteFileSize -ne $fileSize) { | ||||
|                 Say "The remote and local file sizes are not equal. Remote file size is $remoteFileSize bytes and local size is $fileSize bytes. The local package may be corrupted." | ||||
|             } | ||||
|             else { | ||||
|                 Say "The remote and local file sizes are equal." | ||||
|             }    | ||||
|         } | ||||
|         else { | ||||
|             Say "Either downloaded or local package size can not be measured. One of them may be corrupted." | ||||
|         } | ||||
|     } | ||||
|     catch { | ||||
|         Say "Either downloaded or local package size can not be measured. One of them may be corrupted." | ||||
|     } | ||||
| } | ||||
|  | ||||
| function SafeRemoveFile($Path) { | ||||
|     try { | ||||
|         if (Test-Path $Path) { | ||||
|             Remove-Item $Path | ||||
|             Say-Verbose "The temporary file `"$Path`" was removed." | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|         else { | ||||
|             Say-Verbose "The temporary file `"$Path`" does not exist, therefore is not removed." | ||||
|         } | ||||
|     } | ||||
|     catch | ||||
|     { | ||||
|     catch { | ||||
|         Say-Warning "Failed to remove the temporary file: `"$Path`", remove it manually." | ||||
|     } | ||||
| } | ||||
| @ -901,7 +954,8 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) { | ||||
|         if (-Not $env:path.Contains($SuffixedBinPath)) { | ||||
|             Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process." | ||||
|             $env:path = $SuffixedBinPath + $env:path | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             Say-Verbose "Current process PATH already contains `"$BinPath`"" | ||||
|         } | ||||
|     } | ||||
| @ -910,8 +964,7 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| function PrintDryRunOutput($Invocation, $DownloadLinks) | ||||
| { | ||||
| function PrintDryRunOutput($Invocation, $DownloadLinks) { | ||||
|     Say "Payload URLs:" | ||||
|      | ||||
|     for ($linkIndex = 0; $linkIndex -lt $DownloadLinks.count; $linkIndex++) { | ||||
| @ -934,12 +987,37 @@ function PrintDryRunOutput($Invocation, $DownloadLinks) | ||||
|         $RepeatableCommand += " -FeedCredential `"<feedCredential>`"" | ||||
|     } | ||||
|     Say "Repeatable invocation: $RepeatableCommand" | ||||
|     if ($SpecificVersion -ne $EffectiveVersion) | ||||
|     { | ||||
|     if ($SpecificVersion -ne $EffectiveVersion) { | ||||
|         Say "NOTE: Due to finding a version manifest with this runtime, it would actually install with version '$EffectiveVersion'" | ||||
|     } | ||||
| } | ||||
|  | ||||
| # grab the 'stem' of the redirect and check it against all of our configured feeds,  | ||||
| # if it matches, we can be sure that the redirect is valid and we should use it for | ||||
| # subsequent processing | ||||
| function Sanitize-RedirectUrl([string]$url) { | ||||
|     $urlSegments = ([System.Uri]$url).Segments; | ||||
|     $urlStem = $urlSegments[2..($urlSegments.Length - 1)] -join ""; | ||||
|     Write-Verbose "Checking configured feeds for the asset at $urlStem" | ||||
|     foreach ($prospectiveFeed in $feeds) { | ||||
|         $trialUrl = "$prospectiveFeed/$urlStem"; | ||||
|         Write-Verbose "Checking $trialUrl" | ||||
|         try { | ||||
|             $trialResponse = Invoke-WebRequest -Uri $trialUrl -Method HEAD | ||||
|             if ($trialResponse.StatusCode -eq 200) { | ||||
|                 Write-Verbose "Found a match at $trialUrl" | ||||
|                 return $trialUrl; | ||||
|             } | ||||
|             else { | ||||
|                 Write-Verbose "No match at $trialUrl" | ||||
|             } | ||||
|         } | ||||
|         catch { | ||||
|             Write-Verbose "Failed to check $trialUrl" | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Internal, [string]$Product, [string]$Architecture) { | ||||
|     Say-Invocation $MyInvocation  | ||||
|  | ||||
| @ -963,8 +1041,7 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|     Say-Verbose  "Constructed aka.ms link: '$akaMsLink'." | ||||
|     $akaMsDownloadLink = $null | ||||
|  | ||||
|     for ($maxRedirections = 9; $maxRedirections -ge 0; $maxRedirections--) | ||||
|     { | ||||
|     for ($maxRedirections = 9; $maxRedirections -ge 0; $maxRedirections--) { | ||||
|         #get HTTP response | ||||
|         #do not pass credentials as a part of the $akaMsLink and do not apply credentials in the GetHTTPResponse function | ||||
|         #otherwise the redirect link would have credentials as well | ||||
| @ -978,8 +1055,7 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|         } | ||||
|  | ||||
|         #if HTTP code is 301 (Moved Permanently), the redirect link exists | ||||
|         if  ($Response.StatusCode -eq 301) | ||||
|         { | ||||
|         if ($Response.StatusCode -eq 301) { | ||||
|             try { | ||||
|                 $akaMsDownloadLink = $Response.Headers.GetValues("Location")[0] | ||||
|  | ||||
| @ -998,9 +1074,13 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|                 return $null | ||||
|             } | ||||
|         } | ||||
|         elseif ((($Response.StatusCode -lt 300) -or ($Response.StatusCode -ge 400)) -and (-not [string]::IsNullOrEmpty($akaMsDownloadLink))) | ||||
|         { | ||||
|         elseif ((($Response.StatusCode -lt 300) -or ($Response.StatusCode -ge 400)) -and (-not [string]::IsNullOrEmpty($akaMsDownloadLink))) { | ||||
|             # Redirections have ended. | ||||
|             $actualRedirectUrl = Sanitize-RedirectUrl $akaMsDownloadLink | ||||
|             if ($null -ne $actualRedirectUrl) { | ||||
|                 $akaMsDownloadLink = $actualRedirectUrl | ||||
|             } | ||||
|  | ||||
|             return $akaMsDownloadLink | ||||
|         } | ||||
|  | ||||
| @ -1049,27 +1129,21 @@ function Get-AkaMsLink-And-Version([string] $NormalizedChannel, [string] $Normal | ||||
|     } | ||||
| } | ||||
|  | ||||
| function Get-Feeds-To-Use() | ||||
| { | ||||
| function Get-Feeds-To-Use() { | ||||
|     $feeds = @( | ||||
|     "https://dotnetcli.azureedge.net/dotnet", | ||||
|     "https://dotnetbuilds.azureedge.net/public" | ||||
|         "https://builds.dotnet.microsoft.com/dotnet" | ||||
|         "https://ci.dot.net/public" | ||||
|     ) | ||||
|  | ||||
|     if (-not [string]::IsNullOrEmpty($AzureFeed)) { | ||||
|         $feeds = @($AzureFeed) | ||||
|     } | ||||
|  | ||||
|     if ($NoCdn) { | ||||
|         $feeds = @( | ||||
|         "https://dotnetcli.blob.core.windows.net/dotnet", | ||||
|         "https://dotnetbuilds.blob.core.windows.net/public" | ||||
|         ) | ||||
|  | ||||
|     if (-not [string]::IsNullOrEmpty($UncachedFeed)) { | ||||
|             $feeds = @($UncachedFeed) | ||||
|     } | ||||
|     } | ||||
|  | ||||
|     Write-Verbose "Initialized feeds: $feeds" | ||||
|  | ||||
|     return $feeds | ||||
| } | ||||
| @ -1100,6 +1174,13 @@ function Resolve-AssetName-And-RelativePath([string] $Runtime) { | ||||
| } | ||||
|  | ||||
| function Prepare-Install-Directory { | ||||
|     $diskSpaceWarning = "Failed to check the disk space. Installation will continue, but it may fail if you do not have enough disk space."; | ||||
|  | ||||
|     if ($PSVersionTable.PSVersion.Major -lt 7) { | ||||
|         Say-Verbose $diskSpaceWarning | ||||
|         return | ||||
|     } | ||||
|  | ||||
|     New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null | ||||
|  | ||||
|     $installDrive = $((Get-Item $InstallRoot -Force).PSDrive.Name); | ||||
| @ -1108,14 +1189,20 @@ function Prepare-Install-Directory { | ||||
|         $diskInfo = Get-PSDrive -Name $installDrive | ||||
|     } | ||||
|     catch { | ||||
|         Say-Warning "Failed to check the disk space. Installation will continue, but it may fail if you do not have enough disk space." | ||||
|         Say-Warning $diskSpaceWarning | ||||
|     } | ||||
|  | ||||
|     # The check is relevant for PS version >= 7, the result can be irrelevant for older versions. See https://github.com/PowerShell/PowerShell/issues/12442. | ||||
|     if ( ($null -ne $diskInfo) -and ($diskInfo.Free / 1MB -le 100)) { | ||||
|         throw "There is not enough disk space on drive ${installDrive}:" | ||||
|     } | ||||
| } | ||||
|  | ||||
| if ($Help) { | ||||
|     Get-Help $PSCommandPath -Examples | ||||
|     exit | ||||
| } | ||||
|  | ||||
| Say-Verbose "Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:" | ||||
| Say-Verbose "- The SDK needs to be installed without user interaction and without admin rights." | ||||
| Say-Verbose "- The SDK installation doesn't need to persist across multiple CI runs." | ||||
| @ -1139,6 +1226,10 @@ Measure-Action "Product discovery" { | ||||
| } | ||||
|  | ||||
| $InstallRoot = Resolve-Installation-Path $InstallDir | ||||
| if (-not (Test-User-Write-Access $InstallRoot)) { | ||||
|     Say-Error "The current user doesn't have write access to the installation root '$InstallRoot' to install .NET. Please try specifying a different installation directory using the -InstallDir parameter, or ensure the selected directory has the appropriate permissions." | ||||
|     throw | ||||
| } | ||||
| Say-Verbose "InstallRoot: $InstallRoot" | ||||
| $ScriptName = $MyInvocation.MyCommand.Name | ||||
| ($assetName, $dotnetPackageRelativePath) = Resolve-AssetName-And-RelativePath -Runtime $Runtime | ||||
| @ -1160,8 +1251,7 @@ if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) { | ||||
|          | ||||
|         if (-Not $DryRun) { | ||||
|             Say-Verbose "Checking if the version $EffectiveVersion is already installed" | ||||
|             if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) | ||||
|             { | ||||
|             if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) { | ||||
|                 Say "$assetName with version '$EffectiveVersion' is already installed." | ||||
|                 Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot | ||||
|                 return | ||||
| @ -1172,8 +1262,7 @@ if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) { | ||||
|  | ||||
| # Primary and legacy links cannot be used if a quality was specified. | ||||
| # If we already have an aka.ms link, no need to search the blob feeds. | ||||
| if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count) | ||||
| { | ||||
| if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count) { | ||||
|     foreach ($feed in $feeds) { | ||||
|         try { | ||||
|             $SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $feed -Channel $Channel -Version $Version -JSonFile $JSonFile | ||||
| @ -1190,16 +1279,14 @@ if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count) | ||||
|      | ||||
|             if (-Not $DryRun) { | ||||
|                 Say-Verbose "Checking if the version $EffectiveVersion is already installed" | ||||
|                 if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) | ||||
|                 { | ||||
|                 if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) { | ||||
|                     Say "$assetName with version '$EffectiveVersion' is already installed." | ||||
|                     Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot | ||||
|                     return | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         catch | ||||
|         { | ||||
|         catch { | ||||
|             Say-Verbose "Failed to acquire download links from feed $feed. Exception: $_" | ||||
|         } | ||||
|     } | ||||
| @ -1216,15 +1303,13 @@ if ($DryRun) { | ||||
|  | ||||
| Measure-Action "Installation directory preparation" { Prepare-Install-Directory } | ||||
|  | ||||
| $ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) | ||||
| Say-Verbose "Zip path: $ZipPath" | ||||
|  | ||||
| $DownloadSucceeded = $false | ||||
| $DownloadedLink = $null | ||||
| $ErrorMessages = @() | ||||
|  | ||||
| foreach ($link in $DownloadLinks) | ||||
| { | ||||
| foreach ($link in $DownloadLinks) { | ||||
|     Say-Verbose "Downloading `"$($link.type)`" link $($link.downloadLink)" | ||||
|  | ||||
|     try { | ||||
| @ -1244,7 +1329,8 @@ foreach ($link in $DownloadLinks) | ||||
|      | ||||
|         if ($PSItem.Exception.Data.Contains("ErrorMessage")) { | ||||
|             $ErrorMessage = $PSItem.Exception.Data["ErrorMessage"] | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             $ErrorMessage = $PSItem.Exception.Message | ||||
|         } | ||||
|  | ||||
| @ -1289,51 +1375,54 @@ if (!$isAssetInstalled) { | ||||
|     throw "`"$assetName`" with version = $($DownloadedLink.effectiveVersion) failed to install with an unknown error." | ||||
| } | ||||
|  | ||||
| if (-not $KeepZip) { | ||||
|     SafeRemoveFile -Path $ZipPath | ||||
| } | ||||
|  | ||||
| Measure-Action "Setting up shell environment" { Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot } | ||||
|  | ||||
| Say "Note that the script does not resolve dependencies during installation." | ||||
| Say "To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies" | ||||
| Say "Note that the script does not ensure your Windows version is supported during the installation." | ||||
| Say "To check the list of supported versions, go to https://learn.microsoft.com/dotnet/core/install/windows#supported-versions" | ||||
| Say "Installed version is $($DownloadedLink.effectiveVersion)" | ||||
| Say "Installation finished" | ||||
|  | ||||
| # SIG # Begin signature block | ||||
| # MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor | ||||
| # MIIoRgYJKoZIhvcNAQcCoIIoNzCCKDMCAQExDzANBglghkgBZQMEAgEFADB5Bgor | ||||
| # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG | ||||
| # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBhfTi3SRn7+vyy | ||||
| # uCXKPjhiawegWZ493EcaOEycbgkZcKCCDXYwggX0MIID3KADAgECAhMzAAACy7d1 | ||||
| # OfsCcUI2AAAAAALLMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAA6hOL3sfG/4jH | ||||
| # iO4VqZoOTVqC+yp2rOhb1M2cc+ic7KCCDXYwggX0MIID3KADAgECAhMzAAAEBGx0 | ||||
| # Bv9XKydyAAAAAAQEMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p | ||||
| # bmcgUENBIDIwMTEwHhcNMjIwNTEyMjA0NTU5WhcNMjMwNTExMjA0NTU5WjB0MQsw | ||||
| # bmcgUENBIDIwMTEwHhcNMjQwOTEyMjAxMTE0WhcNMjUwOTExMjAxMTE0WjB0MQsw | ||||
| # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u | ||||
| # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB | ||||
| # AQC3sN0WcdGpGXPZIb5iNfFB0xZ8rnJvYnxD6Uf2BHXglpbTEfoe+mO//oLWkRxA | ||||
| # wppditsSVOD0oglKbtnh9Wp2DARLcxbGaW4YanOWSB1LyLRpHnnQ5POlh2U5trg4 | ||||
| # 3gQjvlNZlQB3lL+zrPtbNvMA7E0Wkmo+Z6YFnsf7aek+KGzaGboAeFO4uKZjQXY5 | ||||
| # RmMzE70Bwaz7hvA05jDURdRKH0i/1yK96TDuP7JyRFLOvA3UXNWz00R9w7ppMDcN | ||||
| # lXtrmbPigv3xE9FfpfmJRtiOZQKd73K72Wujmj6/Su3+DBTpOq7NgdntW2lJfX3X | ||||
| # a6oe4F9Pk9xRhkwHsk7Ju9E/AgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE | ||||
| # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUrg/nt/gj+BBLd1jZWYhok7v5/w4w | ||||
| # AQC0KDfaY50MDqsEGdlIzDHBd6CqIMRQWW9Af1LHDDTuFjfDsvna0nEuDSYJmNyz | ||||
| # NB10jpbg0lhvkT1AzfX2TLITSXwS8D+mBzGCWMM/wTpciWBV/pbjSazbzoKvRrNo | ||||
| # DV/u9omOM2Eawyo5JJJdNkM2d8qzkQ0bRuRd4HarmGunSouyb9NY7egWN5E5lUc3 | ||||
| # a2AROzAdHdYpObpCOdeAY2P5XqtJkk79aROpzw16wCjdSn8qMzCBzR7rvH2WVkvF | ||||
| # HLIxZQET1yhPb6lRmpgBQNnzidHV2Ocxjc8wNiIDzgbDkmlx54QPfw7RwQi8p1fy | ||||
| # 4byhBrTjv568x8NGv3gwb0RbAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE | ||||
| # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU8huhNbETDU+ZWllL4DNMPCijEU4w | ||||
| # RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW | ||||
| # MBQGA1UEBRMNMjMwMDEyKzQ3MDUyODAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci | ||||
| # MBQGA1UEBRMNMjMwMDEyKzUwMjkyMzAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci | ||||
| # tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j | ||||
| # b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG | ||||
| # CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu | ||||
| # Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 | ||||
| # MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAJL5t6pVjIRlQ8j4dAFJ | ||||
| # ZnMke3rRHeQDOPFxswM47HRvgQa2E1jea2aYiMk1WmdqWnYw1bal4IzRlSVf4czf | ||||
| # zx2vjOIOiaGllW2ByHkfKApngOzJmAQ8F15xSHPRvNMmvpC3PFLvKMf3y5SyPJxh | ||||
| # 922TTq0q5epJv1SgZDWlUlHL/Ex1nX8kzBRhHvc6D6F5la+oAO4A3o/ZC05OOgm4 | ||||
| # EJxZP9MqUi5iid2dw4Jg/HvtDpCcLj1GLIhCDaebKegajCJlMhhxnDXrGFLJfX8j | ||||
| # 7k7LUvrZDsQniJZ3D66K+3SZTLhvwK7dMGVFuUUJUfDifrlCTjKG9mxsPDllfyck | ||||
| # 4zGnRZv8Jw9RgE1zAghnU14L0vVUNOzi/4bE7wIsiRyIcCcVoXRneBA3n/frLXvd | ||||
| # jDsbb2lpGu78+s1zbO5N0bhHWq4j5WMutrspBxEhqG2PSBjC5Ypi+jhtfu3+x76N | ||||
| # mBvsyKuxx9+Hm/ALnlzKxr4KyMR3/z4IRMzA1QyppNk65Ui+jB14g+w4vole33M1 | ||||
| # pVqVckrmSebUkmjnCshCiH12IFgHZF7gRwE4YZrJ7QjxZeoZqHaKsQLRMp653beB | ||||
| # fHfeva9zJPhBSdVcCW7x9q0c2HVPLJHX9YCUU714I+qtLpDGrdbZxD9mikPqL/To | ||||
| # /1lDZ0ch8FtePhME7houuoPcMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq | ||||
| # MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAIjmD9IpQVvfB1QehvpC | ||||
| # Ge7QeTQkKQ7j3bmDMjwSqFL4ri6ae9IFTdpywn5smmtSIyKYDn3/nHtaEn0X1NBj | ||||
| # L5oP0BjAy1sqxD+uy35B+V8wv5GrxhMDJP8l2QjLtH/UglSTIhLqyt8bUAqVfyfp | ||||
| # h4COMRvwwjTvChtCnUXXACuCXYHWalOoc0OU2oGN+mPJIJJxaNQc1sjBsMbGIWv3 | ||||
| # cmgSHkCEmrMv7yaidpePt6V+yPMik+eXw3IfZ5eNOiNgL1rZzgSJfTnvUqiaEQ0X | ||||
| # dG1HbkDv9fv6CTq6m4Ty3IzLiwGSXYxRIXTxT4TYs5VxHy2uFjFXWVSL0J2ARTYL | ||||
| # E4Oyl1wXDF1PX4bxg1yDMfKPHcE1Ijic5lx1KdK1SkaEJdto4hd++05J9Bf9TAmi | ||||
| # u6EK6C9Oe5vRadroJCK26uCUI4zIjL/qG7mswW+qT0CW0gnR9JHkXCWNbo8ccMk1 | ||||
| # sJatmRoSAifbgzaYbUz8+lv+IXy5GFuAmLnNbGjacB3IMGpa+lbFgih57/fIhamq | ||||
| # 5VhxgaEmn/UjWyr+cPiAFWuTVIpfsOjbEAww75wURNM1Imp9NJKye1O24EspEHmb | ||||
| # DmqCUcq7NqkOKIG4PVm3hDDED/WQpzJDkvu4FrIbvyTGVU01vKsg4UfcdiZ0fQ+/ | ||||
| # V0hf8yrtq9CkB8iIuk5bBxuPMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq | ||||
| # hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x | ||||
| # EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv | ||||
| # bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 | ||||
| @ -1373,142 +1462,144 @@ Say "Installation finished" | ||||
| # XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA | ||||
| # 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt | ||||
| # Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr | ||||
| # /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | ||||
| # /Xmfwb1tbWrJUnMTDXpQzTGCGiYwghoiAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | ||||
| # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN | ||||
| # aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp | ||||
| # Z25pbmcgUENBIDIwMTECEzMAAALLt3U5+wJxQjYAAAAAAsswDQYJYIZIAWUDBAIB | ||||
| # Z25pbmcgUENBIDIwMTECEzMAAAQEbHQG/1crJ3IAAAAABAQwDQYJYIZIAWUDBAIB | ||||
| # BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO | ||||
| # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFmuaTXYQ37AFvsEol24fdW+ | ||||
| # nRqHcc1fr+VQVdqhXc/vMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | ||||
| # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIL7Zm9jjqasUipeS7XNbT5Gz | ||||
| # uhEwSf09z2Ab+694mR/3MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | ||||
| # cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB | ||||
| # BQAEggEAjY5XW5Ly7TJ1OTbeIR98xU+2dmtw7L71ws+ICnQCGhj2xJDUK+5yrTfO | ||||
| # 8C98l/P4ynFi33Dl8z2YElqUCuqEXbiCzz06lIL4NuibC5DV/X80ZmICR/NYd2v1 | ||||
| # ww7IH+7dpsHAowBBindCYpVwQ3Ea3kDWgsjPAinAysFFushSOnNWFvrF6vi2smrs | ||||
| # smbrAAhEhSfLd1Pxxdw73hQ0YjM/D3F3opaybMQ0blpHhOaqtbiyYzvk0doIzBEc | ||||
| # trSH4NDIc3yLNj5VbjSczpexE+hyQNY4xCtwco4bVtXhONUihv08AIKR8+sIaI7A | ||||
| # mM/SWrrwGYSSSxydKqDei7biKG4jDqGCFykwghclBgorBgEEAYI3AwMBMYIXFTCC | ||||
| # FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq | ||||
| # hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | ||||
| # AwQCAQUABCB6Hzt2gUb/WZK8fvVnOocriE4rYr6mscZi3gZnBCpiigIGZBr2iMZU | ||||
| # GBMyMDIzMDMzMTE1MjEwNi41MTZaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV | ||||
| # BQAEggEAfTNcpMwgkFxkb0hBch2MCvTb1mGCFv8rZWTkR/aRZTyzuAIEb2GfL4qB | ||||
| # rPycLC2+q4gaksj1Cv+mRTEq+ysl0aWbXgPiRNiijlnuWKRPZ4nlcGkeXu5zxJ1W | ||||
| # uUOCIe03s6eJCUZseRZkNHB1/CqIlk/YB5yqB38cfq6ct+lWKoSCbSwRVh3Du6am | ||||
| # jxnQRa4njduu1xywcKZYp9NGGeAgRDpMNbvFKF4Qf3krbTAn3vIVDBay6oeiHo2I | ||||
| # x1RLrRC/CEYZ7oJ8tyc3SUE2/Jd00M4EKax+z3xTIkOmyMBZjEe1el92WVcUWukT | ||||
| # ACoQjF5jPyXnfYGH7rjevjpI5u2T66GCF7AwghesBgorBgEEAYI3AwMBMYIXnDCC | ||||
| # F5gGCSqGSIb3DQEHAqCCF4kwgheFAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFaBgsq | ||||
| # hkiG9w0BCRABBKCCAUkEggFFMIIBQQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | ||||
| # AwQCAQUABCBjHcYL0Rw5C6IE3Lyb3B0i9qsTzN6j8bzChm+bMp97RgIGZ2Ld17Jt | ||||
| # GBMyMDI1MDExMjAwNDMxNy4yNTZaMASAAgH0oIHZpIHWMIHTMQswCQYDVQQGEwJV | ||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO | ||||
| # OjA4NDItNEJFNi1DMjlBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT | ||||
| # ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAGybkADf26plJIAAQAAAbIwDQYJ | ||||
| # KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x | ||||
| # EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv | ||||
| # bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjIw | ||||
| # OTIwMjAyMjAxWhcNMjMxMjE0MjAyMjAxWjCB0jELMAkGA1UEBhMCVVMxEzARBgNV | ||||
| # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv | ||||
| # c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl | ||||
| # cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjowODQyLTRC | ||||
| # RTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC | ||||
| # AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMqiZTIde/lQ4rC+Bml5f/Wu | ||||
| # q/xKTxrfbG23HofmQ+qZAN4GyO73PF3y9OAfpt7Qf2jcldWOGUB+HzBuwllYyP3f | ||||
| # x4MY8zvuAuB37FvoytnNC2DKnVrVlHOVcGUL9CnmhDNMA2/nskjIf2IoiG9J0qLY | ||||
| # r8duvHdQJ9Li2Pq9guySb9mvUL60ogslCO9gkh6FiEDwMrwUr8Wja6jFpUTny8tg | ||||
| # 0N0cnCN2w4fKkp5qZcbUYFYicLSb/6A7pHCtX6xnjqwhmJoib3vkKJyVxbuFLRhV | ||||
| # XxH95b0LHeNhifn3jvo2j+/4QV10jEpXVW+iC9BsTtR69xvTjU51ZgP7BR4YDEWq | ||||
| # 7JsylSOv5B5THTDXRf184URzFhTyb8OZQKY7mqMh7c8J8w1sEM4XDUF2UZNy829N | ||||
| # VCzG2tfdEXZaHxF8RmxpQYBxyhZwY1rotuIS+gfN2eq+hkAT3ipGn8/KmDwDtzAb | ||||
| # nfuXjApgeZqwgcYJ8pDJ+y/xU6ouzJz1Bve5TTihkiA7wQsQe6R60Zk9dPdNzw0M | ||||
| # K5niRzuQZAt4GI96FhjhlUWcUZOCkv/JXM/OGu/rgSplYwdmPLzzfDtXyuy/GCU5 | ||||
| # I4l08g6iifXypMgoYkkceOAAz4vx1x0BOnZWfI3fSwqNUvoN7ncTT+MB4Vpvf1QB | ||||
| # ppjBAQUuvui6eCG0MCVNAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUmfIngFzZEZlP | ||||
| # kjDOVluBSDDaanEwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD | ||||
| # VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j | ||||
| # cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG | ||||
| # CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu | ||||
| # Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw | ||||
| # MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD | ||||
| # CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBANxHtu3FzIabaDbW | ||||
| # qswdKBlAhKXRCN+5CSMiv2TYa4i2QuWIm+99piwAhDhADfbqor1zyLi95Y6GQnvI | ||||
| # WUgdeC7oL1ZtZye92zYK+EIfwYZmhS+CH4infAzUvscHZF3wlrJUfPUIDGVP0lCY | ||||
| # Vse9mguvG0dqkY4ayQPEHOvJubgZZaOdg/N8dInd6fGeOc+0DoGzB+LieObJ2Q0A | ||||
| # tEt3XN3iX8Cp6+dZTX8xwE/LvhRwPpb/+nKshO7TVuvenwdTwqB/LT6CNPaElwFe | ||||
| # KxKrqRTPMbHeg+i+KnBLfwmhEXsMg2s1QX7JIxfvT96md0eiMjiMEO22LbOzmLMN | ||||
| # d3LINowAnRBAJtX+3/e390B9sMGMHp+a1V+hgs62AopBl0p/00li30DN5wEQ5If3 | ||||
| # 5Zk7b/T6pEx6rJUDYCti7zCbikjKTanBnOc99zGMlej5X+fC/k5ExUCrOs3/VzGR | ||||
| # CZt5LvVQSdWqq/QMzTEmim4sbzASK9imEkjNtZZyvC1CsUcD1voFktld4mKMjE+u | ||||
| # DEV3IddD+DrRk94nVzNPSuZXewfVOnXHSeqG7xM3V7fl2aL4v1OhL2+JwO1Tx3B0 | ||||
| # irO1O9qbNdJk355bntd1RSVKgM22KFBHnoL7Js7pRhBiaKmVTQGoOb+j1Qa7q+ci | ||||
| # xGo48Vh9k35BDsJS/DLoXFSPDl4mMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ | ||||
| # mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT | ||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||
| # U2VydmljZaCCEf4wggcoMIIFEKADAgECAhMzAAAB+vs7RNN3M8bTAAEAAAH6MA0G | ||||
| # CSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u | ||||
| # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp | ||||
| # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTI0 | ||||
| # MDcyNTE4MzExMVoXDTI1MTAyMjE4MzExMVowgdMxCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9w | ||||
| # ZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjQzMUEt | ||||
| # MDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl | ||||
| # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyhZVBM3PZcBfEpAf7fII | ||||
| # hygwYVVP64USeZbSlRR3pvJebva0LQCDW45yOrtpwIpGyDGX+EbCbHhS5Td4J0Yl | ||||
| # c83ztLEbbQD7M6kqR0Xj+n82cGse/QnMH0WRZLnwggJdenpQ6UciM4nMYZvdQjyb | ||||
| # A4qejOe9Y073JlXv3VIbdkQH2JGyT8oB/LsvPL/kAnJ45oQIp7Sx57RPQ/0O6qay | ||||
| # J2SJrwcjA8auMdAnZKOixFlzoooh7SyycI7BENHTpkVKrRV5YelRvWNTg1pH4EC2 | ||||
| # KO2bxsBN23btMeTvZFieGIr+D8mf1lQQs0Ht/tMOVdah14t7Yk+xl5P4Tw3xfAGg | ||||
| # Hsvsa6ugrxwmKTTX1kqXH5XCdw3TVeKCax6JV+ygM5i1NroJKwBCW11Pwi0z/ki9 | ||||
| # 0ZeO6XfEE9mCnJm76Qcxi3tnW/Y/3ZumKQ6X/iVIJo7Lk0Z/pATRwAINqwdvzpdt | ||||
| # X2hOJib4GR8is2bpKks04GurfweWPn9z6jY7GBC+js8pSwGewrffwgAbNKm82ZDF | ||||
| # vqBGQQVJwIHSXpjkS+G39eyYOG2rcILBIDlzUzMFFJbNh5tDv3GeJ3EKvC4vNSAx | ||||
| # tGfaG/mQhK43YjevsB72LouU78rxtNhuMXSzaHq5fFiG3zcsYHaa4+w+YmMrhTEz | ||||
| # D4SAish35BjoXP1P1Ct4Va0CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBRjjHKbL5WV | ||||
| # 6kd06KocQHphK9U/vzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBf | ||||
| # BgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz | ||||
| # L2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmww | ||||
| # bAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29m | ||||
| # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El | ||||
| # MjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUF | ||||
| # BwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAuFbCorFrvodG | ||||
| # +ZNJH3Y+Nz5QpUytQVObOyYFrgcGrxq6MUa4yLmxN4xWdL1kygaW5BOZ3xBlPY7V | ||||
| # puf5b5eaXP7qRq61xeOrX3f64kGiSWoRi9EJawJWCzJfUQRThDL4zxI2pYc1wnPp | ||||
| # 7Q695bHqwZ02eaOBudh/IfEkGe0Ofj6IS3oyZsJP1yatcm4kBqIH6db1+weM4q46 | ||||
| # NhAfAf070zF6F+IpUHyhtMbQg5+QHfOuyBzrt67CiMJSKcJ3nMVyfNlnv6yvttYz | ||||
| # LK3wS+0QwJUibLYJMI6FGcSuRxKlq6RjOhK9L3QOjh0VCM11rHM11ZmN0euJbbBC | ||||
| # VfQEufOLNkG88MFCUNE10SSbM/Og/CbTko0M5wbVvQJ6CqLKjtHSoeoAGPeeX24f | ||||
| # 5cPYyTcKlbM6LoUdO2P5JSdI5s1JF/On6LiUT50adpRstZajbYEeX/N7RvSbkn0d | ||||
| # jD3BvT2Of3Wf9gIeaQIHbv1J2O/P5QOPQiVo8+0AKm6M0TKOduihhKxAt/6Yyk17 | ||||
| # Fv3RIdjT6wiL2qRIEsgOJp3fILw4mQRPu3spRfakSoQe5N0e4HWFf8WW2ZL0+c83 | ||||
| # Qzh3VtEPI6Y2e2BO/eWhTYbIbHpqYDfAtAYtaYIde87ZymXG3MO2wUjhL9HvSQzj | ||||
| # oquq+OoUmvfBUcB2e5L6QCHO6qTO7WowggdxMIIFWaADAgECAhMzAAAAFcXna54C | ||||
| # m0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE | ||||
| # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z | ||||
| # b2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp | ||||
| # Y2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMy | ||||
| # MjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH | ||||
| # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV | ||||
| # BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0B | ||||
| # AQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51 | ||||
| # yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY | ||||
| # 6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9 | ||||
| # cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN | ||||
| # 7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua | ||||
| # Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74 | ||||
| # kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2 | ||||
| # K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5 | ||||
| # TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZk | ||||
| # i1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9Q | ||||
| # BXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3Pmri | ||||
| # Lq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUC | ||||
| # BBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJl | ||||
| # pxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIB | ||||
| # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y | ||||
| # eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA | ||||
| # YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU | ||||
| # 1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2Ny | ||||
| # bC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIw | ||||
| # MTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDov | ||||
| # L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0w | ||||
| # Ni0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/yp | ||||
| # b+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulm | ||||
| # ZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM | ||||
| # 9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECW | ||||
| # OKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4 | ||||
| # FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw | ||||
| # xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPX | ||||
| # fx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVX | ||||
| # VAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC | ||||
| # onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU | ||||
| # 5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEG | ||||
| # ahC0HVUzWLOhcGbyoYIDWTCCAkECAQEwggEBoYHZpIHWMIHTMQswCQYDVQQGEwJV | ||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||
| # U2VydmljZaIjCgEBMAcGBSsOAwIaAxUA94Z+bUJn+nKwBvII6sg0Ny7aPDaggYMw | ||||
| # gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE | ||||
| # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD | ||||
| # VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsF | ||||
| # AAIFAOss/ykwIhgPMjAyNTAxMTExNDMxMDVaGA8yMDI1MDExMjE0MzEwNVowdzA9 | ||||
| # BgorBgEEAYRZCgQBMS8wLTAKAgUA6yz/KQIBADAKAgEAAgIpggIB/zAHAgEAAgIT | ||||
| # XjAKAgUA6y5QqQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAow | ||||
| # CAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBCwUAA4IBAQCHE6DSGdY4 | ||||
| # KF25iAsxQP9F9Lz6ye/vrWGv+j0aSzSbjHVM3kMcEmX9278XgAKgAYII/f16uDtE | ||||
| # 7VlEwnKGXujGF249I864U50QFt9hIxqCeuvrshDq8a4Q4KVmuDTosYjS114IJeBK | ||||
| # LMOBRgLQCIC+wmvdP4EeYH1tnMIEASFvptE+XBro44/A5pmx5UiDJRL1AG4+aO3x | ||||
| # 13psQu7H3thmbGy7Sf0Azjx0PZ+1QUVI7jWNk9DWjGd18G4SQD8Uxeh0v73/dQx1 | ||||
| # XsFhsyvnrw6uUrxkoAdurif9kyKS+ppo4j9ZkPXzzuc95s1bPcPAyjXCu07Tlunj | ||||
| # sXttGVEPQIeXMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT | ||||
| # Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m | ||||
| # dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh | ||||
| # dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 | ||||
| # WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH | ||||
| # UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD | ||||
| # Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB | ||||
| # BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK | ||||
| # NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg | ||||
| # fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp | ||||
| # rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d | ||||
| # vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 | ||||
| # 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR | ||||
| # Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu | ||||
| # qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO | ||||
| # ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb | ||||
| # oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 | ||||
| # bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t | ||||
| # AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW | ||||
| # BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb | ||||
| # UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz | ||||
| # aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku | ||||
| # aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA | ||||
| # QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 | ||||
| # VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu | ||||
| # bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw | ||||
| # LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 | ||||
| # d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt | ||||
| # MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q | ||||
| # XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 | ||||
| # U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt | ||||
| # I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis | ||||
| # 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp | ||||
| # kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 | ||||
| # sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e | ||||
| # W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ | ||||
| # sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 | ||||
| # Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 | ||||
| # dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ | ||||
| # tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx | ||||
| # EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT | ||||
| # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh | ||||
| # bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjow | ||||
| # ODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy | ||||
| # dmljZaIjCgEBMAcGBSsOAwIaAxUAjhJ+EeySRfn2KCNsjn9cF9AUSTqggYMwgYCk | ||||
| # fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH | ||||
| # UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD | ||||
| # Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF | ||||
| # AOfRUdUwIhgPMjAyMzAzMzEyMDM0MjlaGA8yMDIzMDQwMTIwMzQyOVowdDA6Bgor | ||||
| # BgEEAYRZCgQBMSwwKjAKAgUA59FR1QIBADAHAgEAAgIKJDAHAgEAAgIRLzAKAgUA | ||||
| # 59KjVQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID | ||||
| # B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAJlOESCa/uRR1x6GunE8 | ||||
| # K/WgHWTpSE31EITDOfTMvDcF4ptngCS5aOc4gfzmhNNehWfP6EOrgoSQzJYZ4YCh | ||||
| # fYbHNMk56f18sq8t7y2hgR7KixcEo/4HVzeSdaOclHNc4Gn7kCGpMvpT3Xz9Lzc7 | ||||
| # UKWDZ0zkNKnbS8TZLNueVQwfMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx | ||||
| # EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT | ||||
| # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt | ||||
| # U3RhbXAgUENBIDIwMTACEzMAAAGybkADf26plJIAAQAAAbIwDQYJYIZIAWUDBAIB | ||||
| # BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx | ||||
| # IgQgXhJRuHCXk3arJvifIY3DBe9Ce9EmlP1y6U4XkgL31DkwgfoGCyqGSIb3DQEJ | ||||
| # EAIvMYHqMIHnMIHkMIG9BCBTeM485+E+t4PEVieUoFKX7PVyLo/nzu+htJPCG04+ | ||||
| # NTCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw | ||||
| # DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x | ||||
| # JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABsm5A | ||||
| # A39uqZSSAAEAAAGyMCIEIGGWlnNnYHrB5HguWG0/nJd/WvSrCogze+QCpenu3IM5 | ||||
| # MA0GCSqGSIb3DQEBCwUABIICADVOLTuNxeEnBOfZpb7Nv4uf91W/Ho5i99zenDSJ | ||||
| # x5QHVs+bKXmgc3a7/SSsliAT3zygHc7cH4zARbCZePLTivByKmeG08Ka35eyR+FK | ||||
| # awSNrI/X+eVIC6nw/egCwviBC1NAG8jHGkuScbHeiiGajvS6lp3ORML7UexMuE4w | ||||
| # 9SEumoghljCLZMwCSvw+3WxhQoBEZroR8u+PID2RdD0vi85FjKPWcZZijVLqHeFi | ||||
| # TnuFqwRCLTV0MV+dDCbjwXneIqV+AVlnqb9iDMr3ZhISlRcy9XJNpY5vQBj/wqUW | ||||
| # vefrmpdz0LNkdtXYThPkyl3mha2KsoQi5SA9zSjlAjFgY3ppmXvi3Frbfqk+iL+f | ||||
| # l/Qc4+B71jG4t28lTWKteJiHqo+6AUXK2rlAl0d74yvhO6N8lMMtXhdJc8JABYn1 | ||||
| # v2/KKZn5RvPFF8QP7Ac1saIe1+gUFNcsYOLaMm/xl8E6kefWwZnm5Rhm606g1AC/ | ||||
| # N5Wo08aAs0ymTPH91dEbmOURXLbA3vCyG7kbfgnhCs/j7oQHWaFDzEYuXDIA4ICT | ||||
| # dxPUTltbq3OWdp0PAS8JSEKPQFaOoQEnPa4adrXWxMvOmel8IGqJiQ+BPOaLQG64 | ||||
| # Qu2tMkH/5szb1fsEnCe8SJmy5ESF+kmpnLBtJ17Y9o+9nJHF5ddFmvzy+LUaIqDN | ||||
| # cOfH | ||||
| # dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB | ||||
| # IDIwMTACEzMAAAH6+ztE03czxtMAAQAAAfowDQYJYIZIAWUDBAIBBQCgggFKMBoG | ||||
| # CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgxenDb/df | ||||
| # q8XJS+q7Oxyca1ryDMmDRA0I3mtr+xYHGZQwgfoGCyqGSIb3DQEJEAIvMYHqMIHn | ||||
| # MIHkMIG9BCB98n8tya8+B2jjU/dpJRIwHwHHpco5ogNStYocbkOeVjCBmDCBgKR+ | ||||
| # MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS | ||||
| # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT | ||||
| # HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB+vs7RNN3M8bTAAEA | ||||
| # AAH6MCIEIC8gtQ6HRW7jzwlpg15qoYopXwF01KaO1EM5tYzqJwx/MA0GCSqGSIb3 | ||||
| # DQEBCwUABIICAIsSn8x3zVS870Zf4pa+jfZjdOq++5dHpeLg46sujQ3w+xj3RyhB | ||||
| # nRa3kjWyU9nNF6hrt0Q+ILOxUt3jCd3hbB1ZuspwbXdoRtRLfuLPvGiSmINdgFR4 | ||||
| # LD/jXLrq9USAHYXHzhuYhaVLIpn7M87TbFuGFVaByjmohZRcPCE8y8b7/RIlGm7B | ||||
| # wgx0thZA4lHWFyj8j7CwjmueOJSSZ9an4P9VHFKJ63kYub4J1VxbeApGAeeS32SD | ||||
| # oI3zDdC+iI+IetR9BUHGcR3Vg7j7c0T+NcrIoPPNb4Ff90Ue24h5RDJMQWrM56ak | ||||
| # VEWgVlzhf8CeyeO7/ButBUZu8VLkH0DQraK9UKptZFKOXMELoi/oZL6IJftHp5vU | ||||
| # +sPpF3NuuXw8Z5eL9jZ7A1y+H7nMhdXP2pojHDN213VZqeoUoOZlbFl6spDF1hFP | ||||
| # 44Fu7TPGEwUNS213Pwln2SJ8SayeVUxsreo4pTvhDl/xZ+B7WNuLL7hatWFGrcf3 | ||||
| # w/HiVCoTfsY49SaN6zAK6akS3KI6KZHfzjaxDw+4LHo8gL68Ik1HZe4W1jaLYaED | ||||
| # LWvKIinaH2vwU0J4a+oX+64eSh0tI9Ef3aM6jn9LgqubY36TzptUTWcsM3vv3YGB | ||||
| # Dnf7LPxSt4/s5bUgAHvkWTjESdtIbt6Pxqz4BRha+ckPYBj968t3mSh6 | ||||
| # SIG # End signature block | ||||
							
								
								
									
										288
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										288
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							| @ -298,11 +298,20 @@ get_machine_architecture() { | ||||
|     if command -v uname > /dev/null; then | ||||
|         CPUName=$(uname -m) | ||||
|         case $CPUName in | ||||
|         armv1*|armv2*|armv3*|armv4*|armv5*|armv6*) | ||||
|             echo "armv6-or-below" | ||||
|             return 0 | ||||
|             ;; | ||||
|         armv*l) | ||||
|             echo "arm" | ||||
|             return 0 | ||||
|             ;; | ||||
|         aarch64|arm64) | ||||
|             if [ "$(getconf LONG_BIT)" -lt 64 ]; then | ||||
|                 # This is 32-bit OS running on 64-bit CPU (for example Raspberry Pi OS) | ||||
|                 echo "arm" | ||||
|                 return 0 | ||||
|             fi | ||||
|             echo "arm64" | ||||
|             return 0 | ||||
|             ;; | ||||
| @ -310,6 +319,22 @@ get_machine_architecture() { | ||||
|             echo "s390x" | ||||
|             return 0 | ||||
|             ;; | ||||
|         ppc64le) | ||||
|             echo "ppc64le" | ||||
|             return 0 | ||||
|             ;; | ||||
|         loongarch64) | ||||
|             echo "loongarch64" | ||||
|             return 0 | ||||
|             ;; | ||||
|         riscv64) | ||||
|             echo "riscv64" | ||||
|             return 0 | ||||
|             ;; | ||||
|         powerpc|ppc) | ||||
|             echo "ppc" | ||||
|             return 0 | ||||
|             ;; | ||||
|         esac | ||||
|     fi | ||||
|  | ||||
| @ -326,7 +351,13 @@ get_normalized_architecture_from_architecture() { | ||||
|     local architecture="$(to_lowercase "$1")" | ||||
|  | ||||
|     if [[ $architecture == \<auto\> ]]; then | ||||
|         echo "$(get_machine_architecture)" | ||||
|         machine_architecture="$(get_machine_architecture)" | ||||
|         if [[ "$machine_architecture" == "armv6-or-below" ]]; then | ||||
|             say_err "Architecture \`$machine_architecture\` not supported. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues" | ||||
|             return 1 | ||||
|         fi | ||||
|  | ||||
|         echo $machine_architecture | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
| @ -347,6 +378,14 @@ get_normalized_architecture_from_architecture() { | ||||
|             echo "s390x" | ||||
|             return 0 | ||||
|             ;; | ||||
|         ppc64le) | ||||
|             echo "ppc64le" | ||||
|             return 0 | ||||
|             ;; | ||||
|         loongarch64) | ||||
|             echo "loongarch64" | ||||
|             return 0 | ||||
|             ;; | ||||
|     esac | ||||
|  | ||||
|     say_err "Architecture \`$architecture\` not supported. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues" | ||||
| @ -384,11 +423,17 @@ get_normalized_architecture_for_specific_sdk_version() { | ||||
| # args: | ||||
| # version or channel - $1 | ||||
| is_arm64_supported() { | ||||
|     #any channel or version that starts with the specified versions | ||||
|     case "$1" in | ||||
|         ( "1"* | "2"* | "3"*  | "4"* | "5"*)  | ||||
|     # Extract the major version by splitting on the dot | ||||
|     major_version="${1%%.*}" | ||||
|  | ||||
|     # Check if the major version is a valid number and less than 6 | ||||
|     case "$major_version" in | ||||
|         [0-9]*)   | ||||
|             if [ "$major_version" -lt 6 ]; then | ||||
|                 echo false | ||||
|                 return 0 | ||||
|             fi | ||||
|             ;; | ||||
|     esac | ||||
|  | ||||
|     echo true | ||||
| @ -407,8 +452,13 @@ get_normalized_os() { | ||||
|                 echo "$osname" | ||||
|                 return 0 | ||||
|                 ;; | ||||
|             macos) | ||||
|                 osname='osx' | ||||
|                 echo "$osname" | ||||
|                 return 0 | ||||
|                 ;; | ||||
|             *) | ||||
|                 say_err "'$user_defined_os' is not a supported value for --os option, supported values are: osx, linux, linux-musl, freebsd, rhel.6. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." | ||||
|                 say_err "'$user_defined_os' is not a supported value for --os option, supported values are: osx, macos, linux, linux-musl, freebsd, rhel.6. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." | ||||
|                 return 1 | ||||
|                 ;; | ||||
|         esac | ||||
| @ -538,6 +588,40 @@ is_dotnet_package_installed() { | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # downloaded file - $1 | ||||
| # remote_file_size - $2 | ||||
| validate_remote_local_file_sizes()  | ||||
| { | ||||
|     eval $invocation | ||||
|  | ||||
|     local downloaded_file="$1" | ||||
|     local remote_file_size="$2" | ||||
|     local file_size='' | ||||
|  | ||||
|     if [[ "$OSTYPE" == "linux-gnu"* ]]; then | ||||
|         file_size="$(stat -c '%s' "$downloaded_file")" | ||||
|     elif [[ "$OSTYPE" == "darwin"* ]]; then | ||||
|         # hardcode in order to avoid conflicts with GNU stat | ||||
|         file_size="$(/usr/bin/stat -f '%z' "$downloaded_file")" | ||||
|     fi   | ||||
|      | ||||
|     if [ -n "$file_size" ]; then | ||||
|         say "Downloaded file size is $file_size bytes." | ||||
|  | ||||
|         if [ -n "$remote_file_size" ] && [ -n "$file_size" ]; then | ||||
|             if [ "$remote_file_size" -ne "$file_size" ]; then | ||||
|                 say "The remote and local file sizes are not equal. The remote file size is $remote_file_size bytes and the local size is $file_size bytes. The local package may be corrupted." | ||||
|             else | ||||
|                 say "The remote and local file sizes are equal." | ||||
|             fi | ||||
|         fi | ||||
|          | ||||
|     else | ||||
|         say "Either downloaded or local package size can not be measured. One of them may be corrupted."       | ||||
|     fi  | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # azure_feed - $1 | ||||
| # channel - $2 | ||||
| @ -872,6 +956,37 @@ get_absolute_path() { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # override - $1 (boolean, true or false) | ||||
| get_cp_options() { | ||||
|     eval $invocation | ||||
|  | ||||
|     local override="$1" | ||||
|     local override_switch="" | ||||
|  | ||||
|     if [ "$override" = false ]; then | ||||
|         override_switch="-n" | ||||
|  | ||||
|         # create temporary files to check if 'cp -u' is supported | ||||
|         tmp_dir="$(mktemp -d)" | ||||
|         tmp_file="$tmp_dir/testfile" | ||||
|         tmp_file2="$tmp_dir/testfile2" | ||||
|  | ||||
|         touch "$tmp_file" | ||||
|  | ||||
|         # use -u instead of -n if it's available | ||||
|         if cp -u "$tmp_file" "$tmp_file2" 2>/dev/null; then | ||||
|             override_switch="-u" | ||||
|         fi | ||||
|  | ||||
|         # clean up | ||||
|         rm -f "$tmp_file" "$tmp_file2" | ||||
|         rm -rf "$tmp_dir" | ||||
|     fi | ||||
|  | ||||
|     echo "$override_switch" | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # input_files - stdin | ||||
| # root_path - $1 | ||||
| @ -883,15 +998,7 @@ copy_files_or_dirs_from_list() { | ||||
|     local root_path="$(remove_trailing_slash "$1")" | ||||
|     local out_path="$(remove_trailing_slash "$2")" | ||||
|     local override="$3" | ||||
|     local osname="$(get_current_os_name)" | ||||
|     local override_switch=$( | ||||
|         if [ "$override" = false ]; then | ||||
|             if [ "$osname" = "linux-musl" ]; then | ||||
|                 printf -- "-u"; | ||||
|             else | ||||
|                 printf -- "-n"; | ||||
|             fi | ||||
|         fi) | ||||
|     local override_switch="$(get_cp_options "$override")" | ||||
|  | ||||
|     cat | uniq | while read -r file_path; do | ||||
|         local path="$(remove_beginning_slash "${file_path#$root_path}")" | ||||
| @ -906,14 +1013,39 @@ copy_files_or_dirs_from_list() { | ||||
|     done | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # zip_uri - $1 | ||||
| get_remote_file_size() { | ||||
|     local zip_uri="$1" | ||||
|  | ||||
|     if machine_has "curl"; then | ||||
|         file_size=$(curl -sI  "$zip_uri" | grep -i content-length | awk '{ num = $2 + 0; print num }') | ||||
|     elif machine_has "wget"; then | ||||
|         file_size=$(wget --spider --server-response -O /dev/null "$zip_uri" 2>&1 | grep -i 'Content-Length:' | awk '{ num = $2 + 0; print num }') | ||||
|     else | ||||
|         say "Neither curl nor wget is available on this system." | ||||
|         return | ||||
|     fi | ||||
|  | ||||
|     if [ -n "$file_size" ]; then | ||||
|         say "Remote file $zip_uri size is $file_size bytes." | ||||
|         echo "$file_size" | ||||
|     else | ||||
|         say_verbose "Content-Length header was not extracted for $zip_uri." | ||||
|         echo "" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # args: | ||||
| # zip_path - $1 | ||||
| # out_path - $2 | ||||
| # remote_file_size - $3 | ||||
| extract_dotnet_package() { | ||||
|     eval $invocation | ||||
|  | ||||
|     local zip_path="$1" | ||||
|     local out_path="$2" | ||||
|     local remote_file_size="$3" | ||||
|  | ||||
|     local temp_out_path="$(mktemp -d "$temporary_file_template")" | ||||
|  | ||||
| @ -924,8 +1056,12 @@ extract_dotnet_package() { | ||||
|     find "$temp_out_path" -type f | grep -Eo "$folders_with_version_regex" | sort | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" false | ||||
|     find "$temp_out_path" -type f | grep -Ev "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" "$override_non_versioned_files" | ||||
|      | ||||
|     validate_remote_local_file_sizes "$zip_path" "$remote_file_size" | ||||
|      | ||||
|     rm -rf "$temp_out_path" | ||||
|     rm -f "$zip_path" && say_verbose "Temporary zip file $zip_path was removed" | ||||
|     if [ -z ${keep_zip+x} ]; then | ||||
|         rm -f "$zip_path" && say_verbose "Temporary archive file $zip_path was removed" | ||||
|     fi | ||||
|  | ||||
|     if [ "$failed" = true ]; then | ||||
|         say_err "Extraction failed" | ||||
| @ -1136,6 +1272,61 @@ downloadwget() { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| extract_stem() { | ||||
|     local url="$1" | ||||
|     # extract the protocol | ||||
|     proto="$(echo $1 | grep :// | sed -e's,^\(.*://\).*,\1,g')" | ||||
|     # remove the protocol | ||||
|     url="${1/$proto/}" | ||||
|     # extract the path (if any) - since we know all of our feeds have a first path segment, we can skip the first one. otherwise we'd use -f2- to get the full path | ||||
|     full_path="$(echo $url | grep / | cut -d/ -f2-)" | ||||
|     path="$(echo $full_path | cut -d/ -f2-)" | ||||
|     echo $path | ||||
| } | ||||
|  | ||||
| check_url_exists() { | ||||
|     eval $invocation | ||||
|     local url="$1" | ||||
|  | ||||
|     local code="" | ||||
|     if machine_has "curl" | ||||
|     then | ||||
|         code=$(curl --head -o /dev/null -w "%{http_code}" -s --fail "$url"); | ||||
|     elif machine_has "wget" | ||||
|     then | ||||
|         # get the http response, grab the status code | ||||
|         server_response=$(wget -qO- --method=HEAD --server-response "$url" 2>&1) | ||||
|         code=$(echo "$server_response" | grep "HTTP/" | awk '{print $2}') | ||||
|     fi | ||||
|     if [ $code = "200" ]; then | ||||
|         return 0 | ||||
|     else | ||||
|         return 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| sanitize_redirect_url() { | ||||
|     eval $invocation | ||||
|  | ||||
|     local url_stem | ||||
|     url_stem=$(extract_stem "$1") | ||||
|     say_verbose "Checking configured feeds for the asset at ${yellow:-}$url_stem${normal:-}" | ||||
|  | ||||
|     for feed in "${feeds[@]}" | ||||
|     do | ||||
|         local trial_url="$feed/$url_stem" | ||||
|         say_verbose "Checking ${yellow:-}$trial_url${normal:-}" | ||||
|         if check_url_exists "$trial_url"; then | ||||
|             say_verbose "Found a match at ${yellow:-}$trial_url${normal:-}" | ||||
|             echo "$trial_url" | ||||
|             return 0 | ||||
|         else | ||||
|             say_verbose "No match at ${yellow:-}$trial_url${normal:-}" | ||||
|         fi | ||||
|     done | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| get_download_link_from_aka_ms() { | ||||
|     eval $invocation | ||||
|  | ||||
| @ -1172,6 +1363,12 @@ get_download_link_from_aka_ms() { | ||||
|     http_codes=$( echo "$response" | awk '$1 ~ /^HTTP/ {print $2}' ) | ||||
|     # They all need to be 301, otherwise some links are broken (except for the last, which is not a redirect but 200 or 404). | ||||
|     broken_redirects=$( echo "$http_codes" | sed '$d' | grep -v '301' ) | ||||
|     # The response may end without final code 2xx/4xx/5xx somehow, e.g. network restrictions on www.bing.com causes redirecting to bing.com fails with connection refused. | ||||
|     # In this case it should not exclude the last. | ||||
|     last_http_code=$(  echo "$http_codes" | tail -n 1 ) | ||||
|     if ! [[ $last_http_code =~ ^(2|4|5)[0-9][0-9]$ ]]; then | ||||
|         broken_redirects=$( echo "$http_codes" | grep -v '301' ) | ||||
|     fi | ||||
|  | ||||
|     # All HTTP codes are 301 (Moved Permanently), the redirect link exists. | ||||
|     if [[ -z "$broken_redirects" ]]; then | ||||
| @ -1182,6 +1379,11 @@ get_download_link_from_aka_ms() { | ||||
|             return 1 | ||||
|         fi | ||||
|  | ||||
|         sanitized_redirect_url=$(sanitize_redirect_url "$aka_ms_download_link") | ||||
|         if [[ -n "$sanitized_redirect_url" ]]; then | ||||
|             aka_ms_download_link="$sanitized_redirect_url" | ||||
|         fi | ||||
|  | ||||
|         say_verbose "The redirect location retrieved: '$aka_ms_download_link'." | ||||
|         return 0 | ||||
|     else | ||||
| @ -1193,24 +1395,17 @@ get_download_link_from_aka_ms() { | ||||
| get_feeds_to_use() | ||||
| { | ||||
|     feeds=( | ||||
|     "https://dotnetcli.azureedge.net/dotnet" | ||||
|     "https://dotnetbuilds.azureedge.net/public" | ||||
|     "https://builds.dotnet.microsoft.com/dotnet" | ||||
|     "https://ci.dot.net/public" | ||||
|     ) | ||||
|  | ||||
|     if [[ -n "$azure_feed" ]]; then | ||||
|         feeds=("$azure_feed") | ||||
|     fi | ||||
|  | ||||
|     if [[ "$no_cdn" == "true" ]]; then | ||||
|         feeds=( | ||||
|         "https://dotnetcli.blob.core.windows.net/dotnet" | ||||
|         "https://dotnetbuilds.blob.core.windows.net/public" | ||||
|         ) | ||||
|  | ||||
|     if [[ -n "$uncached_feed" ]]; then | ||||
|         feeds=("$uncached_feed") | ||||
|     fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # THIS FUNCTION MAY EXIT (if the determined version is already installed). | ||||
| @ -1341,7 +1536,7 @@ generate_regular_links() { | ||||
|         link_types+=("legacy") | ||||
|     else | ||||
|         legacy_download_link="" | ||||
|         say_verbose "Cound not construct a legacy_download_link; omitting..." | ||||
|         say_verbose "Could not construct a legacy_download_link; omitting..." | ||||
|     fi | ||||
|  | ||||
|     #  Check if the SDK version is already installed. | ||||
| @ -1419,10 +1614,11 @@ install_dotnet() { | ||||
|     eval $invocation | ||||
|     local download_failed=false | ||||
|     local download_completed=false | ||||
|     local remote_file_size=0 | ||||
|  | ||||
|     mkdir -p "$install_root" | ||||
|     zip_path="$(mktemp "$temporary_file_template")" | ||||
|     say_verbose "Zip path: $zip_path" | ||||
|     zip_path="${zip_path:-$(mktemp "$temporary_file_template")}" | ||||
|     say_verbose "Archive path: $zip_path" | ||||
|  | ||||
|     for link_index in "${!download_links[@]}" | ||||
|     do | ||||
| @ -1443,10 +1639,10 @@ install_dotnet() { | ||||
|                 say "The resource at $link_type link '$download_link' is not available." | ||||
|                 ;; | ||||
|             *) | ||||
|                 say "Failed to download $link_type link '$download_link': $download_error_msg" | ||||
|                 say "Failed to download $link_type link '$download_link': $http_code $download_error_msg" | ||||
|                 ;; | ||||
|             esac | ||||
|             rm -f "$zip_path" 2>&1 && say_verbose "Temporary zip file $zip_path was removed" | ||||
|             rm -f "$zip_path" 2>&1 && say_verbose "Temporary archive file $zip_path was removed" | ||||
|         else | ||||
|             download_completed=true | ||||
|             break | ||||
| @ -1459,8 +1655,10 @@ install_dotnet() { | ||||
|         return 1 | ||||
|     fi | ||||
|  | ||||
|     say "Extracting zip from $download_link" | ||||
|     extract_dotnet_package "$zip_path" "$install_root" || return 1 | ||||
|     remote_file_size="$(get_remote_file_size "$download_link")" | ||||
|  | ||||
|     say "Extracting archive from $download_link" | ||||
|     extract_dotnet_package "$zip_path" "$install_root" "$remote_file_size" || return 1 | ||||
|  | ||||
|     #  Check if the SDK version is installed; if not, fail the installation. | ||||
|     # if the version contains "RTM" or "servicing"; check if a 'release-type' SDK version is installed. | ||||
| @ -1502,7 +1700,6 @@ install_dir="<auto>" | ||||
| architecture="<auto>" | ||||
| dry_run=false | ||||
| no_path=false | ||||
| no_cdn=false | ||||
| azure_feed="" | ||||
| uncached_feed="" | ||||
| feed_credential="" | ||||
| @ -1575,10 +1772,6 @@ do | ||||
|             verbose=true | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --no-cdn|-[Nn]o[Cc]dn) | ||||
|             no_cdn=true | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --azure-feed|-[Aa]zure[Ff]eed) | ||||
|             shift | ||||
|             azure_feed="$1" | ||||
| @ -1610,10 +1803,22 @@ do | ||||
|             override_non_versioned_files=false | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --keep-zip|-[Kk]eep[Zz]ip) | ||||
|             keep_zip=true | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --zip-path|-[Zz]ip[Pp]ath) | ||||
|             shift | ||||
|             zip_path="$1" | ||||
|             ;; | ||||
|         -?|--?|-h|--help|-[Hh]elp) | ||||
|             script_name="$(basename "$0")" | ||||
|             script_name="dotnet-install.sh" | ||||
|             echo ".NET Tools Installer" | ||||
|             echo "Usage: $script_name [-c|--channel <CHANNEL>] [-v|--version <VERSION>] [-p|--prefix <DESTINATION>]" | ||||
|             echo "Usage:" | ||||
|             echo "       # Install a .NET SDK of a given Quality from a given Channel" | ||||
|             echo "       $script_name [-c|--channel <CHANNEL>] [-q|--quality <QUALITY>]" | ||||
|             echo "       # Install a .NET SDK of a specific public version" | ||||
|             echo "       $script_name [-v|--version <VERSION>]" | ||||
|             echo "       $script_name -h|-?|--help" | ||||
|             echo "" | ||||
|             echo "$script_name is a simple command line interface for obtaining dotnet cli." | ||||
| @ -1655,7 +1860,7 @@ do | ||||
|             echo "      -InstallDir" | ||||
|             echo "  --architecture <ARCHITECTURE>      Architecture of dotnet binaries to be installed, Defaults to \`$architecture\`." | ||||
|             echo "      --arch,-Architecture,-Arch" | ||||
|             echo "          Possible values: x64, arm, arm64 and s390x" | ||||
|             echo "          Possible values: x64, arm, arm64, s390x, ppc64le and loongarch64" | ||||
|             echo "  --os <system>                    Specifies operating system to be used when selecting the installer." | ||||
|             echo "          Overrides the OS determination approach used by the script. Supported values: osx, linux, linux-musl, freebsd, rhel.6." | ||||
|             echo "          In case any other value is provided, the platform will be determined by the script based on machine configuration." | ||||
| @ -1671,15 +1876,14 @@ do | ||||
|             echo "  --verbose,-Verbose                 Display diagnostics information." | ||||
|             echo "  --azure-feed,-AzureFeed            For internal use only." | ||||
|             echo "                                     Allows using a different storage to download SDK archives from." | ||||
|             echo "                                     This parameter is only used if --no-cdn is false." | ||||
|             echo "  --uncached-feed,-UncachedFeed      For internal use only." | ||||
|             echo "                                     Allows using a different storage to download SDK archives from." | ||||
|             echo "                                     This parameter is only used if --no-cdn is true." | ||||
|             echo "  --skip-non-versioned-files         Skips non-versioned files if they already exist, such as the dotnet executable." | ||||
|             echo "      -SkipNonVersionedFiles" | ||||
|             echo "  --no-cdn,-NoCdn                    Disable downloading from the Azure CDN, and use the uncached feed directly." | ||||
|             echo "  --jsonfile <JSONFILE>              Determines the SDK version from a user specified global.json file." | ||||
|             echo "                                     Note: global.json must have a value for 'SDK:Version'" | ||||
|             echo "  --keep-zip,-KeepZip                If set, downloaded file is kept." | ||||
|             echo "  --zip-path, -ZipPath               If set, downloaded file is stored at the specified path." | ||||
|             echo "  -?,--?,-h,--help,-Help             Shows this help message" | ||||
|             echo "" | ||||
|             echo "Install Location:" | ||||
|  | ||||
							
								
								
									
										249
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										249
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -9,7 +9,7 @@ | ||||
|       "version": "3.0.2", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^3.0.0", | ||||
|         "@actions/cache": "^4.0.3", | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/github": "^1.1.0", | ||||
| @ -41,20 +41,20 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache": { | ||||
|       "version": "3.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.1.tgz", | ||||
|       "integrity": "sha512-QurbMiY//02+0kN1adJkMHN44RcZ5kAXfhSnKUZmtSmhMTNqLitGArG1xOkt93NNyByTlLGAc5wIOF/dZ2ENOQ==", | ||||
|       "version": "4.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.3.tgz", | ||||
|       "integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==", | ||||
|       "dependencies": { | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/core": "^1.11.1", | ||||
|         "@actions/exec": "^1.0.1", | ||||
|         "@actions/glob": "^0.1.0", | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "@actions/http-client": "^2.1.1", | ||||
|         "@actions/io": "^1.0.1", | ||||
|         "@azure/abort-controller": "^1.1.0", | ||||
|         "@azure/ms-rest-js": "^2.6.0", | ||||
|         "@azure/storage-blob": "^12.13.0", | ||||
|         "semver": "^6.1.0", | ||||
|         "uuid": "^3.3.3" | ||||
|         "@protobuf-ts/plugin": "^2.9.4", | ||||
|         "semver": "^6.3.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache/node_modules/@actions/glob": { | ||||
| @ -66,22 +66,13 @@ | ||||
|         "minimatch": "^3.0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache/node_modules/uuid": { | ||||
|       "version": "3.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||
|       "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", | ||||
|       "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.", | ||||
|       "bin": { | ||||
|         "uuid": "bin/uuid" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.10.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", | ||||
|       "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", | ||||
|       "version": "1.11.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", | ||||
|       "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/http-client": "^2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/exec": { | ||||
| @ -111,11 +102,12 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/http-client": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "version": "2.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", | ||||
|       "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", | ||||
|       "dependencies": { | ||||
|         "tunnel": "^0.0.6" | ||||
|         "tunnel": "^0.0.6", | ||||
|         "undici": "^5.25.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/io": { | ||||
| @ -986,6 +978,14 @@ | ||||
|         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@fastify/busboy": { | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", | ||||
|       "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", | ||||
|       "engines": { | ||||
|         "node": ">=14" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@humanwhocodes/config-array": { | ||||
|       "version": "0.11.8", | ||||
|       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", | ||||
| @ -1449,6 +1449,76 @@ | ||||
|         "node": ">=8.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.6.tgz", | ||||
|       "integrity": "sha512-Wpv5rkXeu6E5Y4r0TjWE0bzRGddiTYl/RM+tLgVlS0r8CqOBqNAmlWv+s8ltf/F75rVrahUal0cpyhFwha9GRA==", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/plugin-framework": "^2.9.6", | ||||
|         "@protobuf-ts/protoc": "^2.9.6", | ||||
|         "@protobuf-ts/runtime": "^2.9.6", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.9.6", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "protoc-gen-dump": "bin/protoc-gen-dump", | ||||
|         "protoc-gen-ts": "bin/protoc-gen-ts" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.6.tgz", | ||||
|       "integrity": "sha512-w7A1RXrDCiVzcaRE6YJP7FCARuAFe/Vc4SNQnHAi4CF0V6mEtyjAYEIC5BNYgIRaJEqB26zzsBQjIem3R02SCA==", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.6", | ||||
|         "typescript": "^3.9" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/protoc": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.6.tgz", | ||||
|       "integrity": "sha512-c0XvAPDIBAovH9HxV8gBv8gzOTreQIqibcusrB1+DxvFiSvy+2V1tjbUmG5gJEbjk3aAOaoj0a3+QuE+P28xUw==", | ||||
|       "bin": { | ||||
|         "protoc": "protoc.js" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.6.tgz", | ||||
|       "integrity": "sha512-C0CfpKx4n4LBbUrajOdRj2BTbd3qBoK0SiKWLq7RgCoU6xiN4wesBMFHUOBp3fFzKeZwgU8Q2KtzaqzIvPLRXg==" | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime-rpc": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.6.tgz", | ||||
|       "integrity": "sha512-0UeqDRzNxgsh08lY5eWzFJNfD3gZ8Xf+WG1HzbIAbVAigzigwjwsYNNhTeas5H3gco1U5owTzCg177aambKOOw==", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.6" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@sinonjs/commons": { | ||||
|       "version": "1.8.6", | ||||
|       "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", | ||||
| @ -5702,9 +5772,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/semver": { | ||||
|       "version": "6.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||||
|       "version": "6.3.1", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", | ||||
|       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", | ||||
|       "bin": { | ||||
|         "semver": "bin/semver.js" | ||||
|       } | ||||
| @ -6151,6 +6221,17 @@ | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici": { | ||||
|       "version": "5.29.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", | ||||
|       "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", | ||||
|       "dependencies": { | ||||
|         "@fastify/busboy": "^2.0.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=14.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/universal-user-agent": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz", | ||||
| @ -6478,20 +6559,20 @@ | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@actions/cache": { | ||||
|       "version": "3.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.1.tgz", | ||||
|       "integrity": "sha512-QurbMiY//02+0kN1adJkMHN44RcZ5kAXfhSnKUZmtSmhMTNqLitGArG1xOkt93NNyByTlLGAc5wIOF/dZ2ENOQ==", | ||||
|       "version": "4.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.3.tgz", | ||||
|       "integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==", | ||||
|       "requires": { | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/core": "^1.11.1", | ||||
|         "@actions/exec": "^1.0.1", | ||||
|         "@actions/glob": "^0.1.0", | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "@actions/http-client": "^2.1.1", | ||||
|         "@actions/io": "^1.0.1", | ||||
|         "@azure/abort-controller": "^1.1.0", | ||||
|         "@azure/ms-rest-js": "^2.6.0", | ||||
|         "@azure/storage-blob": "^12.13.0", | ||||
|         "semver": "^6.1.0", | ||||
|         "uuid": "^3.3.3" | ||||
|         "@protobuf-ts/plugin": "^2.9.4", | ||||
|         "semver": "^6.3.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@actions/glob": { | ||||
| @ -6502,21 +6583,16 @@ | ||||
|             "@actions/core": "^1.2.6", | ||||
|             "minimatch": "^3.0.4" | ||||
|           } | ||||
|         }, | ||||
|         "uuid": { | ||||
|           "version": "3.4.0", | ||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||
|           "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/core": { | ||||
|       "version": "1.10.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", | ||||
|       "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", | ||||
|       "version": "1.11.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", | ||||
|       "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", | ||||
|       "requires": { | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/http-client": "^2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "@actions/exec": { | ||||
| @ -6546,11 +6622,12 @@ | ||||
|       } | ||||
|     }, | ||||
|     "@actions/http-client": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "version": "2.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", | ||||
|       "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", | ||||
|       "requires": { | ||||
|         "tunnel": "^0.0.6" | ||||
|         "tunnel": "^0.0.6", | ||||
|         "undici": "^5.25.4" | ||||
|       } | ||||
|     }, | ||||
|     "@actions/io": { | ||||
| @ -7245,6 +7322,11 @@ | ||||
|       "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@fastify/busboy": { | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", | ||||
|       "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==" | ||||
|     }, | ||||
|     "@humanwhocodes/config-array": { | ||||
|       "version": "0.11.8", | ||||
|       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", | ||||
| @ -7625,6 +7707,59 @@ | ||||
|       "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", | ||||
|       "integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==" | ||||
|     }, | ||||
|     "@protobuf-ts/plugin": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.6.tgz", | ||||
|       "integrity": "sha512-Wpv5rkXeu6E5Y4r0TjWE0bzRGddiTYl/RM+tLgVlS0r8CqOBqNAmlWv+s8ltf/F75rVrahUal0cpyhFwha9GRA==", | ||||
|       "requires": { | ||||
|         "@protobuf-ts/plugin-framework": "^2.9.6", | ||||
|         "@protobuf-ts/protoc": "^2.9.6", | ||||
|         "@protobuf-ts/runtime": "^2.9.6", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.9.6", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "typescript": { | ||||
|           "version": "3.9.10", | ||||
|           "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|           "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@protobuf-ts/plugin-framework": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.6.tgz", | ||||
|       "integrity": "sha512-w7A1RXrDCiVzcaRE6YJP7FCARuAFe/Vc4SNQnHAi4CF0V6mEtyjAYEIC5BNYgIRaJEqB26zzsBQjIem3R02SCA==", | ||||
|       "requires": { | ||||
|         "@protobuf-ts/runtime": "^2.9.6", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "typescript": { | ||||
|           "version": "3.9.10", | ||||
|           "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|           "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@protobuf-ts/protoc": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.6.tgz", | ||||
|       "integrity": "sha512-c0XvAPDIBAovH9HxV8gBv8gzOTreQIqibcusrB1+DxvFiSvy+2V1tjbUmG5gJEbjk3aAOaoj0a3+QuE+P28xUw==" | ||||
|     }, | ||||
|     "@protobuf-ts/runtime": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.6.tgz", | ||||
|       "integrity": "sha512-C0CfpKx4n4LBbUrajOdRj2BTbd3qBoK0SiKWLq7RgCoU6xiN4wesBMFHUOBp3fFzKeZwgU8Q2KtzaqzIvPLRXg==" | ||||
|     }, | ||||
|     "@protobuf-ts/runtime-rpc": { | ||||
|       "version": "2.9.6", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.6.tgz", | ||||
|       "integrity": "sha512-0UeqDRzNxgsh08lY5eWzFJNfD3gZ8Xf+WG1HzbIAbVAigzigwjwsYNNhTeas5H3gco1U5owTzCg177aambKOOw==", | ||||
|       "requires": { | ||||
|         "@protobuf-ts/runtime": "^2.9.6" | ||||
|       } | ||||
|     }, | ||||
|     "@sinonjs/commons": { | ||||
|       "version": "1.8.6", | ||||
|       "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", | ||||
| @ -10789,9 +10924,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "semver": { | ||||
|       "version": "6.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" | ||||
|       "version": "6.3.1", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", | ||||
|       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" | ||||
|     }, | ||||
|     "shebang-command": { | ||||
|       "version": "1.2.0", | ||||
| @ -11106,6 +11241,14 @@ | ||||
|       "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "undici": { | ||||
|       "version": "5.29.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", | ||||
|       "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", | ||||
|       "requires": { | ||||
|         "@fastify/busboy": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "universal-user-agent": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz", | ||||
|  | ||||
| @ -26,7 +26,7 @@ | ||||
|   "author": "GitHub", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^3.0.0", | ||||
|     "@actions/cache": "^4.0.3", | ||||
|     "@actions/core": "^1.10.0", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/github": "^1.1.0", | ||||
|  | ||||
| @ -101,9 +101,11 @@ export class DotnetVersionResolver { | ||||
|       allowRetries: true, | ||||
|       maxRetries: 3 | ||||
|     }); | ||||
|  | ||||
|     const response = await httpClient.getJson<any>( | ||||
|       DotnetVersionResolver.DotNetCoreIndexUrl | ||||
|     ); | ||||
|  | ||||
|     const result = response.result || {}; | ||||
|     const releasesInfo: any[] = result['releases-index']; | ||||
|  | ||||
| @ -122,7 +124,7 @@ export class DotnetVersionResolver { | ||||
|   } | ||||
|  | ||||
|   static DotNetCoreIndexUrl = | ||||
|     'https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json'; | ||||
|     'https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json'; | ||||
| } | ||||
|  | ||||
| export class DotnetCoreInstaller { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	