diff --git a/src/Rust/.cargo/config.toml b/.cargo/config.toml similarity index 100% rename from src/Rust/.cargo/config.toml rename to .cargo/config.toml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 293388b2..d654894e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,8 +2,11 @@ name: Build on: [ push, pull_request ] +env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + jobs: - test-rust-bins: + test-rust: strategy: matrix: os: [macos-13, macos-14, windows-latest, ubuntu-latest] @@ -23,17 +26,14 @@ jobs: - uses: Swatinem/rust-cache@v2 with: key: "rust-test-${{ matrix.os }}" - workspaces: "src/Rust -> target" - name: Install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov - name: Test Rust - working-directory: src/Rust - run: cargo llvm-cov ${{ matrix.rust_flags }} --cobertura --output-path ../../test/coverage.rust.${{ matrix.os }}.xml - - name: Upload Coverage Artifacts - uses: actions/upload-artifact@v4 + run: cargo llvm-cov ${{ matrix.rust_flags }} --cobertura --output-path ./test/coverage.rust.${{ matrix.os }}.xml + - name: Upload Coverage + uses: codecov/codecov-action@v4 with: - name: coverage-rust-${{ matrix.os }} - path: ./test/*.xml + file: ./test/coverage.rust.${{ matrix.os }}.xml build-rust-windows: runs-on: windows-latest @@ -47,21 +47,19 @@ jobs: - uses: Swatinem/rust-cache@v2 with: key: "rust-build-windows" - workspaces: "src/Rust -> target" - name: Install Windows7 Rust Toolchain run: | rustup toolchain install 1.75.0-x86_64-pc-windows-msvc rustup target add i686-pc-windows-msvc --toolchain 1.75.0-x86_64-pc-windows-msvc - name: Build Rust - working-directory: src/Rust run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --features windows --release - name: Upload Rust Build Artifacts uses: actions/upload-artifact@v4 with: name: rust-windows-latest path: | - src/Rust/target/i686-pc-windows-msvc/release/*.exe - src/Rust/target/i686-pc-windows-msvc/release/*.pdb + target/i686-pc-windows-msvc/release/*.exe + target/i686-pc-windows-msvc/release/*.pdb - name: Cancel workflow if failed uses: andymckay/cancel-action@0.4 if: ${{ failure() }} @@ -79,14 +77,11 @@ jobs: - uses: Swatinem/rust-cache@v2 with: key: "rust-build-linux" - workspaces: "src/Rust -> target" - name: Build Rust (x64) - working-directory: src/Rust run: | cargo build --release --target x86_64-unknown-linux-gnu cp ./target/x86_64-unknown-linux-gnu/release/update ./target/release/UpdateNix_x64 - name: Build Rust (arm64) - working-directory: src/Rust env: CROSS_NuGetPackageVersion: ${{ steps.nbgv.outputs.NuGetPackageVersion }} run: | @@ -98,7 +93,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: rust-ubuntu-latest - path: src/Rust/target/release/UpdateNix* + path: target/release/UpdateNix* - name: Cancel workflow if failed uses: andymckay/cancel-action@0.4 if: ${{ failure() }} @@ -118,9 +113,7 @@ jobs: - uses: Swatinem/rust-cache@v2 with: key: "rust-build-${{ matrix.os }}" - workspaces: "src/Rust -> target" - name: Build Rust - working-directory: src/Rust run: | cargo build --release cp ./target/release/update ./target/release/UpdateMac @@ -128,7 +121,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: rust-${{ matrix.os }} - path: src/Rust/target/release/UpdateMac + path: target/release/UpdateMac - name: Cancel workflow if failed uses: andymckay/cancel-action@0.4 if: ${{ failure() }} @@ -179,12 +172,12 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/cache@v4 - with: - path: ${{ github.workspace }}/.nuget/packages - key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} - restore-keys: | - ${{ runner.os }}-nuget- + # - uses: actions/cache@v4 + # with: + # path: ${{ github.workspace }}/.nuget/packages + # key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + # restore-keys: | + # ${{ runner.os }}-nuget- - name: Install FUSE run: | sudo add-apt-repository universe @@ -206,7 +199,7 @@ jobs: - name: Download Rust Artifacts uses: actions/download-artifact@v4 with: - path: src/Rust/target/release + path: target/release pattern: rust-* merge-multiple: true - name: Test Velopack.Tests @@ -220,11 +213,10 @@ jobs: with: name: cross-${{ matrix.os }} path: test/artifacts/* - - name: Upload Coverage Artifacts - uses: actions/upload-artifact@v4 + - name: Upload Coverage + uses: codecov/codecov-action@v4 with: - name: coverage-dotnet-${{ matrix.os }} - path: ./test/*.xml + directory: ./test - uses: caesay/wait-artifact-action@494939e840383463b1686ce3624a8aab059c2c8b if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest' }} with: @@ -260,7 +252,7 @@ jobs: - name: Download Rust Artifacts uses: actions/download-artifact@v4 with: - path: src/Rust/target/release + path: target/release pattern: rust-* merge-multiple: true - name: Build .NET @@ -278,29 +270,9 @@ jobs: name: packages path: build/Release/*nupkg - upload-coverage: - runs-on: ubuntu-latest - needs: [package, test-dotnet, test-rust-bins] - steps: - - name: Download Coverage Artifacts - uses: actions/download-artifact@v4 - with: - pattern: coverage-* - path: ./test - - name: Upload Coverage to Codecov - uses: codecov/codecov-action@v4 - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - directory: ./test - fail_ci_if_error: true - - uses: geekyeggo/delete-artifact@v5 - with: - name: coverage-* - release: runs-on: ubuntu-latest - needs: [package, test-dotnet, test-rust-bins] + needs: [package, test-dotnet, test-rust] if: github.event_name == 'push' && github.ref == 'refs/heads/master' steps: - name: Invoke Release Workflow diff --git a/.gitignore b/.gitignore index 604d1209..70635906 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ _docyml/ ## Eclipse ################# +.vscode .idea *.pydevproject .project diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 0414fda7..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "cSpell.words": [ - "Avalonia", - "Skippable", - "Velo", - "Velopack" - ] -} \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..fcaeb12e --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2720 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "aligned" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "377e4c0ba83e4431b10df45c1d4666f178ea9c552cac93e60c3a88bf32785923" +dependencies = [ + "as-slice", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "as-slice" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "ascii" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand 2.1.0", + "futures-lite 2.3.0", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +dependencies = [ + "async-channel 2.3.1", + "async-executor", + "async-io 2.3.3", + "async-lock 3.4.0", + "blocking", + "futures-lite 2.3.0", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if 1.0.0", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +dependencies = [ + "async-lock 3.4.0", + "cfg-if 1.0.0", + "concurrent-queue", + "futures-io", + "futures-lite 2.3.0", + "parking", + "polling 3.7.2", + "rustix 0.38.34", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener 5.3.1", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel 1.9.0", + "async-global-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 1.13.0", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel 2.3.1", + "async-task", + "futures-io", + "futures-lite 2.3.0", + "piper", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytemuck" +version = "1.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "cc" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "clap" +version = "4.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + +[[package]] +name = "cocoa" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types 0.5.0", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "cvt" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ae9bf77fbf2d39ef573205d554d87e86c12f1994e9ea335b0651b9b278bcf1" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "dialog" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736bab36d647d14c985725a57a4110a1182c6852104536cd42f1c97e96d29bf0" +dependencies = [ + "dirs", + "rpassword", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "dirs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" +dependencies = [ + "cfg-if 0.1.10", + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "enum-flags" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e49d7f94ae5845d14507b85d9f24f1ac106acca19508cd8c78a54616f8610233" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "file-rotate" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3ed82142801f5b1363f7d463963d114db80f467e860b1cd82228eaebc627a0" +dependencies = [ + "chrono", + "flate2", +] + +[[package]] +name = "filelocksmith" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3583db48ba300c88320942d08b6ef5856e5f7a354da57a471604fa95034fab7" +dependencies = [ + "cc", +] + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_at" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "982f82cc75107eef84f417ad6c53ae89bf65b561937ca4a3b3b0fd04d0aa2425" +dependencies = [ + "aligned", + "cfg-if 1.0.0", + "cvt", + "libc", + "nix", + "windows-sys 0.48.0", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand 2.1.0", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gif" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "image" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "gif", + "num-traits", + "png", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "indexmap" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if 1.0.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +dependencies = [ + "value-bag", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "native-dialog" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84e7038885d2aeab236bd60da9e159a5967b47cde3292da3b15ff1bec27c039f" +dependencies = [ + "ascii", + "block", + "cocoa", + "core-foundation", + "dirs-next", + "objc", + "objc-foundation", + "objc_id", + "once_cell", + "raw-window-handle", + "thiserror", + "versions", + "wfd", + "which", + "winapi 0.3.9", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if 1.0.0", + "libc", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "normpath" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "ntest" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb183f0a1da7a937f672e5ee7b7edb727bf52b8a52d531374ba8ebb9345c0330" +dependencies = [ + "ntest_test_cases", + "ntest_timeout", +] + +[[package]] +name = "ntest_test_cases" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d0d3f2a488592e5368ebbe996e7f1d44aa13156efad201f5b4d84e150eaa93" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ntest_timeout" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc7c92f190c97f79b4a332f5e81dcf68c8420af2045c936c9be0bc9de6f63b5" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.6.0", + "cfg-if 1.0.0", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_info" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "serde", + "windows-sys 0.52.0", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +dependencies = [ + "atomic-waker", + "fastrand 2.1.0", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "png" +version = "0.17.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if 1.0.0", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +dependencies = [ + "cfg-if 1.0.0", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "pretty-bytes-rust" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9cf90f159a57d064a311cfcc6d65f189c12bf399080a7dd2b64de47181639b" +dependencies = [ + "clap", +] + +[[package]] +name = "pretty_assertions" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +dependencies = [ + "diff", + "yansi", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "remove_dir_all" +version = "0.8.2" +source = "git+https://github.com/caesay/remove_dir_all.git#c98142b9150c53e6c5f56e752d2bf93433f2e207" +dependencies = [ + "cfg-if 1.0.0", + "cvt", + "fs_at", + "libc", + "log", + "normpath", + "same-file", + "windows-sys 0.52.0", +] + +[[package]] +name = "rpassword" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37473170aedbe66ffa3ad3726939ba677d83c646ad4fd99e5b4bc38712f45ec" +dependencies = [ + "kernel32-sys", + "libc", + "winapi 0.2.8", +] + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "serde" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "serde_json" +version = "1.0.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simple-stopwatch" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0b3bc19fbfbbc5823eb4f9f52a94f98a97f7b265e96defe319dfdac9692b51" +dependencies = [ + "time 0.1.45", +] + +[[package]] +name = "simplelog" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" +dependencies = [ + "log", + "termcolor", + "time 0.3.36", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.72", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" +dependencies = [ + "cfg-if 1.0.0", + "fastrand 2.1.0", + "once_cell", + "rustix 0.38.34", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "ureq" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72139d247e5f97a3eff96229a7ae85ead5328a39efe76f8bf5a06313d505b6ea" +dependencies = [ + "base64", + "flate2", + "log", + "native-tls", + "once_cell", + "url", +] + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "value-bag" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "velopack" +version = "0.0.0-local" +dependencies = [ + "async-std", + "derivative", + "glob", + "log", + "native-tls", + "semver", + "serde", + "serde_json", + "thiserror", + "ureq", + "url", + "xml", + "zip", + "zstd", +] + +[[package]] +name = "velopack_bins" +version = "0.0.0-local" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "chrono", + "clap", + "derivative", + "dialog", + "enum-flags", + "file-rotate", + "filelocksmith", + "fs_extra", + "glob", + "image", + "lazy_static", + "libc", + "libloading", + "log", + "memmap2", + "native-dialog", + "native-tls", + "normpath", + "ntest", + "os_info", + "pretty-bytes-rust", + "pretty_assertions", + "rand", + "regex", + "remove_dir_all", + "same-file", + "semver", + "serde", + "serde_json", + "sha1_smol", + "simple-stopwatch", + "simplelog", + "strsim", + "strum", + "tempfile", + "time 0.3.36", + "ureq", + "url", + "wait-timeout", + "waitpid-any", + "webview2-com", + "windows", + "winres", + "winsafe", + "xml", + "zip", + "zstd", +] + +[[package]] +name = "versions" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd" +dependencies = [ + "itertools", + "nom", +] + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "waitpid-any" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0189157c93c54d86e5c61ddf0c1223baa25e5bfb2f6f9983c678985b028d7c12" +dependencies = [ + "rustix 0.38.34", + "windows-sys 0.52.0", +] + +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.72", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webview2-com" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6516cfa64c6b3212686080eeec378e662c2af54bb2a5b2a22749673f5cb2226f" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.57.0", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "webview2-com-sys" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c76d5b77320ff155660be1df3e6588bc85c75f1a9feef938cc4dc4dd60d1d7cf" +dependencies = [ + "thiserror", + "windows", + "windows-core 0.57.0", +] + +[[package]] +name = "weezl" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" + +[[package]] +name = "wfd" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e713040b67aae5bf1a0ae3e1ebba8cc29ab2b90da9aa1bff6e09031a8a41d7a8" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.34", +] + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + +[[package]] +name = "winsafe" +version = "0.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40369220be405a294b88b13ccc3d916fac12423250b30092c8c4ea19001f7f1" + +[[package]] +name = "xml" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ede1c99c55b4b3ad0349018ef0eccbe954ce9c342334410707ee87177fcf2ab4" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "zip" +version = "2.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40dd8c92efc296286ce1fbd16657c5dbefff44f1b4ca01cc5f517d8b7b3d3e2e" +dependencies = [ + "arbitrary", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "flate2", + "indexmap", + "memchr", + "thiserror", + "zopfli", +] + +[[package]] +name = "zopfli" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +dependencies = [ + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", +] + +[[package]] +name = "zstd" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.13+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-jpeg" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..88a97491 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,30 @@ +[workspace] +resolver = "2" +members = [ + "src/bins", + "src/lib-rust", + # "src/lib-cpp/generator" +] + +[workspace.package] +authors = ["Caelan Sayler "] +homepage = "https://velopack.io" +repository = "https://github.com/velopack/velopack" +documentation = "https://docs.velopack.io" +keywords = ["update", "install", "velopack", "squirrel", "automatic-updates"] +categories = ["development-tools"] +license = "MIT" +edition = "2021" +rust-version = "1.75" + +# default to small, optimized workspace release binaries +[profile.release] +opt-level = "z" # optimize for size +lto = true # link-time optimization +debug = false # disable debug info +debug-assertions = false # disable debug assertions +overflow-checks = false # disable overflow checks +panic = "abort" # abort on panic +incremental = false # disable incremental compilation +codegen-units = 1 # compile all code into a single unit +rpath = false # disable rpath \ No newline at end of file diff --git a/src/Rust/Cross.toml b/Cross.toml similarity index 100% rename from src/Rust/Cross.toml rename to Cross.toml diff --git a/Velopack.sln b/Velopack.sln index 1a2b468a..d7232727 100644 --- a/Velopack.sln +++ b/Velopack.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31815.197 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack", "src\Velopack\Velopack.csproj", "{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack", "src\lib-csharp\Velopack.csproj", "{1436E22A-FE3C-4D68-9A85-9E74DF2E6A92}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Tests", "test\Velopack.Tests\Velopack.Tests.csproj", "{98AEB048-E27D-42F4-9440-505B7F78BAFD}" EndProject @@ -20,9 +20,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionLevel", "SolutionLe version.json = version.json EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging", "src\Velopack.Packaging\Velopack.Packaging.csproj", "{352C15EA-622F-4132-80D8-9B6E3C83404E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging", "src\vpk\Velopack.Packaging\Velopack.Packaging.csproj", "{352C15EA-622F-4132-80D8-9B6E3C83404E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Vpk", "src\Velopack.Vpk\Velopack.Vpk.csproj", "{9E769C7E-A54C-4844-8362-727D37BB1578}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Vpk", "src\vpk\Velopack.Vpk\Velopack.Vpk.csproj", "{9E769C7E-A54C-4844-8362-727D37BB1578}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.CommandLine.Tests", "test\Velopack.CommandLine.Tests\Velopack.CommandLine.Tests.csproj", "{519EAB50-47B8-425F-8B20-AB9548F220B4}" EndProject @@ -31,11 +31,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7AC3A776 test\Directory.Build.props = test\Directory.Build.props EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging.Windows", "src\Velopack.Packaging.Windows\Velopack.Packaging.Windows.csproj", "{E35039C8-1F98-48EB-B7D5-08E33DF061A7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging.Windows", "src\vpk\Velopack.Packaging.Windows\Velopack.Packaging.Windows.csproj", "{E35039C8-1F98-48EB-B7D5-08E33DF061A7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging.Unix", "src\Velopack.Packaging.Unix\Velopack.Packaging.Unix.csproj", "{3382BCB7-657E-4E7B-A2B9-D65AA4DA073B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging.Unix", "src\vpk\Velopack.Packaging.Unix\Velopack.Packaging.Unix.csproj", "{3382BCB7-657E-4E7B-A2B9-D65AA4DA073B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Deployment", "src\Velopack.Deployment\Velopack.Deployment.csproj", "{D19EA72C-E7AE-4A7B-924A-E7550901A49C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Deployment", "src\vpk\Velopack.Deployment\Velopack.Deployment.csproj", "{D19EA72C-E7AE-4A7B-924A-E7550901A49C}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Packaging.Tests", "test\Velopack.Packaging.Tests\Velopack.Packaging.Tests.csproj", "{175B06A5-5C09-4DAB-A6AF-C8A2257BD1B6}" EndProject @@ -46,17 +46,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{3EBF samples\Directory.Build.targets = samples\Directory.Build.targets EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvaloniaCrossPlat", "samples\AvaloniaCrossPlat\AvaloniaCrossPlat.csproj", "{1FF6A262-13D0-45DF-B818-77AC84C52C6F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharpAvalonia", "samples\CSharpAvalonia\CSharpAvalonia.csproj", "{1FF6A262-13D0-45DF-B818-77AC84C52C6F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LegacyTestApp", "test\LegacyTestApp\LegacyTestApp.csproj", "{8B27C4BF-21B8-48B0-80F8-74520227C35F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VeloWpfSample", "samples\VeloWpfSample\VeloWpfSample.csproj", "{9E0F2B00-1B88-4B75-BEED-6DF8DBCA36B5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharpWpf", "samples\CSharpWpf\CSharpWpf.csproj", "{9E0F2B00-1B88-4B75-BEED-6DF8DBCA36B5}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Divergic.Logging.Xunit", "test\Divergic.Logging.Xunit\Divergic.Logging.Xunit.csproj", "{5ED2E9AF-101D-4D2D-B0B5-90A920EF692D}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Build", "src\Velopack.Build\Velopack.Build.csproj", "{97C9B2CF-877F-4C98-A513-058784A23697}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.Build", "src\vpk\Velopack.Build\Velopack.Build.csproj", "{97C9B2CF-877F-4C98-A513-058784A23697}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.IcoLib", "src\Velopack.IcoLib\Velopack.IcoLib.csproj", "{8A0A980A-D51C-458E-8942-00BC900FD2D0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Velopack.IcoLib", "src\vpk\Velopack.IcoLib\Velopack.IcoLib.csproj", "{8A0A980A-D51C-458E-8942-00BC900FD2D0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/Rust/rustfmt.toml b/rustfmt.toml similarity index 100% rename from src/Rust/rustfmt.toml rename to rustfmt.toml diff --git a/samples/AvaloniaCrossPlat/App.axaml b/samples/CSharpAvalonia/App.axaml similarity index 89% rename from samples/AvaloniaCrossPlat/App.axaml rename to samples/CSharpAvalonia/App.axaml index 3bc83439..5d11dbf1 100644 --- a/samples/AvaloniaCrossPlat/App.axaml +++ b/samples/CSharpAvalonia/App.axaml @@ -1,6 +1,6 @@ diff --git a/samples/AvaloniaCrossPlat/App.axaml.cs b/samples/CSharpAvalonia/App.axaml.cs similarity index 94% rename from samples/AvaloniaCrossPlat/App.axaml.cs rename to samples/CSharpAvalonia/App.axaml.cs index 42dcc01d..a0720d3f 100644 --- a/samples/AvaloniaCrossPlat/App.axaml.cs +++ b/samples/CSharpAvalonia/App.axaml.cs @@ -2,7 +2,7 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; -namespace AvaloniaCrossPlat; +namespace CSharpAvalonia; public partial class App : Application { diff --git a/samples/AvaloniaCrossPlat/AvaloniaCrossPlat.csproj b/samples/CSharpAvalonia/CSharpAvalonia.csproj similarity index 95% rename from samples/AvaloniaCrossPlat/AvaloniaCrossPlat.csproj rename to samples/CSharpAvalonia/CSharpAvalonia.csproj index 226bed8a..648174f2 100644 --- a/samples/AvaloniaCrossPlat/AvaloniaCrossPlat.csproj +++ b/samples/CSharpAvalonia/CSharpAvalonia.csproj @@ -2,6 +2,7 @@ WinExe + VelopackCSharpAvalonia net8.0 true app.manifest diff --git a/samples/AvaloniaCrossPlat/MainWindow.axaml b/samples/CSharpAvalonia/MainWindow.axaml similarity index 93% rename from samples/AvaloniaCrossPlat/MainWindow.axaml rename to samples/CSharpAvalonia/MainWindow.axaml index 7f5bdacc..55889ce2 100644 --- a/samples/AvaloniaCrossPlat/MainWindow.axaml +++ b/samples/CSharpAvalonia/MainWindow.axaml @@ -3,9 +3,9 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Width="600" Height="600" - x:Class="AvaloniaCrossPlat.MainWindow" + x:Class="CSharpAvalonia.MainWindow" WindowStartupLocation="CenterScreen" - Title="AvaloniaCrossPlat"> + Title="CSharpAvalonia"> diff --git a/samples/AvaloniaCrossPlat/MainWindow.axaml.cs b/samples/CSharpAvalonia/MainWindow.axaml.cs similarity index 99% rename from samples/AvaloniaCrossPlat/MainWindow.axaml.cs rename to samples/CSharpAvalonia/MainWindow.axaml.cs index ca1fd652..294fd691 100644 --- a/samples/AvaloniaCrossPlat/MainWindow.axaml.cs +++ b/samples/CSharpAvalonia/MainWindow.axaml.cs @@ -6,7 +6,7 @@ using Avalonia.Threading; using Microsoft.Extensions.Logging; using Velopack; -namespace AvaloniaCrossPlat; +namespace CSharpAvalonia; public partial class MainWindow : Window { diff --git a/samples/AvaloniaCrossPlat/MemoryLogger.cs b/samples/CSharpAvalonia/MemoryLogger.cs similarity index 97% rename from samples/AvaloniaCrossPlat/MemoryLogger.cs rename to samples/CSharpAvalonia/MemoryLogger.cs index de29858a..8786f511 100644 --- a/samples/AvaloniaCrossPlat/MemoryLogger.cs +++ b/samples/CSharpAvalonia/MemoryLogger.cs @@ -2,7 +2,7 @@ using System.Text; using Microsoft.Extensions.Logging; -namespace AvaloniaCrossPlat; +namespace CSharpAvalonia; public class LogUpdatedEventArgs : EventArgs { diff --git a/samples/AvaloniaCrossPlat/Program.cs b/samples/CSharpAvalonia/Program.cs similarity index 97% rename from samples/AvaloniaCrossPlat/Program.cs rename to samples/CSharpAvalonia/Program.cs index da948be3..2d643306 100644 --- a/samples/AvaloniaCrossPlat/Program.cs +++ b/samples/CSharpAvalonia/Program.cs @@ -2,7 +2,7 @@ using Avalonia; using Velopack; -namespace AvaloniaCrossPlat; +namespace CSharpAvalonia; class Program { diff --git a/samples/AvaloniaCrossPlat/app.manifest b/samples/CSharpAvalonia/app.manifest similarity index 100% rename from samples/AvaloniaCrossPlat/app.manifest rename to samples/CSharpAvalonia/app.manifest diff --git a/samples/AvaloniaCrossPlat/build-linux.sh b/samples/CSharpAvalonia/build-linux.sh similarity index 77% rename from samples/AvaloniaCrossPlat/build-linux.sh rename to samples/CSharpAvalonia/build-linux.sh index b3ec51e2..30b46202 100644 --- a/samples/AvaloniaCrossPlat/build-linux.sh +++ b/samples/CSharpAvalonia/build-linux.sh @@ -15,9 +15,9 @@ RELEASE_DIR="$SCRIPT_DIR/releases" PUBLISH_DIR="$SCRIPT_DIR/publish" echo "" -echo "Compiling AvaloniaCrossPlat with dotnet..." +echo "Compiling VelopackCSharpAvalonia with dotnet..." dotnet publish -c Release --self-contained -r linux-x64 -o "$PUBLISH_DIR" echo "" echo "Building Velopack Release v$BUILD_VERSION" -vpk pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file +vpk pack -u VelopackCSharpAvalonia -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/build-osx.sh b/samples/CSharpAvalonia/build-osx.sh similarity index 77% rename from samples/AvaloniaCrossPlat/build-osx.sh rename to samples/CSharpAvalonia/build-osx.sh index 75ae3892..5cf127e2 100644 --- a/samples/AvaloniaCrossPlat/build-osx.sh +++ b/samples/CSharpAvalonia/build-osx.sh @@ -15,9 +15,9 @@ RELEASE_DIR="$SCRIPT_DIR/releases" PUBLISH_DIR="$SCRIPT_DIR/publish" echo "" -echo "Compiling AvaloniaCrossPlat with dotnet..." +echo "Compiling VelopackCSharpAvalonia with dotnet..." dotnet publish -c Release --self-contained -r osx-x64 -o "$PUBLISH_DIR" echo "" echo "Building Velopack Release v$BUILD_VERSION" -vpk pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file +vpk pack -u VelopackCSharpAvalonia -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/build-win.bat b/samples/CSharpAvalonia/build-win.bat similarity index 68% rename from samples/AvaloniaCrossPlat/build-win.bat rename to samples/CSharpAvalonia/build-win.bat index 6d8ebfce..7c1b2056 100644 --- a/samples/AvaloniaCrossPlat/build-win.bat +++ b/samples/CSharpAvalonia/build-win.bat @@ -10,9 +10,9 @@ if "%~1"=="" ( set "version=%~1" echo. -echo Compiling AvaloniaCrossPlat with dotnet... +echo Compiling VelopackCSharpAvalonia with dotnet... dotnet publish -c Release --no-self-contained -r win-x64 -o %~dp0publish echo. echo Building Velopack Release v%version% -vpk pack -u AvaloniaCrossPlat -o %~dp0releases -p %~dp0publish -f net8-x64-desktop -v %* \ No newline at end of file +vpk pack -u VelopackCSharpAvalonia -o %~dp0releases -p %~dp0publish -f net8-x64-desktop -v %* \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/dev-scripts/build-linux.sh b/samples/CSharpAvalonia/dev-scripts/build-linux.sh old mode 100755 new mode 100644 similarity index 82% rename from samples/AvaloniaCrossPlat/dev-scripts/build-linux.sh rename to samples/CSharpAvalonia/dev-scripts/build-linux.sh index c2301176..24248df4 --- a/samples/AvaloniaCrossPlat/dev-scripts/build-linux.sh +++ b/samples/CSharpAvalonia/dev-scripts/build-linux.sh @@ -27,9 +27,9 @@ dotnet build src/Velopack.Vpk/Velopack.Vpk.csproj echo "" cd "$SCRIPT_DIR/.." -echo "Compiling AvaloniaCrossPlat with dotnet..." +echo "Compiling VelopackCSharpAvalonia with dotnet..." dotnet publish -c Release --self-contained -r linux-x64 -o "$PUBLISH_DIR" -p:UseLocalVelopack=true echo "" echo "Building Velopack Release v$BUILD_VERSION" -"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file +"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u VelopackCSharpAvalonia -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/dev-scripts/build-osx.sh b/samples/CSharpAvalonia/dev-scripts/build-osx.sh old mode 100755 new mode 100644 similarity index 80% rename from samples/AvaloniaCrossPlat/dev-scripts/build-osx.sh rename to samples/CSharpAvalonia/dev-scripts/build-osx.sh index 12249b7a..847a212c --- a/samples/AvaloniaCrossPlat/dev-scripts/build-osx.sh +++ b/samples/CSharpAvalonia/dev-scripts/build-osx.sh @@ -26,9 +26,9 @@ dotnet build src/Velopack.Vpk/Velopack.Vpk.csproj echo "" cd "$SCRIPT_DIR/.." -echo "Compiling AvaloniaCrossPlat with dotnet..." +echo "Compiling VelopackCSharpAvalonia with dotnet..." dotnet publish -c Release --self-contained -r osx-x64 -o "$PUBLISH_DIR" -p:UseLocalVelopack=true echo "" echo "Building Velopack Release v$BUILD_VERSION" -"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file +"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u VelopackCSharpAvalonia -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/dev-scripts/build-win.bat b/samples/CSharpAvalonia/dev-scripts/build-win.bat similarity index 84% rename from samples/AvaloniaCrossPlat/dev-scripts/build-win.bat rename to samples/CSharpAvalonia/dev-scripts/build-win.bat index 72aad6c8..d3199ae7 100644 --- a/samples/AvaloniaCrossPlat/dev-scripts/build-win.bat +++ b/samples/CSharpAvalonia/dev-scripts/build-win.bat @@ -26,9 +26,9 @@ cd %~dp0.. set "version=%~1" echo. -echo Compiling AvaloniaCrossPlat with dotnet... +echo Compiling VelopackCSharpAvalonia with dotnet... dotnet publish -c Release --self-contained -r win-x64 -o publish -p:UseLocalVelopack=true echo. echo Building Velopack Release v%version% -%~dp0..\..\..\build\Debug\net8.0\vpk pack -u AvaloniaCrossPlat -o releases -p publish -v %* \ No newline at end of file +%~dp0..\..\..\build\Debug\net8.0\vpk pack -u VelopackCSharpAvalonia -o releases -p publish -v %* \ No newline at end of file diff --git a/samples/AvaloniaCrossPlat/readme.md b/samples/CSharpAvalonia/readme.md similarity index 100% rename from samples/AvaloniaCrossPlat/readme.md rename to samples/CSharpAvalonia/readme.md diff --git a/samples/UnityMonoSample/.editorconfig b/samples/CSharpUnityMono/.editorconfig similarity index 100% rename from samples/UnityMonoSample/.editorconfig rename to samples/CSharpUnityMono/.editorconfig diff --git a/samples/UnityMonoSample/.gitignore b/samples/CSharpUnityMono/.gitignore similarity index 100% rename from samples/UnityMonoSample/.gitignore rename to samples/CSharpUnityMono/.gitignore diff --git a/samples/UnityMonoSample/Assets/NuGet.config b/samples/CSharpUnityMono/Assets/NuGet.config similarity index 100% rename from samples/UnityMonoSample/Assets/NuGet.config rename to samples/CSharpUnityMono/Assets/NuGet.config diff --git a/samples/UnityMonoSample/Assets/NuGet.config.meta b/samples/CSharpUnityMono/Assets/NuGet.config.meta similarity index 100% rename from samples/UnityMonoSample/Assets/NuGet.config.meta rename to samples/CSharpUnityMono/Assets/NuGet.config.meta diff --git a/samples/UnityMonoSample/Assets/Packages.meta b/samples/CSharpUnityMono/Assets/Packages.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages.meta rename to samples/CSharpUnityMono/Assets/Packages.meta diff --git a/samples/UnityMonoSample/Assets/Packages/Microsoft.Extensions.Logging.Abstractions.2.2.0.meta b/samples/CSharpUnityMono/Assets/Packages/Microsoft.Extensions.Logging.Abstractions.2.2.0.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/Microsoft.Extensions.Logging.Abstractions.2.2.0.meta rename to samples/CSharpUnityMono/Assets/Packages/Microsoft.Extensions.Logging.Abstractions.2.2.0.meta diff --git a/samples/UnityMonoSample/Assets/Packages/Microsoft.Win32.Registry.5.0.0.meta b/samples/CSharpUnityMono/Assets/Packages/Microsoft.Win32.Registry.5.0.0.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/Microsoft.Win32.Registry.5.0.0.meta rename to samples/CSharpUnityMono/Assets/Packages/Microsoft.Win32.Registry.5.0.0.meta diff --git a/samples/UnityMonoSample/Assets/Packages/Newtonsoft.Json.13.0.1.meta b/samples/CSharpUnityMono/Assets/Packages/Newtonsoft.Json.13.0.1.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/Newtonsoft.Json.13.0.1.meta rename to samples/CSharpUnityMono/Assets/Packages/Newtonsoft.Json.13.0.1.meta diff --git a/samples/UnityMonoSample/Assets/Packages/NuGet.Versioning.6.9.1.meta b/samples/CSharpUnityMono/Assets/Packages/NuGet.Versioning.6.9.1.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/NuGet.Versioning.6.9.1.meta rename to samples/CSharpUnityMono/Assets/Packages/NuGet.Versioning.6.9.1.meta diff --git a/samples/UnityMonoSample/Assets/Packages/System.Security.AccessControl.5.0.0.meta b/samples/CSharpUnityMono/Assets/Packages/System.Security.AccessControl.5.0.0.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/System.Security.AccessControl.5.0.0.meta rename to samples/CSharpUnityMono/Assets/Packages/System.Security.AccessControl.5.0.0.meta diff --git a/samples/UnityMonoSample/Assets/Packages/System.Security.Principal.Windows.5.0.0.meta b/samples/CSharpUnityMono/Assets/Packages/System.Security.Principal.Windows.5.0.0.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/System.Security.Principal.Windows.5.0.0.meta rename to samples/CSharpUnityMono/Assets/Packages/System.Security.Principal.Windows.5.0.0.meta diff --git a/samples/UnityMonoSample/Assets/Packages/Velopack.0.0.359.meta b/samples/CSharpUnityMono/Assets/Packages/Velopack.0.0.359.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Packages/Velopack.0.0.359.meta rename to samples/CSharpUnityMono/Assets/Packages/Velopack.0.0.359.meta diff --git a/samples/UnityMonoSample/Assets/Scenes.meta b/samples/CSharpUnityMono/Assets/Scenes.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Scenes.meta rename to samples/CSharpUnityMono/Assets/Scenes.meta diff --git a/samples/UnityMonoSample/Assets/Scenes/SampleScene.unity b/samples/CSharpUnityMono/Assets/Scenes/SampleScene.unity similarity index 100% rename from samples/UnityMonoSample/Assets/Scenes/SampleScene.unity rename to samples/CSharpUnityMono/Assets/Scenes/SampleScene.unity diff --git a/samples/UnityMonoSample/Assets/Scenes/SampleScene.unity.meta b/samples/CSharpUnityMono/Assets/Scenes/SampleScene.unity.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Scenes/SampleScene.unity.meta rename to samples/CSharpUnityMono/Assets/Scenes/SampleScene.unity.meta diff --git a/samples/UnityMonoSample/Assets/Scenes/UpdateSample.cs b/samples/CSharpUnityMono/Assets/Scenes/UpdateSample.cs similarity index 100% rename from samples/UnityMonoSample/Assets/Scenes/UpdateSample.cs rename to samples/CSharpUnityMono/Assets/Scenes/UpdateSample.cs diff --git a/samples/UnityMonoSample/Assets/Scenes/UpdateSample.cs.meta b/samples/CSharpUnityMono/Assets/Scenes/UpdateSample.cs.meta similarity index 100% rename from samples/UnityMonoSample/Assets/Scenes/UpdateSample.cs.meta rename to samples/CSharpUnityMono/Assets/Scenes/UpdateSample.cs.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Documentation.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Documentation.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf b/samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Fonts.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Fonts.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt b/samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans.ttf b/samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans.ttf similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans.ttf rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans.ttf diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/TMP Settings.asset b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/TMP Settings.asset similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/TMP Settings.asset rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/TMP Settings.asset diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro.cginc b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro.cginc similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro.cginc rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro.cginc diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.json b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.json similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.json rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.json diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.png b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.png similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.png rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.png diff --git a/samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta b/samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta similarity index 100% rename from samples/UnityMonoSample/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta rename to samples/CSharpUnityMono/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta diff --git a/samples/UnityMonoSample/Assets/packages.config b/samples/CSharpUnityMono/Assets/packages.config similarity index 100% rename from samples/UnityMonoSample/Assets/packages.config rename to samples/CSharpUnityMono/Assets/packages.config diff --git a/samples/UnityMonoSample/Assets/packages.config.meta b/samples/CSharpUnityMono/Assets/packages.config.meta similarity index 100% rename from samples/UnityMonoSample/Assets/packages.config.meta rename to samples/CSharpUnityMono/Assets/packages.config.meta diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityCommon.props b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityCommon.props similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityCommon.props rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityCommon.props diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/Main.cpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/Main.cpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/Main.cpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/Main.cpp diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.cpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.cpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.cpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.cpp diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.h b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.h similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.h rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/PrecompiledHeader.h diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityConfiguration.gen.cpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityConfiguration.gen.cpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityConfiguration.gen.cpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityConfiguration.gen.cpp diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityData.vcxitems b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityData.vcxitems similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityData.vcxitems rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityData.vcxitems diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityMonoSample.vcxproj b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityMonoSample.vcxproj similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/UnityMonoSample.vcxproj rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/UnityMonoSample.vcxproj diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.ico b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.ico similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.ico rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.ico diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.manifest b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.manifest similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.manifest rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.manifest diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.rc b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.rc similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.rc rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayer.rc diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayerVersion.rc b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayerVersion.rc similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayerVersion.rc rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/WindowsPlayerVersion.rc diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/resource.h b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/resource.h similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityMonoSample/resource.h rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityMonoSample/resource.h diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/Exports.cpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/Exports.cpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/Exports.cpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/Exports.cpp diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/Exports.h b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/Exports.h similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/Exports.h rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/Exports.h diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/UnityPlayerStub.vcxproj b/samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/UnityPlayerStub.vcxproj similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/UnityPlayerStub/UnityPlayerStub.vcxproj rename to samples/CSharpUnityMono/BuildVisualStudioSolution/UnityPlayerStub/UnityPlayerStub.vcxproj diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/Velopack.cpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/Velopack.cpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/Velopack.cpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/Velopack.cpp diff --git a/samples/UnityMonoSample/BuildVisualStudioSolution/Velopack.hpp b/samples/CSharpUnityMono/BuildVisualStudioSolution/Velopack.hpp similarity index 100% rename from samples/UnityMonoSample/BuildVisualStudioSolution/Velopack.hpp rename to samples/CSharpUnityMono/BuildVisualStudioSolution/Velopack.hpp diff --git a/samples/UnityMonoSample/ProjectSettings/AudioManager.asset b/samples/CSharpUnityMono/ProjectSettings/AudioManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/AudioManager.asset rename to samples/CSharpUnityMono/ProjectSettings/AudioManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/ClusterInputManager.asset b/samples/CSharpUnityMono/ProjectSettings/ClusterInputManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/ClusterInputManager.asset rename to samples/CSharpUnityMono/ProjectSettings/ClusterInputManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/DynamicsManager.asset b/samples/CSharpUnityMono/ProjectSettings/DynamicsManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/DynamicsManager.asset rename to samples/CSharpUnityMono/ProjectSettings/DynamicsManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/EditorBuildSettings.asset b/samples/CSharpUnityMono/ProjectSettings/EditorBuildSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/EditorBuildSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/EditorBuildSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/EditorSettings.asset b/samples/CSharpUnityMono/ProjectSettings/EditorSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/EditorSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/EditorSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/GraphicsSettings.asset b/samples/CSharpUnityMono/ProjectSettings/GraphicsSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/GraphicsSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/GraphicsSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/InputManager.asset b/samples/CSharpUnityMono/ProjectSettings/InputManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/InputManager.asset rename to samples/CSharpUnityMono/ProjectSettings/InputManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/MemorySettings.asset b/samples/CSharpUnityMono/ProjectSettings/MemorySettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/MemorySettings.asset rename to samples/CSharpUnityMono/ProjectSettings/MemorySettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/NavMeshAreas.asset b/samples/CSharpUnityMono/ProjectSettings/NavMeshAreas.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/NavMeshAreas.asset rename to samples/CSharpUnityMono/ProjectSettings/NavMeshAreas.asset diff --git a/samples/UnityMonoSample/ProjectSettings/PackageManagerSettings.asset b/samples/CSharpUnityMono/ProjectSettings/PackageManagerSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/PackageManagerSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/PackageManagerSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/Physics2DSettings.asset b/samples/CSharpUnityMono/ProjectSettings/Physics2DSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/Physics2DSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/Physics2DSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/PresetManager.asset b/samples/CSharpUnityMono/ProjectSettings/PresetManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/PresetManager.asset rename to samples/CSharpUnityMono/ProjectSettings/PresetManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/ProjectSettings.asset b/samples/CSharpUnityMono/ProjectSettings/ProjectSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/ProjectSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/ProjectSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/ProjectVersion.txt b/samples/CSharpUnityMono/ProjectSettings/ProjectVersion.txt similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/ProjectVersion.txt rename to samples/CSharpUnityMono/ProjectSettings/ProjectVersion.txt diff --git a/samples/UnityMonoSample/ProjectSettings/QualitySettings.asset b/samples/CSharpUnityMono/ProjectSettings/QualitySettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/QualitySettings.asset rename to samples/CSharpUnityMono/ProjectSettings/QualitySettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/SceneTemplateSettings.json b/samples/CSharpUnityMono/ProjectSettings/SceneTemplateSettings.json similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/SceneTemplateSettings.json rename to samples/CSharpUnityMono/ProjectSettings/SceneTemplateSettings.json diff --git a/samples/UnityMonoSample/ProjectSettings/TagManager.asset b/samples/CSharpUnityMono/ProjectSettings/TagManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/TagManager.asset rename to samples/CSharpUnityMono/ProjectSettings/TagManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/TimeManager.asset b/samples/CSharpUnityMono/ProjectSettings/TimeManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/TimeManager.asset rename to samples/CSharpUnityMono/ProjectSettings/TimeManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/UnityConnectSettings.asset b/samples/CSharpUnityMono/ProjectSettings/UnityConnectSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/UnityConnectSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/UnityConnectSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/VFXManager.asset b/samples/CSharpUnityMono/ProjectSettings/VFXManager.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/VFXManager.asset rename to samples/CSharpUnityMono/ProjectSettings/VFXManager.asset diff --git a/samples/UnityMonoSample/ProjectSettings/VersionControlSettings.asset b/samples/CSharpUnityMono/ProjectSettings/VersionControlSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/VersionControlSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/VersionControlSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/XRSettings.asset b/samples/CSharpUnityMono/ProjectSettings/XRSettings.asset similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/XRSettings.asset rename to samples/CSharpUnityMono/ProjectSettings/XRSettings.asset diff --git a/samples/UnityMonoSample/ProjectSettings/boot.config b/samples/CSharpUnityMono/ProjectSettings/boot.config similarity index 100% rename from samples/UnityMonoSample/ProjectSettings/boot.config rename to samples/CSharpUnityMono/ProjectSettings/boot.config diff --git a/samples/UnityMonoSample/README.md b/samples/CSharpUnityMono/README.md similarity index 100% rename from samples/UnityMonoSample/README.md rename to samples/CSharpUnityMono/README.md diff --git a/samples/UnityMonoSample/package-lock.json b/samples/CSharpUnityMono/package-lock.json similarity index 100% rename from samples/UnityMonoSample/package-lock.json rename to samples/CSharpUnityMono/package-lock.json diff --git a/samples/UnityMonoSample/package.json b/samples/CSharpUnityMono/package.json similarity index 100% rename from samples/UnityMonoSample/package.json rename to samples/CSharpUnityMono/package.json diff --git a/samples/UnoSample/.editorconfig b/samples/CSharpUno/.editorconfig similarity index 100% rename from samples/UnoSample/.editorconfig rename to samples/CSharpUno/.editorconfig diff --git a/samples/UnoSample/.gitignore b/samples/CSharpUno/.gitignore similarity index 100% rename from samples/UnoSample/.gitignore rename to samples/CSharpUno/.gitignore diff --git a/samples/UnoSample/.vscode/extensions.json b/samples/CSharpUno/.vscode/extensions.json similarity index 100% rename from samples/UnoSample/.vscode/extensions.json rename to samples/CSharpUno/.vscode/extensions.json diff --git a/samples/UnoSample/.vscode/launch.json b/samples/CSharpUno/.vscode/launch.json similarity index 100% rename from samples/UnoSample/.vscode/launch.json rename to samples/CSharpUno/.vscode/launch.json diff --git a/samples/UnoSample/.vscode/settings.json b/samples/CSharpUno/.vscode/settings.json similarity index 100% rename from samples/UnoSample/.vscode/settings.json rename to samples/CSharpUno/.vscode/settings.json diff --git a/samples/UnoSample/.vscode/tasks.json b/samples/CSharpUno/.vscode/tasks.json similarity index 100% rename from samples/UnoSample/.vscode/tasks.json rename to samples/CSharpUno/.vscode/tasks.json diff --git a/samples/UnoSample/.vsconfig b/samples/CSharpUno/.vsconfig similarity index 100% rename from samples/UnoSample/.vsconfig rename to samples/CSharpUno/.vsconfig diff --git a/samples/UnoSample/Directory.Build.props b/samples/CSharpUno/Directory.Build.props similarity index 100% rename from samples/UnoSample/Directory.Build.props rename to samples/CSharpUno/Directory.Build.props diff --git a/samples/UnoSample/Directory.Build.targets b/samples/CSharpUno/Directory.Build.targets similarity index 100% rename from samples/UnoSample/Directory.Build.targets rename to samples/CSharpUno/Directory.Build.targets diff --git a/samples/UnoSample/Directory.Packages.props b/samples/CSharpUno/Directory.Packages.props similarity index 100% rename from samples/UnoSample/Directory.Packages.props rename to samples/CSharpUno/Directory.Packages.props diff --git a/samples/UnoSample/README.md b/samples/CSharpUno/README.md similarity index 100% rename from samples/UnoSample/README.md rename to samples/CSharpUno/README.md diff --git a/samples/UnoSample/UnoSample.sln b/samples/CSharpUno/UnoSample.sln similarity index 100% rename from samples/UnoSample/UnoSample.sln rename to samples/CSharpUno/UnoSample.sln diff --git a/samples/UnoSample/UnoSample/App.xaml b/samples/CSharpUno/UnoSample/App.xaml similarity index 100% rename from samples/UnoSample/UnoSample/App.xaml rename to samples/CSharpUno/UnoSample/App.xaml diff --git a/samples/UnoSample/UnoSample/App.xaml.cs b/samples/CSharpUno/UnoSample/App.xaml.cs similarity index 100% rename from samples/UnoSample/UnoSample/App.xaml.cs rename to samples/CSharpUno/UnoSample/App.xaml.cs diff --git a/samples/UnoSample/UnoSample/Assets/Icons/icon.svg b/samples/CSharpUno/UnoSample/Assets/Icons/icon.svg similarity index 100% rename from samples/UnoSample/UnoSample/Assets/Icons/icon.svg rename to samples/CSharpUno/UnoSample/Assets/Icons/icon.svg diff --git a/samples/UnoSample/UnoSample/Assets/Icons/icon_foreground.svg b/samples/CSharpUno/UnoSample/Assets/Icons/icon_foreground.svg similarity index 100% rename from samples/UnoSample/UnoSample/Assets/Icons/icon_foreground.svg rename to samples/CSharpUno/UnoSample/Assets/Icons/icon_foreground.svg diff --git a/samples/UnoSample/UnoSample/Assets/Images/back.svg b/samples/CSharpUno/UnoSample/Assets/Images/back.svg similarity index 100% rename from samples/UnoSample/UnoSample/Assets/Images/back.svg rename to samples/CSharpUno/UnoSample/Assets/Images/back.svg diff --git a/samples/UnoSample/UnoSample/Assets/SharedAssets.md b/samples/CSharpUno/UnoSample/Assets/SharedAssets.md similarity index 100% rename from samples/UnoSample/UnoSample/Assets/SharedAssets.md rename to samples/CSharpUno/UnoSample/Assets/SharedAssets.md diff --git a/samples/UnoSample/UnoSample/Assets/Splash/splash_screen.svg b/samples/CSharpUno/UnoSample/Assets/Splash/splash_screen.svg similarity index 100% rename from samples/UnoSample/UnoSample/Assets/Splash/splash_screen.svg rename to samples/CSharpUno/UnoSample/Assets/Splash/splash_screen.svg diff --git a/samples/UnoSample/UnoSample/GlobalUsings.cs b/samples/CSharpUno/UnoSample/GlobalUsings.cs similarity index 100% rename from samples/UnoSample/UnoSample/GlobalUsings.cs rename to samples/CSharpUno/UnoSample/GlobalUsings.cs diff --git a/samples/UnoSample/UnoSample/Models/AppConfig.cs b/samples/CSharpUno/UnoSample/Models/AppConfig.cs similarity index 100% rename from samples/UnoSample/UnoSample/Models/AppConfig.cs rename to samples/CSharpUno/UnoSample/Models/AppConfig.cs diff --git a/samples/UnoSample/UnoSample/Models/Entity.cs b/samples/CSharpUno/UnoSample/Models/Entity.cs similarity index 100% rename from samples/UnoSample/UnoSample/Models/Entity.cs rename to samples/CSharpUno/UnoSample/Models/Entity.cs diff --git a/samples/UnoSample/UnoSample/Models/WeatherForecast.cs b/samples/CSharpUno/UnoSample/Models/WeatherForecast.cs similarity index 100% rename from samples/UnoSample/UnoSample/Models/WeatherForecast.cs rename to samples/CSharpUno/UnoSample/Models/WeatherForecast.cs diff --git a/samples/UnoSample/UnoSample/Package.appxmanifest b/samples/CSharpUno/UnoSample/Package.appxmanifest similarity index 100% rename from samples/UnoSample/UnoSample/Package.appxmanifest rename to samples/CSharpUno/UnoSample/Package.appxmanifest diff --git a/samples/UnoSample/UnoSample/Platforms/Desktop/Program.cs b/samples/CSharpUno/UnoSample/Platforms/Desktop/Program.cs similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/Desktop/Program.cs rename to samples/CSharpUno/UnoSample/Platforms/Desktop/Program.cs diff --git a/samples/UnoSample/UnoSample/Platforms/MacCatalyst/Entitlements.plist b/samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Entitlements.plist similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/MacCatalyst/Entitlements.plist rename to samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Entitlements.plist diff --git a/samples/UnoSample/UnoSample/Platforms/MacCatalyst/Info.plist b/samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Info.plist similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/MacCatalyst/Info.plist rename to samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Info.plist diff --git a/samples/UnoSample/UnoSample/Platforms/MacCatalyst/Main.maccatalyst.cs b/samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Main.maccatalyst.cs similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/MacCatalyst/Main.maccatalyst.cs rename to samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Main.maccatalyst.cs diff --git a/samples/UnoSample/UnoSample/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json b/samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json rename to samples/CSharpUno/UnoSample/Platforms/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json diff --git a/samples/UnoSample/UnoSample/Platforms/Windows/Program.cs b/samples/CSharpUno/UnoSample/Platforms/Windows/Program.cs similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/Windows/Program.cs rename to samples/CSharpUno/UnoSample/Platforms/Windows/Program.cs diff --git a/samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-arm64.pubxml b/samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-arm64.pubxml similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-arm64.pubxml rename to samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-arm64.pubxml diff --git a/samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml b/samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml rename to samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml diff --git a/samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml b/samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml similarity index 100% rename from samples/UnoSample/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml rename to samples/CSharpUno/UnoSample/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml diff --git a/samples/UnoSample/UnoSample/Presentation/MainPage.xaml b/samples/CSharpUno/UnoSample/Presentation/MainPage.xaml similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/MainPage.xaml rename to samples/CSharpUno/UnoSample/Presentation/MainPage.xaml diff --git a/samples/UnoSample/UnoSample/Presentation/MainPage.xaml.cs b/samples/CSharpUno/UnoSample/Presentation/MainPage.xaml.cs similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/MainPage.xaml.cs rename to samples/CSharpUno/UnoSample/Presentation/MainPage.xaml.cs diff --git a/samples/UnoSample/UnoSample/Presentation/MainViewModel.cs b/samples/CSharpUno/UnoSample/Presentation/MainViewModel.cs similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/MainViewModel.cs rename to samples/CSharpUno/UnoSample/Presentation/MainViewModel.cs diff --git a/samples/UnoSample/UnoSample/Presentation/Shell.xaml b/samples/CSharpUno/UnoSample/Presentation/Shell.xaml similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/Shell.xaml rename to samples/CSharpUno/UnoSample/Presentation/Shell.xaml diff --git a/samples/UnoSample/UnoSample/Presentation/Shell.xaml.cs b/samples/CSharpUno/UnoSample/Presentation/Shell.xaml.cs similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/Shell.xaml.cs rename to samples/CSharpUno/UnoSample/Presentation/Shell.xaml.cs diff --git a/samples/UnoSample/UnoSample/Presentation/ShellViewModel.cs b/samples/CSharpUno/UnoSample/Presentation/ShellViewModel.cs similarity index 100% rename from samples/UnoSample/UnoSample/Presentation/ShellViewModel.cs rename to samples/CSharpUno/UnoSample/Presentation/ShellViewModel.cs diff --git a/samples/UnoSample/UnoSample/ReadMe.md b/samples/CSharpUno/UnoSample/ReadMe.md similarity index 100% rename from samples/UnoSample/UnoSample/ReadMe.md rename to samples/CSharpUno/UnoSample/ReadMe.md diff --git a/samples/UnoSample/UnoSample/Serialization/WeatherForecastContext.cs b/samples/CSharpUno/UnoSample/Serialization/WeatherForecastContext.cs similarity index 100% rename from samples/UnoSample/UnoSample/Serialization/WeatherForecastContext.cs rename to samples/CSharpUno/UnoSample/Serialization/WeatherForecastContext.cs diff --git a/samples/UnoSample/UnoSample/Services/Caching/IWeatherCache.cs b/samples/CSharpUno/UnoSample/Services/Caching/IWeatherCache.cs similarity index 100% rename from samples/UnoSample/UnoSample/Services/Caching/IWeatherCache.cs rename to samples/CSharpUno/UnoSample/Services/Caching/IWeatherCache.cs diff --git a/samples/UnoSample/UnoSample/Services/Caching/WeatherCache.cs b/samples/CSharpUno/UnoSample/Services/Caching/WeatherCache.cs similarity index 100% rename from samples/UnoSample/UnoSample/Services/Caching/WeatherCache.cs rename to samples/CSharpUno/UnoSample/Services/Caching/WeatherCache.cs diff --git a/samples/UnoSample/UnoSample/Services/Endpoints/DebugHandler.cs b/samples/CSharpUno/UnoSample/Services/Endpoints/DebugHandler.cs similarity index 100% rename from samples/UnoSample/UnoSample/Services/Endpoints/DebugHandler.cs rename to samples/CSharpUno/UnoSample/Services/Endpoints/DebugHandler.cs diff --git a/samples/UnoSample/UnoSample/Services/Endpoints/IApiClient.cs b/samples/CSharpUno/UnoSample/Services/Endpoints/IApiClient.cs similarity index 100% rename from samples/UnoSample/UnoSample/Services/Endpoints/IApiClient.cs rename to samples/CSharpUno/UnoSample/Services/Endpoints/IApiClient.cs diff --git a/samples/UnoSample/UnoSample/Strings/en/Resources.resw b/samples/CSharpUno/UnoSample/Strings/en/Resources.resw similarity index 100% rename from samples/UnoSample/UnoSample/Strings/en/Resources.resw rename to samples/CSharpUno/UnoSample/Strings/en/Resources.resw diff --git a/samples/UnoSample/UnoSample/Strings/es/Resources.resw b/samples/CSharpUno/UnoSample/Strings/es/Resources.resw similarity index 100% rename from samples/UnoSample/UnoSample/Strings/es/Resources.resw rename to samples/CSharpUno/UnoSample/Strings/es/Resources.resw diff --git a/samples/UnoSample/UnoSample/Strings/fr/Resources.resw b/samples/CSharpUno/UnoSample/Strings/fr/Resources.resw similarity index 100% rename from samples/UnoSample/UnoSample/Strings/fr/Resources.resw rename to samples/CSharpUno/UnoSample/Strings/fr/Resources.resw diff --git a/samples/UnoSample/UnoSample/Strings/pt-BR/Resources.resw b/samples/CSharpUno/UnoSample/Strings/pt-BR/Resources.resw similarity index 100% rename from samples/UnoSample/UnoSample/Strings/pt-BR/Resources.resw rename to samples/CSharpUno/UnoSample/Strings/pt-BR/Resources.resw diff --git a/samples/UnoSample/UnoSample/Styles/ColorPaletteOverride.json b/samples/CSharpUno/UnoSample/Styles/ColorPaletteOverride.json similarity index 100% rename from samples/UnoSample/UnoSample/Styles/ColorPaletteOverride.json rename to samples/CSharpUno/UnoSample/Styles/ColorPaletteOverride.json diff --git a/samples/UnoSample/UnoSample/Styles/ColorPaletteOverride.xaml b/samples/CSharpUno/UnoSample/Styles/ColorPaletteOverride.xaml similarity index 100% rename from samples/UnoSample/UnoSample/Styles/ColorPaletteOverride.xaml rename to samples/CSharpUno/UnoSample/Styles/ColorPaletteOverride.xaml diff --git a/samples/UnoSample/UnoSample/UnoSample.csproj b/samples/CSharpUno/UnoSample/UnoSample.csproj similarity index 100% rename from samples/UnoSample/UnoSample/UnoSample.csproj rename to samples/CSharpUno/UnoSample/UnoSample.csproj diff --git a/samples/UnoSample/UnoSample/app.manifest b/samples/CSharpUno/UnoSample/app.manifest similarity index 100% rename from samples/UnoSample/UnoSample/app.manifest rename to samples/CSharpUno/UnoSample/app.manifest diff --git a/samples/UnoSample/UnoSample/appsettings.development.json b/samples/CSharpUno/UnoSample/appsettings.development.json similarity index 100% rename from samples/UnoSample/UnoSample/appsettings.development.json rename to samples/CSharpUno/UnoSample/appsettings.development.json diff --git a/samples/UnoSample/UnoSample/appsettings.json b/samples/CSharpUno/UnoSample/appsettings.json similarity index 100% rename from samples/UnoSample/UnoSample/appsettings.json rename to samples/CSharpUno/UnoSample/appsettings.json diff --git a/samples/UnoSample/global.json b/samples/CSharpUno/global.json similarity index 100% rename from samples/UnoSample/global.json rename to samples/CSharpUno/global.json diff --git a/samples/VeloWpfSample/App.xaml b/samples/CSharpWpf/App.xaml similarity index 73% rename from samples/VeloWpfSample/App.xaml rename to samples/CSharpWpf/App.xaml index 242066f5..34ef6176 100644 --- a/samples/VeloWpfSample/App.xaml +++ b/samples/CSharpWpf/App.xaml @@ -1,7 +1,7 @@ - diff --git a/samples/VeloWpfSample/App.xaml.cs b/samples/CSharpWpf/App.xaml.cs similarity index 77% rename from samples/VeloWpfSample/App.xaml.cs rename to samples/CSharpWpf/App.xaml.cs index 3862b0f6..e1b69ac8 100644 --- a/samples/VeloWpfSample/App.xaml.cs +++ b/samples/CSharpWpf/App.xaml.cs @@ -1,6 +1,6 @@ using System.Windows; -namespace VeloWpfSample +namespace CSharpWpf { public partial class App : Application { diff --git a/samples/VeloWpfSample/AssemblyInfo.cs b/samples/CSharpWpf/AssemblyInfo.cs similarity index 100% rename from samples/VeloWpfSample/AssemblyInfo.cs rename to samples/CSharpWpf/AssemblyInfo.cs diff --git a/samples/VeloWpfSample/VeloWpfSample.csproj b/samples/CSharpWpf/CSharpWpf.csproj similarity index 86% rename from samples/VeloWpfSample/VeloWpfSample.csproj rename to samples/CSharpWpf/CSharpWpf.csproj index 5e6eba8d..c5fafcbf 100644 --- a/samples/VeloWpfSample/VeloWpfSample.csproj +++ b/samples/CSharpWpf/CSharpWpf.csproj @@ -2,6 +2,7 @@ WinExe + VelopackCSharpWpf net48 true true @@ -9,7 +10,7 @@ - VeloWpfSample.Program + CSharpWpf.Program diff --git a/samples/VeloWpfSample/MainWindow.xaml b/samples/CSharpWpf/MainWindow.xaml similarity index 90% rename from samples/VeloWpfSample/MainWindow.xaml rename to samples/CSharpWpf/MainWindow.xaml index 25adafd0..4ac5a1a4 100644 --- a/samples/VeloWpfSample/MainWindow.xaml +++ b/samples/CSharpWpf/MainWindow.xaml @@ -1,12 +1,12 @@ - + Title="CSharpWpf" Height="600" Width="600"> diff --git a/samples/VeloWpfSample/MainWindow.xaml.cs b/samples/CSharpWpf/MainWindow.xaml.cs similarity index 99% rename from samples/VeloWpfSample/MainWindow.xaml.cs rename to samples/CSharpWpf/MainWindow.xaml.cs index fda6dd08..ce78683e 100644 --- a/samples/VeloWpfSample/MainWindow.xaml.cs +++ b/samples/CSharpWpf/MainWindow.xaml.cs @@ -3,7 +3,7 @@ using System.Windows; using Microsoft.Extensions.Logging; using Velopack; -namespace VeloWpfSample +namespace CSharpWpf { public partial class MainWindow : Window { diff --git a/samples/VeloWpfSample/MemoryLogger.cs b/samples/CSharpWpf/MemoryLogger.cs similarity index 98% rename from samples/VeloWpfSample/MemoryLogger.cs rename to samples/CSharpWpf/MemoryLogger.cs index 84ba757a..7852bee1 100644 --- a/samples/VeloWpfSample/MemoryLogger.cs +++ b/samples/CSharpWpf/MemoryLogger.cs @@ -1,7 +1,7 @@ using System.Text; using Microsoft.Extensions.Logging; -namespace VeloWpfSample +namespace CSharpWpf { public class LogUpdatedEventArgs : EventArgs { diff --git a/samples/VeloWpfSample/Program.cs b/samples/CSharpWpf/Program.cs similarity index 92% rename from samples/VeloWpfSample/Program.cs rename to samples/CSharpWpf/Program.cs index 30ee14a6..339e04e2 100644 --- a/samples/VeloWpfSample/Program.cs +++ b/samples/CSharpWpf/Program.cs @@ -1,11 +1,11 @@ using System.Windows; using Velopack; -namespace VeloWpfSample +namespace CSharpWpf { // Since WPF has an "automatic" Program.Main, we need to create our own. // In order for this to work, you must also add the following to your .csproj: - // VeloWpfSample.Program + // CSharpWpf.Program public class Program { public static MemoryLogger Log { get; private set; } diff --git a/samples/VeloWpfSample/build.bat b/samples/CSharpWpf/build.bat similarity index 64% rename from samples/VeloWpfSample/build.bat rename to samples/CSharpWpf/build.bat index 3dd5144b..4ff25db7 100644 --- a/samples/VeloWpfSample/build.bat +++ b/samples/CSharpWpf/build.bat @@ -10,9 +10,9 @@ if "%~1"=="" ( set "version=%~1" echo. -echo Compiling VeloWpfSample with dotnet... +echo Compiling VelopackCSharpWpf with dotnet... dotnet publish -c Release -o %~dp0publish echo. echo Building Velopack Release v%version% -vpk pack -u VeloWpfSample -v %version% -o %~dp0releases -p %~dp0publish -f net8-x64-desktop \ No newline at end of file +vpk pack -u VelopackCSharpWpf -v %version% -o %~dp0releases -p %~dp0publish -f net8-x64-desktop \ No newline at end of file diff --git a/samples/VeloWpfSample/readme.md b/samples/CSharpWpf/readme.md similarity index 100% rename from samples/VeloWpfSample/readme.md rename to samples/CSharpWpf/readme.md diff --git a/samples/Directory.Build.targets b/samples/Directory.Build.targets index f5ef83c6..973ce80d 100644 --- a/samples/Directory.Build.targets +++ b/samples/Directory.Build.targets @@ -26,7 +26,7 @@ - + diff --git a/samples/readme.md b/samples/readme.md index 54bd2e8c..0880f44e 100644 --- a/samples/readme.md +++ b/samples/readme.md @@ -1,10 +1,7 @@ # Velopack Samples -- [**AvaloniaCrossPlat**](AvaloniaCrossPlat) - uses Avalonia to provide a desktop UI, installer, and updates for Mac, Linux, and Windows. - -- [**VeloWpfSample**](VeloWpfSample) - demonstrates how to use Velopack effectively with WPF. - -## Other Languages -Note that only sample apps written in C# using the core reference library are available here. - -For other programming languages (Rust, C++, JS, etc) please visit the [Velopack Documentation](https://docs.velopack.io/category/sample-apps). \ No newline at end of file +## C# +- [**CSharpAvalonia**](CSharpAvalonia) - Velopack in a cross-platform app with [Avalonia](https://avaloniaui.net/). +- [**CSharpUnityMono**](CSharpUnityMono) - Velopack with [Unity Game Engine](https://unity.com/) and Mono. +- [**CSharpUno**](CSharpUno) - Velopack in a cross-platform app with [Uno Platform](https://github.com/unoplatform/uno). +- [**CSharpWpf**](CSharpWpf) - Velopack with WPF on Windows. diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b251166e..3b276319 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -20,10 +20,10 @@ $(LocalAppData)\NuGet\v3-cache true $(UserProfile)\.nuget\packages - true + false true - ..\..\Velopack.snk + $(MSBuildThisFileDirectory)..\Velopack.snk latest diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index 954b8a39..06dd7900 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -27,24 +27,24 @@ - - + + - - - - + + + + - - - - - - + + + + + + diff --git a/src/Rust/UpdateLocksmith_x64.lib b/src/Rust/UpdateLocksmith_x64.lib deleted file mode 100644 index 372dfa56..00000000 Binary files a/src/Rust/UpdateLocksmith_x64.lib and /dev/null differ diff --git a/src/Rust/UpdateLocksmith_x86.lib b/src/Rust/UpdateLocksmith_x86.lib deleted file mode 100644 index 242f105d..00000000 Binary files a/src/Rust/UpdateLocksmith_x86.lib and /dev/null differ diff --git a/src/Rust/src/testawareapp.rs b/src/Rust/src/testawareapp.rs deleted file mode 100644 index 5aa51f69..00000000 --- a/src/Rust/src/testawareapp.rs +++ /dev/null @@ -1,16 +0,0 @@ -use anyhow::Result; -use std::{fs::OpenOptions, io::Write}; - -fn main() -> Result<()> { - let args: Vec = std::env::args().skip(1).collect(); - - if args[0] == "--veloapp-version" { - println!("1.0.0"); - return Ok(()); - } - - let line = args.join(" ") + "\n"; - let mut file = OpenOptions::new().create(true).append(true).open("args.txt")?; - file.write_all(line.as_bytes())?; - Ok(()) -} diff --git a/src/Rust/src/windows/locksmith.rs b/src/Rust/src/windows/locksmith.rs deleted file mode 100644 index ff8a08d9..00000000 --- a/src/Rust/src/windows/locksmith.rs +++ /dev/null @@ -1,9 +0,0 @@ -use winsafe::WString; - -extern "C" { - fn TryCloseProcessesUsingPath(pszAppName: *mut u16, pszPath: *mut u16) -> bool; -} - -pub fn close_processes_locking_dir(app_name: &str, path: &str) -> bool { - unsafe { TryCloseProcessesUsingPath(WString::from_str(app_name).as_mut_ptr(), WString::from_str(path).as_mut_ptr()) } -} diff --git a/src/Velopack.Build/packages.lock.json b/src/Velopack.Build/packages.lock.json deleted file mode 100644 index a9c41d7d..00000000 --- a/src/Velopack.Build/packages.lock.json +++ /dev/null @@ -1,1297 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETFramework,Version=v4.7.2": { - "Microsoft.Build.Utilities.Core": { - "type": "Direct", - "requested": "[17.10.4, )", - "resolved": "17.10.4", - "contentHash": "eEB/tcXkSV+nQgvoa/l53UPtn+KVtKZ8zBceDZsXVTrfE4fA+4+/olrx9W8n2tq4XiESsL9UuGJgCKzqBwQCoQ==", - "dependencies": { - "Microsoft.Build.Framework": "17.10.4", - "Microsoft.IO.Redist": "6.0.0", - "Microsoft.NET.StringTools": "17.10.4", - "System.Collections.Immutable": "8.0.0", - "System.Configuration.ConfigurationManager": "8.0.0", - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "Riok.Mapperly": { - "type": "Direct", - "requested": "[3.6.0, )", - "resolved": "3.6.0", - "contentHash": "eQkT3evicd5fdb8HgAJjJ+uvbhfA76ozZZsBtounFrOvk0mj+9tozv1hCYV0f0cTmXIZsxtU93FMWPzd76wSaw==" - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.DotNet": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "ELFSharp": { - "type": "Transitive", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==", - "dependencies": { - "System.Memory": "4.5.5" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "dependencies": { - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Build.Framework": { - "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "4qXCwNOXBR1dyCzuks9SwTwFJQO/xmf2wcMislotDWJu7MN/r3xDNoU8Ae5QmKIHPaLG1xmfDkYS7qBVzxmeKw==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.IO.FileSystem.AccessControl": "5.0.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.IO.Redist": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "uxXZ8pAcYtIJm8iqu/0e+CkM/VSwfgbHpnCDu7s8+gn/VUD5R6PxH3RGZFPaHgTisrlwD+BIyL5TqG6qwuZtOQ==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4" - } - }, - "Microsoft.NET.StringTools": { - "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "wyABaqY+IHCMMSTQmcc3Ca6vbmg5BaEPgicnEgpll+4xyWZWlkQqUwafweUd9VAhBb4jqplMl6voUHQ6yfdUcg==", - "dependencies": { - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "SharpZipLib": { - "type": "Transitive", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Threading.Tasks.Extensions": "4.5.2" - } - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==", - "dependencies": { - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==" - }, - "System.IO.FileSystem.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.5", - "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "System.Security.Cryptography.X509Certificates": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==" - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0" - } - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.8", - "contentHash": "WhW6zPEgRZoo+c1NEvSSmrME4+LqXmW6tcsRFsEiSMeco+qZ9rpLs7tT53EIkE/s9GNTYS4/STQoaGiKDSWifQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", - "System.Threading.Tasks.Extensions": "4.5.4", - "System.ValueTuple": "4.5.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.ValueTuple": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Newtonsoft.Json": "[13.0.1, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - }, - "velopack.packaging.unix": { - "type": "Project", - "dependencies": { - "ELFSharp": "[2.17.3, )", - "SharpZipLib": "[1.4.2, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.packaging.windows": { - "type": "Project", - "dependencies": { - "AsmResolver.DotNet": "[5.5.1, )", - "AsmResolver.PE.Win32Resources": "[5.5.1, )", - "Velopack.IcoLib": "[1.1.1, )", - "Velopack.Packaging": "[1.0.0, )" - } - } - }, - "net6.0": { - "Microsoft.Build.Utilities.Core": { - "type": "Direct", - "requested": "[17.10.4, )", - "resolved": "17.10.4", - "contentHash": "eEB/tcXkSV+nQgvoa/l53UPtn+KVtKZ8zBceDZsXVTrfE4fA+4+/olrx9W8n2tq4XiESsL9UuGJgCKzqBwQCoQ==", - "dependencies": { - "Microsoft.Build.Framework": "17.10.4", - "Microsoft.NET.StringTools": "17.10.4", - "Microsoft.Win32.Registry": "5.0.0", - "System.Collections.Immutable": "8.0.0", - "System.Configuration.ConfigurationManager": "8.0.0", - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Security.Principal.Windows": "5.0.0", - "System.Text.Encoding.CodePages": "7.0.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "Riok.Mapperly": { - "type": "Direct", - "requested": "[3.6.0, )", - "resolved": "3.6.0", - "contentHash": "eQkT3evicd5fdb8HgAJjJ+uvbhfA76ozZZsBtounFrOvk0mj+9tozv1hCYV0f0cTmXIZsxtU93FMWPzd76wSaw==" - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.DotNet": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "ELFSharp": { - "type": "Transitive", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Build.Framework": { - "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "4qXCwNOXBR1dyCzuks9SwTwFJQO/xmf2wcMislotDWJu7MN/r3xDNoU8Ae5QmKIHPaLG1xmfDkYS7qBVzxmeKw==", - "dependencies": { - "Microsoft.Win32.Registry": "5.0.0", - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NET.StringTools": { - "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "wyABaqY+IHCMMSTQmcc3Ca6vbmg5BaEPgicnEgpll+4xyWZWlkQqUwafweUd9VAhBb4jqplMl6voUHQ6yfdUcg==", - "dependencies": { - "System.Memory": "4.5.5", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Microsoft.Win32.Registry": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "SharpZipLib": { - "type": "Transitive", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==" - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "8.0.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.5", - "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==" - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.8", - "contentHash": "WhW6zPEgRZoo+c1NEvSSmrME4+LqXmW6tcsRFsEiSMeco+qZ9rpLs7tT53EIkE/s9GNTYS4/STQoaGiKDSWifQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - }, - "velopack.packaging.unix": { - "type": "Project", - "dependencies": { - "ELFSharp": "[2.17.3, )", - "SharpZipLib": "[1.4.2, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.packaging.windows": { - "type": "Project", - "dependencies": { - "AsmResolver.DotNet": "[5.5.1, )", - "AsmResolver.PE.Win32Resources": "[5.5.1, )", - "Velopack.IcoLib": "[1.1.1, )", - "Velopack.Packaging": "[1.0.0, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.Deployment/packages.lock.json b/src/Velopack.Deployment/packages.lock.json deleted file mode 100644 index 0b50b94e..00000000 --- a/src/Velopack.Deployment/packages.lock.json +++ /dev/null @@ -1,887 +0,0 @@ -{ - "version": 1, - "dependencies": { - "net6.0": { - "AWSSDK.S3": { - "type": "Direct", - "requested": "[3.7.400, )", - "resolved": "3.7.400", - "contentHash": "OWCTOIDLd9tisJBigWlws3zXXU8IPc6MGracx0zojB4z0ki7ruL77ZWbj5j9j3zSVvnnLe4uOL/4w2lco/9kBw==", - "dependencies": { - "AWSSDK.Core": "[3.7.400, 4.0.0)" - } - }, - "Azure.Storage.Blobs": { - "type": "Direct", - "requested": "[12.21.1, )", - "resolved": "12.21.1", - "contentHash": "j0+6k/DHmSQROQTR2DlKvCzt5FzCoivmOLX3N2kXMPlWL/kvVckOPzlHpTIJaHrOXEHH4Y1LUe4QHMMTAISAWg==", - "dependencies": { - "Azure.Storage.Common": "12.20.1", - "System.Text.Json": "4.7.2" - } - }, - "Gitea.Net.API": { - "type": "Direct", - "requested": "[1.0.0, )", - "resolved": "1.0.0", - "contentHash": "5ZhKnsZfIjJ/aFeZFibi1VY8oOam0rQFf30A5gqxM5F3yoxpr1qHxeks10hvdgerGFMHSXgV8FDvtTHM4OA3Qw==", - "dependencies": { - "JsonSubTypes": "2.0.1", - "Microsoft.AspNetCore.SystemWebAdapters": "1.3.0", - "Newtonsoft.Json": "13.0.3", - "Polly": "8.4.0", - "RestSharp": "111.2.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "Octokit": { - "type": "Direct", - "requested": "[13.0.0, )", - "resolved": "13.0.0", - "contentHash": "EgDott7VovDqbVoiJioWQG/ut/dgfEss7ZJigNAzh4HfG6FHs66IWhKoqZEOVKoei6+0rx0tD76WkyzCjN7dPg==" - }, - "AWSSDK.Core": { - "type": "Transitive", - "resolved": "3.7.400", - "contentHash": "qw+WGhxcYtZ6wc1uibOu9XXLsfUpQ1r+gWa0euFnm1e9HowQbcwvKvOqQzwBNqIBO7S5IJ26T9kV/eFiwvZAkQ==" - }, - "Azure.Core": { - "type": "Transitive", - "resolved": "1.41.0", - "contentHash": "7OO8rPCVSvXj2IQET3NkRf8hU2ZDCCvCIUhlrE089qkLNpNfWufJnBwHRKLAOWF3bhKBGJS/9hPBgjJ8kupUIg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "1.1.1", - "System.ClientModel": "1.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.1", - "System.Memory.Data": "1.0.2", - "System.Numerics.Vectors": "4.5.0", - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.7.2", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Azure.Storage.Common": { - "type": "Transitive", - "resolved": "12.20.1", - "contentHash": "KKBFnc4WZ6m9HgsKgwfO1cIxd154b8cAnP3uWhuelvFkzxqBXQQgIsHF0n3DYBG2AoTJCZDXwJpKuVC7CsKJWg==", - "dependencies": { - "Azure.Core": "1.41.0", - "System.IO.Hashing": "6.0.0" - } - }, - "JsonSubTypes": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "1Po+Ypf0SjCeEKx5+C89Nb5OgTcqNvfS3uTI46MUM+KEp6Rq/M0h+vVsTUt/6DFRwZMTpsAJM4yJrZmEObVANA==", - "dependencies": { - "Newtonsoft.Json": "13.0.1" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.AspNetCore.SystemWebAdapters": { - "type": "Transitive", - "resolved": "1.3.0", - "contentHash": "1gomLUkk2dfZbznBAPb/HCZzlA+7QNKb08v5GzPh/tqhkUaKZHR8PHh0vmJlZGAj8vnvNLnzpfIwwCdq/9BHWQ==", - "dependencies": { - "System.Runtime.Caching": "6.0.0" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Bcl.TimeProvider": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "f5Kr5JepAbiGo7uDmhgvMqhntwxqXNn6/IpTBSSI4cuHhgnJGrLxFRhMjVpRkLPp6zJXO0/G0l3j9p9zSJxa+w==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Microsoft.Win32.SystemEvents": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.3", - "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Polly": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "z2EeUutuy49jBQyZ5s2FUuTCGx3GCzJ0cJ2HbjWwks94TsC6bKTtAHKBkMZOa/DyYRl5yIX7MshvMTWl1J6RNg==", - "dependencies": { - "Polly.Core": "8.4.0" - } - }, - "Polly.Core": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "3AZxuP//pxOeBo9tQs7/tz4Z5TTbu4BYfjpaXZD0JYKJo98ngN9TMUz1nybh4k0ykWkMBpGZALV/AmVIE3ew7A==", - "dependencies": { - "Microsoft.Bcl.TimeProvider": "8.0.0" - } - }, - "RestSharp": { - "type": "Transitive", - "resolved": "111.2.0", - "contentHash": "OkWr6AGM0zirdkRpxVOxXMWx9OHEIWrDzrpx1XIx5KyvTcmtjJVsKBscVkYTcFerhj5w5Bny7boRIV4a0ENGaQ==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "System.ClientModel": { - "type": "Transitive", - "resolved": "1.0.0", - "contentHash": "I3CVkvxeqFYjIVEP59DnjbeoGNfo/+SZrCLpRz2v/g0gpCHaEMPtWSY0s9k/7jR1rAsLNg2z2u1JRB76tPjnIw==", - "dependencies": { - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "6.0.0", - "System.Security.Permissions": "6.0.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Drawing.Common": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", - "dependencies": { - "Microsoft.Win32.SystemEvents": "6.0.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Rfm2jYCaUeGysFEZjDe7j1R4x6Z6BzumS/vUT5a1AA/AWJuGX71PoGB0RmpyX3VmrGqVnAwtfMn39OHR8Y/5+g==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory.Data": { - "type": "Transitive", - "resolved": "1.0.2", - "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", - "dependencies": { - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.6.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Caching": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "E0e03kUp5X2k+UAoVl6efmI7uU7JRBWi5EIdlQ7cr0NpBGjHG4fWII35PgsBY9T4fJQ8E4QPsL0rKksU9gcL5A==", - "dependencies": { - "System.Configuration.ConfigurationManager": "6.0.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==" - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Permissions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "dependencies": { - "System.Security.AccessControl": "6.0.0", - "System.Windows.Extensions": "6.0.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "4.7.2", - "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "4.7.2", - "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Windows.Extensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", - "dependencies": { - "System.Drawing.Common": "6.0.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.IcoLib/packages.lock.json b/src/Velopack.IcoLib/packages.lock.json deleted file mode 100644 index d3034186..00000000 --- a/src/Velopack.IcoLib/packages.lock.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETStandard,Version=v2.0": { - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "NETStandard.Library": { - "type": "Direct", - "requested": "[2.0.3, )", - "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0" - } - }, - "SixLabors.ImageSharp": { - "type": "Direct", - "requested": "[2.1.9, )", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.4.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==" - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.Packaging.Unix/packages.lock.json b/src/Velopack.Packaging.Unix/packages.lock.json deleted file mode 100644 index 64b346c5..00000000 --- a/src/Velopack.Packaging.Unix/packages.lock.json +++ /dev/null @@ -1,945 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETFramework,Version=v4.7.2": { - "ELFSharp": { - "type": "Direct", - "requested": "[2.17.3, )", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "SharpZipLib": { - "type": "Direct", - "requested": "[1.4.2, )", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Threading.Tasks.Extensions": "4.5.2" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==", - "dependencies": { - "System.Memory": "4.5.5" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "dependencies": { - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.IO.FileSystem.AccessControl": "5.0.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==" - }, - "System.IO.FileSystem.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.5", - "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "System.Security.Cryptography.X509Certificates": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==" - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0" - } - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Newtonsoft.Json": "[13.0.1, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - } - }, - "net6.0": { - "ELFSharp": { - "type": "Direct", - "requested": "[2.17.3, )", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "SharpZipLib": { - "type": "Direct", - "requested": "[1.4.2, )", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==" - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.Packaging.Windows/packages.lock.json b/src/Velopack.Packaging.Windows/packages.lock.json deleted file mode 100644 index 7090a384..00000000 --- a/src/Velopack.Packaging.Windows/packages.lock.json +++ /dev/null @@ -1,1095 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETFramework,Version=v4.7.2": { - "AsmResolver.DotNet": { - "type": "Direct", - "requested": "[5.5.1, )", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Direct", - "requested": "[5.5.1, )", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==", - "dependencies": { - "System.Memory": "4.5.5" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "dependencies": { - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.IO.FileSystem.AccessControl": "5.0.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==" - }, - "System.IO.FileSystem.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.5", - "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "System.Security.Cryptography.X509Certificates": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==" - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0" - } - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.8", - "contentHash": "WhW6zPEgRZoo+c1NEvSSmrME4+LqXmW6tcsRFsEiSMeco+qZ9rpLs7tT53EIkE/s9GNTYS4/STQoaGiKDSWifQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", - "System.Threading.Tasks.Extensions": "4.5.4", - "System.ValueTuple": "4.5.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.ValueTuple": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Newtonsoft.Json": "[13.0.1, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - } - }, - "net6.0": { - "AsmResolver.DotNet": { - "type": "Direct", - "requested": "[5.5.1, )", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Direct", - "requested": "[5.5.1, )", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.8", - "contentHash": "WhW6zPEgRZoo+c1NEvSSmrME4+LqXmW6tcsRFsEiSMeco+qZ9rpLs7tT53EIkE/s9GNTYS4/STQoaGiKDSWifQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.Packaging/packages.lock.json b/src/Velopack.Packaging/packages.lock.json deleted file mode 100644 index e22dabc5..00000000 --- a/src/Velopack.Packaging/packages.lock.json +++ /dev/null @@ -1,905 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETFramework,Version=v4.7.2": { - "Markdig": { - "type": "Direct", - "requested": "[0.37.0, )", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==", - "dependencies": { - "System.Memory": "4.5.5" - } - }, - "Microsoft.Identity.Client": { - "type": "Direct", - "requested": "[4.62.0, )", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Direct", - "requested": "[4.61.3, )", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Direct", - "requested": "[4.62.0, )", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.IO.FileSystem.AccessControl": "5.0.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "System.Linq.Async": { - "type": "Direct", - "requested": "[6.0.1, )", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Net.Http": { - "type": "Direct", - "requested": "[4.3.4, )", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "System.Security.Cryptography.X509Certificates": "4.3.0" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "dependencies": { - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==" - }, - "System.IO.FileSystem.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.5", - "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==" - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0" - } - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Newtonsoft.Json": "[13.0.1, )", - "NuGet.Versioning": "[6.10.1, )" - } - } - }, - "net6.0": { - "Markdig": { - "type": "Direct", - "requested": "[0.37.0, )", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.Identity.Client": { - "type": "Direct", - "requested": "[4.62.0, )", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Direct", - "requested": "[4.61.3, )", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Direct", - "requested": "[4.62.0, )", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "System.Linq.Async": { - "type": "Direct", - "requested": "[6.0.1, )", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Net.Http": { - "type": "Direct", - "requested": "[4.3.4, )", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack.Vpk/packages.lock.json b/src/Velopack.Vpk/packages.lock.json deleted file mode 100644 index 7d9877df..00000000 --- a/src/Velopack.Vpk/packages.lock.json +++ /dev/null @@ -1,2809 +0,0 @@ -{ - "version": 1, - "dependencies": { - "net6.0": { - "Humanizer.Core": { - "type": "Direct", - "requested": "[2.14.1, )", - "resolved": "2.14.1", - "contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==" - }, - "Microsoft.Extensions.Hosting": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Logging.Console": "8.0.0", - "Microsoft.Extensions.Logging.Debug": "8.0.0", - "Microsoft.Extensions.Logging.EventLog": "8.0.0", - "Microsoft.Extensions.Logging.EventSource": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.Extensions.Http": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "cWz4caHwvx0emoYe7NkHPxII/KkTI8R/LC9qdqJqnKv2poTJ4e2qqPGQqvRoQ5kaSA4FU5IV3qFAuLuOhoqULQ==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "NuGet.Protocol": { - "type": "Direct", - "requested": "[6.10.0, )", - "resolved": "6.10.0", - "contentHash": "/3r1avHk5IlqoGlXlb1ezNgtTIQyMTR5DAgh1WBcllivpbADpM9rvsFeemvcnndaFuQkEgc7a2egQZEnOK15ew==", - "dependencies": { - "NuGet.Packaging": "6.10.0" - } - }, - "Riok.Mapperly": { - "type": "Direct", - "requested": "[3.6.0, )", - "resolved": "3.6.0", - "contentHash": "eQkT3evicd5fdb8HgAJjJ+uvbhfA76ozZZsBtounFrOvk0mj+9tozv1hCYV0f0cTmXIZsxtU93FMWPzd76wSaw==" - }, - "Serilog.Expressions": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "QhZjXtUcA2QfQRA60m+DfyIfidKsQV7HBstbYEDqzJKMbJH/KnKthkkjciRuYrmFE+scWv1JibC5LlXrdtOUmw==", - "dependencies": { - "Serilog": "4.0.0" - } - }, - "Serilog.Extensions.Hosting": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "db0OcbWeSCvYQkHWu6n0v40N4kKaTAXNjlM3BKvcbwvNzYphQFcBR+36eQ/7hMMwOkJvAyLC2a9/jNdUL5NjtQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Serilog": "3.1.1", - "Serilog.Extensions.Logging": "8.0.0" - } - }, - "Serilog.Sinks.Console": { - "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==", - "dependencies": { - "Serilog": "4.0.0" - } - }, - "Spectre.Console": { - "type": "Direct", - "requested": "[0.49.1, )", - "resolved": "0.49.1", - "contentHash": "USV+pdu49OJ3nCjxNuw1K9Zw/c1HCBbwbjXZp0EOn6wM99tFdAtN34KEBZUMyRuJuXlUMDqhd8Yq9obW2MslYA==" - }, - "System.CommandLine": { - "type": "Direct", - "requested": "[2.0.0-beta4.23407.1, )", - "resolved": "2.0.0-beta4.23407.1", - "contentHash": "uhT8LJz12lBakhANCVJtdzBeuM+WpHovvRcSW7BrtVDLGoj6WiSdUYrysxEA71OX9UnpG6yWiWo8zJ3ekVFqMw==", - "dependencies": { - "System.Memory": "4.5.4" - } - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.DotNet": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "AWSSDK.Core": { - "type": "Transitive", - "resolved": "3.7.400", - "contentHash": "qw+WGhxcYtZ6wc1uibOu9XXLsfUpQ1r+gWa0euFnm1e9HowQbcwvKvOqQzwBNqIBO7S5IJ26T9kV/eFiwvZAkQ==" - }, - "AWSSDK.S3": { - "type": "Transitive", - "resolved": "3.7.400", - "contentHash": "OWCTOIDLd9tisJBigWlws3zXXU8IPc6MGracx0zojB4z0ki7ruL77ZWbj5j9j3zSVvnnLe4uOL/4w2lco/9kBw==", - "dependencies": { - "AWSSDK.Core": "[3.7.400, 4.0.0)" - } - }, - "Azure.Core": { - "type": "Transitive", - "resolved": "1.41.0", - "contentHash": "7OO8rPCVSvXj2IQET3NkRf8hU2ZDCCvCIUhlrE089qkLNpNfWufJnBwHRKLAOWF3bhKBGJS/9hPBgjJ8kupUIg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "1.1.1", - "System.ClientModel": "1.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.1", - "System.Memory.Data": "1.0.2", - "System.Numerics.Vectors": "4.5.0", - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.7.2", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Azure.Storage.Blobs": { - "type": "Transitive", - "resolved": "12.21.1", - "contentHash": "j0+6k/DHmSQROQTR2DlKvCzt5FzCoivmOLX3N2kXMPlWL/kvVckOPzlHpTIJaHrOXEHH4Y1LUe4QHMMTAISAWg==", - "dependencies": { - "Azure.Storage.Common": "12.20.1", - "System.Text.Json": "4.7.2" - } - }, - "Azure.Storage.Common": { - "type": "Transitive", - "resolved": "12.20.1", - "contentHash": "KKBFnc4WZ6m9HgsKgwfO1cIxd154b8cAnP3uWhuelvFkzxqBXQQgIsHF0n3DYBG2AoTJCZDXwJpKuVC7CsKJWg==", - "dependencies": { - "Azure.Core": "1.41.0", - "System.IO.Hashing": "6.0.0" - } - }, - "ELFSharp": { - "type": "Transitive", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Gitea.Net.API": { - "type": "Transitive", - "resolved": "1.0.0", - "contentHash": "5ZhKnsZfIjJ/aFeZFibi1VY8oOam0rQFf30A5gqxM5F3yoxpr1qHxeks10hvdgerGFMHSXgV8FDvtTHM4OA3Qw==", - "dependencies": { - "JsonSubTypes": "2.0.1", - "Microsoft.AspNetCore.SystemWebAdapters": "1.3.0", - "Newtonsoft.Json": "13.0.3", - "Polly": "8.4.0", - "RestSharp": "111.2.0" - } - }, - "JsonSubTypes": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "1Po+Ypf0SjCeEKx5+C89Nb5OgTcqNvfS3uTI46MUM+KEp6Rq/M0h+vVsTUt/6DFRwZMTpsAJM4yJrZmEObVANA==", - "dependencies": { - "Newtonsoft.Json": "13.0.1" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.AspNetCore.SystemWebAdapters": { - "type": "Transitive", - "resolved": "1.3.0", - "contentHash": "1gomLUkk2dfZbznBAPb/HCZzlA+7QNKb08v5GzPh/tqhkUaKZHR8PHh0vmJlZGAj8vnvNLnzpfIwwCdq/9BHWQ==", - "dependencies": { - "System.Runtime.Caching": "6.0.0" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Bcl.TimeProvider": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "f5Kr5JepAbiGo7uDmhgvMqhntwxqXNn6/IpTBSSI4cuHhgnJGrLxFRhMjVpRkLPp6zJXO0/G0l3j9p9zSJxa+w==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.CommandLine": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.UserSecrets": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" - }, - "Microsoft.Extensions.Diagnostics": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==" - }, - "Microsoft.Extensions.Hosting.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Configuration": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Console": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Debug": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.EventLog": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.EventLog": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.EventSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Microsoft.Win32.SystemEvents": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.3", - "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" - }, - "NuGet.Common": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "ujuzfDwUylDALwZmqRi7I5Jx4E9/8vR2c0Hq8zRj8zCkR8KarSp84WPJ2uE/qwAOjpBYGek06wWgGJ3ABQ/WxA==", - "dependencies": { - "NuGet.Frameworks": "6.10.0" - } - }, - "NuGet.Configuration": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "PbtCCdFC/K3GG3fdstIIMVraiXcxC1IgnzqayowckSlIg2xSxvcqAWd5Z7G1V6st5JzJi9THSnvmy/kchwh80A==", - "dependencies": { - "NuGet.Common": "6.10.0", - "System.Security.Cryptography.ProtectedData": "4.4.0" - } - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "bKaC87Q8rxK7ozFN9Eyo0YVUmd4r2s8pbNxHI7sHRqL16OAP0yEdCU5wpDkG9cKLHpZCahgoQUfAVC0UadVU+A==" - }, - "NuGet.Packaging": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "QSznYvf+HejToKt9zOB2z9F1C4R01lnrUUcJ+WxL1ihazTBfrXWPCCAQDtQFSlJlibiJBn/GEoq1gMeaeSo2qQ==", - "dependencies": { - "Newtonsoft.Json": "13.0.3", - "NuGet.Configuration": "6.10.0", - "NuGet.Versioning": "6.10.0", - "System.Security.Cryptography.Pkcs": "6.0.4" - } - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Octokit": { - "type": "Transitive", - "resolved": "13.0.0", - "contentHash": "EgDott7VovDqbVoiJioWQG/ut/dgfEss7ZJigNAzh4HfG6FHs66IWhKoqZEOVKoei6+0rx0tD76WkyzCjN7dPg==" - }, - "Polly": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "z2EeUutuy49jBQyZ5s2FUuTCGx3GCzJ0cJ2HbjWwks94TsC6bKTtAHKBkMZOa/DyYRl5yIX7MshvMTWl1J6RNg==", - "dependencies": { - "Polly.Core": "8.4.0" - } - }, - "Polly.Core": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "3AZxuP//pxOeBo9tQs7/tz4Z5TTbu4BYfjpaXZD0JYKJo98ngN9TMUz1nybh4k0ykWkMBpGZALV/AmVIE3ew7A==", - "dependencies": { - "Microsoft.Bcl.TimeProvider": "8.0.0" - } - }, - "RestSharp": { - "type": "Transitive", - "resolved": "111.2.0", - "contentHash": "OkWr6AGM0zirdkRpxVOxXMWx9OHEIWrDzrpx1XIx5KyvTcmtjJVsKBscVkYTcFerhj5w5Bny7boRIV4a0ENGaQ==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "Serilog": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2jDkUrSh5EofOp7Lx5Zgy0EB+7hXjjxE2ktTb1WVQmU00lDACR2TdROGKU0K1pDTBSJBN1PqgYpgOZF8mL7NJw==" - }, - "Serilog.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", - "dependencies": { - "Microsoft.Extensions.Logging": "8.0.0", - "Serilog": "3.1.1" - } - }, - "SharpZipLib": { - "type": "Transitive", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==" - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.ClientModel": { - "type": "Transitive", - "resolved": "1.0.0", - "contentHash": "I3CVkvxeqFYjIVEP59DnjbeoGNfo/+SZrCLpRz2v/g0gpCHaEMPtWSY0s9k/7jR1rAsLNg2z2u1JRB76tPjnIw==", - "dependencies": { - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "6.0.0", - "System.Security.Permissions": "6.0.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==" - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Drawing.Common": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", - "dependencies": { - "Microsoft.Win32.SystemEvents": "6.0.0" - } - }, - "System.Formats.Asn1": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "T6fD00dQ3NTbPDy31m4eQUwKW84s03z0N2C8HpOklyeaDgaJPa/TexP4/SkORMSOwc7WhKifnA6Ya33AkzmafA==" - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Rfm2jYCaUeGysFEZjDe7j1R4x6Z6BzumS/vUT5a1AA/AWJuGX71PoGB0RmpyX3VmrGqVnAwtfMn39OHR8Y/5+g==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" - }, - "System.Memory.Data": { - "type": "Transitive", - "resolved": "1.0.2", - "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", - "dependencies": { - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.6.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Caching": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "E0e03kUp5X2k+UAoVl6efmI7uU7JRBWi5EIdlQ7cr0NpBGjHG4fWII35PgsBY9T4fJQ8E4QPsL0rKksU9gcL5A==", - "dependencies": { - "System.Configuration.ConfigurationManager": "6.0.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==" - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Pkcs": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "LGbXi1oUJ9QgCNGXRO9ndzBL/GZgANcsURpMhNR8uO+rca47SZmciS3RSQUvlQRwK3QHZSHNOXzoMUASKA+Anw==", - "dependencies": { - "System.Formats.Asn1": "6.0.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Permissions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "dependencies": { - "System.Security.AccessControl": "6.0.0", - "System.Windows.Extensions": "6.0.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "8.0.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Windows.Extensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", - "dependencies": { - "System.Drawing.Common": "6.0.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.deployment": { - "type": "Project", - "dependencies": { - "AWSSDK.S3": "[3.7.400, )", - "Azure.Storage.Blobs": "[12.21.1, )", - "Gitea.Net.API": "[1.0.0, )", - "Octokit": "[13.0.0, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - }, - "velopack.packaging.unix": { - "type": "Project", - "dependencies": { - "ELFSharp": "[2.17.3, )", - "SharpZipLib": "[1.4.2, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.packaging.windows": { - "type": "Project", - "dependencies": { - "AsmResolver.DotNet": "[5.5.1, )", - "AsmResolver.PE.Win32Resources": "[5.5.1, )", - "Velopack.IcoLib": "[1.1.1, )", - "Velopack.Packaging": "[1.0.0, )" - } - } - }, - "net8.0": { - "Humanizer.Core": { - "type": "Direct", - "requested": "[2.14.1, )", - "resolved": "2.14.1", - "contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==" - }, - "Microsoft.Extensions.Hosting": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Logging.Console": "8.0.0", - "Microsoft.Extensions.Logging.Debug": "8.0.0", - "Microsoft.Extensions.Logging.EventLog": "8.0.0", - "Microsoft.Extensions.Logging.EventSource": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.Extensions.Http": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "cWz4caHwvx0emoYe7NkHPxII/KkTI8R/LC9qdqJqnKv2poTJ4e2qqPGQqvRoQ5kaSA4FU5IV3qFAuLuOhoqULQ==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "NuGet.Protocol": { - "type": "Direct", - "requested": "[6.10.0, )", - "resolved": "6.10.0", - "contentHash": "/3r1avHk5IlqoGlXlb1ezNgtTIQyMTR5DAgh1WBcllivpbADpM9rvsFeemvcnndaFuQkEgc7a2egQZEnOK15ew==", - "dependencies": { - "NuGet.Packaging": "6.10.0" - } - }, - "Riok.Mapperly": { - "type": "Direct", - "requested": "[3.6.0, )", - "resolved": "3.6.0", - "contentHash": "eQkT3evicd5fdb8HgAJjJ+uvbhfA76ozZZsBtounFrOvk0mj+9tozv1hCYV0f0cTmXIZsxtU93FMWPzd76wSaw==" - }, - "Serilog.Expressions": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "QhZjXtUcA2QfQRA60m+DfyIfidKsQV7HBstbYEDqzJKMbJH/KnKthkkjciRuYrmFE+scWv1JibC5LlXrdtOUmw==", - "dependencies": { - "Serilog": "4.0.0" - } - }, - "Serilog.Extensions.Hosting": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "db0OcbWeSCvYQkHWu6n0v40N4kKaTAXNjlM3BKvcbwvNzYphQFcBR+36eQ/7hMMwOkJvAyLC2a9/jNdUL5NjtQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Serilog": "3.1.1", - "Serilog.Extensions.Logging": "8.0.0" - } - }, - "Serilog.Sinks.Console": { - "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==", - "dependencies": { - "Serilog": "4.0.0" - } - }, - "Spectre.Console": { - "type": "Direct", - "requested": "[0.49.1, )", - "resolved": "0.49.1", - "contentHash": "USV+pdu49OJ3nCjxNuw1K9Zw/c1HCBbwbjXZp0EOn6wM99tFdAtN34KEBZUMyRuJuXlUMDqhd8Yq9obW2MslYA==" - }, - "System.CommandLine": { - "type": "Direct", - "requested": "[2.0.0-beta4.23407.1, )", - "resolved": "2.0.0-beta4.23407.1", - "contentHash": "uhT8LJz12lBakhANCVJtdzBeuM+WpHovvRcSW7BrtVDLGoj6WiSdUYrysxEA71OX9UnpG6yWiWo8zJ3ekVFqMw==" - }, - "AsmResolver": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "bRmB4wEJWnPGywj8nAHQUaByOui1g5aqaBTwY3t+8YYokae1HZJffBx1p/XShRYJ3+/owHNQX3EPFJ4b+AAkxw==" - }, - "AsmResolver.DotNet": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "J9C/Aqi6PlPWu0mZQpxPmH7nhxTCDuTgaEiTRKdqgvWu/r07gEe8f6tx1JOqzW5xjIBKQyZst5/HfHvYaRvvfA==", - "dependencies": { - "AsmResolver.PE": "5.5.1", - "System.Text.Json": "6.0.8" - } - }, - "AsmResolver.PE": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "PD6kwI6sNPGky2jJmGH1sseQvCGhQosQIElpaiA393mhafiSH0J8Q0re+mQ1yrtjd76TSBrd1JqwgjsM+mXe/g==", - "dependencies": { - "AsmResolver.PE.File": "5.5.1" - } - }, - "AsmResolver.PE.File": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "1UO4pAOp9URrxItUr9ORnRn8UybQ7k5m0lWbXWFu0RzsL3xrgfV+7j2HfAEZRj9bG7uVE4q2UFQ8K/dORVPfTg==", - "dependencies": { - "AsmResolver": "5.5.1" - } - }, - "AsmResolver.PE.Win32Resources": { - "type": "Transitive", - "resolved": "5.5.1", - "contentHash": "gNA1VuchLbx84qsaPGagNS/BTlB9q13KXzu5UQKGPit9cr0+yAO7bRbbsCTQCMXd66nbu3XqWbo340+ghr1LAg==", - "dependencies": { - "AsmResolver": "5.5.1", - "AsmResolver.PE": "5.5.1" - } - }, - "AWSSDK.Core": { - "type": "Transitive", - "resolved": "3.7.400", - "contentHash": "qw+WGhxcYtZ6wc1uibOu9XXLsfUpQ1r+gWa0euFnm1e9HowQbcwvKvOqQzwBNqIBO7S5IJ26T9kV/eFiwvZAkQ==" - }, - "AWSSDK.S3": { - "type": "Transitive", - "resolved": "3.7.400", - "contentHash": "OWCTOIDLd9tisJBigWlws3zXXU8IPc6MGracx0zojB4z0ki7ruL77ZWbj5j9j3zSVvnnLe4uOL/4w2lco/9kBw==", - "dependencies": { - "AWSSDK.Core": "[3.7.400, 4.0.0)" - } - }, - "Azure.Core": { - "type": "Transitive", - "resolved": "1.41.0", - "contentHash": "7OO8rPCVSvXj2IQET3NkRf8hU2ZDCCvCIUhlrE089qkLNpNfWufJnBwHRKLAOWF3bhKBGJS/9hPBgjJ8kupUIg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "1.1.1", - "System.ClientModel": "1.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.1", - "System.Memory.Data": "1.0.2", - "System.Numerics.Vectors": "4.5.0", - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.7.2", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Azure.Storage.Blobs": { - "type": "Transitive", - "resolved": "12.21.1", - "contentHash": "j0+6k/DHmSQROQTR2DlKvCzt5FzCoivmOLX3N2kXMPlWL/kvVckOPzlHpTIJaHrOXEHH4Y1LUe4QHMMTAISAWg==", - "dependencies": { - "Azure.Storage.Common": "12.20.1", - "System.Text.Json": "4.7.2" - } - }, - "Azure.Storage.Common": { - "type": "Transitive", - "resolved": "12.20.1", - "contentHash": "KKBFnc4WZ6m9HgsKgwfO1cIxd154b8cAnP3uWhuelvFkzxqBXQQgIsHF0n3DYBG2AoTJCZDXwJpKuVC7CsKJWg==", - "dependencies": { - "Azure.Core": "1.41.0", - "System.IO.Hashing": "6.0.0" - } - }, - "ELFSharp": { - "type": "Transitive", - "resolved": "2.17.3", - "contentHash": "BFKpnrs3yKH/jo1yewQdvLKMkEaxE6Wj3Lu5LHRNJfcAdOQ9YiY4dfQ5+5kz6ji1E/Xcxy5ta+qqKGA6KiVQMw==" - }, - "Gitea.Net.API": { - "type": "Transitive", - "resolved": "1.0.0", - "contentHash": "5ZhKnsZfIjJ/aFeZFibi1VY8oOam0rQFf30A5gqxM5F3yoxpr1qHxeks10hvdgerGFMHSXgV8FDvtTHM4OA3Qw==", - "dependencies": { - "JsonSubTypes": "2.0.1", - "Microsoft.AspNetCore.SystemWebAdapters": "1.3.0", - "Newtonsoft.Json": "13.0.3", - "Polly": "8.4.0", - "RestSharp": "111.2.0" - } - }, - "JsonSubTypes": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "1Po+Ypf0SjCeEKx5+C89Nb5OgTcqNvfS3uTI46MUM+KEp6Rq/M0h+vVsTUt/6DFRwZMTpsAJM4yJrZmEObVANA==", - "dependencies": { - "Newtonsoft.Json": "13.0.1" - } - }, - "Markdig": { - "type": "Transitive", - "resolved": "0.37.0", - "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA==" - }, - "Microsoft.AspNetCore.SystemWebAdapters": { - "type": "Transitive", - "resolved": "1.3.0", - "contentHash": "1gomLUkk2dfZbznBAPb/HCZzlA+7QNKb08v5GzPh/tqhkUaKZHR8PHh0vmJlZGAj8vnvNLnzpfIwwCdq/9BHWQ==", - "dependencies": { - "System.Runtime.Caching": "6.0.0" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.CommandLine": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Configuration.UserSecrets": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" - }, - "Microsoft.Extensions.Diagnostics": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==" - }, - "Microsoft.Extensions.Hosting.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Configuration": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Console": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.Debug": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.EventLog": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.EventLog": "8.0.0" - } - }, - "Microsoft.Extensions.Logging.EventSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0", - "System.Text.Json": "8.0.0" - } - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" - }, - "Microsoft.Identity.Client": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "2q5m8ASh9lJ714CkCxA1lmj60K6OeDR2vV78adviOM/ZEoISldY+THr7gmqJ6rtSbZ0J4R/a9KcgL/wm8Ogi4Q==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0", - "System.Diagnostics.DiagnosticSource": "6.0.1" - } - }, - "Microsoft.Identity.Client.Broker": { - "type": "Transitive", - "resolved": "4.61.3", - "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==", - "dependencies": { - "Microsoft.Identity.Client": "4.61.3", - "Microsoft.Identity.Client.NativeInterop": "0.16.1" - } - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.62.0", - "contentHash": "ylCHQwNpT+YYu4Le+r0x5XRHKsFtIgIIAHshDWIlgeA/AoFs/9yREdtSeIELdN7X3lJAIiUjJR8z7r7KJ3ETLw==", - "dependencies": { - "Microsoft.Identity.Client": "4.62.0", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Client.NativeInterop": { - "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "OvY/+/AHESi24f5zOCf9kL4HXwPxXVQ3A+tMQsJvFk2DmP+sc88FYWL49zlku5q0bvx5yFvBLNpHQeRT9a6A5g==" - }, - "Microsoft.IdentityModel.Abstractions": { - "type": "Transitive", - "resolved": "6.35.0", - "contentHash": "xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - }, - "Microsoft.Win32.SystemEvents": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==" - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.3", - "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" - }, - "NuGet.Common": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "ujuzfDwUylDALwZmqRi7I5Jx4E9/8vR2c0Hq8zRj8zCkR8KarSp84WPJ2uE/qwAOjpBYGek06wWgGJ3ABQ/WxA==", - "dependencies": { - "NuGet.Frameworks": "6.10.0" - } - }, - "NuGet.Configuration": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "PbtCCdFC/K3GG3fdstIIMVraiXcxC1IgnzqayowckSlIg2xSxvcqAWd5Z7G1V6st5JzJi9THSnvmy/kchwh80A==", - "dependencies": { - "NuGet.Common": "6.10.0", - "System.Security.Cryptography.ProtectedData": "4.4.0" - } - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "bKaC87Q8rxK7ozFN9Eyo0YVUmd4r2s8pbNxHI7sHRqL16OAP0yEdCU5wpDkG9cKLHpZCahgoQUfAVC0UadVU+A==" - }, - "NuGet.Packaging": { - "type": "Transitive", - "resolved": "6.10.0", - "contentHash": "QSznYvf+HejToKt9zOB2z9F1C4R01lnrUUcJ+WxL1ihazTBfrXWPCCAQDtQFSlJlibiJBn/GEoq1gMeaeSo2qQ==", - "dependencies": { - "Newtonsoft.Json": "13.0.3", - "NuGet.Configuration": "6.10.0", - "NuGet.Versioning": "6.10.0", - "System.Security.Cryptography.Pkcs": "6.0.4" - } - }, - "NuGet.Versioning": { - "type": "Transitive", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Octokit": { - "type": "Transitive", - "resolved": "13.0.0", - "contentHash": "EgDott7VovDqbVoiJioWQG/ut/dgfEss7ZJigNAzh4HfG6FHs66IWhKoqZEOVKoei6+0rx0tD76WkyzCjN7dPg==" - }, - "Polly": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "z2EeUutuy49jBQyZ5s2FUuTCGx3GCzJ0cJ2HbjWwks94TsC6bKTtAHKBkMZOa/DyYRl5yIX7MshvMTWl1J6RNg==", - "dependencies": { - "Polly.Core": "8.4.0" - } - }, - "Polly.Core": { - "type": "Transitive", - "resolved": "8.4.0", - "contentHash": "3AZxuP//pxOeBo9tQs7/tz4Z5TTbu4BYfjpaXZD0JYKJo98ngN9TMUz1nybh4k0ykWkMBpGZALV/AmVIE3ew7A==" - }, - "RestSharp": { - "type": "Transitive", - "resolved": "111.2.0", - "contentHash": "OkWr6AGM0zirdkRpxVOxXMWx9OHEIWrDzrpx1XIx5KyvTcmtjJVsKBscVkYTcFerhj5w5Bny7boRIV4a0ENGaQ==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.2", - "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" - }, - "Serilog": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2jDkUrSh5EofOp7Lx5Zgy0EB+7hXjjxE2ktTb1WVQmU00lDACR2TdROGKU0K1pDTBSJBN1PqgYpgOZF8mL7NJw==" - }, - "Serilog.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", - "dependencies": { - "Microsoft.Extensions.Logging": "8.0.0", - "Serilog": "3.1.1" - } - }, - "SharpZipLib": { - "type": "Transitive", - "resolved": "1.4.2", - "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A==" - }, - "SixLabors.ImageSharp": { - "type": "Transitive", - "resolved": "2.1.9", - "contentHash": "VcjfKbOExie3RgZGrQL1jJMI4iZ3J9B6ifDo2QpDVJUYhTZKVcKnBhpNOHqbvNjHgadAks1jzhRjB7OZet1PJA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0", - "System.Text.Encoding.CodePages": "5.0.0" - } - }, - "System.ClientModel": { - "type": "Transitive", - "resolved": "1.0.0", - "contentHash": "I3CVkvxeqFYjIVEP59DnjbeoGNfo/+SZrCLpRz2v/g0gpCHaEMPtWSY0s9k/7jR1rAsLNg2z2u1JRB76tPjnIw==", - "dependencies": { - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "6.0.0", - "System.Security.Permissions": "6.0.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==" - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==" - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Drawing.Common": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", - "dependencies": { - "Microsoft.Win32.SystemEvents": "6.0.0" - } - }, - "System.Formats.Asn1": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "T6fD00dQ3NTbPDy31m4eQUwKW84s03z0N2C8HpOklyeaDgaJPa/TexP4/SkORMSOwc7WhKifnA6Ya33AkzmafA==" - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Rfm2jYCaUeGysFEZjDe7j1R4x6Z6BzumS/vUT5a1AA/AWJuGX71PoGB0RmpyX3VmrGqVnAwtfMn39OHR8Y/5+g==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Async": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - } - }, - "System.Memory.Data": { - "type": "Transitive", - "resolved": "1.0.2", - "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", - "dependencies": { - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.6.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.4", - "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.1", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Caching": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "E0e03kUp5X2k+UAoVl6efmI7uU7JRBWi5EIdlQ7cr0NpBGjHG4fWII35PgsBY9T4fJQ8E4QPsL0rKksU9gcL5A==", - "dependencies": { - "System.Configuration.ConfigurationManager": "6.0.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==" - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Pkcs": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "LGbXi1oUJ9QgCNGXRO9ndzBL/GZgANcsURpMhNR8uO+rca47SZmciS3RSQUvlQRwK3QHZSHNOXzoMUASKA+Anw==", - "dependencies": { - "System.Formats.Asn1": "6.0.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==" - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Permissions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "dependencies": { - "System.Security.AccessControl": "6.0.0", - "System.Windows.Extensions": "6.0.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Windows.Extensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", - "dependencies": { - "System.Drawing.Common": "6.0.0" - } - }, - "velopack": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[8.0.0, )", - "NuGet.Versioning": "[6.10.1, )" - } - }, - "velopack.deployment": { - "type": "Project", - "dependencies": { - "AWSSDK.S3": "[3.7.400, )", - "Azure.Storage.Blobs": "[12.21.1, )", - "Gitea.Net.API": "[1.0.0, )", - "Octokit": "[13.0.0, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.icolib": { - "type": "Project", - "dependencies": { - "SixLabors.ImageSharp": "[2.1.9, )" - } - }, - "velopack.packaging": { - "type": "Project", - "dependencies": { - "Markdig": "[0.37.0, )", - "Microsoft.Identity.Client": "[4.62.0, )", - "Microsoft.Identity.Client.Broker": "[4.61.3, )", - "Microsoft.Identity.Client.Extensions.Msal": "[4.62.0, )", - "System.Linq.Async": "[6.0.1, )", - "System.Net.Http": "[4.3.4, )", - "Velopack": "[1.0.0, )" - } - }, - "velopack.packaging.unix": { - "type": "Project", - "dependencies": { - "ELFSharp": "[2.17.3, )", - "SharpZipLib": "[1.4.2, )", - "Velopack.Packaging": "[1.0.0, )" - } - }, - "velopack.packaging.windows": { - "type": "Project", - "dependencies": { - "AsmResolver.DotNet": "[5.5.1, )", - "AsmResolver.PE.Win32Resources": "[5.5.1, )", - "Velopack.IcoLib": "[1.1.1, )", - "Velopack.Packaging": "[1.0.0, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Velopack/packages.lock.json b/src/Velopack/packages.lock.json deleted file mode 100644 index ff6f1b56..00000000 --- a/src/Velopack/packages.lock.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETFramework,Version=v4.6.2": { - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Direct", - "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==", - "dependencies": { - "Microsoft.NETFramework.ReferenceAssemblies.net462": "1.0.3" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "Newtonsoft.Json": { - "type": "Direct", - "requested": "[13.0.1, )", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Direct", - "requested": "[6.10.1, )", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.NETFramework.ReferenceAssemblies.net462": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "IzAV30z22ESCeQfxP29oVf4qEo8fBGXLXSU6oacv/9Iqe6PzgHDKCaWfwMBak7bSJQM0F5boXWoZS+kChztRIQ==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - } - }, - ".NETFramework,Version=v4.8": { - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Direct", - "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "B2WqEox8o+4KUOpL7rZPyh6qYjik8tHi2tN8Z9jZkHzED8ElYgZa/h6K+xliB435SqUcWT290Fr2aa8BtZjn8A==" - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "Newtonsoft.Json": { - "type": "Direct", - "requested": "[13.0.1, )", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Versioning": { - "type": "Direct", - "requested": "[6.10.1, )", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - } - }, - "net6.0": { - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "NuGet.Versioning": { - "type": "Direct", - "requested": "[6.10.1, )", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - } - }, - "net8.0": { - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - } - }, - "Microsoft.NET.ILLink.Tasks": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "ADdJXuKNjwZDfBmybMnpvwd5CK3gp92WkWqqeQhW4W+q4MO3Qaa9QyW2DcFLAvCDMcCWxT5hRXqGdv13oon7nA==" - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "8.0.0", - "Microsoft.SourceLink.Common": "8.0.0" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.6.*, )", - "resolved": "3.6.139", - "contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg==" - }, - "NuGet.Versioning": { - "type": "Direct", - "requested": "[6.10.1, )", - "resolved": "6.10.1", - "contentHash": "tovHZ3OlMVmsTdhv2z5nwnnhoA1ryhfJMyVQ9/+iv6d3h78fp230XaGy3K/iVcLwB50DdfNfIsitW97KSOWDFg==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" - } - } - } -} \ No newline at end of file diff --git a/src/Rust/.vscode/launch.json b/src/bins/.vscode/launch.json similarity index 100% rename from src/Rust/.vscode/launch.json rename to src/bins/.vscode/launch.json diff --git a/src/Rust/.vscode/settings.json b/src/bins/.vscode/settings.json similarity index 100% rename from src/Rust/.vscode/settings.json rename to src/bins/.vscode/settings.json diff --git a/src/Rust/Cargo.lock b/src/bins/Cargo.lock similarity index 100% rename from src/Rust/Cargo.lock rename to src/bins/Cargo.lock diff --git a/src/Rust/Cargo.toml b/src/bins/Cargo.toml similarity index 81% rename from src/Rust/Cargo.toml rename to src/bins/Cargo.toml index 7112aa9e..907ffd89 100644 --- a/src/Rust/Cargo.toml +++ b/src/bins/Cargo.toml @@ -1,13 +1,14 @@ [package] -name = "velopack" +name = "velopack_bins" version = "0.0.0-local" edition = "2021" +publish = false [features] windows = [] [lib] -name = "velopack" +name = "velopack_bins" path = "src/lib.rs" doctest = false @@ -29,21 +30,6 @@ path = "src/update.rs" name = "testapp" path = "src/testapp.rs" -[[bin]] -name = "testawareapp" -path = "src/testawareapp.rs" - -[profile.release] -opt-level = "z" # optimize for size -lto = true # link-time optimization -debug = false # disable debug info -debug-assertions = false # disable debug assertions -overflow-checks = false # disable overflow checks -panic = "abort" # abort on panic -incremental = false # disable incremental compilation -codegen-units = 1 # compile all code into a single unit -rpath = false # disable rpath - [dependencies] anyhow = "1.0" pretty-bytes-rust = "0.3" @@ -127,10 +113,11 @@ webview2-com = "0.31" libloading = "0.8" strsim = "0.11" same-file = "1.0" +filelocksmith = "0.1" [dev-dependencies] tempfile = "3.9" -ntest = "0.9.0" +ntest = "0.9" pretty_assertions = "1.4" [build-dependencies] diff --git a/src/Rust/app.manifest b/src/bins/app.manifest similarity index 100% rename from src/Rust/app.manifest rename to src/bins/app.manifest diff --git a/src/Rust/build.rs b/src/bins/build.rs similarity index 85% rename from src/Rust/build.rs rename to src/bins/build.rs index 4495bf03..81aa3e39 100644 --- a/src/Rust/build.rs +++ b/src/bins/build.rs @@ -1,15 +1,8 @@ #![allow(unused_variables)] -use semver; use std::env; -#[cfg(target_os = "windows")] -extern crate winres; - fn main() { - #[cfg(target_os = "windows")] - link_locksmith(); - #[cfg(target_os = "windows")] delay_load(); @@ -21,7 +14,7 @@ fn main() { println!("cargo:rustc-env=NGBV_VERSION={}", version); #[cfg(target_os = "windows")] - let _ = winres::WindowsResource::new() + winres::WindowsResource::new() .set_manifest_file("app.manifest") .set_version_info(winres::VersionInfo::PRODUCTVERSION, ver) .set_version_info(winres::VersionInfo::FILEVERSION, ver) @@ -81,7 +74,8 @@ fn delay_load_exe(bin_name: &str) { // // This will work on all supported Windows versions but it relies on // us using `SetDefaultDllDirectories` before any libraries are loaded. - let delay_load_dlls = ["gdi32", "advapi32", "shell32", "ole32", "psapi", "propsys", "secur32", "crypt32", "ws2_32", "oleaut32", "bcrypt", "comctl32"]; + let delay_load_dlls = + ["gdi32", "advapi32", "shell32", "ole32", "psapi", "propsys", "secur32", "crypt32", "ws2_32", "oleaut32", "bcrypt", "comctl32"]; for dll in delay_load_dlls { println!("cargo:rustc-link-arg-bin={bin_name}=/delayload:{dll}.dll"); } @@ -98,16 +92,3 @@ fn delay_load_exe(bin_name: &str) { println!("cargo:rustc-link-arg-bin={bin_name}=/IGNORE:4099"); // PDB was not found println!("cargo:rustc-link-arg-bin={bin_name}=/IGNORE:4199"); // delayload ignored, no imports found } - -#[cfg(target_os = "windows")] -fn link_locksmith() { - use core::panic; - let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); - if arch == "x86_64" { - println!("cargo:rustc-link-lib=UpdateLocksmith_x64"); - } else if arch == "x86" { - println!("cargo:rustc-link-lib=UpdateLocksmith_x86"); - } else { - panic!("Unsupported architecture: {}", arch); - } -} diff --git a/src/Rust/src/commands/apply.rs b/src/bins/src/commands/apply.rs similarity index 100% rename from src/Rust/src/commands/apply.rs rename to src/bins/src/commands/apply.rs diff --git a/src/Rust/src/commands/apply_linux_impl.rs b/src/bins/src/commands/apply_linux_impl.rs similarity index 100% rename from src/Rust/src/commands/apply_linux_impl.rs rename to src/bins/src/commands/apply_linux_impl.rs diff --git a/src/Rust/src/commands/apply_osx_impl.rs b/src/bins/src/commands/apply_osx_impl.rs similarity index 100% rename from src/Rust/src/commands/apply_osx_impl.rs rename to src/bins/src/commands/apply_osx_impl.rs diff --git a/src/Rust/src/commands/apply_windows_impl.rs b/src/bins/src/commands/apply_windows_impl.rs similarity index 98% rename from src/Rust/src/commands/apply_windows_impl.rs rename to src/bins/src/commands/apply_windows_impl.rs index 08a946aa..bedf9573 100644 --- a/src/Rust/src/commands/apply_windows_impl.rs +++ b/src/bins/src/commands/apply_windows_impl.rs @@ -84,7 +84,7 @@ pub fn apply_package_impl(root_path: &PathBuf, old_app: &Manifest, package: &Pat // third, we try _REALLY HARD_ to stop the package let _ = shared::force_stop_package(root_path); - if winsafe::IsWindows10OrGreater() == Ok(true) && !locksmith::close_processes_locking_dir(&old_app.title, ¤t_dir) { + if winsafe::IsWindows10OrGreater() == Ok(true) && !locksmith::close_processes_locking_dir(&new_app, ¤t_dir) { bail!("Failed to close processes locking directory / user cancelled."); } diff --git a/src/Rust/src/commands/install.rs b/src/bins/src/commands/install.rs similarity index 100% rename from src/Rust/src/commands/install.rs rename to src/bins/src/commands/install.rs diff --git a/src/Rust/src/commands/mod.rs b/src/bins/src/commands/mod.rs similarity index 100% rename from src/Rust/src/commands/mod.rs rename to src/bins/src/commands/mod.rs diff --git a/src/Rust/src/commands/patch.rs b/src/bins/src/commands/patch.rs similarity index 100% rename from src/Rust/src/commands/patch.rs rename to src/bins/src/commands/patch.rs diff --git a/src/Rust/src/commands/start.rs b/src/bins/src/commands/start.rs similarity index 100% rename from src/Rust/src/commands/start.rs rename to src/bins/src/commands/start.rs diff --git a/src/Rust/src/commands/start_windows_impl.rs b/src/bins/src/commands/start_windows_impl.rs similarity index 100% rename from src/Rust/src/commands/start_windows_impl.rs rename to src/bins/src/commands/start_windows_impl.rs diff --git a/src/Rust/src/commands/uninstall.rs b/src/bins/src/commands/uninstall.rs similarity index 100% rename from src/Rust/src/commands/uninstall.rs rename to src/bins/src/commands/uninstall.rs diff --git a/src/Rust/src/lib.rs b/src/bins/src/lib.rs similarity index 100% rename from src/Rust/src/lib.rs rename to src/bins/src/lib.rs diff --git a/src/Rust/src/logging.rs b/src/bins/src/logging.rs similarity index 100% rename from src/Rust/src/logging.rs rename to src/bins/src/logging.rs diff --git a/src/Rust/src/setup.rs b/src/bins/src/setup.rs similarity index 91% rename from src/Rust/src/setup.rs rename to src/bins/src/setup.rs index fc761bef..f7c5c07f 100644 --- a/src/Rust/src/setup.rs +++ b/src/bins/src/setup.rs @@ -7,12 +7,13 @@ extern crate log; use anyhow::Result; use clap::{arg, value_parser, Command}; use std::{env, path::PathBuf}; -use velopack::*; +use velopack_bins::*; fn main() -> Result<()> { #[cfg(windows)] windows::mitigate::pre_main_sideload_mitigation(); + #[rustfmt::skip] let mut arg_config = Command::new("Setup") .about(format!("Velopack Setup ({}) installs applications.\nhttps://github.com/velopack/velopack", env!("NGBV_VERSION"))) .arg(arg!(-s --silent "Hides all dialogs and answers 'yes' to all prompts")) @@ -22,7 +23,8 @@ fn main() -> Result<()> { .arg(arg!(--nocolor "Disable colored output").hide(true)); if cfg!(debug_assertions) { - arg_config = arg_config.arg(arg!(-d --debug "Debug mode, install from a nupkg file").required(false).value_parser(value_parser!(PathBuf))); + arg_config = arg_config + .arg(arg!(-d --debug "Debug mode, install from a nupkg file").required(false).value_parser(value_parser!(PathBuf))); } let matches = arg_config.get_matches(); diff --git a/src/Rust/src/shared/bundle.rs b/src/bins/src/shared/bundle.rs similarity index 100% rename from src/Rust/src/shared/bundle.rs rename to src/bins/src/shared/bundle.rs diff --git a/src/Rust/src/shared/dialogs_common.rs b/src/bins/src/shared/dialogs_common.rs similarity index 100% rename from src/Rust/src/shared/dialogs_common.rs rename to src/bins/src/shared/dialogs_common.rs diff --git a/src/Rust/src/shared/dialogs_const.rs b/src/bins/src/shared/dialogs_const.rs similarity index 100% rename from src/Rust/src/shared/dialogs_const.rs rename to src/bins/src/shared/dialogs_const.rs diff --git a/src/Rust/src/shared/dialogs_linux.rs b/src/bins/src/shared/dialogs_linux.rs similarity index 100% rename from src/Rust/src/shared/dialogs_linux.rs rename to src/bins/src/shared/dialogs_linux.rs diff --git a/src/Rust/src/shared/dialogs_osx.rs b/src/bins/src/shared/dialogs_osx.rs similarity index 100% rename from src/Rust/src/shared/dialogs_osx.rs rename to src/bins/src/shared/dialogs_osx.rs diff --git a/src/Rust/src/shared/dialogs_windows.rs b/src/bins/src/shared/dialogs_windows.rs similarity index 73% rename from src/Rust/src/shared/dialogs_windows.rs rename to src/bins/src/shared/dialogs_windows.rs index 140c5f6f..8d157c5c 100644 --- a/src/Rust/src/shared/dialogs_windows.rs +++ b/src/bins/src/shared/dialogs_windows.rs @@ -11,7 +11,12 @@ pub fn show_restart_required(app: &Manifest) { ); } -pub fn show_update_missing_dependencies_dialog(app: &Manifest, depedency_string: &str, from: &semver::Version, to: &semver::Version) -> bool { +pub fn show_update_missing_dependencies_dialog( + app: &Manifest, + depedency_string: &str, + from: &semver::Version, + to: &semver::Version, +) -> bool { if get_silent() { // this has different behavior to show_setup_missing_dependencies_dialog, // if silent is true then we will bail because the app is probably exiting @@ -23,7 +28,11 @@ pub fn show_update_missing_dependencies_dialog(app: &Manifest, depedency_string: show_ok_cancel( format!("{} Update", app.title).as_str(), Some(format!("{} would like to update from {} to {}", app.title, from, to).as_str()), - format!("{} {to} has missing dependencies which need to be installed: {}, would you like to continue?", app.title, depedency_string).as_str(), + format!( + "{} {to} has missing dependencies which need to be installed: {}, would you like to continue?", + app.title, depedency_string + ) + .as_str(), Some("Install & Update"), ) } @@ -36,7 +45,8 @@ pub fn show_setup_missing_dependencies_dialog(app: &Manifest, depedency_string: show_ok_cancel( format!("{} Setup {}", app.title, app.version).as_str(), Some(format!("{} has missing system dependencies.", app.title).as_str()), - format!("{} requires the following packages to be installed: {}, would you like to continue?", app.title, depedency_string).as_str(), + format!("{} requires the following packages to be installed: {}, would you like to continue?", app.title, depedency_string) + .as_str(), Some("Install"), ) } @@ -74,6 +84,49 @@ pub fn show_uninstall_complete_with_errors_dialog(app: &Manifest, log_path: Opti let _ = w::TaskDialogIndirect(&config, None); } +pub fn show_processes_locking_folder_dialog(app: &Manifest, process_names: &str) -> DialogResult { + if get_silent() { + return DialogResult::Cancel; + } + + let mut config: w::TASKDIALOGCONFIG = Default::default(); + config.set_pszMainIcon(w::IconIdTdicon::Tdicon(co::TD_ICON::INFORMATION)); + + let mut update_name = WString::from_str(format!("{} Update {}", app.title, app.version)); + let mut instruction = WString::from_str(format!("{} Update", app.title)); + + let mut content = WString::from_str(format!( + "There are programs ({}) preventing the {} update from proceeding. \n\n\ + You can press Continue to have this updater attempt to close them automatically, or if you've closed them yourself press Retry for the updater to check again.", + process_names, app.title)); + + let mut btn_retry_txt = WString::from_str("Retry\nTry again if you've closed the program(s)"); + let mut btn_continue_txt = WString::from_str("Continue\nAttempt to close the program(s) automatically"); + let mut btn_cancel_txt = WString::from_str("Cancel\nThe update will not continue"); + + let mut btn_retry = w::TASKDIALOG_BUTTON::default(); + btn_retry.set_nButtonID(co::DLGID::RETRY.into()); + btn_retry.set_pszButtonText(Some(&mut btn_retry_txt)); + + let mut btn_continue = w::TASKDIALOG_BUTTON::default(); + btn_continue.set_nButtonID(co::DLGID::CONTINUE.into()); + btn_continue.set_pszButtonText(Some(&mut btn_continue_txt)); + + let mut btn_cancel = w::TASKDIALOG_BUTTON::default(); + btn_cancel.set_nButtonID(co::DLGID::CANCEL.into()); + btn_cancel.set_pszButtonText(Some(&mut btn_cancel_txt)); + + let mut custom_btns = vec![btn_retry, btn_continue, btn_cancel]; + config.dwFlags = co::TDF::USE_COMMAND_LINKS; + config.set_pButtons(Some(&mut custom_btns)); + config.set_pszWindowTitle(Some(&mut update_name)); + config.set_pszMainInstruction(Some(&mut instruction)); + config.set_pszContent(Some(&mut content)); + + let (btn, _) = w::TaskDialogIndirect(&config, None).ok().unwrap_or((co::DLGID::CANCEL, 0)); + DialogResult::from_win(btn) +} + pub fn show_overwrite_repair_dialog(app: &Manifest, root_path: &PathBuf, root_is_default: bool) -> bool { if get_silent() { return true; @@ -85,7 +138,9 @@ pub fn show_overwrite_repair_dialog(app: &Manifest, root_path: &PathBuf, root_is let mut setup_name = WString::from_str(format!("{} Setup {}", app.title, app.version)); let mut instruction = WString::from_str(format!("{} is already installed.", app.title)); - let mut content = WString::from_str("This application is installed on your computer. If it is not functioning correctly, you can attempt to repair it."); + let mut content = WString::from_str( + "This application is installed on your computer. If it is not functioning correctly, you can attempt to repair it.", + ); let mut btn_yes_txt = WString::from_str(format!("Repair\nErase the application and re-install version {}.", app.version)); let mut btn_cancel_txt = WString::from_str("Cancel\nBackup or save your work first"); @@ -152,7 +207,14 @@ extern "system" fn task_dialog_callback(_: w::HWND, msg: co::TDN, _: usize, _: i return co::HRESULT::S_OK; // close dialog on button press } -pub fn generate_confirm(title: &str, header: Option<&str>, body: &str, ok_text: Option<&str>, btns: DialogButton, ico: DialogIcon) -> Result { +pub fn generate_confirm( + title: &str, + header: Option<&str>, + body: &str, + ok_text: Option<&str>, + btns: DialogButton, + ico: DialogIcon, +) -> Result { let hparent = w::HWND::GetDesktopWindow(); let mut ok_text_buf = WString::from_opt_str(ok_text); let mut custom_btns = if ok_text.is_some() { @@ -191,7 +253,14 @@ pub fn generate_confirm(title: &str, header: Option<&str>, body: &str, ok_text: Ok(DialogResult::from_win(result)) } -pub fn generate_alert(title: &str, header: Option<&str>, body: &str, ok_text: Option<&str>, btns: DialogButton, ico: DialogIcon) -> Result<()> { +pub fn generate_alert( + title: &str, + header: Option<&str>, + body: &str, + ok_text: Option<&str>, + btns: DialogButton, + ico: DialogIcon, +) -> Result<()> { let _ = generate_confirm(title, header, body, ok_text, btns, ico).map(|_| ())?; Ok(()) } diff --git a/src/Rust/src/shared/download.rs b/src/bins/src/shared/download.rs similarity index 100% rename from src/Rust/src/shared/download.rs rename to src/bins/src/shared/download.rs diff --git a/src/Rust/src/shared/macho.rs b/src/bins/src/shared/macho.rs similarity index 100% rename from src/Rust/src/shared/macho.rs rename to src/bins/src/shared/macho.rs diff --git a/src/Rust/src/shared/mod.rs b/src/bins/src/shared/mod.rs similarity index 100% rename from src/Rust/src/shared/mod.rs rename to src/bins/src/shared/mod.rs diff --git a/src/Rust/src/shared/runtime_arch.rs b/src/bins/src/shared/runtime_arch.rs similarity index 100% rename from src/Rust/src/shared/runtime_arch.rs rename to src/bins/src/shared/runtime_arch.rs diff --git a/src/Rust/src/shared/util_common.rs b/src/bins/src/shared/util_common.rs similarity index 100% rename from src/Rust/src/shared/util_common.rs rename to src/bins/src/shared/util_common.rs diff --git a/src/Rust/src/shared/util_linux.rs b/src/bins/src/shared/util_linux.rs similarity index 100% rename from src/Rust/src/shared/util_linux.rs rename to src/bins/src/shared/util_linux.rs diff --git a/src/Rust/src/shared/util_osx.rs b/src/bins/src/shared/util_osx.rs similarity index 100% rename from src/Rust/src/shared/util_osx.rs rename to src/bins/src/shared/util_osx.rs diff --git a/src/Rust/src/shared/util_windows.rs b/src/bins/src/shared/util_windows.rs similarity index 100% rename from src/Rust/src/shared/util_windows.rs rename to src/bins/src/shared/util_windows.rs diff --git a/src/Rust/src/stub.rs b/src/bins/src/stub.rs similarity index 100% rename from src/Rust/src/stub.rs rename to src/bins/src/stub.rs diff --git a/src/Rust/src/testapp.rs b/src/bins/src/testapp.rs similarity index 100% rename from src/Rust/src/testapp.rs rename to src/bins/src/testapp.rs diff --git a/src/Rust/src/update.rs b/src/bins/src/update.rs similarity index 99% rename from src/Rust/src/update.rs rename to src/bins/src/update.rs index 3771fe91..1acda9be 100644 --- a/src/Rust/src/update.rs +++ b/src/bins/src/update.rs @@ -7,7 +7,7 @@ extern crate log; use anyhow::{anyhow, bail, Result}; use clap::{arg, value_parser, ArgMatches, Command}; use std::{env, path::PathBuf}; -use velopack::*; +use velopack_bins::*; #[rustfmt::skip] fn root_command() -> Command { diff --git a/src/Rust/src/windows/known_path.rs b/src/bins/src/windows/known_path.rs similarity index 100% rename from src/Rust/src/windows/known_path.rs rename to src/bins/src/windows/known_path.rs diff --git a/src/bins/src/windows/locksmith.rs b/src/bins/src/windows/locksmith.rs new file mode 100644 index 00000000..43a1c5a6 --- /dev/null +++ b/src/bins/src/windows/locksmith.rs @@ -0,0 +1,48 @@ +use std::{ffi::OsStr, path::Path}; + +use crate::{bundle::Manifest, dialogs, dialogs::DialogResult}; + +pub fn close_processes_locking_dir(manifest: &Manifest, path: &str) -> bool { + loop { + let pids = filelocksmith::find_processes_locking_path(path); + if pids.is_empty() { + return true; + } + + let pids_str = pids + .iter() + .map(|pid| { + format!( + "[PID.{}]{}", + pid, + filelocksmith::pid_to_process_path(*pid) + .and_then(|fp| Path::new(&fp).file_name().map(OsStr::to_owned)) + .map(|os_str| os_str.to_string_lossy().into_owned()) + .unwrap_or_else(|| "unknown".to_owned()) + ) + }) + .collect::>() + .join(", "); + + let result = dialogs::show_processes_locking_folder_dialog(manifest, &pids_str); + + match result { + DialogResult::Retry => continue, + DialogResult::Continue => { + if filelocksmith::quit_processes(pids) { + return true; + } + } + _ => return false, + } + } +} + +#[test] +#[ignore] +fn test_close_processes_locking_dir() { + let mut mani = Manifest::default(); + mani.title = "Test".to_owned(); + mani.version = semver::Version::parse("1.0.0").unwrap(); + close_processes_locking_dir(&mani, r"C:\Users\Caelan\AppData\Local\Clowd"); +} diff --git a/src/Rust/src/windows/mitigate.rs b/src/bins/src/windows/mitigate.rs similarity index 100% rename from src/Rust/src/windows/mitigate.rs rename to src/bins/src/windows/mitigate.rs diff --git a/src/Rust/src/windows/mod.rs b/src/bins/src/windows/mod.rs similarity index 100% rename from src/Rust/src/windows/mod.rs rename to src/bins/src/windows/mod.rs diff --git a/src/Rust/src/windows/prerequisite.rs b/src/bins/src/windows/prerequisite.rs similarity index 100% rename from src/Rust/src/windows/prerequisite.rs rename to src/bins/src/windows/prerequisite.rs diff --git a/src/Rust/src/windows/runtimes.rs b/src/bins/src/windows/runtimes.rs similarity index 100% rename from src/Rust/src/windows/runtimes.rs rename to src/bins/src/windows/runtimes.rs diff --git a/src/Rust/src/windows/self_delete.rs b/src/bins/src/windows/self_delete.rs similarity index 100% rename from src/Rust/src/windows/self_delete.rs rename to src/bins/src/windows/self_delete.rs diff --git a/src/Rust/src/windows/shortcuts.rs b/src/bins/src/windows/shortcuts.rs similarity index 100% rename from src/Rust/src/windows/shortcuts.rs rename to src/bins/src/windows/shortcuts.rs diff --git a/src/Rust/src/windows/splash.rs b/src/bins/src/windows/splash.rs similarity index 99% rename from src/Rust/src/windows/splash.rs rename to src/bins/src/windows/splash.rs index 97c5434c..edd1d9f1 100644 --- a/src/Rust/src/windows/splash.rs +++ b/src/bins/src/windows/splash.rs @@ -1,5 +1,5 @@ use anyhow::{bail, Result}; -use image::{codecs::gif::GifDecoder, io::Reader as ImageReader, AnimationDecoder, DynamicImage, ImageFormat}; +use image::{codecs::gif::GifDecoder, AnimationDecoder, DynamicImage, ImageFormat, ImageReader}; use std::sync::atomic::{AtomicI16, Ordering}; use std::{ cell::RefCell, diff --git a/src/Rust/src/windows/strings.rs b/src/bins/src/windows/strings.rs similarity index 100% rename from src/Rust/src/windows/strings.rs rename to src/bins/src/windows/strings.rs diff --git a/src/Rust/src/windows/util.rs b/src/bins/src/windows/util.rs similarity index 100% rename from src/Rust/src/windows/util.rs rename to src/bins/src/windows/util.rs diff --git a/src/Rust/tests/commands.rs b/src/bins/tests/commands.rs similarity index 98% rename from src/Rust/tests/commands.rs rename to src/bins/tests/commands.rs index 6c52f47b..60add9cf 100644 --- a/src/Rust/tests/commands.rs +++ b/src/bins/tests/commands.rs @@ -4,9 +4,9 @@ mod common; use common::*; use std::{fs, path::Path, path::PathBuf}; use tempfile::tempdir; -use velopack::*; +use velopack_bins::*; -use velopack::logging::trace_logger; +use velopack_bins::logging::trace_logger; #[cfg(target_os = "windows")] use winsafe::{self as w, co}; diff --git a/src/Rust/tests/common/mod.rs b/src/bins/tests/common/mod.rs similarity index 100% rename from src/Rust/tests/common/mod.rs rename to src/bins/tests/common/mod.rs diff --git a/src/lib-cpp/CMakeLists.txt b/src/lib-cpp/CMakeLists.txt new file mode 100644 index 00000000..ed2e5131 --- /dev/null +++ b/src/lib-cpp/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) +project(velopack_cpp) +include(CheckIncludeFileCXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +include_directories(${CMAKE_SOURCE_DIR}/api) + +if(WIN32) + set(RUST_STATIC_LIB "velopack_cpp_bridge.lib") + link_libraries(ntdll) + foreach(flag_var + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${flag_var} MATCHES "/MD") + string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") + endif() + endforeach() +elseif(UNIX AND NOT APPLE) + set(RUST_STATIC_LIB "velopack_cpp_bridge.a") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++") +elseif(APPLE) + set(RUST_STATIC_LIB "velopack_cpp_bridge.a") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++ -static-libgcc") +endif() + +# Full path for the library +set(RUST_STATIC_LIB_PATH "${CMAKE_SOURCE_DIR}/../../target/release/${RUST_STATIC_LIB}") + +# Custom command to build the library +add_custom_command(OUTPUT ${RUST_STATIC_LIB_PATH} + COMMAND cargo build --release + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/generator + COMMENT "Running pre-build command") + +# Custom target to handle the build of the library +add_custom_target(build_rust_lib DEPENDS ${RUST_STATIC_LIB_PATH}) + +# Main executable +add_executable(${PROJECT_NAME} main.cpp) + +# Ensure the library is built before the main project +add_dependencies(${PROJECT_NAME} build_rust_lib) + +# Link the library after it has been built +target_link_libraries(${PROJECT_NAME} ${RUST_STATIC_LIB_PATH}) diff --git a/src/lib-cpp/api/Foo.hpp b/src/lib-cpp/api/Foo.hpp new file mode 100644 index 00000000..9def9887 --- /dev/null +++ b/src/lib-cpp/api/Foo.hpp @@ -0,0 +1,108 @@ +// Automatically generated by flapigen +#pragma once + +//for assert +#include +//for std::abort +#include +//for std::move +#include +//for std::conditional +#include + +#include + +#include "c_Foo.h" + +namespace velopack_cpp { + +template +class FooWrapper; +using Foo = FooWrapper; +using FooRef = FooWrapper; + + +template +class FooWrapper { +public: + using value_type = FooWrapper; + friend class FooWrapper; + friend class FooWrapper; + + using SelfType = typename std::conditional::type; + using CForeignType = FooOpaque; + + FooWrapper(FooWrapper &&o) noexcept: self_(o.self_) + { + o.self_ = nullptr; + } + FooWrapper &operator=(FooWrapper &&o) noexcept + { + assert(this != &o); + free_mem(this->self_); + self_ = o.self_; + o.self_ = nullptr; + return *this; + } + explicit FooWrapper(SelfType o) noexcept: self_(o) {} + FooOpaque *release() noexcept + { + FooOpaque *ret = self_; + self_ = nullptr; + return ret; + } + explicit operator SelfType() const noexcept { return self_; } + FooWrapper as_rref() const noexcept { return FooWrapper{ self_ }; } + const FooWrapper &as_cref() const noexcept { return reinterpret_cast &>(*this); } + + FooWrapper(const FooWrapper&) = delete; + FooWrapper &operator=(const FooWrapper&) = delete; + + FooWrapper(int32_t val) noexcept + { + + this->self_ = Foo_new(val); + if (this->self_ == nullptr) { + std::abort(); + } + } + + int32_t f(int32_t a, int32_t b) const noexcept; + //Custom doc comment + void setField(int32_t v) noexcept; + +private: + static void free_mem(SelfType &p) noexcept + { + if (OWN_DATA && p != nullptr) { + Foo_delete(p); + } + p = nullptr; + } +public: + ~FooWrapper() noexcept + { + free_mem(this->self_); + } + +private: + SelfType self_; +}; + + + template + inline int32_t FooWrapper::f(int32_t a, int32_t b) const noexcept + { + + int32_t ret = Foo_f(this->self_, a, b); + return ret; + } + + template + inline void FooWrapper::setField(int32_t v) noexcept + { + + Foo_setField(this->self_, v); + } + +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/Foo_fwd.hpp b/src/lib-cpp/api/Foo_fwd.hpp new file mode 100644 index 00000000..f15eb8be --- /dev/null +++ b/src/lib-cpp/api/Foo_fwd.hpp @@ -0,0 +1,9 @@ +// Automatically generated by flapigen +#pragma once + +namespace velopack_cpp { +template +class FooWrapper; +using Foo = FooWrapper; +using FooRef = FooWrapper; +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/c_Foo.h b/src/lib-cpp/api/c_Foo.h new file mode 100644 index 00000000..f8a245da --- /dev/null +++ b/src/lib-cpp/api/c_Foo.h @@ -0,0 +1,28 @@ +// Automatically generated by flapigen + +#pragma once + +//for (u)intX_t types +#include + +#ifdef __cplusplus +static_assert(sizeof(uintptr_t) == sizeof(uint8_t) * 8, + "our conversion usize <-> uintptr_t is wrong"); +extern "C" { +#endif + + + typedef struct FooOpaque FooOpaque; + + FooOpaque *Foo_new(int32_t val); + + int32_t Foo_f(const FooOpaque * const self, int32_t a, int32_t b); + //Custom doc comment + void Foo_setField(FooOpaque * const self, int32_t v); + + void Foo_delete(const FooOpaque *self); + +#ifdef __cplusplus +} +#endif + diff --git a/src/lib-cpp/api/rust_foreign_slice_impl.hpp b/src/lib-cpp/api/rust_foreign_slice_impl.hpp new file mode 100644 index 00000000..ad48036e --- /dev/null +++ b/src/lib-cpp/api/rust_foreign_slice_impl.hpp @@ -0,0 +1,77 @@ +#pragma once + +#include "rust_foreign_slice_iter.hpp" + +namespace velopack_cpp { +template +class RustForeignSlice final : public CContainerType { +public: + using const_reference = ForeignClassRef; + using CForeignType = typename ForeignClassRef::CForeignType; + using value_type = typename ForeignClassRef::value_type; + using iterator = RustForeignSliceIterator; + using const_iterator = RustForeignSliceIterator; + + RustForeignSlice() noexcept { reset(); } + explicit RustForeignSlice(const CContainerType &o) noexcept + { + this->data = o.data; + this->len = o.len; + this->step = o.step; + } + RustForeignSlice(const RustForeignSlice &) = delete; + RustForeignSlice &operator=(const RustForeignSlice &) = delete; + RustForeignSlice(RustForeignSlice &&o) noexcept + { + this->data = o.data; + this->len = o.len; + this->step = o.step; + o.reset(); + } + RustForeignSlice &operator=(RustForeignSlice &&o) noexcept + { + this->data = o.data; + this->len = o.len; + this->step = o.step; + o.reset(); + return *this; + } + ~RustForeignSlice() noexcept {} + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + ForeignClassRef operator[](size_t i) const noexcept + { + assert(i < this->len); + auto p = static_cast(this->data); + p += this->step * i; + auto elem_ptr = static_cast(static_cast(p)); + return ForeignClassRef{ elem_ptr }; + } + iterator begin() noexcept { return iterator{ this->data, this->step }; } + + const_iterator begin() const noexcept { return const_iterator{ this->data, this->step }; } + + iterator end() noexcept + { + auto p = static_cast(this->data); + p += this->step * this->len; + return iterator{ p, this->step }; + } + + const_iterator end() const noexcept + { + auto p = static_cast(this->data); + p += this->step * this->len; + return const_iterator{ p, this->step }; + } + +private: + void reset() + { + this->step = 0; + this->len = 0; + this->data = nullptr; + } +}; + +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/rust_foreign_slice_iter.hpp b/src/lib-cpp/api/rust_foreign_slice_iter.hpp new file mode 100644 index 00000000..a1e33cf4 --- /dev/null +++ b/src/lib-cpp/api/rust_foreign_slice_iter.hpp @@ -0,0 +1,131 @@ +#pragma once + +#include //ptrdiff_t +#include +#include + +template class RustForeignSliceIterator final { +public: + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = std::ptrdiff_t; + using pointer = const T *; + using reference = T; + + using CForeignType = typename T::CForeignType; + + RustForeignSliceIterator() noexcept + : ptr(nullptr) + , step(0) + { + } + RustForeignSliceIterator(const void *p, size_t s) noexcept + : ptr(p) + , step(s) + { + } + + /** + * \defgroup Forward iterator requirements + */ + /*@{*/ + T operator*() const noexcept + { + auto elem_ptr = static_cast(this->ptr); + return T{ elem_ptr }; + } + + RustForeignSliceIterator &operator++() noexcept + { + this->ptr = static_cast(this->ptr) + this->step; + return *this; + } + /*@}*/ + + /** + * \defgroup Bidirectional iterator requirements + */ + /*@{*/ + RustForeignSliceIterator &operator--() noexcept + { + this->ptr = static_cast(this->ptr) - this->step; + return *this; + } + /*@}*/ + /** + * \defgroup Random access iterator requirements + */ + /*@{*/ + T operator[](ptrdiff_t n) const noexcept + { + auto p = static_cast(this->ptr) + n * this->step; + auto elem_ptr = static_cast(p); + return T{ elem_ptr }; + } + + RustForeignSliceIterator &operator+=(ptrdiff_t n) noexcept + { + this->ptr = static_cast(this->ptr) + n * this->step; + return *this; + } + + RustForeignSliceIterator operator+(ptrdiff_t n) const noexcept + { + const void *p = static_cast(this->ptr) + n * this->step; + return RustForeignSliceIterator(p, this->step); + } + + RustForeignSliceIterator &operator-=(ptrdiff_t n) noexcept + { + this->ptr = static_cast(this->ptr) - n * this->step; + return *this; + } + + RustForeignSliceIterator operator-(ptrdiff_t n) const noexcept + { + const void *p = static_cast(this->ptr) - n * this->step; + return RustForeignSliceIterator(p, this->step); + } + + ptrdiff_t operator-(const RustForeignSliceIterator &o) const noexcept + { + assert(this->step == o.step); + ptrdiff_t diff + = static_cast(this->ptr) - static_cast(o.ptr); + // if container empty step may be 0, to prevent div by 0 + if (diff != 0) { + return diff / this->step; + } + else { + return 0; + } + } + + bool operator<(const RustForeignSliceIterator &o) const noexcept + { + assert(this->step == o.step); + return this->ptr < o.ptr; + } + + bool operator>(const RustForeignSliceIterator &o) const noexcept + { + assert(this->step == o.step); + return this->ptr > o.ptr; + } + + bool operator<=(const RustForeignSliceIterator &o) const noexcept { return !operator>(o); } + + bool operator>=(const RustForeignSliceIterator &o) const noexcept { return !operator<(o); } + /*@}*/ + + bool operator==(const RustForeignSliceIterator &o) const noexcept + { + assert(this->step == o.step); + return this->ptr == o.ptr; + } + bool operator!=(const RustForeignSliceIterator &o) const noexcept { return !operator==(o); } + +private: + const void *ptr; + uintptr_t step; +}; diff --git a/src/lib-cpp/api/rust_foreign_vec_impl.hpp b/src/lib-cpp/api/rust_foreign_vec_impl.hpp new file mode 100644 index 00000000..532db413 --- /dev/null +++ b/src/lib-cpp/api/rust_foreign_vec_impl.hpp @@ -0,0 +1,123 @@ +#pragma once + +#include + +#include "rust_foreign_slice_impl.hpp" +#include "rust_foreign_slice_iter.hpp" +#include "rust_slice.h" +#include "rust_slice_mut.h" + +namespace velopack_cpp { + +template +class RustForeignVec final : private CContainerType { +public: + using const_reference = ForeignClassRef; + using CForeignType = typename ForeignClassRef::CForeignType; + using value_type = typename ForeignClassRef::value_type; + using iterator = RustForeignSliceIterator; + using const_iterator = RustForeignSliceIterator; + + RustForeignVec() noexcept { reset(*this); } + explicit RustForeignVec(const CContainerType &o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + } + RustForeignVec(const RustForeignVec &) = delete; + RustForeignVec &operator=(const RustForeignVec &) = delete; + RustForeignVec(RustForeignVec &&o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + reset(o); + } + RustForeignVec &operator=(RustForeignVec &&o) noexcept + { + free_mem(); + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + reset(o); + return *this; + } + ~RustForeignVec() noexcept { free_mem(); } + + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + + ForeignClassRef operator[](size_t i) const noexcept + { + assert(i < this->len); + auto p = static_cast(this->data); + p += ELEM_SIZE * i; + auto elem_ptr = static_cast(static_cast(p)); + return ForeignClassRef{ elem_ptr }; + } + + void push(value_type o) noexcept { PushFunc(this, o.release()); } + + value_type remove(size_t idx) noexcept + { + auto p = static_cast(RemoveFunc(this, idx)); + return value_type{ p }; + } + + iterator begin() noexcept { return iterator{ this->data, ELEM_SIZE }; } + + const_iterator begin() const noexcept { return const_iterator{ this->data, ELEM_SIZE }; } + + iterator end() noexcept + { + auto p = static_cast(this->data); + p += ELEM_SIZE * this->len; + return iterator{ p, ELEM_SIZE }; + } + + const_iterator end() const noexcept + { + auto p = static_cast(this->data); + p += ELEM_SIZE * this->len; + return const_iterator{ p, ELEM_SIZE }; + } + + RustForeignSlice as_slice() const noexcept + { + return RustForeignSlice{ CRustObjectSlice{ + this->data, this->len, ELEM_SIZE } }; + } + + RustForeignSlice as_slice_mut() noexcept + { + return RustForeignSlice{ CRustObjectMutSlice{ + this->data, this->len, ELEM_SIZE } }; + } + + void clear() noexcept { free_mem(); } + + CContainerType release() noexcept + { + CContainerType ret{ this->data, this->len, this->capacity }; + reset(*this); + return ret; + } + +private: + void free_mem() noexcept + { + FreeFunc(*this); + reset(*this); + } + static void reset(RustForeignVec &o) noexcept + { + // Rust Vec::new uses NonNull::danling with similar value + o.data = reinterpret_cast(std::alignment_of::value); + o.len = 0; + o.capacity = 0; + } +}; +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/rust_slice.h b/src/lib-cpp/api/rust_slice.h new file mode 100644 index 00000000..a67cb625 --- /dev/null +++ b/src/lib-cpp/api/rust_slice.h @@ -0,0 +1,46 @@ +// Automatically generated by flapigen +#pragma once + +//for (u)intX_t types +#include + +#ifdef __cplusplus +static_assert(sizeof(uintptr_t) == sizeof(uint8_t) * 8, + "our conversion usize <-> uintptr_t is wrong"); +#endif + #include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustObjectSlice { + /*const*/void * data; + uintptr_t len; + uintptr_t step; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif + +#ifdef __cplusplus +#include "rust_foreign_slice_impl.hpp" + +namespace velopack_cpp { +template +using RustForeignSliceConst = RustForeignSlice; +} +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustSliceAccess { + /*const*/void * data; + uintptr_t len; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif diff --git a/src/lib-cpp/api/rust_slice_access.hpp b/src/lib-cpp/api/rust_slice_access.hpp new file mode 100644 index 00000000..212f1df4 --- /dev/null +++ b/src/lib-cpp/api/rust_slice_access.hpp @@ -0,0 +1,50 @@ +#pragma once + +#include +#include + +#include "rust_slice.h" + +namespace velopack_cpp { +template class RustSliceAccess final : public CRustSliceAccess { +public: + using ReturnType = typename IndexAccess::ReturnType; + + RustSliceAccess() noexcept { reset(); } + explicit RustSliceAccess(CRustSliceAccess o) noexcept + { + this->data = o.data; + this->len = o.len; + } + RustSliceAccess(const RustSliceAccess &) = delete; + RustSliceAccess &operator=(const RustSliceAccess &) = delete; + RustSliceAccess(RustSliceAccess &&o) noexcept + { + this->data = o.data; + this->len = o.len; + o.reset(); + } + RustSliceAccess &operator=(RustSliceAccess &&o) noexcept + { + this->data = o.data; + this->len = o.len; + o.reset(); + return *this; + } + ~RustSliceAccess() noexcept {} + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + ReturnType operator[](size_t i) const noexcept + { + assert(i < this->len); + return IndexAccess::index(*this, i); + } + +private: + void reset() noexcept + { + this->data = nullptr; + this->len = 0; + } +}; +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/rust_slice_mut.h b/src/lib-cpp/api/rust_slice_mut.h new file mode 100644 index 00000000..5fc53804 --- /dev/null +++ b/src/lib-cpp/api/rust_slice_mut.h @@ -0,0 +1,33 @@ +// Automatically generated by flapigen +#pragma once + +//for (u)intX_t types +#include + +#ifdef __cplusplus +static_assert(sizeof(uintptr_t) == sizeof(uint8_t) * 8, + "our conversion usize <-> uintptr_t is wrong"); +#endif + #include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustObjectMutSlice { + void * data; + uintptr_t len; + uintptr_t step; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif + +#ifdef __cplusplus +#include "rust_foreign_slice_impl.hpp" + +namespace velopack_cpp { +template +using RustForeignSliceMut = RustForeignSlice; +} +#endif diff --git a/src/lib-cpp/api/rust_slice_tmpl.hpp b/src/lib-cpp/api/rust_slice_tmpl.hpp new file mode 100644 index 00000000..9936e143 --- /dev/null +++ b/src/lib-cpp/api/rust_slice_tmpl.hpp @@ -0,0 +1,59 @@ +#pragma once + +#include +#include + +namespace velopack_cpp { + +template class RustSlice final { +public: + using iterator = value_type *; + using const_iterator = const value_type *; + + explicit RustSlice(value_type *p, size_t n) noexcept + { + this->data = p; + this->len = n; + } + RustSlice(const RustSlice &) = delete; + RustSlice &operator=(const RustSlice &) = delete; + RustSlice(RustSlice &&o) noexcept + { + this->data = o.data; + this->len = o.len; + + reset(o); + } + RustSlice &operator=(RustSlice &&o) noexcept + { + this->data = o.data; + this->len = o.len; + + reset(o); + return *this; + } + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + const value_type &operator[](size_t i) const noexcept { return this->data[i]; } + value_type &operator[](size_t i) noexcept { return this->data[i]; } + iterator begin() noexcept { return this->data; } + const_iterator begin() const noexcept { return this->data; } + iterator end() noexcept { return this->data + this->len; } + const_iterator end() const noexcept { return this->data + this->len; } + template CContainerType as_c() const noexcept + { + return CContainerType{ this->data, this->len }; + } + +private: + value_type *data; + uintptr_t len; + + static void reset(RustSlice &o) noexcept + { + o.data = nullptr; + o.len = 0; + } +}; + +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/rust_str.h b/src/lib-cpp/api/rust_str.h new file mode 100644 index 00000000..cd4c353e --- /dev/null +++ b/src/lib-cpp/api/rust_str.h @@ -0,0 +1,127 @@ +// Automatically generated by flapigen +#pragma once + +//for (u)intX_t types +#include + +#ifdef __cplusplus +static_assert(sizeof(uintptr_t) == sizeof(uint8_t) * 8, + "our conversion usize <-> uintptr_t is wrong"); +#endif + #include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustStrView { + const char * data; + uintptr_t len; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustString { + const char * data; + uintptr_t len; + uintptr_t capacity; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif + +#ifdef __cplusplus +extern "C" { +#endif +void crust_string_free(struct CRustString x); +#ifdef __cplusplus +} // extern "C" { +#endif + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustString crust_string_clone(struct CRustString x); +#ifdef __cplusplus +} // extern "C" { +#endif + +#ifdef __cplusplus + +#include + +#include + +namespace velopack_cpp { +class RustString final : private CRustString { +public: + explicit RustString(const CRustString &o) noexcept + { + data = o.data; + len = o.len; + capacity = o.capacity; + } + RustString() noexcept { reset(*this); } + RustString(const RustString &o) noexcept + : RustString(crust_string_clone(o)) + { + } + RustString &operator=(const RustString &o) noexcept + { + if (this != &o) { + free_mem(); + auto copy = crust_string_clone(o); + data = copy.data; + len = copy.len; + capacity = copy.capacity; + } + return *this; + } + RustString(RustString &&o) noexcept + { + data = o.data; + len = o.len; + capacity = o.capacity; + + reset(o); + } + RustString &operator=(RustString &&o) noexcept + { + free_mem(); + data = o.data; + len = o.len; + capacity = o.capacity; + + reset(o); + return *this; + } + ~RustString() noexcept { free_mem(); } + std::string to_std_string() const { return std::string(data, len); } + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + + std::string_view to_string_view() const { return std::string_view(data, len); } + +private: + void free_mem() noexcept + { + if (data != nullptr) { + crust_string_free(*this); + reset(*this); + } + } + static void reset(RustString &o) noexcept + { + o.data = nullptr; + o.len = 0; + o.capacity = 0; + } +}; +} // namespace velopack_cpp +#endif // __cplusplus diff --git a/src/lib-cpp/api/rust_vec.h b/src/lib-cpp/api/rust_vec.h new file mode 100644 index 00000000..5a601955 --- /dev/null +++ b/src/lib-cpp/api/rust_vec.h @@ -0,0 +1,38 @@ +// Automatically generated by flapigen +#pragma once + +//for (u)intX_t types +#include + +#ifdef __cplusplus +static_assert(sizeof(uintptr_t) == sizeof(uint8_t) * 8, + "our conversion usize <-> uintptr_t is wrong"); +#endif + #include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustVecAccess { + /*const*/void * data; + uintptr_t len; + uintptr_t capacity; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif +struct CRustForeignVec { + /*const*/void * data; + uintptr_t len; + uintptr_t capacity; +}; + +#ifdef __cplusplus +} // extern "C" { +#endif diff --git a/src/lib-cpp/api/rust_vec_access.hpp b/src/lib-cpp/api/rust_vec_access.hpp new file mode 100644 index 00000000..1460bea0 --- /dev/null +++ b/src/lib-cpp/api/rust_vec_access.hpp @@ -0,0 +1,58 @@ +#pragma once + +#include + +namespace velopack_cpp { +template +class RustVecAccess final : private CContainerType { +public: + using ElemType = typename VectorTrait::ElemType; + + explicit RustVecAccess(const CContainerType &o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + } + RustVecAccess() noexcept { reset(*this); } + RustVecAccess(const RustVecAccess &) = delete; + RustVecAccess &operator=(const RustVecAccess &) = delete; + RustVecAccess(RustVecAccess &&o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + + reset(o); + } + RustVecAccess &operator=(RustVecAccess &&o) noexcept + { + free_mem(); + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + + reset(o); + return *this; + } + ~RustVecAccess() noexcept { free_mem(); } + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + ElemType operator[](size_t i) const noexcept { return VectorTrait::index(*this, i); } + +private: + void free_mem() noexcept + { + if (this->data != nullptr) { + VectorTrait::free(*this); + reset(*this); + } + } + static void reset(RustVecAccess &o) noexcept + { + o.data = nullptr; + o.len = 0; + o.capacity = 0; + } +}; +} // namespace velopack_cpp diff --git a/src/lib-cpp/api/rust_vec_impl.hpp b/src/lib-cpp/api/rust_vec_impl.hpp new file mode 100644 index 00000000..61892ce7 --- /dev/null +++ b/src/lib-cpp/api/rust_vec_impl.hpp @@ -0,0 +1,78 @@ +#pragma once + +#include + +namespace velopack_cpp { + +namespace internal { + template E field_type(E T::*); +} + +template +class RustVec final : private CContainerType { +public: + using value_type = + typename std::remove_const::type>::type; + using iterator = value_type *; + using const_iterator = const value_type *; + + explicit RustVec(const CContainerType &o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + } + RustVec() noexcept { reset(*this); } + RustVec(const RustVec &) = delete; + RustVec &operator=(const RustVec &) = delete; + RustVec(RustVec &&o) noexcept + { + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + + reset(o); + } + RustVec &operator=(RustVec &&o) noexcept + { + free_mem(); + this->data = o.data; + this->len = o.len; + this->capacity = o.capacity; + + reset(o); + return *this; + } + ~RustVec() noexcept { free_mem(); } + size_t size() const noexcept { return this->len; } + bool empty() const noexcept { return this->len == 0; } + const value_type &operator[](size_t i) const noexcept { return this->data[i]; } + iterator begin() noexcept { return this->data; } + const_iterator begin() const noexcept { return this->data; } + iterator end() noexcept { return this->data + this->len; } + const_iterator end() const noexcept { return this->data + this->len; } + void clear() noexcept { free_mem(); } + CContainerType release() noexcept + { + CContainerType ret{ this->data, this->len, this->capacity }; + reset(*this); + return ret; + } + +private: + void free_mem() noexcept + { + FreeFunc(*this); + reset(*this); + } + static void reset(RustVec &o) noexcept + { + // Rust Vec::new uses NonNull::danling with similar value + o.data = reinterpret_cast(std::alignment_of::value); + o.len = 0; + o.capacity = 0; + } +}; + +} // namespace velopack_cpp diff --git a/src/lib-cpp/generator/Cargo.toml b/src/lib-cpp/generator/Cargo.toml new file mode 100644 index 00000000..9dc29cdb --- /dev/null +++ b/src/lib-cpp/generator/Cargo.toml @@ -0,0 +1,18 @@ + +[package] +name = "velopack_cpp_bridge" +version = "0.0.0-local" +edition = "2021" + +[lib] +name = "velopack_cpp_bridge" +path = "src/lib.rs" +crate-type = ["cdylib", "staticlib"] + +[dependencies] +rifgen = "*" +velopack = { path = "../../lib-rust" } + +[build-dependencies] +flapigen = "*" +rifgen = "*" \ No newline at end of file diff --git a/src/lib-cpp/generator/build.rs b/src/lib-cpp/generator/build.rs new file mode 100644 index 00000000..bd954122 --- /dev/null +++ b/src/lib-cpp/generator/build.rs @@ -0,0 +1,19 @@ +use flapigen::{CppConfig, CppOptional, CppStrView, CppVariant, LanguageConfig}; +use std::{env, path::Path, process::Command}; + +fn main() { + use rifgen::{Generator, Language, TypeCases}; + let source_folder = "./src"; + let out_file = "./src/cpp_glue.rs.in"; + Generator::new(TypeCases::CamelCase, Language::Cpp, source_folder).generate_interface(out_file); + + let cpp_cfg = CppConfig::new(Path::new("..").join("api"), "velopack_cpp".into()) + .cpp_optional(CppOptional::Std17) + .cpp_variant(CppVariant::Std17) + .cpp_str_view(CppStrView::Std17); + + let swig_gen = flapigen::Generator::new(LanguageConfig::CppConfig(cpp_cfg)); + swig_gen.expand("velopack_cpp", Path::new("./src/cpp_glue.rs.in"), &Path::new("src").join("cpp_glue.rs")); + + Command::new("rustfmt").arg("src/cpp_glue.rs").status().unwrap(); +} diff --git a/src/lib-cpp/generator/src/cpp_glue.rs b/src/lib-cpp/generator/src/cpp_glue.rs new file mode 100644 index 00000000..7eaf50bb --- /dev/null +++ b/src/lib-cpp/generator/src/cpp_glue.rs @@ -0,0 +1,440 @@ +#[allow(unused_macros)] +macro_rules! swig_c_str { + ($ lit : expr) => { + concat!($lit, "\0").as_ptr() as *const ::std::os::raw::c_char + }; +} +#[allow(dead_code)] +pub trait SwigForeignClass { + fn c_class_name() -> *const ::std::os::raw::c_char; + fn box_object(x: Self) -> *mut ::std::os::raw::c_void; + fn unbox_object(p: *mut ::std::os::raw::c_void) -> Self; +} +#[allow(dead_code)] +pub trait SwigForeignEnum { + fn as_u32(&self) -> u32; + fn from_u32(_: u32) -> Self; +} +#[allow(dead_code)] +#[doc = ""] +trait SwigFrom { + fn swig_from(_: T) -> Self; +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Clone, Copy)] +pub struct CRustStrView { + data: *const ::std::os::raw::c_char, + len: usize, +} +#[allow(dead_code)] +impl CRustStrView { + fn from_str(s: &str) -> CRustStrView { + CRustStrView { data: s.as_ptr() as *const ::std::os::raw::c_char, len: s.len() } + } +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Copy, Clone)] +pub struct CRustString { + data: *const ::std::os::raw::c_char, + len: usize, + capacity: usize, +} +#[allow(dead_code)] +impl CRustString { + pub fn from_string(s: String) -> CRustString { + let data = s.as_ptr() as *const ::std::os::raw::c_char; + let len = s.len(); + let capacity = s.capacity(); + ::std::mem::forget(s); + CRustString { data, len, capacity } + } +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Clone, Copy)] +pub struct CRustObjectSlice { + data: *const ::std::os::raw::c_void, + len: usize, + step: usize, +} +#[allow(dead_code)] +#[repr(C)] +pub struct CRustObjectMutSlice { + data: *mut ::std::os::raw::c_void, + len: usize, + step: usize, +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Clone, Copy)] +pub struct CRustSliceAccess { + data: *const ::std::os::raw::c_void, + len: usize, +} +#[allow(dead_code)] +impl CRustSliceAccess { + pub fn from_slice(sl: &[T]) -> Self { + Self { data: sl.as_ptr() as *const ::std::os::raw::c_void, len: sl.len() } + } +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Copy, Clone)] +pub struct CRustVecAccess { + data: *const ::std::os::raw::c_void, + len: usize, + capacity: usize, +} +#[allow(dead_code)] +impl CRustVecAccess { + pub fn from_vec(mut v: Vec) -> Self { + let data = v.as_mut_ptr() as *const ::std::os::raw::c_void; + let len = v.len(); + let capacity = v.capacity(); + ::std::mem::forget(v); + Self { data, len, capacity } + } + pub fn to_slice<'a, T>(cs: Self) -> &'a [T] { + unsafe { ::std::slice::from_raw_parts(cs.data as *const T, cs.len) } + } + pub fn to_vec(cs: Self) -> Vec { + unsafe { Vec::from_raw_parts(cs.data as *mut T, cs.len, cs.capacity) } + } +} +#[allow(dead_code)] +#[repr(C)] +#[derive(Copy, Clone)] +pub struct CRustForeignVec { + data: *const ::std::os::raw::c_void, + len: usize, + capacity: usize, +} +#[allow(dead_code)] +impl CRustForeignVec { + pub fn from_vec(mut v: Vec) -> CRustForeignVec { + let data = v.as_mut_ptr() as *const ::std::os::raw::c_void; + let len = v.len(); + let capacity = v.capacity(); + ::std::mem::forget(v); + CRustForeignVec { data, len, capacity } + } +} +#[allow(dead_code)] +#[inline] +fn push_foreign_class_to_vec(vec: *mut CRustForeignVec, elem: *mut ::std::os::raw::c_void) { + assert!(!vec.is_null()); + let vec: &mut CRustForeignVec = unsafe { &mut *vec }; + let mut v = unsafe { Vec::from_raw_parts(vec.data as *mut T, vec.len, vec.capacity) }; + v.push(T::unbox_object(elem)); + vec.data = v.as_mut_ptr() as *const ::std::os::raw::c_void; + vec.len = v.len(); + vec.capacity = v.capacity(); + ::std::mem::forget(v); +} +#[allow(dead_code)] +#[inline] +fn remove_foreign_class_from_vec(vec: *mut CRustForeignVec, index: usize) -> *mut ::std::os::raw::c_void { + assert!(!vec.is_null()); + let vec: &mut CRustForeignVec = unsafe { &mut *vec }; + let mut v = unsafe { Vec::from_raw_parts(vec.data as *mut T, vec.len, vec.capacity) }; + let elem: T = v.remove(index); + vec.data = v.as_mut_ptr() as *const ::std::os::raw::c_void; + vec.len = v.len(); + vec.capacity = v.capacity(); + ::std::mem::forget(v); + T::box_object(elem) +} +#[allow(dead_code)] +#[inline] +fn drop_foreign_class_vec(v: CRustForeignVec) { + let v = unsafe { Vec::from_raw_parts(v.data as *mut T, v.len, v.capacity) }; + drop(v); +} +use crate::*; +#[allow(non_snake_case)] +#[test] +fn test_CRustStrView_layout() { + #[repr(C)] + struct MyCRustStrView { + data: *const ::std::os::raw::c_char, + len: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustStrView = unsafe { ::std::mem::zeroed() }; + let user_s: CRustStrView = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustStrView_data_type_fn(s: &CRustStrView) -> &*const ::std::os::raw::c_char { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_char) as usize) - ((&our_s as *const MyCRustStrView) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_char) as usize) - ((&user_s as *const CRustStrView) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustStrView_len_type_fn(s: &CRustStrView) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustStrView) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustStrView) as usize); + assert_eq!(offset_our, offset_user); +} +#[allow(non_snake_case)] +#[test] +fn test_CRustString_layout() { + #[repr(C)] + struct MyCRustString { + data: *const ::std::os::raw::c_char, + len: usize, + capacity: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustString = unsafe { ::std::mem::zeroed() }; + let user_s: CRustString = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustString_data_type_fn(s: &CRustString) -> &*const ::std::os::raw::c_char { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_char) as usize) - ((&our_s as *const MyCRustString) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_char) as usize) - ((&user_s as *const CRustString) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustString_len_type_fn(s: &CRustString) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustString) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustString) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustString_capacity_type_fn(s: &CRustString) -> &usize { + &s.capacity + } + let offset_our = ((&our_s.capacity as *const usize) as usize) - ((&our_s as *const MyCRustString) as usize); + let offset_user = ((&user_s.capacity as *const usize) as usize) - ((&user_s as *const CRustString) as usize); + assert_eq!(offset_our, offset_user); +} +#[no_mangle] +pub extern "C" fn crust_string_free(x: CRustString) { + let s = unsafe { String::from_raw_parts(x.data as *mut u8, x.len, x.capacity) }; + drop(s); +} +#[no_mangle] +pub extern "C" fn crust_string_clone(x: CRustString) -> CRustString { + let s = unsafe { String::from_raw_parts(x.data as *mut u8, x.len, x.capacity) }; + let ret = CRustString::from_string(s.clone()); + ::std::mem::forget(s); + ret +} +#[allow(non_snake_case)] +#[test] +fn test_CRustObjectSlice_layout() { + #[repr(C)] + struct MyCRustObjectSlice { + data: *const ::std::os::raw::c_void, + len: usize, + step: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustObjectSlice = unsafe { ::std::mem::zeroed() }; + let user_s: CRustObjectSlice = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustObjectSlice_data_type_fn(s: &CRustObjectSlice) -> &*const ::std::os::raw::c_void { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&our_s as *const MyCRustObjectSlice) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&user_s as *const CRustObjectSlice) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustObjectSlice_len_type_fn(s: &CRustObjectSlice) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustObjectSlice) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustObjectSlice) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustObjectSlice_step_type_fn(s: &CRustObjectSlice) -> &usize { + &s.step + } + let offset_our = ((&our_s.step as *const usize) as usize) - ((&our_s as *const MyCRustObjectSlice) as usize); + let offset_user = ((&user_s.step as *const usize) as usize) - ((&user_s as *const CRustObjectSlice) as usize); + assert_eq!(offset_our, offset_user); +} +#[allow(non_snake_case)] +#[test] +fn test_CRustObjectMutSlice_layout() { + #[repr(C)] + struct MyCRustObjectMutSlice { + data: *mut ::std::os::raw::c_void, + len: usize, + step: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustObjectMutSlice = unsafe { ::std::mem::zeroed() }; + let user_s: CRustObjectMutSlice = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustObjectMutSlice_data_type_fn(s: &CRustObjectMutSlice) -> &*mut ::std::os::raw::c_void { + &s.data + } + let offset_our = ((&our_s.data as *const *mut ::std::os::raw::c_void) as usize) - ((&our_s as *const MyCRustObjectMutSlice) as usize); + let offset_user = ((&user_s.data as *const *mut ::std::os::raw::c_void) as usize) - ((&user_s as *const CRustObjectMutSlice) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustObjectMutSlice_len_type_fn(s: &CRustObjectMutSlice) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustObjectMutSlice) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustObjectMutSlice) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustObjectMutSlice_step_type_fn(s: &CRustObjectMutSlice) -> &usize { + &s.step + } + let offset_our = ((&our_s.step as *const usize) as usize) - ((&our_s as *const MyCRustObjectMutSlice) as usize); + let offset_user = ((&user_s.step as *const usize) as usize) - ((&user_s as *const CRustObjectMutSlice) as usize); + assert_eq!(offset_our, offset_user); +} +#[allow(non_snake_case)] +#[test] +fn test_CRustSliceAccess_layout() { + #[repr(C)] + struct MyCRustSliceAccess { + data: *const ::std::os::raw::c_void, + len: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustSliceAccess = unsafe { ::std::mem::zeroed() }; + let user_s: CRustSliceAccess = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustSliceAccess_data_type_fn(s: &CRustSliceAccess) -> &*const ::std::os::raw::c_void { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&our_s as *const MyCRustSliceAccess) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&user_s as *const CRustSliceAccess) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustSliceAccess_len_type_fn(s: &CRustSliceAccess) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustSliceAccess) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustSliceAccess) as usize); + assert_eq!(offset_our, offset_user); +} +#[allow(non_snake_case)] +#[test] +fn test_CRustVecAccess_layout() { + #[repr(C)] + struct MyCRustVecAccess { + data: *const ::std::os::raw::c_void, + len: usize, + capacity: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustVecAccess = unsafe { ::std::mem::zeroed() }; + let user_s: CRustVecAccess = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustVecAccess_data_type_fn(s: &CRustVecAccess) -> &*const ::std::os::raw::c_void { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&our_s as *const MyCRustVecAccess) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&user_s as *const CRustVecAccess) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustVecAccess_len_type_fn(s: &CRustVecAccess) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustVecAccess) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustVecAccess) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustVecAccess_capacity_type_fn(s: &CRustVecAccess) -> &usize { + &s.capacity + } + let offset_our = ((&our_s.capacity as *const usize) as usize) - ((&our_s as *const MyCRustVecAccess) as usize); + let offset_user = ((&user_s.capacity as *const usize) as usize) - ((&user_s as *const CRustVecAccess) as usize); + assert_eq!(offset_our, offset_user); +} +#[allow(non_snake_case)] +#[test] +fn test_CRustForeignVec_layout() { + #[repr(C)] + struct MyCRustForeignVec { + data: *const ::std::os::raw::c_void, + len: usize, + capacity: usize, + } + assert_eq!(::std::mem::size_of::(), ::std::mem::size_of::()); + assert_eq!(::std::mem::align_of::(), ::std::mem::align_of::()); + let our_s: MyCRustForeignVec = unsafe { ::std::mem::zeroed() }; + let user_s: CRustForeignVec = unsafe { ::std::mem::zeroed() }; + #[allow(dead_code)] + fn check_CRustForeignVec_data_type_fn(s: &CRustForeignVec) -> &*const ::std::os::raw::c_void { + &s.data + } + let offset_our = ((&our_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&our_s as *const MyCRustForeignVec) as usize); + let offset_user = ((&user_s.data as *const *const ::std::os::raw::c_void) as usize) - ((&user_s as *const CRustForeignVec) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustForeignVec_len_type_fn(s: &CRustForeignVec) -> &usize { + &s.len + } + let offset_our = ((&our_s.len as *const usize) as usize) - ((&our_s as *const MyCRustForeignVec) as usize); + let offset_user = ((&user_s.len as *const usize) as usize) - ((&user_s as *const CRustForeignVec) as usize); + assert_eq!(offset_our, offset_user); + #[allow(dead_code)] + fn check_CRustForeignVec_capacity_type_fn(s: &CRustForeignVec) -> &usize { + &s.capacity + } + let offset_our = ((&our_s.capacity as *const usize) as usize) - ((&our_s as *const MyCRustForeignVec) as usize); + let offset_user = ((&user_s.capacity as *const usize) as usize) - ((&user_s as *const CRustForeignVec) as usize); + assert_eq!(offset_our, offset_user); +} +impl SwigForeignClass for Foo { + fn c_class_name() -> *const ::std::os::raw::c_char { + swig_c_str!(stringify!(Foo)) + } + fn box_object(this: Self) -> *mut ::std::os::raw::c_void { + let this: Box = Box::new(this); + let this: *mut Foo = Box::into_raw(this); + this as *mut ::std::os::raw::c_void + } + fn unbox_object(p: *mut ::std::os::raw::c_void) -> Self { + let p = p as *mut Foo; + let p: Box = unsafe { Box::from_raw(p) }; + let p: Foo = *p; + p + } +} +#[allow(unused_variables, unused_mut, non_snake_case, unused_unsafe)] +#[no_mangle] +pub extern "C" fn Foo_new(val: i32) -> *const ::std::os::raw::c_void { + let this: Foo = Foo::new(val); + let this: Box = Box::new(this); + let this: *mut Foo = Box::into_raw(this); + this as *const ::std::os::raw::c_void +} +#[allow(non_snake_case, unused_variables, unused_mut, unused_unsafe)] +#[no_mangle] +pub extern "C" fn Foo_f(this: *mut Foo, a: i32, b: i32) -> i32 { + let this: &Foo = unsafe { this.as_mut().unwrap() }; + let mut ret: i32 = Foo::f(this, a, b); + ret +} +#[allow(non_snake_case, unused_variables, unused_mut, unused_unsafe)] +#[no_mangle] +pub extern "C" fn Foo_setField(this: *mut Foo, v: i32) -> () { + let this: &mut Foo = unsafe { this.as_mut().unwrap() }; + let mut ret: () = Foo::set_field(this, v); + ret +} +#[allow(unused_variables, unused_mut, non_snake_case, unused_unsafe)] +#[no_mangle] +pub extern "C" fn Foo_delete(this: *mut Foo) { + let this: Box = unsafe { Box::from_raw(this) }; + drop(this); +} diff --git a/src/lib-cpp/generator/src/cpp_glue.rs.in b/src/lib-cpp/generator/src/cpp_glue.rs.in new file mode 100644 index 00000000..6e714df8 --- /dev/null +++ b/src/lib-cpp/generator/src/cpp_glue.rs.in @@ -0,0 +1,11 @@ +//Automatically generated by rifgen +use crate::*; +foreign_class!( + class Foo { + self_type Foo; + constructor Foo::new(val : i32)->Foo; + fn Foo::f(& self , a : i32 , b : i32)->i32; alias f; + # [doc = "Custom doc comment"] + fn Foo::set_field(& mut self , v : i32); alias setField; + } +); diff --git a/src/lib-cpp/generator/src/lib.rs b/src/lib-cpp/generator/src/lib.rs new file mode 100644 index 00000000..40497aa5 --- /dev/null +++ b/src/lib-cpp/generator/src/lib.rs @@ -0,0 +1,45 @@ +mod cpp_glue; +pub use crate::cpp_glue::*; + +use rifgen::rifgen_attr::*; + +extern crate velopack; + +velopack:: + +pub struct Foo { + data: i32, +} + +impl Foo { + #[generate_interface(constructor)] + fn new(val: i32) -> Foo { + Foo { data: val } + } + #[generate_interface] + fn f(&self, a: i32, b: i32) -> i32 { + self.data + a + b + } + + ///Custom doc comment + #[generate_interface] + fn set_field(&mut self, v: i32) { + self.data = v; + } +} + +fn f2(a: i32) -> i32 { + a * 2 +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_works() { + let foo = Foo::new(5); + assert_eq!(8, foo.f(1, 2)); + } +} + diff --git a/src/lib-cpp/main.cpp b/src/lib-cpp/main.cpp new file mode 100644 index 00000000..e16bffdf --- /dev/null +++ b/src/lib-cpp/main.cpp @@ -0,0 +1,21 @@ +#include +#include + +#include "Foo.hpp" +using namespace velopack_cpp; + +int main() +{ + // ANCHOR: call_rust + Foo foo(5); + int res = foo.f(1, 2); + // ANCHOR_END: call_rust + if (res == 8) { + std::cout << "All works fine\n"; + } + else { + std::cout << "Something really BAD!!!\n"; + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} diff --git a/src/Velopack/Compression/BZip2Stream.cs b/src/lib-csharp/Compression/BZip2Stream.cs similarity index 100% rename from src/Velopack/Compression/BZip2Stream.cs rename to src/lib-csharp/Compression/BZip2Stream.cs diff --git a/src/Velopack/Compression/BinaryPatchUtility.cs b/src/lib-csharp/Compression/BinaryPatchUtility.cs similarity index 100% rename from src/Velopack/Compression/BinaryPatchUtility.cs rename to src/lib-csharp/Compression/BinaryPatchUtility.cs diff --git a/src/Velopack/Compression/ChecksumFailedException.cs b/src/lib-csharp/Compression/ChecksumFailedException.cs similarity index 100% rename from src/Velopack/Compression/ChecksumFailedException.cs rename to src/lib-csharp/Compression/ChecksumFailedException.cs diff --git a/src/Velopack/Compression/DeltaPackage.cs b/src/lib-csharp/Compression/DeltaPackage.cs similarity index 100% rename from src/Velopack/Compression/DeltaPackage.cs rename to src/lib-csharp/Compression/DeltaPackage.cs diff --git a/src/Velopack/Compression/DeltaUpdateExe.cs b/src/lib-csharp/Compression/DeltaUpdateExe.cs similarity index 100% rename from src/Velopack/Compression/DeltaUpdateExe.cs rename to src/lib-csharp/Compression/DeltaUpdateExe.cs diff --git a/src/Velopack/Compression/EasyZip.cs b/src/lib-csharp/Compression/EasyZip.cs similarity index 100% rename from src/Velopack/Compression/EasyZip.cs rename to src/lib-csharp/Compression/EasyZip.cs diff --git a/src/Velopack/Compression/MsDeltaCompression.cs b/src/lib-csharp/Compression/MsDeltaCompression.cs similarity index 100% rename from src/Velopack/Compression/MsDeltaCompression.cs rename to src/lib-csharp/Compression/MsDeltaCompression.cs diff --git a/src/Velopack/Internal/CompiledJson.cs b/src/lib-csharp/Internal/CompiledJson.cs similarity index 100% rename from src/Velopack/Internal/CompiledJson.cs rename to src/lib-csharp/Internal/CompiledJson.cs diff --git a/src/Velopack/Internal/Disposable.cs b/src/lib-csharp/Internal/Disposable.cs similarity index 100% rename from src/Velopack/Internal/Disposable.cs rename to src/lib-csharp/Internal/Disposable.cs diff --git a/src/Velopack/Internal/EnumerableExtensions.cs b/src/lib-csharp/Internal/EnumerableExtensions.cs similarity index 100% rename from src/Velopack/Internal/EnumerableExtensions.cs rename to src/lib-csharp/Internal/EnumerableExtensions.cs diff --git a/src/Velopack/Internal/LoggerExtensions.cs b/src/lib-csharp/Internal/LoggerExtensions.cs similarity index 100% rename from src/Velopack/Internal/LoggerExtensions.cs rename to src/lib-csharp/Internal/LoggerExtensions.cs diff --git a/src/Velopack/Internal/ProcessExtensions.cs b/src/lib-csharp/Internal/ProcessExtensions.cs similarity index 100% rename from src/Velopack/Internal/ProcessExtensions.cs rename to src/lib-csharp/Internal/ProcessExtensions.cs diff --git a/src/Velopack/Internal/SymbolicLink.cs b/src/lib-csharp/Internal/SymbolicLink.cs similarity index 100% rename from src/Velopack/Internal/SymbolicLink.cs rename to src/lib-csharp/Internal/SymbolicLink.cs diff --git a/src/Velopack/Internal/Utility.cs b/src/lib-csharp/Internal/Utility.cs similarity index 100% rename from src/Velopack/Internal/Utility.cs rename to src/lib-csharp/Internal/Utility.cs diff --git a/src/Velopack/Locators/IVelopackLocator.cs b/src/lib-csharp/Locators/IVelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/IVelopackLocator.cs rename to src/lib-csharp/Locators/IVelopackLocator.cs diff --git a/src/Velopack/Locators/LinuxVelopackLocator.cs b/src/lib-csharp/Locators/LinuxVelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/LinuxVelopackLocator.cs rename to src/lib-csharp/Locators/LinuxVelopackLocator.cs diff --git a/src/Velopack/Locators/OsxVelopackLocator.cs b/src/lib-csharp/Locators/OsxVelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/OsxVelopackLocator.cs rename to src/lib-csharp/Locators/OsxVelopackLocator.cs diff --git a/src/Velopack/Locators/TestVelopackLocator.cs b/src/lib-csharp/Locators/TestVelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/TestVelopackLocator.cs rename to src/lib-csharp/Locators/TestVelopackLocator.cs diff --git a/src/Velopack/Locators/VelopackLocator.cs b/src/lib-csharp/Locators/VelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/VelopackLocator.cs rename to src/lib-csharp/Locators/VelopackLocator.cs diff --git a/src/Velopack/Locators/VelopackLocatorExtensions.cs b/src/lib-csharp/Locators/VelopackLocatorExtensions.cs similarity index 100% rename from src/Velopack/Locators/VelopackLocatorExtensions.cs rename to src/lib-csharp/Locators/VelopackLocatorExtensions.cs diff --git a/src/Velopack/Locators/WindowsVelopackLocator.cs b/src/lib-csharp/Locators/WindowsVelopackLocator.cs similarity index 100% rename from src/Velopack/Locators/WindowsVelopackLocator.cs rename to src/lib-csharp/Locators/WindowsVelopackLocator.cs diff --git a/src/Velopack/NuGet/NugetUtil.cs b/src/lib-csharp/NuGet/NugetUtil.cs similarity index 100% rename from src/Velopack/NuGet/NugetUtil.cs rename to src/lib-csharp/NuGet/NugetUtil.cs diff --git a/src/Velopack/NuGet/PackageManifest.cs b/src/lib-csharp/NuGet/PackageManifest.cs similarity index 100% rename from src/Velopack/NuGet/PackageManifest.cs rename to src/lib-csharp/NuGet/PackageManifest.cs diff --git a/src/Velopack/NuGet/ZipPackage.cs b/src/lib-csharp/NuGet/ZipPackage.cs similarity index 100% rename from src/Velopack/NuGet/ZipPackage.cs rename to src/lib-csharp/NuGet/ZipPackage.cs diff --git a/src/Velopack/NuGet/ZipPackageFile.cs b/src/lib-csharp/NuGet/ZipPackageFile.cs similarity index 100% rename from src/Velopack/NuGet/ZipPackageFile.cs rename to src/lib-csharp/NuGet/ZipPackageFile.cs diff --git a/src/Velopack/Properties/AssemblyInfo.cs b/src/lib-csharp/Properties/AssemblyInfo.cs similarity index 100% rename from src/Velopack/Properties/AssemblyInfo.cs rename to src/lib-csharp/Properties/AssemblyInfo.cs diff --git a/src/Velopack/RID.cs b/src/lib-csharp/RID.cs similarity index 100% rename from src/Velopack/RID.cs rename to src/lib-csharp/RID.cs diff --git a/src/Velopack/ReleaseEntry.cs b/src/lib-csharp/ReleaseEntry.cs similarity index 100% rename from src/Velopack/ReleaseEntry.cs rename to src/lib-csharp/ReleaseEntry.cs diff --git a/src/Velopack/Sources/GitBase.cs b/src/lib-csharp/Sources/GitBase.cs similarity index 100% rename from src/Velopack/Sources/GitBase.cs rename to src/lib-csharp/Sources/GitBase.cs diff --git a/src/Velopack/Sources/GiteaSource.cs b/src/lib-csharp/Sources/GiteaSource.cs similarity index 100% rename from src/Velopack/Sources/GiteaSource.cs rename to src/lib-csharp/Sources/GiteaSource.cs diff --git a/src/Velopack/Sources/GithubSource.cs b/src/lib-csharp/Sources/GithubSource.cs similarity index 100% rename from src/Velopack/Sources/GithubSource.cs rename to src/lib-csharp/Sources/GithubSource.cs diff --git a/src/Velopack/Sources/GitlabSource.cs b/src/lib-csharp/Sources/GitlabSource.cs similarity index 100% rename from src/Velopack/Sources/GitlabSource.cs rename to src/lib-csharp/Sources/GitlabSource.cs diff --git a/src/Velopack/Sources/HttpClientFileDownloader.cs b/src/lib-csharp/Sources/HttpClientFileDownloader.cs similarity index 100% rename from src/Velopack/Sources/HttpClientFileDownloader.cs rename to src/lib-csharp/Sources/HttpClientFileDownloader.cs diff --git a/src/Velopack/Sources/IFileDownloader.cs b/src/lib-csharp/Sources/IFileDownloader.cs similarity index 100% rename from src/Velopack/Sources/IFileDownloader.cs rename to src/lib-csharp/Sources/IFileDownloader.cs diff --git a/src/Velopack/Sources/IUpdateSource.cs b/src/lib-csharp/Sources/IUpdateSource.cs similarity index 100% rename from src/Velopack/Sources/IUpdateSource.cs rename to src/lib-csharp/Sources/IUpdateSource.cs diff --git a/src/Velopack/Sources/SimpleFileSource.cs b/src/lib-csharp/Sources/SimpleFileSource.cs similarity index 100% rename from src/Velopack/Sources/SimpleFileSource.cs rename to src/lib-csharp/Sources/SimpleFileSource.cs diff --git a/src/Velopack/Sources/SimpleWebSource.cs b/src/lib-csharp/Sources/SimpleWebSource.cs similarity index 100% rename from src/Velopack/Sources/SimpleWebSource.cs rename to src/lib-csharp/Sources/SimpleWebSource.cs diff --git a/src/Velopack/Sources/VelopackFlowUpdateSource.cs b/src/lib-csharp/Sources/VelopackFlowUpdateSource.cs similarity index 100% rename from src/Velopack/Sources/VelopackFlowUpdateSource.cs rename to src/lib-csharp/Sources/VelopackFlowUpdateSource.cs diff --git a/src/Velopack/UpdateExe.cs b/src/lib-csharp/UpdateExe.cs similarity index 100% rename from src/Velopack/UpdateExe.cs rename to src/lib-csharp/UpdateExe.cs diff --git a/src/Velopack/UpdateInfo.cs b/src/lib-csharp/UpdateInfo.cs similarity index 100% rename from src/Velopack/UpdateInfo.cs rename to src/lib-csharp/UpdateInfo.cs diff --git a/src/Velopack/UpdateManager.Helpers.cs b/src/lib-csharp/UpdateManager.Helpers.cs similarity index 100% rename from src/Velopack/UpdateManager.Helpers.cs rename to src/lib-csharp/UpdateManager.Helpers.cs diff --git a/src/Velopack/UpdateManager.cs b/src/lib-csharp/UpdateManager.cs similarity index 100% rename from src/Velopack/UpdateManager.cs rename to src/lib-csharp/UpdateManager.cs diff --git a/src/Velopack/UpdateOptions.cs b/src/lib-csharp/UpdateOptions.cs similarity index 100% rename from src/Velopack/UpdateOptions.cs rename to src/lib-csharp/UpdateOptions.cs diff --git a/src/Velopack/Velopack.csproj b/src/lib-csharp/Velopack.csproj similarity index 100% rename from src/Velopack/Velopack.csproj rename to src/lib-csharp/Velopack.csproj diff --git a/src/Velopack/VelopackApp.cs b/src/lib-csharp/VelopackApp.cs similarity index 100% rename from src/Velopack/VelopackApp.cs rename to src/lib-csharp/VelopackApp.cs diff --git a/src/Velopack/VelopackAsset.cs b/src/lib-csharp/VelopackAsset.cs similarity index 100% rename from src/Velopack/VelopackAsset.cs rename to src/lib-csharp/VelopackAsset.cs diff --git a/src/Velopack/VelopackRuntimeInfo.cs b/src/lib-csharp/VelopackRuntimeInfo.cs similarity index 100% rename from src/Velopack/VelopackRuntimeInfo.cs rename to src/lib-csharp/VelopackRuntimeInfo.cs diff --git a/src/Velopack/Windows/RuntimeInfo.cs b/src/lib-csharp/Windows/RuntimeInfo.cs similarity index 100% rename from src/Velopack/Windows/RuntimeInfo.cs rename to src/lib-csharp/Windows/RuntimeInfo.cs diff --git a/src/Velopack/Windows/Runtimes.cs b/src/lib-csharp/Windows/Runtimes.cs similarity index 100% rename from src/Velopack/Windows/Runtimes.cs rename to src/lib-csharp/Windows/Runtimes.cs diff --git a/src/Velopack/Windows/ShellLink.cs b/src/lib-csharp/Windows/ShellLink.cs similarity index 100% rename from src/Velopack/Windows/ShellLink.cs rename to src/lib-csharp/Windows/ShellLink.cs diff --git a/src/Velopack/Windows/Shortcuts.cs b/src/lib-csharp/Windows/Shortcuts.cs similarity index 100% rename from src/Velopack/Windows/Shortcuts.cs rename to src/lib-csharp/Windows/Shortcuts.cs diff --git a/src/lib-rust/Cargo.lock b/src/lib-rust/Cargo.lock new file mode 100644 index 00000000..9db2a434 --- /dev/null +++ b/src/lib-rust/Cargo.lock @@ -0,0 +1,1543 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +dependencies = [ + "concurrent-queue", + "event-listener 5.1.0", + "event-listener-strategy 0.5.0", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +dependencies = [ + "async-lock 3.3.0", + "async-task", + "concurrent-queue", + "fastrand 2.0.1", + "futures-lite 2.2.0", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +dependencies = [ + "async-channel 2.2.0", + "async-executor", + "async-io 2.3.1", + "async-lock 3.3.0", + "blocking", + "futures-lite 2.2.0", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" +dependencies = [ + "async-lock 3.3.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.2.0", + "parking", + "polling 3.5.0", + "rustix 0.38.31", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel 1.9.0", + "async-global-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 1.13.0", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel 2.2.0", + "async-lock 3.3.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.2.0", + "piper", + "tracing", +] + +[[package]] +name = "bumpalo" +version = "3.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cc" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3286b845d0fccbdd15af433f61c5970e711987036cb468f437ff6badd70f4e24" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets 0.52.3", +] + +[[package]] +name = "clap" +version = "4.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "concurrent-queue" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "crc32fast" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.1.0", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "file-rotate" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf221ceec4517f3cb764dae3541b2bd87666fc8832e51322fbb97250b468c71" +dependencies = [ + "chrono", + "flate2", +] + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +dependencies = [ + "fastrand 2.0.1", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "hermit-abi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60" + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "js-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +dependencies = [ + "value-bag", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +dependencies = [ + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.31", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "simplelog" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" +dependencies = [ + "log", + "termcolor", + "time", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +dependencies = [ + "cfg-if", + "fastrand 2.0.1", + "rustix 0.38.31", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "ureq" +version = "2.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" +dependencies = [ + "base64", + "flate2", + "log", + "native-tls", + "once_cell", + "url", +] + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "value-bag" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126e423afe2dd9ac52142e7e9d5ce4135d7e13776c529d27fd6bc49f19e3280b" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "velopack" +version = "0.0.0-local" +dependencies = [ + "anyhow", + "async-std", + "clap", + "derivative", + "file-rotate", + "glob", + "log", + "native-tls", + "semver", + "serde", + "serde_json", + "simplelog", + "ureq", + "url", + "xml", + "zip", + "zstd", +] + +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + +[[package]] +name = "wasm-bindgen" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.50", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" + +[[package]] +name = "web-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" +dependencies = [ + "windows_aarch64_gnullvm 0.52.3", + "windows_aarch64_msvc 0.52.3", + "windows_i686_gnu 0.52.3", + "windows_i686_msvc 0.52.3", + "windows_x86_64_gnu 0.52.3", + "windows_x86_64_gnullvm 0.52.3", + "windows_x86_64_msvc 0.52.3", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" + +[[package]] +name = "xml" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cb5b0add8d5aaa69357818de5f3b60104a62ef345dca81d0947e2148347a7f7" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "byteorder", + "crc32fast", + "crossbeam-utils", + "flate2", +] + +[[package]] +name = "zstd" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/src/lib-rust/Cargo.toml b/src/lib-rust/Cargo.toml new file mode 100644 index 00000000..b99eb263 --- /dev/null +++ b/src/lib-rust/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "velopack" +version = "0.0.0-local" +edition = "2021" +description = "Installer and automatic updates for cross-platform desktop applications" +readme = "readme.md" +exclude = ["/samples"] + +[features] +default = ["zstd"] +delta = ["zstd"] +async = ["async-std"] + +[package.metadata.docs.rs] +features = ["async", "zstd"] + +[lib] +name = "velopack" +path = "src/lib.rs" + +[dependencies] +log = "0.4" +native-tls = "0.2" +ureq = { version = "2.10", default-features = false, features = ["native-tls", "gzip"] } +url = "2.5" +semver = "1.0" +xml = "0.8" +derivative = "2.2" +glob = "0.3" +serde = { version = "1.0", features = ["derive"] } +serde_json = { version = "1.0" } +zip = { version = "2.1", default-features = false, features = ["deflate"] } +thiserror = "1.0" + +# delta packages +zstd = { version = "0.13", optional = true } + +# async +async-std = { version = "1.5", optional = true } diff --git a/src/lib-rust/README.md b/src/lib-rust/README.md new file mode 100644 index 00000000..75a88620 --- /dev/null +++ b/src/lib-rust/README.md @@ -0,0 +1,19 @@ +# Velopack +Velopack is an installation and auto-update framework for cross-platform applications. It's opinionated, extremely easy to use with zero config needed. With just one command you can be up and running with an installable application, and it's lightning fast for your users, too. + +## Features + +- 😍 **Zero config** – Velopack takes your compiler output and generates an installer, updates, delta packages, and self-updating portable package in just one command. +- 🎯 **Cross platform** – Velopack supports building packages for **Windows**, **OSX**, and **Linux**, so you can use one solution for every target. +- 🚀 **Automatic migrations** - If you are coming from other popular frameworks (eg. [Squirrel](https://github.com/Squirrel/Squirrel.Windows)), Velopack can automatically migrate your application. +- ⚡️ **Lightning fast** – Velopack is written in Rust for native performance. Delta packages mean your user only downloads what's changed between versions. +- 📔 **Language agnostic** - With support for C#, C++, JS, Rust and more. Use a familiar API for updates no matter what language your project is. + +## Documentation +- 📖 [Read the docs](https://docs.rs/velopack/) +- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start) +- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps) + +## Community +- ❓ Ask questions, get support, or discuss ideas on [our Discord server](https://discord.gg/CjrCrNzd3F) +- 🗣️ Report bugs on [GitHub Issues](https://github.com/velopack/velopack/issues) \ No newline at end of file diff --git a/src/lib-rust/samples/iced/Cargo.lock b/src/lib-rust/samples/iced/Cargo.lock new file mode 100644 index 00000000..044aa0b7 --- /dev/null +++ b/src/lib-rust/samples/iced/Cargo.lock @@ -0,0 +1,3939 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + +[[package]] +name = "android-activity" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +dependencies = [ + "android-properties", + "bitflags 2.4.2", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +dependencies = [ + "concurrent-queue", + "event-listener 5.1.0", + "event-listener-strategy 0.5.0", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +dependencies = [ + "async-lock 3.3.0", + "async-task", + "concurrent-queue", + "fastrand 2.0.1", + "futures-lite 2.2.0", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +dependencies = [ + "async-channel 2.2.0", + "async-executor", + "async-io 2.3.1", + "async-lock 3.3.0", + "blocking", + "futures-lite 2.2.0", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" +dependencies = [ + "async-lock 3.3.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.2.0", + "parking", + "polling 3.5.0", + "rustix 0.38.31", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.31", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io 2.3.1", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.31", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel 1.9.0", + "async-global-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 1.13.0", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +dependencies = [ + "block-sys", + "objc2", +] + +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel 2.2.0", + "async-lock 3.3.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.2.0", + "piper", + "tracing", +] + +[[package]] +name = "bumpalo" +version = "3.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" + +[[package]] +name = "bytemuck" +version = "1.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "calloop" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" +dependencies = [ + "bitflags 2.4.2", + "log", + "polling 3.5.0", + "rustix 0.38.31", + "slab", + "thiserror", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +dependencies = [ + "calloop", + "rustix 0.38.31", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "cc" +version = "1.0.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" +dependencies = [ + "libc", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + +[[package]] +name = "clipboard-win" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f9a0700e0127ba15d1d52dd742097f821cd9c65939303a44d970465040a297" +dependencies = [ + "error-code", +] + +[[package]] +name = "clipboard_macos" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145a7f9e9b89453bc0a5e32d166456405d389cea5b578f57f1274b1397588a95" +dependencies = [ + "objc", + "objc-foundation", + "objc_id", +] + +[[package]] +name = "clipboard_wayland" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003f886bc4e2987729d10c1db3424e7f80809f3fc22dbc16c685738887cb37b8" +dependencies = [ + "smithay-clipboard", +] + +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4274ea815e013e0f9f04a2633423e14194e408a0576c943ce3d14ca56c50031c" +dependencies = [ + "thiserror", + "x11rb", +] + +[[package]] +name = "cocoa" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types 0.5.0", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "com" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core-graphics" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cosmic-text" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75acbfb314aeb4f5210d379af45ed1ec2c98c7f1790bf57b8a4c562ac0c51b71" +dependencies = [ + "fontdb", + "libm", + "log", + "rangemap", + "rustc-hash", + "rustybuzz", + "self_cell", + "swash", + "sys-locale", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", +] + +[[package]] +name = "crc32fast" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "ctor" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" +dependencies = [ + "quote", + "syn 2.0.50", +] + +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + +[[package]] +name = "d3d12" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" +dependencies = [ + "bitflags 2.4.2", + "libloading 0.8.1", + "winapi", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.8.1", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.4.2", + "bytemuck", + "drm-ffi", + "drm-fourcc", + "rustix 0.38.31", +] + +[[package]] +name = "drm-ffi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" +dependencies = [ + "drm-sys", + "rustix 0.38.31", +] + +[[package]] +name = "drm-fourcc" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" + +[[package]] +name = "drm-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.4", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "error-code" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26a147e1a6641a55d994b3e4e9fa4d9b180c8d652c09b363af8c9bf1b8e04139" + +[[package]] +name = "etagere" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e" +dependencies = [ + "euclid", + "svg_fmt", +] + +[[package]] +name = "euclid" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +dependencies = [ + "num-traits", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.1.0", + "pin-project-lite", +] + +[[package]] +name = "fast-srgb8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "font-types" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd7f3ea17572640b606b35df42cfb6ecdf003704b062580e59918692190b73d" + +[[package]] +name = "fontconfig-parser" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d" +dependencies = [ + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2 0.8.0", + "slotmap", + "tinyvec", + "ttf-parser 0.19.2", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +dependencies = [ + "fastrand 2.0.1", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glam" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "glow" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "glyphon" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a62d0338e4056db6a73221c2fb2e30619452f6ea9651bac4110f51b0f7a7581" +dependencies = [ + "cosmic-text", + "etagere", + "lru", + "wgpu", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.4.2", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.4.2", +] + +[[package]] +name = "gpu-allocator" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +dependencies = [ + "log", + "presser", + "thiserror", + "winapi", + "windows", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +dependencies = [ + "bitflags 2.4.2", + "gpu-descriptor-types", + "hashbrown", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +dependencies = [ + "bitflags 2.4.2", +] + +[[package]] +name = "guillotiere" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" +dependencies = [ + "euclid", + "svg_fmt", +] + +[[package]] +name = "half" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hassle-rs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" +dependencies = [ + "bitflags 2.4.2", + "com", + "libc", + "libloading 0.8.1", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "hermit-abi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "iced" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d4eb0fbbefb8c428b70680e77ed9013887b17c1d6be366b40f264f956d1a096" +dependencies = [ + "iced_core", + "iced_futures", + "iced_renderer", + "iced_widget", + "iced_winit", + "thiserror", +] + +[[package]] +name = "iced_core" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f68104cc550807c6c350c13095b1866f08e53c951b540eb122eee67d86b0ab" +dependencies = [ + "bitflags 2.4.2", + "glam", + "log", + "num-traits", + "palette", + "raw-window-handle", + "smol_str", + "thiserror", + "web-time", + "xxhash-rust", +] + +[[package]] +name = "iced_futures" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "370bad88fb3832cbeeb3fa6c486b4701fb7e8da32a753b3101d4ce81fc1d9497" +dependencies = [ + "async-std", + "futures", + "iced_core", + "log", + "wasm-bindgen-futures", + "wasm-timer", +] + +[[package]] +name = "iced_graphics" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a044c193ef0840eacabfa05424717331d1fc5b3ecb9a89316200c75da2ba9a4" +dependencies = [ + "bitflags 2.4.2", + "bytemuck", + "cosmic-text", + "half", + "iced_core", + "iced_futures", + "log", + "once_cell", + "raw-window-handle", + "rustc-hash", + "thiserror", + "unicode-segmentation", + "xxhash-rust", +] + +[[package]] +name = "iced_renderer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c281e03001d566058f53dec9325bbe61c62da715341206d2627f57a3ecc7f69" +dependencies = [ + "iced_graphics", + "iced_tiny_skia", + "iced_wgpu", + "log", + "thiserror", +] + +[[package]] +name = "iced_runtime" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a79f852c01cc6d61663c94379cb3974ac3ad315a28c504e847d573e094f46822" +dependencies = [ + "iced_core", + "iced_futures", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "iced_style" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ea42a740915d2a5a9ff9c3aa0bca28b16e9fb660bc8f675eed71d186cadb579" +dependencies = [ + "iced_core", + "once_cell", + "palette", +] + +[[package]] +name = "iced_tiny_skia" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2228781f4d381a1cbbd7905a9f077351aa8d37269094021d5d9e779f130aff" +dependencies = [ + "bytemuck", + "cosmic-text", + "iced_graphics", + "kurbo", + "log", + "rustc-hash", + "softbuffer", + "tiny-skia", + "xxhash-rust", +] + +[[package]] +name = "iced_wgpu" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c243b6700452886aac1ee1987e84d9fb43b56b53fea9a1eb67713fd0fde244" +dependencies = [ + "bitflags 2.4.2", + "bytemuck", + "futures", + "glam", + "glyphon", + "guillotiere", + "iced_graphics", + "log", + "once_cell", + "wgpu", +] + +[[package]] +name = "iced_widget" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86d9065d7880c1156651a54f88366d29e21ed9fd42860b8119e93dcb8f519080" +dependencies = [ + "iced_renderer", + "iced_runtime", + "iced_style", + "num-traits", + "thiserror", + "unicode-segmentation", +] + +[[package]] +name = "iced_winit" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2cb4d4e2566f4f5ebf5d818cb57a881fa13972db39d717ebfd9a28acb3be3dd" +dependencies = [ + "iced_graphics", + "iced_runtime", + "iced_style", + "log", + "thiserror", + "tracing", + "web-sys", + "winapi", + "window_clipboard", + "winit", +] + +[[package]] +name = "icrate" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" +dependencies = [ + "block2", + "dispatch", + "objc2", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading 0.8.1", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "kurbo" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440" +dependencies = [ + "arrayvec", + "smallvec", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.2", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.4.2", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "linux-raw-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +dependencies = [ + "value-bag", +] + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memmap2" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" +dependencies = [ + "libc", +] + +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.4.2", + "block", + "core-graphics-types", + "foreign-types 0.5.0", + "log", + "objc", + "paste", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "naga" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899" +dependencies = [ + "bit-set", + "bitflags 2.4.2", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.4.2", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" + +[[package]] +name = "objc2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "orbclient" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox 0.0.2", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "owned_ttf_parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +dependencies = [ + "ttf-parser 0.20.0", +] + +[[package]] +name = "palette" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebfc23a4b76642983d57e4ad00bb4504eb30a8ce3c70f4aee1f725610e36d97a" +dependencies = [ + "approx", + "fast-srgb8", + "palette_derive", + "phf", +] + +[[package]] +name = "palette_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "png" +version = "0.17.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +dependencies = [ + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.31", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "range-alloc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" + +[[package]] +name = "rangemap" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "795915a3930a5d6bafd9053d37602fea3e61be2e5d4d788983a8ba9654c1c6f2" + +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + +[[package]] +name = "read-fonts" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c044ab88c43e2eae05b34a17fc13598736679fdb03d71b49fcfe114443ec8a86" +dependencies = [ + "font-types", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom", + "libredox 0.0.1", + "thiserror", +] + +[[package]] +name = "renderdoc-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" + +[[package]] +name = "roxmltree" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustybuzz" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee8fe2a8461a0854a37101fe7a1b13998d0cfa987e43248e81d2a5f4570f6fa" +dependencies = [ + "bitflags 1.3.2", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.20.0", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sctk-adwaita" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550" +dependencies = [ + "ab_glyph", + "log", + "memmap2 0.9.4", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "self_cell" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" + +[[package]] +name = "smithay-client-toolkit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" +dependencies = [ + "bitflags 2.4.2", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2 0.9.4", + "rustix 0.38.31", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d" +dependencies = [ + "libc", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "softbuffer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9" +dependencies = [ + "as-raw-xcb-connection", + "bytemuck", + "cfg_aliases 0.2.0", + "cocoa", + "core-graphics", + "drm", + "fastrand 2.0.1", + "foreign-types 0.5.0", + "js-sys", + "log", + "memmap2 0.9.4", + "objc", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.31", + "tiny-xlib", + "wasm-bindgen", + "wayland-backend", + "wayland-client", + "wayland-sys", + "web-sys", + "windows-sys 0.52.0", + "x11rb", +] + +[[package]] +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +dependencies = [ + "bitflags 2.4.2", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" + +[[package]] +name = "svg_fmt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" + +[[package]] +name = "swash" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d06ff4664af8923625604261c645f5c4cc610cc83c84bec74b50d76237089de7" +dependencies = [ + "read-fonts", + "yazi", + "zeno", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sys-locale" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0" +dependencies = [ + "libc", +] + +[[package]] +name = "tempfile" +version = "3.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +dependencies = [ + "cfg-if", + "fastrand 2.0.1", + "rustix 0.38.31", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tiny-xlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d" +dependencies = [ + "as-raw-xcb-connection", + "ctor", + "libloading 0.8.1", + "tracing", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "nu-ansi-term", + "sharded-slab", + "smallvec", + "thread_local", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "ttf-parser" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1" + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-bidi-mirroring" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" + +[[package]] +name = "unicode-ccc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + +[[package]] +name = "unicode-script" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "ureq" +version = "2.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" +dependencies = [ + "base64", + "flate2", + "log", + "native-tls", + "once_cell", + "url", +] + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "uuid" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +dependencies = [ + "getrandom", + "rand", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "value-bag" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126e423afe2dd9ac52142e7e9d5ce4135d7e13776c529d27fd6bc49f19e3280b" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "velopack" +version = "0.0.0-local" +dependencies = [ + "anyhow", + "async-std", + "derivative", + "glob", + "log", + "native-tls", + "semver", + "serde", + "serde_json", + "ureq", + "url", + "xml", + "zip", +] + +[[package]] +name = "velorusticedsample" +version = "0.0.1" +dependencies = [ + "anyhow", + "async-std", + "directories-next", + "iced", + "once_cell", + "serde", + "serde_json", + "tracing-subscriber", + "uuid", + "velopack", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.50", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wayland-backend" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" +dependencies = [ + "cc", + "downcast-rs", + "rustix 0.38.31", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" +dependencies = [ + "bitflags 2.4.2", + "rustix 0.38.31", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.4.2", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" +dependencies = [ + "rustix 0.38.31", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wgpu" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d" +dependencies = [ + "arrayvec", + "cfg-if", + "cfg_aliases 0.1.1", + "js-sys", + "log", + "naga", + "parking_lot 0.12.1", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.4.2", + "cfg_aliases 0.1.1", + "codespan-reporting", + "indexmap", + "log", + "naga", + "once_cell", + "parking_lot 0.12.1", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.4.2", + "block", + "cfg_aliases 0.1.1", + "core-graphics-types", + "d3d12", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.1", + "log", + "metal", + "naga", + "objc", + "once_cell", + "parking_lot 0.12.1", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2" +dependencies = [ + "bitflags 2.4.2", + "js-sys", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window_clipboard" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d692d46038c433f9daee7ad8757e002a4248c20b0a3fbc991d99521d3bcb6d" +dependencies = [ + "clipboard-win", + "clipboard_macos", + "clipboard_wayland", + "clipboard_x11", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" +dependencies = [ + "windows_aarch64_gnullvm 0.52.3", + "windows_aarch64_msvc 0.52.3", + "windows_i686_gnu 0.52.3", + "windows_i686_msvc 0.52.3", + "windows_x86_64_gnu 0.52.3", + "windows_x86_64_gnullvm 0.52.3", + "windows_x86_64_msvc 0.52.3", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" + +[[package]] +name = "winit" +version = "0.29.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.4.2", + "bytemuck", + "calloop", + "cfg_aliases 0.1.1", + "core-foundation", + "core-graphics", + "cursor-icon", + "icrate", + "js-sys", + "libc", + "log", + "memmap2 0.9.4", + "ndk", + "ndk-sys", + "objc2", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle", + "redox_syscall 0.3.5", + "rustix 0.38.31", + "sctk-adwaita", + "smithay-client-toolkit", + "smol_str", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.48.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading 0.8.1", + "once_cell", + "rustix 0.38.31", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + +[[package]] +name = "xcursor" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.4.2", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" + +[[package]] +name = "xml" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cb5b0add8d5aaa69357818de5f3b60104a62ef345dca81d0947e2148347a7f7" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "xxhash-rust" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" + +[[package]] +name = "yazi" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" + +[[package]] +name = "zeno" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "byteorder", + "crc32fast", + "crossbeam-utils", + "flate2", +] diff --git a/src/lib-rust/samples/iced/Cargo.toml b/src/lib-rust/samples/iced/Cargo.toml new file mode 100644 index 00000000..ba69475e --- /dev/null +++ b/src/lib-rust/samples/iced/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "velorusticedsample" +version = "0.0.1" +edition = "2021" +publish = false + +[dependencies] +anyhow = "1.0" +iced = { version = "0.12", features = ["async-std", "debug"] } +async-std = "1.5" +once_cell = "1.19" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +uuid = { version = "1.0", features = ["v4", "fast-rng", "serde"] } +directories-next = "2.0" +tracing-subscriber = "0.3" +velopack = { path = "../../", features = ["async"]} \ No newline at end of file diff --git a/src/lib-rust/samples/iced/Velopack.icns b/src/lib-rust/samples/iced/Velopack.icns new file mode 100644 index 00000000..11d77901 Binary files /dev/null and b/src/lib-rust/samples/iced/Velopack.icns differ diff --git a/src/lib-rust/samples/iced/Velopack.png b/src/lib-rust/samples/iced/Velopack.png new file mode 100644 index 00000000..c278b606 Binary files /dev/null and b/src/lib-rust/samples/iced/Velopack.png differ diff --git a/src/lib-rust/samples/iced/build-osx.sh b/src/lib-rust/samples/iced/build-osx.sh new file mode 100644 index 00000000..bd31dcc0 --- /dev/null +++ b/src/lib-rust/samples/iced/build-osx.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Find the absolute path of the script +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Check if version parameter is provided +if [ "$#" -ne 1 ]; then + echo "Version number is required." + echo "Usage: ./build.sh [version]" + exit 1 +fi + +BUILD_VERSION="$1" +RELEASE_DIR="$SCRIPT_DIR/releases" +PUBLISH_DIR="$SCRIPT_DIR/publish" +ICON_PATH="$SCRIPT_DIR/Velopack.icns" + +echo "" +echo "Compiling Rust/Iced with cargo..." +cargo build -r +mkdir publish +cp target/release/velorusticedsample publish/VeloRustIcedSample + +echo "" +echo "Building Velopack Release v$BUILD_VERSION" +vpk pack -u VeloRustIcedSample -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" -i "$ICON_PATH" \ No newline at end of file diff --git a/src/lib-rust/samples/iced/build-win.bat b/src/lib-rust/samples/iced/build-win.bat new file mode 100644 index 00000000..75b8feed --- /dev/null +++ b/src/lib-rust/samples/iced/build-win.bat @@ -0,0 +1,20 @@ +@echo off +setlocal enabledelayedexpansion + +if "%~1"=="" ( + echo Version number is required. + echo Usage: build.bat [version] [extra_args...] + exit /b 1 +) + +cd %~dp0 + +echo. +echo Building Iced/Rust +cargo build + +echo. +echo Building Velopack Release v%~1 +mkdir publish +move target\debug\velorusticedsample.exe publish\velorusticedsample.exe +vpk pack -u VeloRustIcedSample -o releases -p publish -v %* \ No newline at end of file diff --git a/src/lib-rust/samples/iced/build.rs b/src/lib-rust/samples/iced/build.rs new file mode 100644 index 00000000..e365b25d --- /dev/null +++ b/src/lib-rust/samples/iced/build.rs @@ -0,0 +1,7 @@ +use std::path::Path; + +fn main() { + let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap(); + let releases_dir = Path::new(&manifest_dir).join("releases"); + println!("cargo:rustc-env=RELEASES_DIR={}", releases_dir.to_string_lossy()); +} \ No newline at end of file diff --git a/src/lib-rust/samples/iced/src/main.rs b/src/lib-rust/samples/iced/src/main.rs new file mode 100644 index 00000000..44d9fe36 --- /dev/null +++ b/src/lib-rust/samples/iced/src/main.rs @@ -0,0 +1,135 @@ +#![windows_subsystem = "windows"] +use anyhow::Result; +use iced::theme::Theme; +use iced::widget::{Button, Column, Text}; +use iced::{Command, Application}; + +use velopack::*; + +#[derive(Debug, Clone)] +pub enum Message { + CheckForUpdates, + UpdatesFound(Option), + DownloadUpdates, + DownloadProgress(i16), + DownloadComplete, + Restart, +} + +pub struct GUI { + update_manager: Option>, + state: GUIState, + current_version: Option, + update_info: Option, + download_progress: i16, +} + +#[derive(Debug, Clone)] +pub enum GUIState { + NotInstalled, + Idle, + Checking, + UpdatesAvailable, + Downloading, + ReadyToRestart, +} + +fn main() -> Result<()> { + VelopackApp::build().run(); + let mut set = iced::Settings::default(); + set.window.size = iced::Size { width: 400.0, height: 200.0 }; + GUI::run(set)?; + Ok(()) +} + +impl Application for GUI { + type Message = Message; + type Theme = Theme; + type Executor = iced::executor::Default; + type Flags = (); + + fn new(_flags: ()) -> (Self, Command) { + let sounce = sources::FileSource::new(env!("RELEASES_DIR")); + let um = UpdateManager::new(sounce, None); + let mut version: Option = None; + let mut state = GUIState::NotInstalled; + if um.is_ok() { + state = GUIState::Idle; + version = Some(um.as_ref().unwrap().current_version().unwrap()); + } + + let gui = Self { update_manager: um.ok(), state: state, current_version: version, update_info: None, download_progress: 0 }; + (gui, iced::Command::none()) + } + + fn title(&self) -> String { + String::from("Velopack Rust Demo") + } + + fn update(&mut self, message: Self::Message) -> iced::Command { + match message { + Message::CheckForUpdates => { + self.state = GUIState::Checking; + iced::Command::perform(self.update_manager.as_ref().unwrap().check_for_updates_async(), |result| match result { + Ok(update_info) => Message::UpdatesFound(update_info), + Err(_) => { + // Handle the error case, perhaps by logging or setting an error state + // For simplicity, we're sending a None update here, but you should handle errors appropriately + Message::UpdatesFound(None) + } + }) + } + Message::UpdatesFound(update) => { + self.update_info = update; + self.state = match self.update_info { + Some(_) => GUIState::UpdatesAvailable, + None => GUIState::Idle, + }; + iced::Command::none() + } + Message::DownloadUpdates => { + self.state = GUIState::Downloading; + let update_info = self.update_info.clone().unwrap(); // Ensure you handle this safely in your actual code + iced::Command::perform(self.update_manager.as_ref().unwrap().download_updates_async(&update_info, None), |_| Message::DownloadComplete) + } + Message::DownloadProgress(progress) => { + self.download_progress = progress; + iced::Command::none() + } + Message::DownloadComplete => { + self.state = GUIState::ReadyToRestart; + iced::Command::none() + } + Message::Restart => { + let update_info = self.update_info.clone().unwrap(); // Ensure you handle this safely in your actual code + self.update_manager.as_ref().unwrap().apply_updates_and_restart(update_info, RestartArgs::None).unwrap(); + iced::Command::none() + } + } + } + + fn view(&self) -> iced::Element { + let content = match self.state { + GUIState::NotInstalled => Column::new() + .push(Text::new("Can't check for updates if not installed")), + GUIState::Idle => Column::new() + .push(Text::new(format!("Current version: {}", self.current_version.as_ref().unwrap_or(&"Unknown".to_string())))) + .push(Button::new(Text::new("Check for updates")).on_press(Message::CheckForUpdates)), + GUIState::Checking => Column::new() + .push(Text::new("Checking for updates...")), + GUIState::UpdatesAvailable => { + let update_version = self.update_info.as_ref().map_or("Unknown", |info| &info.TargetFullRelease.Version); + Column::new() + .push(Text::new(format!("Update available: {}", update_version))) + .push(Button::new(Text::new("Download updates")).on_press(Message::DownloadUpdates)) + }, + GUIState::Downloading => Column::new() + .push(Text::new(format!("Downloading updates... Progress: {}%", self.download_progress))), + GUIState::ReadyToRestart => Column::new() + .push(Text::new("Updates downloaded. Ready to restart.")) + .push(Button::new(Text::new("Restart")).on_press(Message::Restart)), + }; + + content.into() + } +} diff --git a/src/lib-rust/src/app.rs b/src/lib-rust/src/app.rs new file mode 100644 index 00000000..0c4af530 --- /dev/null +++ b/src/lib-rust/src/app.rs @@ -0,0 +1,24 @@ +use std::process::exit; + +/// The main VelopackApp struct. This is the main entry point for your app. +pub struct VelopackApp {} + +impl VelopackApp { + /// Create a new VelopackApp instance. + pub fn build() -> Self { + VelopackApp {} + } + /// Runs the Velopack startup logic. This should be the first thing to run in your app. + /// In some circumstances it may terminate/restart the process to perform tasks. + pub fn run(&self) { + for (_, arg) in std::env::args().enumerate() { + match arg.to_ascii_lowercase().as_str() { + "--veloapp-install" => exit(0), + "--veloapp-updated" => exit(0), + "--veloapp-obsolete" => exit(0), + "--veloapp-uninstall" => exit(0), + _ => {} + } + } + } +} diff --git a/src/lib-rust/src/bundle.rs b/src/lib-rust/src/bundle.rs new file mode 100644 index 00000000..9c248788 --- /dev/null +++ b/src/lib-rust/src/bundle.rs @@ -0,0 +1,161 @@ +use std::{ + cell::RefCell, + fs::{self, File}, + io::{Read, Seek, Write}, + path::{Path, PathBuf}, + rc::Rc, +}; + +use zip::ZipArchive; + +use crate::{Error, manifest::*, util}; + +pub trait ReadSeek: Read + Seek {} + +impl ReadSeek for T {} + +#[derive(Clone)] +pub struct BundleZip<'a> { + zip: Rc>>>, +} + +#[allow(dead_code)] +pub fn load_bundle_from_file<'a, P: AsRef>(file_name: P) -> Result, Error> { + let file_name = file_name.as_ref(); + debug!("Loading bundle from file '{}'...", file_name.to_string_lossy()); + let file = util::retry_io(|| File::open(&file_name))?; + let cursor: Box = Box::new(file); + let zip = ZipArchive::new(cursor)?; + Ok(BundleZip { zip: Rc::new(RefCell::new(zip)) }) +} + +#[allow(dead_code)] +impl BundleZip<'_> { + pub fn calculate_size(&self) -> (u64, u64) { + let mut total_uncompressed_size = 0u64; + let mut total_compressed_size = 0u64; + let mut archive = self.zip.borrow_mut(); + + for i in 0..archive.len() { + let file = archive.by_index(i); + if file.is_ok() { + let file = file.unwrap(); + total_uncompressed_size += file.size(); + total_compressed_size += file.compressed_size(); + } + } + + (total_compressed_size, total_uncompressed_size) + } + + pub fn get_splash_bytes(&self) -> Option> { + let splash_idx = self.find_zip_file(|name| name.contains("splashimage")); + if splash_idx.is_none() { + warn!("Could not find splash image in bundle."); + return None; + } + + let mut archive = self.zip.borrow_mut(); + let sf = archive.by_index(splash_idx.unwrap()); + if sf.is_err() { + warn!("Could not find splash image in bundle."); + return None; + } + + let res: Result, _> = sf.unwrap().bytes().collect(); + if res.is_err() { + warn!("Could not find splash image in bundle."); + return None; + } + + let bytes = res.unwrap(); + if bytes.is_empty() { + warn!("Could not find splash image in bundle."); + return None; + } + + Some(bytes) + } + + pub fn find_zip_file(&self, predicate: F) -> Option + where F: Fn(&str) -> bool, + { + let mut archive = self.zip.borrow_mut(); + for i in 0..archive.len() { + if let Ok(file) = archive.by_index(i) { + let name = file.name(); + if predicate(name) { + return Some(i); + } + } + } + None + } + + pub fn extract_zip_idx_to_path>(&self, index: usize, path: T) -> Result<(), Error> { + let path = path.as_ref(); + debug!("Extracting zip file to path: {}", path.to_string_lossy()); + let p = PathBuf::from(path); + let parent = p.parent().unwrap(); + + if !parent.exists() { + debug!("Creating parent directory: {:?}", parent); + util::retry_io(|| fs::create_dir_all(parent))?; + } + + let mut archive = self.zip.borrow_mut(); + let mut file = archive.by_index(index)?; + let mut outfile = util::retry_io(|| File::create(path))?; + let mut buffer = [0; 64000]; // Use a 64KB buffer; good balance for large/small files. + + debug!("Writing file to disk with 64k buffer: {:?}", path); + loop { + let len = file.read(&mut buffer)?; + if len == 0 { + break; // End of file + } + outfile.write_all(&buffer[..len])?; + } + + Ok(()) + } + + pub fn extract_zip_predicate_to_path>(&self, predicate: F, path: T) -> Result + where F: Fn(&str) -> bool, + { + let idx = self.find_zip_file(predicate); + if idx.is_none() { + return Err(Error::FileNotFound("(zip bundle predicate)".to_owned())); + } + let idx = idx.unwrap(); + self.extract_zip_idx_to_path(idx, path)?; + Ok(idx) + } + + pub fn read_manifest(&self) -> Result { + let nuspec_idx = self.find_zip_file(|name| name.ends_with(".nuspec")) + .ok_or(Error::MissingNuspec)?; + + let mut contents = String::new(); + let mut archive = self.zip.borrow_mut(); + archive.by_index(nuspec_idx)?.read_to_string(&mut contents)?; + let app = read_manifest_from_string(&contents)?; + Ok(app) + } + + pub fn len(&self) -> usize { + let archive = self.zip.borrow(); + archive.len() + } + + pub fn get_file_names(&self) -> Result, Error> { + let mut files: Vec = Vec::new(); + let mut archive = self.zip.borrow_mut(); + for i in 0..archive.len() { + let file = archive.by_index(i)?; + let key = file.name(); + files.push(key.to_string()); + } + Ok(files) + } +} diff --git a/src/lib-rust/src/delta.rs b/src/lib-rust/src/delta.rs new file mode 100644 index 00000000..40ea7222 --- /dev/null +++ b/src/lib-rust/src/delta.rs @@ -0,0 +1,48 @@ +use std::{fs, io, path::Path}; +use crate::Error; + +/// Applies a zstd patch to a single file by loading the patch as a dictionary. +pub fn zstd_patch_single, P2: AsRef, P3: AsRef>(old_file: P1, patch_file: P2, output_file: P3) -> Result<(), Error> { + let old_file = old_file.as_ref(); + let patch_file = patch_file.as_ref(); + let output_file = output_file.as_ref(); + + if !old_file.exists() { + return Err(Error::FileNotFound(old_file.to_string_lossy().to_string())); + } + + if !patch_file.exists() { + return Err(Error::FileNotFound(patch_file.to_string_lossy().to_string())); + } + + let dict = fs::read(old_file)?; + + info!("Loading Dictionary (Size: {})", dict.len()); + let patch = fs::OpenOptions::new().read(true).open(patch_file)?; + let patch_reader = io::BufReader::new(patch); + let mut decoder = zstd::Decoder::with_dictionary(patch_reader, &dict)?; + + let window_log = fio_highbit64(dict.len() as u64) + 1; + if window_log >= 27 { + info!("Large File detected. Overriding windowLog to {}", window_log); + decoder.window_log_max(window_log)?; + } + + info!("Decoder loaded. Beginning patch..."); + let mut output = fs::OpenOptions::new().write(true).create(true).truncate(true).open(output_file)?; + io::copy(&mut decoder, &mut output)?; + + info!("Patch applied successfully."); + Ok(()) +} + +fn fio_highbit64(v: u64) -> u32 { + let mut count: u32 = 0; + let mut v = v; + v >>= 1; + while v > 0 { + v >>= 1; + count += 1; + } + return count; +} \ No newline at end of file diff --git a/src/lib-rust/src/download.rs b/src/lib-rust/src/download.rs new file mode 100644 index 00000000..7f4b7b88 --- /dev/null +++ b/src/lib-rust/src/download.rs @@ -0,0 +1,82 @@ +use std::fs::File; +use std::io::{Read, Write}; + +use crate::{Error, util}; + +pub fn download_url_to_file(url: &str, file_path: &str, mut progress: A) -> Result<(), Error> + where A: FnMut(i16), +{ + let agent = get_download_agent()?; + let response = agent.get(url).call()?; + + let total_size = response.header("Content-Length").and_then(|s| s.parse::().ok()); + let mut file = util::retry_io(|| File::create(file_path))?; + + const CHUNK_SIZE: usize = 2 * 1024 * 1024; // 2MB + let mut downloaded: u64 = 0; + let mut buffer = vec![0; CHUNK_SIZE]; + let mut reader = response.into_reader(); + + let mut last_progress = 0; + + while let Ok(size) = reader.read(&mut buffer) { + if size == 0 { + break; // End of stream + } + file.write_all(&buffer[..size])?; + downloaded += size as u64; + + if total_size.is_some() { + // floor to nearest 5% to reduce message spam + let new_progress = (downloaded as f64 / total_size.unwrap() as f64 * 20.0).floor() as i16 * 5; + if new_progress > last_progress { + last_progress = new_progress; + progress(last_progress); + } + } + } + + Ok(()) +} + +pub fn download_url_as_string(url: &str) -> Result { + let agent = get_download_agent()?; + let r = agent.get(url).call()?.into_string()?; + Ok(r) +} + +fn get_download_agent() -> Result { + let tls_builder = native_tls::TlsConnector::builder(); + let tls_connector = tls_builder.build()?; + Ok(ureq::AgentBuilder::new().tls_connector(tls_connector.into()).build()) +} + +#[test] +fn test_download_uses_tls_and_encoding_correctly() { + assert_eq!(download_url_as_string("https://dotnetcli.blob.core.windows.net/dotnet/WindowsDesktop/5.0/latest.version").unwrap(), "5.0.17"); +} + +#[test] +fn test_download_file_reports_progress() { + // https://www.ip-toolbox.com/speedtest-files/ + let test_file = "https://proof.ovh.net/files/10Mb.dat"; + let mut prog_count = 0; + let mut last_prog = 0; + + download_url_to_file(test_file, "test_download_file_reports_progress.txt", |p| { + assert!(p >= last_prog); + prog_count += 1; + last_prog = p; + }).unwrap(); + + assert!(prog_count >= 4); + assert!(prog_count <= 20); + assert_eq!(last_prog, 100); + + let p = std::path::Path::new("test_download_file_reports_progress.txt"); + let meta = p.metadata().unwrap(); + let len = meta.len(); + + assert_eq!(len, 10 * 1024 * 1024); + std::fs::remove_file(p).unwrap(); +} diff --git a/src/lib-rust/src/lib.rs b/src/lib-rust/src/lib.rs new file mode 100644 index 00000000..5d23b711 --- /dev/null +++ b/src/lib-rust/src/lib.rs @@ -0,0 +1,159 @@ +//! # Velopack +//! [Velopack](https://velopack.io) is a auto-update and installation framework for cross-platform desktop applications. +//! With less than 10 lines of code, you can add auto-update and installation features to your application. +//! +//! ## Features +//! - 😍 **Zero config** – Velopack takes your build output (eg. `cargo build`), and generates an installer, and updates and delta packages in a single command. +//! - 🎯 **Cross platform** – Velopack supports building packages for **Windows**, **OSX**, and **Linux**. No matter your target, Velopack can create a release in just one command. +//! - ⚡️ **Lightning fast** – Velopack is written in Rust for native performance. Creating releases is multi-threaded, and produces delta packages for ultra fast app updates. Applying update packages is highly optimised, and often can be done in the background. +//! +//! ## Documentation +//! The documentation in this rust crate is minimal and only covers the create itself, so it's highly recommended that you also +//! read the main Velopack documentation at [https://docs.velopack.io](https://docs.velopack.io). +//! +//! ## Components +//! - **this crate**: The core library that provides auto-update features and glue to the other components. +//! - **vpk cli tool**: The `vpk` command line tool packages and publishes your releases and installers. +//! - **update binary**: Bundled with your application by vpk, handles +//! +//! ## Optional Rust Features +//! - `async`: Enables async support using async-std. +//! +//! ## Quick Start +//! 1. Add Velopack to your `Cargo.toml`: +//! ```toml +//! [dependencies] +//! velopack = { version = "0.0", features = ["async"] } # Replace with actual version and desired features +//! ``` +//! +//! 2. Add the following code to your `main()` function: +//! ```rust +//! use velopack::*; +//! +//! fn main() { +//! // VelopackApp should be the first thing to run, in some circumstances it may terminate/restart the process to perform tasks. +//! VelopackApp::build().run(); +//! // Your other app startup code here +//! } +//! ``` +//! +//! 3. Add auto-updates somewhere to your app: +//! ```rust +//! use velopack::*; +//! +//! fn update_my_app() { +//! let source = sources::HttpSource::new("https://the.place/you-host/updates"); +//! let um = UpdateManager::new(source, None).unwrap(); +//! +//! if let UpdateCheck::UpdateAvailable(updates) = um.check_for_updates().unwrap() { +//! // there was an update available. Download it. +//! um.download_updates(&updates, |progress| { +//! println!("Download progress: {}%", progress); +//! }).unwrap(); +//! +//! // download completed, let's restart and update +//! um.apply_updates_and_restart(&updates, RestartArgs::None).unwrap(); +//! } +//! } +//! ``` +//! +//! 4. Build your app with cargo: +//! ```sh +//! cargo build --release +//! ``` +//! +//! 5. Install the `vpk` command line tool: +//! ```sh +//! dotnet tool update -g vpk +//! ``` +//! ***Note: you must have the .NET Core SDK 6 installed to use and update `vpk`*** +//! +//! 6. Package your Velopack release / installers: +//! ```sh +//! vpk pack -u MyAppUniqueId -v 1.0.0 -p /target/release -e myexename.exe +//! ``` +//! +//! ✅ You're Done! Your app now has auto-updates and an installer. +//! You can upload your release to your website, or use the `vpk upload` command to publish it to the destination of your choice. +//! +//! Read the Velopack documentation at [https://docs.velopack.io/](https://docs.velopack.io/) for more information. + +#![warn(missing_docs)] + +mod app; +mod bundle; +mod download; +mod manager; +mod manifest; +mod util; + +/// Locator provides some utility functions for locating the current app important paths (eg. path to packages, update binary, and so forth). +pub mod locator; + +/// Sources contains abstractions for custom update sources (eg. url, local file, github releases, etc). +pub mod sources; + +/// Functions to patch files and reconstruct Velopack delta packages. +pub mod delta; + +pub use app::*; +pub use manager::*; + +#[macro_use] +extern crate log; + +#[derive(thiserror::Error, Debug)] +#[allow(missing_docs, clippy::large_enum_variant)] +pub enum NetworkError +{ + #[error("Http error: {0}")] + Http(#[from] ureq::Error), + #[error("Tls error: {0}")] + Tls(#[from] native_tls::Error), + #[error("Url error: {0}")] + Url(#[from] url::ParseError), +} + +#[derive(thiserror::Error, Debug)] +#[allow(missing_docs)] +pub enum Error +{ + #[error("File does not exist: {0}")] + FileNotFound(String), + #[error("IO error: {0}")] + Io(#[from] std::io::Error), + #[error("Zip error: {0}")] + Zip(#[from] zip::result::ZipError), + #[error("Network error: {0}")] + Network(Box), + #[error("Json error: {0}")] + Json(#[from] serde_json::Error), + #[error("Semver parse error: {0}")] + Semver(#[from] semver::Error), + #[error("This application is missing a package manifest (.nuspec) or it could not be parsed.")] + MissingNuspec, + #[error("This application is missing a required property in its package manifest: {0}")] + MissingNuspecProperty(String), + #[error("This application is missing an Update.exe/UpdateNix/UpdateMac binary.")] + MissingUpdateExe, + #[error("This application is not properly installed: {0}")] + NotInstalled(String), +} + +impl From for Error { + fn from(err: url::ParseError) -> Self { + Error::Network(Box::new(NetworkError::Url(err))) + } +} + +impl From for Error { + fn from(err: ureq::Error) -> Self { + Error::Network(Box::new(NetworkError::Http(err))) + } +} + +impl From for Error { + fn from(err: native_tls::Error) -> Self { + Error::Network(Box::new(NetworkError::Tls(err))) + } +} \ No newline at end of file diff --git a/src/lib-rust/src/locator.rs b/src/lib-rust/src/locator.rs new file mode 100644 index 00000000..6ff5b634 --- /dev/null +++ b/src/lib-rust/src/locator.rs @@ -0,0 +1,154 @@ +use std::path::PathBuf; + +use crate::{manifest::{self, Manifest}, util, Error}; + +#[derive(Clone)] +/// VelopackLocator provides some utility functions for locating the current app important paths (eg. path to packages, update binary, and so forth). +pub struct VelopackLocator { + /// The root directory of the current app. + pub root_app_dir: PathBuf, + /// The path to the Update.exe binary. + pub update_exe_path: PathBuf, + /// The path to the packages directory. + pub packages_dir: PathBuf, + /// The current app manifest. + pub manifest: Manifest, +} + +/// Default log location for Velopack code. +pub fn default_log_location() -> PathBuf { + #[cfg(target_os = "windows")] + { + let mut my_dir = std::env::current_exe().unwrap(); + my_dir.pop(); + my_dir.pop(); + return my_dir.join("Velopack.log"); + } + #[cfg(target_os = "linux")] + { + return std::path::Path::new("/tmp/velopack.log").to_path_buf(); + } + #[cfg(target_os = "macos")] + { + #[allow(deprecated)] + let mut user_home = std::env::home_dir().expect("Could not locate user home directory via $HOME or /etc/passwd"); + user_home.push("Library"); + user_home.push("Logs"); + user_home.push("velopack.log"); + return user_home; + } +} + +#[cfg(target_os = "windows")] +/// Automatically locates the current app's important paths. If the app is not installed, it will return an error. +pub fn auto_locate() -> Result { + // check if Update.exe exists in parent dir, if it does, that's the root dir. + let mut path = std::env::current_exe()?; + path.pop(); // current dir + path.pop(); // root dir + if (path.join("Update.exe")).exists() { + info!("Found Update.exe in parent directory: {}", path.to_string_lossy()); + return Ok(VelopackLocator { + root_app_dir: path.clone(), + update_exe_path: path.join("Update.exe"), + packages_dir: path.join("packages"), + manifest: read_current_manifest(&path.join("current").join("sq.version"))?, + }); + } + + // see if we can find the current dir in the path, maybe we're more nested than that. + path = std::env::current_exe()?; + let path = path.to_string_lossy(); + let idx = path.rfind("\\current\\"); + if let Some(i) = idx { + let maybe_root = &path[..i]; + let maybe_root = PathBuf::from(maybe_root); + if (maybe_root.join("Update.exe")).exists() { + info!("Found Update.exe in parent directory: {}", maybe_root.to_string_lossy()); + return Ok(VelopackLocator { + root_app_dir: maybe_root.clone(), + update_exe_path: maybe_root.join("Update.exe"), + packages_dir: maybe_root.join("packages"), + manifest: read_current_manifest(&maybe_root.join("current").join("sq.version"))?, + }); + } + } + + Err(Error::MissingUpdateExe) +} + +#[cfg(target_os = "linux")] +/// Automatically locates the current app's important paths. If the app is not installed, it will return an error. +pub fn auto_locate() -> Result { + let path = std::env::current_exe()?; + let path = path.to_string_lossy(); + let idx = path.rfind("/usr/bin/"); + if idx.is_none() { + return Err(Error::NotInstalled(format!("Could not locate '/usr/bin/' in executable path {}", path))); + } + let idx = idx.unwrap(); + let root_app_dir = PathBuf::from(path[..idx].to_string()); + let contents_dir = root_app_dir.join("usr").join("bin"); + let update_exe_path = contents_dir.join("UpdateNix"); + let metadata_path = contents_dir.join("sq.version"); + + if !update_exe_path.exists() { + return Err(Error::MissingUpdateExe); + } + + let app = read_current_manifest(&metadata_path)?; + Ok(VelopackLocator { + root_app_dir, + update_exe_path, + packages_dir: PathBuf::from("/var/tmp/velopack").join(&app.id).join("packages"), + manifest: app, + }) +} + +#[cfg(target_os = "macos")] +/// Automatically locates the current app's important paths. If the app is not installed, it will return an error. +pub fn auto_locate() -> Result { + let path = std::env::current_exe()?; + let path = path.to_string_lossy(); + let idx = path.rfind(".app/"); + if idx.is_none() { + return Err(Error::NotInstalled(format!("Could not locate '.app' in executable path {}", path))); + } + let idx = idx.unwrap(); + let path = path[..(idx + 4)].to_string(); + + let root_app_dir = PathBuf::from(&path); + let contents_dir = root_app_dir.join("Contents").join("MacOS"); + let update_exe_path = contents_dir.join("UpdateMac"); + let metadata_path = contents_dir.join("sq.version"); + + if !update_exe_path.exists() { + return Err(Error::MissingUpdateExe); + } + + let app = read_current_manifest(&metadata_path)?; + + #[allow(deprecated)] + let mut packages_dir = std::env::home_dir().expect("Could not locate user home directory via $HOME or /etc/passwd"); + packages_dir.push("Library"); + packages_dir.push("Caches"); + packages_dir.push("velopack"); + packages_dir.push(&app.id); + packages_dir.push("packages"); + + Ok(VelopackLocator { + root_app_dir, + update_exe_path, + packages_dir: packages_dir, + manifest: app, + }) +} + +fn read_current_manifest(nuspec_path: &PathBuf) -> Result { + if nuspec_path.exists() { + if let Ok(nuspec) = util::retry_io(|| std::fs::read_to_string(&nuspec_path)) { + return Ok(manifest::read_manifest_from_string(&nuspec)?); + } + } + Err(Error::MissingNuspec) +} diff --git a/src/lib-rust/src/manager.rs b/src/lib-rust/src/manager.rs new file mode 100644 index 00000000..5db3c4da --- /dev/null +++ b/src/lib-rust/src/manager.rs @@ -0,0 +1,428 @@ +use std::{fs, process::Command as Process, process::exit}; +#[cfg(target_os = "windows")] +use std::os::windows::process::CommandExt; + +#[cfg(feature = "async")] +use async_std::channel::Sender; +#[cfg(feature = "async")] +use async_std::task::JoinHandle; +use semver::Version; +use serde::{Deserialize, Serialize}; + +use crate::{Error, locator::{self, VelopackLocator}, sources::UpdateSource}; + +#[allow(non_snake_case)] +#[derive(Serialize, Deserialize, Debug, Clone, Default)] +#[serde(default)] +/// A feed of Velopack assets, usually retrieved from a remote location. +pub struct VelopackAssetFeed { + /// The list of assets in the (probably remote) update feed. + pub Assets: Vec, +} + +impl VelopackAssetFeed { + /// Finds a release by name and returns a reference to the VelopackAsset in the feed, or None if not found. + pub fn find(&self, release_name: &str) -> Option<&VelopackAsset> { + self.Assets.iter().find(|x| x.FileName.eq_ignore_ascii_case(release_name)) + } +} + +#[allow(non_snake_case)] +#[derive(Serialize, Deserialize, Debug, Clone, Default)] +#[serde(default)] +/// An individual Velopack asset, could refer to an asset on-disk or in a remote package feed. +pub struct VelopackAsset { + /// The name or Id of the package containing this release. + pub PackageId: String, + /// The version of this release. + pub Version: String, + /// The type of asset (eg. "Full" or "Delta"). + pub Type: String, + /// The filename of the update package containing this release. + pub FileName: String, + /// The SHA1 checksum of the update package containing this release. + pub SHA1: String, + /// The SHA256 checksum of the update package containing this release. + pub SHA256: String, + /// The size in bytes of the update package containing this release. + pub Size: u64, + /// The release notes in markdown format, as passed to Velopack when packaging the release. This may be an empty string. + pub NotesMarkdown: String, + /// The release notes in HTML format, transformed from Markdown when packaging the release. This may be an empty string. + pub NotesHtml: String, +} + +#[allow(non_snake_case)] +#[derive(Serialize, Deserialize, Debug, Clone, Default)] +#[serde(default)] +/// Holds information about the current version and pending updates, such as how many there are, and access to release notes. +pub struct UpdateInfo { + /// The available version that we are updating to. + pub TargetFullRelease: VelopackAsset, + /// True if the update is a version downgrade or lateral move (such as when switching channels to the same version number). + /// In this case, only full updates are allowed, and any local packages on disk newer than the downloaded version will be + /// deleted. + pub IsDowngrade: bool, +} + +impl AsRef for UpdateInfo { + fn as_ref(&self) -> &VelopackAsset { + &self.TargetFullRelease + } +} + +#[derive(Clone)] +#[allow(non_snake_case)] +/// Options to customise the behaviour of UpdateManager. +pub struct UpdateOptions { + /// Allows UpdateManager to update to a version that's lower than the current version (i.e. downgrading). + /// This could happen if a release has bugs and was retracted from the release feed, or if you're using + /// ExplicitChannel to switch channels to another channel where the latest version on that + /// channel is lower than the current version. + pub AllowVersionDowngrade: bool, + /// **This option should usually be left None**.
+ /// Overrides the default channel used to fetch updates. + /// The default channel will be whatever channel was specified on the command line when building this release. + /// For example, if the current release was packaged with '--channel beta', then the default channel will be 'beta'. + /// This allows users to automatically receive updates from the same channel they installed from. This options + /// allows you to explicitly switch channels, for example if the user wished to switch back to the 'stable' channel + /// without having to reinstall the application. + pub ExplicitChannel: Option, +} + +/// Provides functionality for checking for updates, downloading updates, and applying updates to the current application. +pub struct UpdateManager + where + T: UpdateSource, +{ + allow_version_downgrade: bool, + explicit_channel: Option, + source: T, + paths: VelopackLocator, +} + +impl Clone for UpdateManager { + fn clone(&self) -> Self { + UpdateManager { + allow_version_downgrade: self.allow_version_downgrade, + explicit_channel: self.explicit_channel.clone(), + source: self.source.clone(), + paths: self.paths.clone(), + } + } +} + +/// Arguments to pass to the Update.exe process when restarting the application after applying updates. +pub enum RestartArgs<'a> { + /// No arguments to pass to the restart process. + None, + /// Arguments to pass to the restart process, as borrowed strings. + Some(Vec<&'a str>), + /// Arguments to pass to the restart process, as owned strings. + SomeOwned(Vec), +} + +impl<'a> IntoIterator for RestartArgs<'a> { + type Item = String; + type IntoIter = std::vec::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + match self { + RestartArgs::None => Vec::new().into_iter(), + RestartArgs::Some(args) => args.into_iter().map(|s| s.to_string()).collect::>().into_iter(), + RestartArgs::SomeOwned(args) => args.into_iter().collect::>().into_iter(), + } + } +} + +/// Represents the result of a call to check for updates. +pub enum UpdateCheck { + /// The remote feed is empty, so no update check was performed + RemoteIsEmpty, + /// The remote feed had releases, but none were newer or more relevant than the current version + NoUpdateAvailable, + /// The remote feed had an update available + UpdateAvailable(UpdateInfo), +} + +impl UpdateManager { + /// Create a new UpdateManager instance using the specified UpdateSource. + /// This will return an error if the application is not yet installed. + /// ## Example: + /// ```rust + /// use velopack::*; + /// + /// let source = sources::HttpSource::new("https://the.place/you-host/updates"); + /// let um = UpdateManager::new(source, None); + /// ``` + pub fn new(source: T, options: Option) -> Result, Error> { + Ok(UpdateManager { + paths: locator::auto_locate()?, + allow_version_downgrade: options.as_ref().map(|f| f.AllowVersionDowngrade).unwrap_or(false), + explicit_channel: options.as_ref().map(|f| f.ExplicitChannel.clone()).unwrap_or(None), + source, + }) + } + + fn get_practical_channel(&self) -> String { + let channel = self.explicit_channel.as_deref(); + let mut channel = channel.unwrap_or(&self.paths.manifest.channel).to_string(); + if channel.is_empty() { + channel = get_default_channel(); + } + channel + } + + /// The currently installed app version when you created your release. + pub fn current_version(&self) -> Result { + Ok(self.paths.manifest.version.to_string()) + } + + /// Get a list of available remote releases from the package source. + pub fn get_release_feed(&self) -> Result { + let channel = self.get_practical_channel(); + self.source.get_release_feed(&channel, &self.paths.manifest) + } + + #[cfg(feature = "async")] + /// Get a list of available remote releases from the package source. + pub fn get_release_feed_async(&self) -> JoinHandle> + where + T: 'static, + { + let self_clone = self.clone(); + async_std::task::spawn_blocking(move || self_clone.get_release_feed()) + } + + /// Checks for updates, returning None if there are none available. If there are updates available, this method will return an + /// UpdateInfo object containing the latest available release, and any delta updates that can be applied if they are available. + pub fn check_for_updates(&self) -> Result { + let allow_downgrade = self.allow_version_downgrade; + let app = &self.paths.manifest; + let feed = self.get_release_feed()?; + let assets = feed.Assets; + + let practical_channel = self.get_practical_channel(); + let is_non_default_channel = practical_channel != app.channel; + + if assets.is_empty() { + return Ok(UpdateCheck::RemoteIsEmpty); + } + + let mut latest: Option = None; + let mut latest_version: Version = Version::parse("0.0.0")?; + for asset in assets { + if let Ok(sv) = Version::parse(&asset.Version) { + if asset.Type.eq_ignore_ascii_case("Full") { + debug!("Found full release: {} ({}).", asset.FileName, sv.to_string()); + if latest.is_none() || (sv > latest_version) { + latest = Some(asset); + latest_version = sv; + } + } + } + } + + if latest.is_none() { + return Ok(UpdateCheck::RemoteIsEmpty); + } + + let remote_version = latest_version; + let remote_asset = latest.unwrap(); + + debug!("Latest remote release: {} ({}).", remote_asset.FileName, remote_version.to_string()); + + + if remote_version > app.version { + info!("Found newer remote release available ({} -> {}).", app.version, remote_version); + Ok(UpdateCheck::UpdateAvailable(UpdateInfo { TargetFullRelease: remote_asset, IsDowngrade: false })) + } else if remote_version < app.version && allow_downgrade { + info!("Found older remote release available and downgrade is enabled ({} -> {}).", app.version, remote_version); + Ok(UpdateCheck::UpdateAvailable(UpdateInfo { TargetFullRelease: remote_asset, IsDowngrade: true })) + } else if remote_version == app.version && allow_downgrade && is_non_default_channel { + info!( + "Latest remote release is the same version of a different channel, and downgrade is enabled ({} -> {}).", + app.version, remote_version + ); + Ok(UpdateCheck::UpdateAvailable(UpdateInfo { TargetFullRelease: remote_asset, IsDowngrade: true })) + } else { + Ok(UpdateCheck::NoUpdateAvailable) + } + } + + #[cfg(feature = "async")] + /// Checks for updates, returning None if there are none available. If there are updates available, this method will return an + /// UpdateInfo object containing the latest available release, and any delta updates that can be applied if they are available. + pub fn check_for_updates_async(&self) -> JoinHandle> + where T: 'static, + { + let self_clone = self.clone(); + async_std::task::spawn_blocking(move || self_clone.check_for_updates()) + } + + /// Downloads the specified updates to the local app packages directory. If the update contains delta packages and the delta feature is enabled + /// this method will attempt to unpack and prepare them. If there is no delta update available, or there is an error preparing delta + /// packages, this method will fall back to downloading the full version of the update. This function will acquire a global update lock + /// so may fail if there is already another update operation in progress. + pub fn download_updates
(&self, update: &UpdateInfo, progress: A) -> Result<(), Error> + where + A: FnMut(i16), + { + let name = &update.TargetFullRelease.FileName; + let packages_dir = &self.paths.packages_dir; + fs::create_dir_all(packages_dir)?; + let target_file = packages_dir.join(name); + + if target_file.exists() { + info!("Package already exists on disk, skipping download: '{}'", target_file.to_string_lossy()); + return Ok(()); + } + + let g = format!("{}/*.nupkg", packages_dir.to_string_lossy()); + info!("Searching for packages to clean in: '{}'", g); + let mut to_delete = Vec::new(); + match glob::glob(&g) { + Ok(paths) => { + for path in paths { + if let Ok(path) = path { + to_delete.push(path.clone()); + debug!("Will delete: '{}'", path.to_string_lossy()); + } + } + } + Err(e) => { + error!("Error while searching for packages to clean: {}", e); + } + } + + self.source.download_release_entry(&update.TargetFullRelease, &target_file.to_string_lossy(), progress)?; + info!("Successfully placed file: '{}'", target_file.to_string_lossy()); + + // extract new Update.exe on Windows only + #[cfg(target_os = "windows")] + match crate::bundle::load_bundle_from_file(&target_file) { + Ok(bundle) => { + info!("Bundle loaded successfully."); + if let Err(e) = bundle.extract_zip_predicate_to_path(|f| f.ends_with("Squirrel.exe"), &self.paths.update_exe_path) { + error!("Error extracting Update.exe from bundle: {}", e); + } + } + Err(e) => { + error!("Error loading bundle: {}", e); + } + } + + for path in to_delete { + info!("Cleaning up old package: '{}'", path.to_string_lossy()); + let _ = fs::remove_file(&path); + } + + Ok(()) + } + + #[cfg(feature = "async")] + /// Downloads the specified updates to the local app packages directory. If the update contains delta packages and the delta feature is enabled + /// this method will attempt to unpack and prepare them. If there is no delta update available, or there is an error preparing delta + /// packages, this method will fall back to downloading the full version of the update. This function will acquire a global update lock + /// so may fail if there is already another update operation in progress. + pub fn download_updates_async(&self, update: &UpdateInfo, progress: Option>) -> JoinHandle> + where + T: 'static, + { + let self_clone = self.clone(); + let update_clone = update.clone(); + if let Some(p) = progress { + async_std::task::spawn_blocking(move || { + self_clone.download_updates(&update_clone, move |x| { + let _ = p.try_send(x); + }) + }) + } else { + async_std::task::spawn_blocking(move || self_clone.download_updates(&update_clone, |_| {})) + } + } + + /// This will exit your app immediately, apply updates, and then optionally relaunch the app using the specified + /// restart arguments. If you need to save state or clean up, you should do that before calling this method. + /// The user may be prompted during the update, if the update requires additional frameworks to be installed etc. + pub fn apply_updates_and_restart>(&self, to_apply: A, restart_args: RestartArgs) -> Result<(), Error> { + self.wait_exit_then_apply_updates(to_apply, false, true, restart_args)?; + exit(0); + } + + /// This will exit your app immediately, apply updates, and then optionally relaunch the app using the specified + /// restart arguments. If you need to save state or clean up, you should do that before calling this method. + /// The user may be prompted during the update, if the update requires additional frameworks to be installed etc. + pub fn apply_updates_and_exit>(&self, to_apply: A) -> Result<(), Error> { + self.wait_exit_then_apply_updates(to_apply, false, false, RestartArgs::None)?; + exit(0); + } + + /// This will launch the Velopack updater and tell it to wait for this program to exit gracefully. + /// You should then clean up any state and exit your app. The updater will apply updates and then + /// optionally restart your app. The updater will only wait for 60 seconds before giving up. + pub fn wait_exit_then_apply_updates>( + &self, + to_apply: A, + silent: bool, + restart: bool, + restart_args: RestartArgs, + ) -> Result<(), Error> { + let to_apply = to_apply.as_ref(); + let pkg_path = self.paths.packages_dir.join(&to_apply.FileName); + let pkg_path_str = pkg_path.to_string_lossy(); + + let mut args = Vec::new(); + args.push("apply".to_string()); + args.push("--waitPid".to_string()); + args.push(format!("{}", std::process::id())); + args.push("--package".to_string()); + args.push(pkg_path_str.into_owned()); + + if silent { + args.push("--silent".to_string()); + } + if restart { + args.push("--restart".to_string()); + } + + match restart_args { + RestartArgs::None => {} + RestartArgs::Some(ref ra) => { + args.push("--".to_string()); + for arg in ra { + args.push(arg.to_string()); + } + } + RestartArgs::SomeOwned(ref ra) => { + args.push("--".to_string()); + for arg in ra { + args.push(arg.clone()); + } + } + } + + let mut p = Process::new(&self.paths.update_exe_path); + p.args(&args); + p.current_dir(&self.paths.root_app_dir); + + #[cfg(target_os = "windows")] + { + const CREATE_NO_WINDOW: u32 = 0x08000000; + p.creation_flags(CREATE_NO_WINDOW); + } + + info!("About to run Update.exe: {} {:?}", self.paths.update_exe_path.to_string_lossy(), args); + p.spawn()?; + Ok(()) + } +} + +fn get_default_channel() -> String { + #[cfg(target_os = "windows")] + return "win".to_owned(); + #[cfg(target_os = "linux")] + return "linux".to_owned(); + #[cfg(target_os = "macos")] + return "osx".to_owned(); +} diff --git a/src/lib-rust/src/manifest.rs b/src/lib-rust/src/manifest.rs new file mode 100644 index 00000000..ba00c16f --- /dev/null +++ b/src/lib-rust/src/manifest.rs @@ -0,0 +1,94 @@ +use std::io::Cursor; + +use semver::Version; +use xml::reader::{EventReader, XmlEvent}; + +use crate::Error; + +#[derive(Debug, derivative::Derivative, Clone)] +#[derivative(Default)] +pub struct Manifest { + pub id: String, + #[derivative(Default(value = "Version::new(0, 0, 0)"))] + pub version: Version, + pub title: String, + pub authors: String, + pub description: String, + pub machine_architecture: String, + pub runtime_dependencies: String, + pub main_exe: String, + pub os: String, + pub os_min_version: String, + pub channel: String, +} + +pub fn read_manifest_from_string(xml: &str) -> Result { + let mut obj: Manifest = Default::default(); + let cursor = Cursor::new(xml); + let parser = EventReader::new(cursor); + let mut vec: Vec = Vec::new(); + for e in parser { + match e { + Ok(XmlEvent::StartElement { name, .. }) => { + vec.push(name.local_name); + } + Ok(XmlEvent::Characters(text)) => { + if vec.is_empty() { + continue; + } + let el_name = vec.last().unwrap(); + if el_name == "id" { + obj.id = text; + } else if el_name == "version" { + obj.version = Version::parse(&text)?; + } else if el_name == "title" { + obj.title = text; + } else if el_name == "authors" { + obj.authors = text; + } else if el_name == "description" { + obj.description = text; + } else if el_name == "machineArchitecture" { + obj.machine_architecture = text; + } else if el_name == "runtimeDependencies" { + obj.runtime_dependencies = text; + } else if el_name == "mainExe" { + obj.main_exe = text; + } else if el_name == "os" { + obj.os = text; + } else if el_name == "osMinVersion" { + obj.os_min_version = text; + } else if el_name == "channel" { + obj.channel = text; + } + } + Ok(XmlEvent::EndElement { .. }) => { + vec.pop(); + } + Err(e) => { + error!("Error: {e}"); + break; + } + // There's more: https://docs.rs/xml-rs/latest/xml/reader/enum.XmlEvent.html + _ => {} + } + } + + if obj.id.is_empty() { + return Err(Error::MissingNuspecProperty("id".to_owned())); + } + + if obj.version == Version::new(0, 0, 0) { + return Err(Error::MissingNuspecProperty("version".to_owned())); + } + + #[cfg(target_os = "windows")] + if obj.main_exe.is_empty() { + return Err(Error::MissingNuspecProperty("mainExe".to_owned())); + } + + if obj.title.is_empty() { + obj.title = obj.id.clone(); + } + + Ok(obj) +} diff --git a/src/lib-rust/src/sources.rs b/src/lib-rust/src/sources.rs new file mode 100644 index 00000000..402d7149 --- /dev/null +++ b/src/lib-rust/src/sources.rs @@ -0,0 +1,96 @@ +use std::path::{Path, PathBuf}; + +use crate::*; + +/// Abstraction for finding and downloading updates from a package source / repository. +/// An implementation may copy a file from a local repository, download from a web address, +/// or even use third party services and parse proprietary data to produce a package feed. +pub trait UpdateSource: Clone + Send + Sync { + /// Retrieve the list of available remote releases from the package source. These releases + /// can subsequently be downloaded with download_release_entry. + fn get_release_feed(&self, channel: &str, app: &manifest::Manifest) -> Result; + /// Download the specified VelopackAsset to the provided local file path. + fn download_release_entry(&self, asset: &VelopackAsset, local_file: &str, progress: A) -> Result<(), Error> + where A: FnMut(i16); +} + +#[derive(Clone)] +/// Retrieves updates from a static file host or other web server. +/// Will perform a request for '{baseUri}/RELEASES' to locate the available packages, +/// and provides query parameters to specify the name of the requested package. +pub struct HttpSource { + url: String, +} + +impl HttpSource { + /// Create a new HttpSource with the specified base URL. + pub fn new(url: &str) -> HttpSource { + HttpSource { url: url.to_owned() } + } +} + +impl UpdateSource for HttpSource { + fn get_release_feed(&self, channel: &str, app: &manifest::Manifest) -> Result { + let releases_name = format!("releases.{}.json", channel); + + let path = self.url.trim_end_matches('/').to_owned() + "/"; + let url = url::Url::parse(&path)?; + let mut releases_url = url.join(&releases_name)?; + releases_url.set_query(Some(format!("localVersion={}&id={}", app.version, app.id).as_str())); + + info!("Downloading releases for channel {} from: {}", channel, releases_url.to_string()); + let json = download::download_url_as_string(releases_url.as_str())?; + let feed: VelopackAssetFeed = serde_json::from_str(&json)?; + Ok(feed) + } + + fn download_release_entry(&self, asset: &VelopackAsset, local_file: &str, progress: A) -> Result<(), Error> + where A: FnMut(i16), + { + let path = self.url.trim_end_matches('/').to_owned() + "/"; + let url = url::Url::parse(&path)?; + let asset_url = url.join(&asset.FileName)?; + + info!("About to download from URL '{}' to file '{}'", asset_url, local_file); + download::download_url_to_file(asset_url.as_str(), local_file, progress)?; + Ok(()) + } +} + +#[derive(Clone)] +/// Retrieves available updates from a local or network-attached disk. The directory +/// must contain one or more valid packages, as well as a 'releases.{channel}.json' index file. +pub struct FileSource { + path: PathBuf, +} + +impl FileSource { + /// Create a new FileSource with the specified base directory. + pub fn new>(path: P) -> FileSource { + let path = path.as_ref(); + FileSource { path: PathBuf::from(path) } + } +} + +impl UpdateSource for FileSource { + fn get_release_feed(&self, channel: &str, _: &manifest::Manifest) -> Result { + let releases_name = format!("releases.{}.json", channel); + let releases_path = self.path.join(&releases_name); + + info!("Reading releases from file: {}", releases_path.display()); + let json = std::fs::read_to_string(releases_path)?; + let feed: VelopackAssetFeed = serde_json::from_str(&json)?; + Ok(feed) + } + + fn download_release_entry(&self, asset: &VelopackAsset, local_file: &str, mut progress: A) -> Result<(), Error> + where A: FnMut(i16), + { + let asset_path = self.path.join(&asset.FileName); + info!("About to copy from file '{}' to file '{}'", asset_path.display(), local_file); + progress(50); + std::fs::copy(asset_path, local_file)?; + progress(100); + Ok(()) + } +} diff --git a/src/lib-rust/src/util.rs b/src/lib-rust/src/util.rs new file mode 100644 index 00000000..420edbe8 --- /dev/null +++ b/src/lib-rust/src/util.rs @@ -0,0 +1,34 @@ +use std::thread; +use std::time::Duration; + +pub fn retry_io(op: F) -> Result +where + F: Fn() -> Result, + E: std::fmt::Debug, +{ + let res = op(); + if res.is_ok() { + return Ok(res.unwrap()); + } + + warn!("Retrying operation in 333ms... (error was: {:?})", res.err()); + thread::sleep(Duration::from_millis(333)); + + let res = op(); + if res.is_ok() { + return Ok(res.unwrap()); + } + + warn!("Retrying operation in 666ms... (error was: {:?})", res.err()); + thread::sleep(Duration::from_millis(666)); + + let res = op(); + if res.is_ok() { + return Ok(res.unwrap()); + } + + warn!("Retrying operation in 1000ms... (error was: {:?})", res.err()); + thread::sleep(Duration::from_millis(1000)); + + op() +} diff --git a/src/Velopack.Build/MSBuildAsyncTask.cs b/src/vpk/Velopack.Build/MSBuildAsyncTask.cs similarity index 100% rename from src/Velopack.Build/MSBuildAsyncTask.cs rename to src/vpk/Velopack.Build/MSBuildAsyncTask.cs diff --git a/src/Velopack.Build/MSBuildLogger.cs b/src/vpk/Velopack.Build/MSBuildLogger.cs similarity index 100% rename from src/Velopack.Build/MSBuildLogger.cs rename to src/vpk/Velopack.Build/MSBuildLogger.cs diff --git a/src/Velopack.Build/PackTask.cs b/src/vpk/Velopack.Build/PackTask.cs similarity index 100% rename from src/Velopack.Build/PackTask.cs rename to src/vpk/Velopack.Build/PackTask.cs diff --git a/src/Velopack.Build/PublishTask.cs b/src/vpk/Velopack.Build/PublishTask.cs similarity index 100% rename from src/Velopack.Build/PublishTask.cs rename to src/vpk/Velopack.Build/PublishTask.cs diff --git a/src/Velopack.Build/TaskOptionsMapper.cs b/src/vpk/Velopack.Build/TaskOptionsMapper.cs similarity index 100% rename from src/Velopack.Build/TaskOptionsMapper.cs rename to src/vpk/Velopack.Build/TaskOptionsMapper.cs diff --git a/src/Velopack.Build/Velopack.Build.csproj b/src/vpk/Velopack.Build/Velopack.Build.csproj similarity index 100% rename from src/Velopack.Build/Velopack.Build.csproj rename to src/vpk/Velopack.Build/Velopack.Build.csproj diff --git a/src/Velopack.Build/Velopack.Build.targets b/src/vpk/Velopack.Build/Velopack.Build.targets similarity index 100% rename from src/Velopack.Build/Velopack.Build.targets rename to src/vpk/Velopack.Build/Velopack.Build.targets diff --git a/src/Velopack.Deployment/AzureRepository.cs b/src/vpk/Velopack.Deployment/AzureRepository.cs similarity index 100% rename from src/Velopack.Deployment/AzureRepository.cs rename to src/vpk/Velopack.Deployment/AzureRepository.cs diff --git a/src/Velopack.Deployment/GitHubRepository.cs b/src/vpk/Velopack.Deployment/GitHubRepository.cs similarity index 100% rename from src/Velopack.Deployment/GitHubRepository.cs rename to src/vpk/Velopack.Deployment/GitHubRepository.cs diff --git a/src/Velopack.Deployment/GiteaRepository.cs b/src/vpk/Velopack.Deployment/GiteaRepository.cs similarity index 100% rename from src/Velopack.Deployment/GiteaRepository.cs rename to src/vpk/Velopack.Deployment/GiteaRepository.cs diff --git a/src/Velopack.Deployment/HttpRepository.cs b/src/vpk/Velopack.Deployment/HttpRepository.cs similarity index 100% rename from src/Velopack.Deployment/HttpRepository.cs rename to src/vpk/Velopack.Deployment/HttpRepository.cs diff --git a/src/Velopack.Deployment/LocalRepository.cs b/src/vpk/Velopack.Deployment/LocalRepository.cs similarity index 100% rename from src/Velopack.Deployment/LocalRepository.cs rename to src/vpk/Velopack.Deployment/LocalRepository.cs diff --git a/src/Velopack.Deployment/S3Repository.cs b/src/vpk/Velopack.Deployment/S3Repository.cs similarity index 100% rename from src/Velopack.Deployment/S3Repository.cs rename to src/vpk/Velopack.Deployment/S3Repository.cs diff --git a/src/Velopack.Deployment/Velopack.Deployment.csproj b/src/vpk/Velopack.Deployment/Velopack.Deployment.csproj similarity index 100% rename from src/Velopack.Deployment/Velopack.Deployment.csproj rename to src/vpk/Velopack.Deployment/Velopack.Deployment.csproj diff --git a/src/Velopack.Deployment/_ObjectRepository.cs b/src/vpk/Velopack.Deployment/_ObjectRepository.cs similarity index 100% rename from src/Velopack.Deployment/_ObjectRepository.cs rename to src/vpk/Velopack.Deployment/_ObjectRepository.cs diff --git a/src/Velopack.Deployment/_Repository.cs b/src/vpk/Velopack.Deployment/_Repository.cs similarity index 100% rename from src/Velopack.Deployment/_Repository.cs rename to src/vpk/Velopack.Deployment/_Repository.cs diff --git a/src/Velopack.IcoLib/Binary/BitReader.cs b/src/vpk/Velopack.IcoLib/Binary/BitReader.cs similarity index 100% rename from src/Velopack.IcoLib/Binary/BitReader.cs rename to src/vpk/Velopack.IcoLib/Binary/BitReader.cs diff --git a/src/Velopack.IcoLib/Binary/BitWriter.cs b/src/vpk/Velopack.IcoLib/Binary/BitWriter.cs similarity index 100% rename from src/Velopack.IcoLib/Binary/BitWriter.cs rename to src/vpk/Velopack.IcoLib/Binary/BitWriter.cs diff --git a/src/Velopack.IcoLib/Binary/ByteOrderConverter.cs b/src/vpk/Velopack.IcoLib/Binary/ByteOrderConverter.cs similarity index 100% rename from src/Velopack.IcoLib/Binary/ByteOrderConverter.cs rename to src/vpk/Velopack.IcoLib/Binary/ByteOrderConverter.cs diff --git a/src/Velopack.IcoLib/Binary/ByteReader.cs b/src/vpk/Velopack.IcoLib/Binary/ByteReader.cs similarity index 100% rename from src/Velopack.IcoLib/Binary/ByteReader.cs rename to src/vpk/Velopack.IcoLib/Binary/ByteReader.cs diff --git a/src/Velopack.IcoLib/Binary/ByteWriter.cs b/src/vpk/Velopack.IcoLib/Binary/ByteWriter.cs similarity index 100% rename from src/Velopack.IcoLib/Binary/ByteWriter.cs rename to src/vpk/Velopack.IcoLib/Binary/ByteWriter.cs diff --git a/src/Velopack.IcoLib/Codecs/BmpDecoder.cs b/src/vpk/Velopack.IcoLib/Codecs/BmpDecoder.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/BmpDecoder.cs rename to src/vpk/Velopack.IcoLib/Codecs/BmpDecoder.cs diff --git a/src/Velopack.IcoLib/Codecs/BmpEncoder.cs b/src/vpk/Velopack.IcoLib/Codecs/BmpEncoder.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/BmpEncoder.cs rename to src/vpk/Velopack.IcoLib/Codecs/BmpEncoder.cs diff --git a/src/Velopack.IcoLib/Codecs/BmpUtil.cs b/src/vpk/Velopack.IcoLib/Codecs/BmpUtil.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/BmpUtil.cs rename to src/vpk/Velopack.IcoLib/Codecs/BmpUtil.cs diff --git a/src/Velopack.IcoLib/Codecs/EncodingOptions.cs b/src/vpk/Velopack.IcoLib/Codecs/EncodingOptions.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/EncodingOptions.cs rename to src/vpk/Velopack.IcoLib/Codecs/EncodingOptions.cs diff --git a/src/Velopack.IcoLib/Codecs/FileFormatConstants.cs b/src/vpk/Velopack.IcoLib/Codecs/FileFormatConstants.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/FileFormatConstants.cs rename to src/vpk/Velopack.IcoLib/Codecs/FileFormatConstants.cs diff --git a/src/Velopack.IcoLib/Codecs/IcoDecoder.cs b/src/vpk/Velopack.IcoLib/Codecs/IcoDecoder.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/IcoDecoder.cs rename to src/vpk/Velopack.IcoLib/Codecs/IcoDecoder.cs diff --git a/src/Velopack.IcoLib/Codecs/IcoEncoder.cs b/src/vpk/Velopack.IcoLib/Codecs/IcoEncoder.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/IcoEncoder.cs rename to src/vpk/Velopack.IcoLib/Codecs/IcoEncoder.cs diff --git a/src/Velopack.IcoLib/Codecs/PngDecoder.cs b/src/vpk/Velopack.IcoLib/Codecs/PngDecoder.cs similarity index 100% rename from src/Velopack.IcoLib/Codecs/PngDecoder.cs rename to src/vpk/Velopack.IcoLib/Codecs/PngDecoder.cs diff --git a/src/Velopack.IcoLib/Host/ExceptionWrapper.cs b/src/vpk/Velopack.IcoLib/Host/ExceptionWrapper.cs similarity index 100% rename from src/Velopack.IcoLib/Host/ExceptionWrapper.cs rename to src/vpk/Velopack.IcoLib/Host/ExceptionWrapper.cs diff --git a/src/Velopack.IcoLib/Host/IErrorReporter.cs b/src/vpk/Velopack.IcoLib/Host/IErrorReporter.cs similarity index 100% rename from src/Velopack.IcoLib/Host/IErrorReporter.cs rename to src/vpk/Velopack.IcoLib/Host/IErrorReporter.cs diff --git a/src/Velopack.IcoLib/Model/IcoFrame.cs b/src/vpk/Velopack.IcoLib/Model/IcoFrame.cs similarity index 100% rename from src/Velopack.IcoLib/Model/IcoFrame.cs rename to src/vpk/Velopack.IcoLib/Model/IcoFrame.cs diff --git a/src/Velopack.IcoLib/Model/IcoFrameEncoding.cs b/src/vpk/Velopack.IcoLib/Model/IcoFrameEncoding.cs similarity index 100% rename from src/Velopack.IcoLib/Model/IcoFrameEncoding.cs rename to src/vpk/Velopack.IcoLib/Model/IcoFrameEncoding.cs diff --git a/src/Velopack.IcoLib/Model/ParseContext.cs b/src/vpk/Velopack.IcoLib/Model/ParseContext.cs similarity index 100% rename from src/Velopack.IcoLib/Model/ParseContext.cs rename to src/vpk/Velopack.IcoLib/Model/ParseContext.cs diff --git a/src/Velopack.IcoLib/Model/PngFileEncoding.cs b/src/vpk/Velopack.IcoLib/Model/PngFileEncoding.cs similarity index 100% rename from src/Velopack.IcoLib/Model/PngFileEncoding.cs rename to src/vpk/Velopack.IcoLib/Model/PngFileEncoding.cs diff --git a/src/Velopack.IcoLib/README.md b/src/vpk/Velopack.IcoLib/README.md similarity index 100% rename from src/Velopack.IcoLib/README.md rename to src/vpk/Velopack.IcoLib/README.md diff --git a/src/Velopack.IcoLib/Validation/IcoErrorCode.cs b/src/vpk/Velopack.IcoLib/Validation/IcoErrorCode.cs similarity index 100% rename from src/Velopack.IcoLib/Validation/IcoErrorCode.cs rename to src/vpk/Velopack.IcoLib/Validation/IcoErrorCode.cs diff --git a/src/Velopack.IcoLib/Validation/InvalidIcoFileException.cs b/src/vpk/Velopack.IcoLib/Validation/InvalidIcoFileException.cs similarity index 100% rename from src/Velopack.IcoLib/Validation/InvalidIcoFileException.cs rename to src/vpk/Velopack.IcoLib/Validation/InvalidIcoFileException.cs diff --git a/src/Velopack.IcoLib/Validation/InvalidPngFileException.cs b/src/vpk/Velopack.IcoLib/Validation/InvalidPngFileException.cs similarity index 100% rename from src/Velopack.IcoLib/Validation/InvalidPngFileException.cs rename to src/vpk/Velopack.IcoLib/Validation/InvalidPngFileException.cs diff --git a/src/Velopack.IcoLib/Velopack.IcoLib.csproj b/src/vpk/Velopack.IcoLib/Velopack.IcoLib.csproj similarity index 100% rename from src/Velopack.IcoLib/Velopack.IcoLib.csproj rename to src/vpk/Velopack.IcoLib/Velopack.IcoLib.csproj diff --git a/src/Velopack.Packaging.Unix/AppImageTool.cs b/src/vpk/Velopack.Packaging.Unix/AppImageTool.cs similarity index 100% rename from src/Velopack.Packaging.Unix/AppImageTool.cs rename to src/vpk/Velopack.Packaging.Unix/AppImageTool.cs diff --git a/src/Velopack.Packaging.Unix/BinDetect.cs b/src/vpk/Velopack.Packaging.Unix/BinDetect.cs similarity index 100% rename from src/Velopack.Packaging.Unix/BinDetect.cs rename to src/vpk/Velopack.Packaging.Unix/BinDetect.cs diff --git a/src/Velopack.Packaging.Unix/Chmod.cs b/src/vpk/Velopack.Packaging.Unix/Chmod.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Chmod.cs rename to src/vpk/Velopack.Packaging.Unix/Chmod.cs diff --git a/src/Velopack.Packaging.Unix/Commands/LinuxPackCommandRunner.cs b/src/vpk/Velopack.Packaging.Unix/Commands/LinuxPackCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/LinuxPackCommandRunner.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/LinuxPackCommandRunner.cs diff --git a/src/Velopack.Packaging.Unix/Commands/LinuxPackOptions.cs b/src/vpk/Velopack.Packaging.Unix/Commands/LinuxPackOptions.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/LinuxPackOptions.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/LinuxPackOptions.cs diff --git a/src/Velopack.Packaging.Unix/Commands/OsxBundleCommandRunner.cs b/src/vpk/Velopack.Packaging.Unix/Commands/OsxBundleCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/OsxBundleCommandRunner.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/OsxBundleCommandRunner.cs diff --git a/src/Velopack.Packaging.Unix/Commands/OsxBundleOptions.cs b/src/vpk/Velopack.Packaging.Unix/Commands/OsxBundleOptions.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/OsxBundleOptions.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/OsxBundleOptions.cs diff --git a/src/Velopack.Packaging.Unix/Commands/OsxPackCommandRunner.cs b/src/vpk/Velopack.Packaging.Unix/Commands/OsxPackCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/OsxPackCommandRunner.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/OsxPackCommandRunner.cs diff --git a/src/Velopack.Packaging.Unix/Commands/OsxPackOptions.cs b/src/vpk/Velopack.Packaging.Unix/Commands/OsxPackOptions.cs similarity index 100% rename from src/Velopack.Packaging.Unix/Commands/OsxPackOptions.cs rename to src/vpk/Velopack.Packaging.Unix/Commands/OsxPackOptions.cs diff --git a/src/Velopack.Packaging.Unix/OsxAppInfo.cs b/src/vpk/Velopack.Packaging.Unix/OsxAppInfo.cs similarity index 100% rename from src/Velopack.Packaging.Unix/OsxAppInfo.cs rename to src/vpk/Velopack.Packaging.Unix/OsxAppInfo.cs diff --git a/src/Velopack.Packaging.Unix/OsxBuildTools.cs b/src/vpk/Velopack.Packaging.Unix/OsxBuildTools.cs similarity index 100% rename from src/Velopack.Packaging.Unix/OsxBuildTools.cs rename to src/vpk/Velopack.Packaging.Unix/OsxBuildTools.cs diff --git a/src/Velopack.Packaging.Unix/OsxStructureBuilder.cs b/src/vpk/Velopack.Packaging.Unix/OsxStructureBuilder.cs similarity index 100% rename from src/Velopack.Packaging.Unix/OsxStructureBuilder.cs rename to src/vpk/Velopack.Packaging.Unix/OsxStructureBuilder.cs diff --git a/src/Velopack.Packaging.Unix/PlistWriter.cs b/src/vpk/Velopack.Packaging.Unix/PlistWriter.cs similarity index 100% rename from src/Velopack.Packaging.Unix/PlistWriter.cs rename to src/vpk/Velopack.Packaging.Unix/PlistWriter.cs diff --git a/src/Velopack.Packaging.Unix/Velopack.Packaging.Unix.csproj b/src/vpk/Velopack.Packaging.Unix/Velopack.Packaging.Unix.csproj similarity index 100% rename from src/Velopack.Packaging.Unix/Velopack.Packaging.Unix.csproj rename to src/vpk/Velopack.Packaging.Unix/Velopack.Packaging.Unix.csproj diff --git a/src/Velopack.Packaging.Windows/AuthenticodeTools.cs b/src/vpk/Velopack.Packaging.Windows/AuthenticodeTools.cs similarity index 100% rename from src/Velopack.Packaging.Windows/AuthenticodeTools.cs rename to src/vpk/Velopack.Packaging.Windows/AuthenticodeTools.cs diff --git a/src/Velopack.Packaging.Windows/CodeSign.cs b/src/vpk/Velopack.Packaging.Windows/CodeSign.cs similarity index 100% rename from src/Velopack.Packaging.Windows/CodeSign.cs rename to src/vpk/Velopack.Packaging.Windows/CodeSign.cs diff --git a/src/Velopack.Packaging.Windows/Commands/WindowsPackCommandRunner.cs b/src/vpk/Velopack.Packaging.Windows/Commands/WindowsPackCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging.Windows/Commands/WindowsPackCommandRunner.cs rename to src/vpk/Velopack.Packaging.Windows/Commands/WindowsPackCommandRunner.cs diff --git a/src/Velopack.Packaging.Windows/Commands/WindowsPackOptions.cs b/src/vpk/Velopack.Packaging.Windows/Commands/WindowsPackOptions.cs similarity index 100% rename from src/Velopack.Packaging.Windows/Commands/WindowsPackOptions.cs rename to src/vpk/Velopack.Packaging.Windows/Commands/WindowsPackOptions.cs diff --git a/src/Velopack.Packaging.Windows/Commands/WindowsReleasifyOptions.cs b/src/vpk/Velopack.Packaging.Windows/Commands/WindowsReleasifyOptions.cs similarity index 100% rename from src/Velopack.Packaging.Windows/Commands/WindowsReleasifyOptions.cs rename to src/vpk/Velopack.Packaging.Windows/Commands/WindowsReleasifyOptions.cs diff --git a/src/Velopack.Packaging.Windows/Commands/WindowsSigningOptions.cs b/src/vpk/Velopack.Packaging.Windows/Commands/WindowsSigningOptions.cs similarity index 100% rename from src/Velopack.Packaging.Windows/Commands/WindowsSigningOptions.cs rename to src/vpk/Velopack.Packaging.Windows/Commands/WindowsSigningOptions.cs diff --git a/src/Velopack.Packaging.Windows/CompatUtil.cs b/src/vpk/Velopack.Packaging.Windows/CompatUtil.cs similarity index 100% rename from src/Velopack.Packaging.Windows/CompatUtil.cs rename to src/vpk/Velopack.Packaging.Windows/CompatUtil.cs diff --git a/src/Velopack.Packaging.Windows/IcoExtract.cs b/src/vpk/Velopack.Packaging.Windows/IcoExtract.cs similarity index 100% rename from src/Velopack.Packaging.Windows/IcoExtract.cs rename to src/vpk/Velopack.Packaging.Windows/IcoExtract.cs diff --git a/src/Velopack.Packaging.Windows/ResourceEdit.cs b/src/vpk/Velopack.Packaging.Windows/ResourceEdit.cs similarity index 100% rename from src/Velopack.Packaging.Windows/ResourceEdit.cs rename to src/vpk/Velopack.Packaging.Windows/ResourceEdit.cs diff --git a/src/Velopack.Packaging.Windows/SetupBundle.cs b/src/vpk/Velopack.Packaging.Windows/SetupBundle.cs similarity index 100% rename from src/Velopack.Packaging.Windows/SetupBundle.cs rename to src/vpk/Velopack.Packaging.Windows/SetupBundle.cs diff --git a/src/Velopack.Packaging.Windows/Velopack.Packaging.Windows.csproj b/src/vpk/Velopack.Packaging.Windows/Velopack.Packaging.Windows.csproj similarity index 100% rename from src/Velopack.Packaging.Windows/Velopack.Packaging.Windows.csproj rename to src/vpk/Velopack.Packaging.Windows/Velopack.Packaging.Windows.csproj diff --git a/src/Velopack.Packaging/Abstractions/ICommand.cs b/src/vpk/Velopack.Packaging/Abstractions/ICommand.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/ICommand.cs rename to src/vpk/Velopack.Packaging/Abstractions/ICommand.cs diff --git a/src/Velopack.Packaging/Abstractions/IConsole.cs b/src/vpk/Velopack.Packaging/Abstractions/IConsole.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IConsole.cs rename to src/vpk/Velopack.Packaging/Abstractions/IConsole.cs diff --git a/src/Velopack.Packaging/Abstractions/IFancyConsole.cs b/src/vpk/Velopack.Packaging/Abstractions/IFancyConsole.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IFancyConsole.cs rename to src/vpk/Velopack.Packaging/Abstractions/IFancyConsole.cs diff --git a/src/Velopack.Packaging/Abstractions/IFancyConsoleProgress.cs b/src/vpk/Velopack.Packaging/Abstractions/IFancyConsoleProgress.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IFancyConsoleProgress.cs rename to src/vpk/Velopack.Packaging/Abstractions/IFancyConsoleProgress.cs diff --git a/src/Velopack.Packaging/Abstractions/INugetPackCommand.cs b/src/vpk/Velopack.Packaging/Abstractions/INugetPackCommand.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/INugetPackCommand.cs rename to src/vpk/Velopack.Packaging/Abstractions/INugetPackCommand.cs diff --git a/src/Velopack.Packaging/Abstractions/IOutputOptions.cs b/src/vpk/Velopack.Packaging/Abstractions/IOutputOptions.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IOutputOptions.cs rename to src/vpk/Velopack.Packaging/Abstractions/IOutputOptions.cs diff --git a/src/Velopack.Packaging/Abstractions/IPackOptions.cs b/src/vpk/Velopack.Packaging/Abstractions/IPackOptions.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IPackOptions.cs rename to src/vpk/Velopack.Packaging/Abstractions/IPackOptions.cs diff --git a/src/Velopack.Packaging/Abstractions/IPlatformOptions.cs b/src/vpk/Velopack.Packaging/Abstractions/IPlatformOptions.cs similarity index 100% rename from src/Velopack.Packaging/Abstractions/IPlatformOptions.cs rename to src/vpk/Velopack.Packaging/Abstractions/IPlatformOptions.cs diff --git a/src/Velopack.Packaging/BuildAssets.cs b/src/vpk/Velopack.Packaging/BuildAssets.cs similarity index 100% rename from src/Velopack.Packaging/BuildAssets.cs rename to src/vpk/Velopack.Packaging/BuildAssets.cs diff --git a/src/Velopack.Packaging/Commands/DeltaGenCommandRunner.cs b/src/vpk/Velopack.Packaging/Commands/DeltaGenCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging/Commands/DeltaGenCommandRunner.cs rename to src/vpk/Velopack.Packaging/Commands/DeltaGenCommandRunner.cs diff --git a/src/Velopack.Packaging/Commands/DeltaGenOptions.cs b/src/vpk/Velopack.Packaging/Commands/DeltaGenOptions.cs similarity index 100% rename from src/Velopack.Packaging/Commands/DeltaGenOptions.cs rename to src/vpk/Velopack.Packaging/Commands/DeltaGenOptions.cs diff --git a/src/Velopack.Packaging/Commands/DeltaPatchCommandRunner.cs b/src/vpk/Velopack.Packaging/Commands/DeltaPatchCommandRunner.cs similarity index 100% rename from src/Velopack.Packaging/Commands/DeltaPatchCommandRunner.cs rename to src/vpk/Velopack.Packaging/Commands/DeltaPatchCommandRunner.cs diff --git a/src/Velopack.Packaging/Commands/DeltaPatchOptions.cs b/src/vpk/Velopack.Packaging/Commands/DeltaPatchOptions.cs similarity index 100% rename from src/Velopack.Packaging/Commands/DeltaPatchOptions.cs rename to src/vpk/Velopack.Packaging/Commands/DeltaPatchOptions.cs diff --git a/src/Velopack.Packaging/DeltaEmbedded.cs b/src/vpk/Velopack.Packaging/DeltaEmbedded.cs similarity index 100% rename from src/Velopack.Packaging/DeltaEmbedded.cs rename to src/vpk/Velopack.Packaging/DeltaEmbedded.cs diff --git a/src/Velopack.Packaging/DeltaMode.cs b/src/vpk/Velopack.Packaging/DeltaMode.cs similarity index 100% rename from src/Velopack.Packaging/DeltaMode.cs rename to src/vpk/Velopack.Packaging/DeltaMode.cs diff --git a/src/Velopack.Packaging/DeltaPackageBuilder.cs b/src/vpk/Velopack.Packaging/DeltaPackageBuilder.cs similarity index 100% rename from src/Velopack.Packaging/DeltaPackageBuilder.cs rename to src/vpk/Velopack.Packaging/DeltaPackageBuilder.cs diff --git a/src/Velopack.Packaging/Exceptions/ProcessFailedException.cs b/src/vpk/Velopack.Packaging/Exceptions/ProcessFailedException.cs similarity index 100% rename from src/Velopack.Packaging/Exceptions/ProcessFailedException.cs rename to src/vpk/Velopack.Packaging/Exceptions/ProcessFailedException.cs diff --git a/src/Velopack.Packaging/Exceptions/UserInfoException.cs b/src/vpk/Velopack.Packaging/Exceptions/UserInfoException.cs similarity index 100% rename from src/Velopack.Packaging/Exceptions/UserInfoException.cs rename to src/vpk/Velopack.Packaging/Exceptions/UserInfoException.cs diff --git a/src/Velopack.Packaging/Exceptions/VelopackAppVerificationException.cs b/src/vpk/Velopack.Packaging/Exceptions/VelopackAppVerificationException.cs similarity index 100% rename from src/Velopack.Packaging/Exceptions/VelopackAppVerificationException.cs rename to src/vpk/Velopack.Packaging/Exceptions/VelopackAppVerificationException.cs diff --git a/src/Velopack.Packaging/Exe.cs b/src/vpk/Velopack.Packaging/Exe.cs similarity index 100% rename from src/Velopack.Packaging/Exe.cs rename to src/vpk/Velopack.Packaging/Exe.cs diff --git a/src/Velopack.Packaging/Flow/AuthConfiguration.cs b/src/vpk/Velopack.Packaging/Flow/AuthConfiguration.cs similarity index 100% rename from src/Velopack.Packaging/Flow/AuthConfiguration.cs rename to src/vpk/Velopack.Packaging/Flow/AuthConfiguration.cs diff --git a/src/Velopack.Packaging/Flow/CreateReleaseGroupRequest.cs b/src/vpk/Velopack.Packaging/Flow/CreateReleaseGroupRequest.cs similarity index 100% rename from src/Velopack.Packaging/Flow/CreateReleaseGroupRequest.cs rename to src/vpk/Velopack.Packaging/Flow/CreateReleaseGroupRequest.cs diff --git a/src/Velopack.Packaging/Flow/HmacAuthHttpClientHandler.cs b/src/vpk/Velopack.Packaging/Flow/HmacAuthHttpClientHandler.cs similarity index 100% rename from src/Velopack.Packaging/Flow/HmacAuthHttpClientHandler.cs rename to src/vpk/Velopack.Packaging/Flow/HmacAuthHttpClientHandler.cs diff --git a/src/Velopack.Packaging/Flow/HmacHelper.cs b/src/vpk/Velopack.Packaging/Flow/HmacHelper.cs similarity index 100% rename from src/Velopack.Packaging/Flow/HmacHelper.cs rename to src/vpk/Velopack.Packaging/Flow/HmacHelper.cs diff --git a/src/Velopack.Packaging/Flow/Profile.cs b/src/vpk/Velopack.Packaging/Flow/Profile.cs similarity index 100% rename from src/Velopack.Packaging/Flow/Profile.cs rename to src/vpk/Velopack.Packaging/Flow/Profile.cs diff --git a/src/Velopack.Packaging/Flow/ReleaseGroup.cs b/src/vpk/Velopack.Packaging/Flow/ReleaseGroup.cs similarity index 100% rename from src/Velopack.Packaging/Flow/ReleaseGroup.cs rename to src/vpk/Velopack.Packaging/Flow/ReleaseGroup.cs diff --git a/src/Velopack.Packaging/Flow/UploadOptions.cs b/src/vpk/Velopack.Packaging/Flow/UploadOptions.cs similarity index 100% rename from src/Velopack.Packaging/Flow/UploadOptions.cs rename to src/vpk/Velopack.Packaging/Flow/UploadOptions.cs diff --git a/src/Velopack.Packaging/Flow/VelopackFlowServiceClient.cs b/src/vpk/Velopack.Packaging/Flow/VelopackFlowServiceClient.cs similarity index 100% rename from src/Velopack.Packaging/Flow/VelopackFlowServiceClient.cs rename to src/vpk/Velopack.Packaging/Flow/VelopackFlowServiceClient.cs diff --git a/src/Velopack.Packaging/Flow/VelopackLoginOptions.cs b/src/vpk/Velopack.Packaging/Flow/VelopackLoginOptions.cs similarity index 100% rename from src/Velopack.Packaging/Flow/VelopackLoginOptions.cs rename to src/vpk/Velopack.Packaging/Flow/VelopackLoginOptions.cs diff --git a/src/Velopack.Packaging/Flow/VelopackServiceOptions.cs b/src/vpk/Velopack.Packaging/Flow/VelopackServiceOptions.cs similarity index 100% rename from src/Velopack.Packaging/Flow/VelopackServiceOptions.cs rename to src/vpk/Velopack.Packaging/Flow/VelopackServiceOptions.cs diff --git a/src/Velopack.Packaging/HelperFile.cs b/src/vpk/Velopack.Packaging/HelperFile.cs similarity index 100% rename from src/Velopack.Packaging/HelperFile.cs rename to src/vpk/Velopack.Packaging/HelperFile.cs diff --git a/src/Velopack.Packaging/HttpClientExtensions.cs b/src/vpk/Velopack.Packaging/HttpClientExtensions.cs similarity index 100% rename from src/Velopack.Packaging/HttpClientExtensions.cs rename to src/vpk/Velopack.Packaging/HttpClientExtensions.cs diff --git a/src/Velopack.Packaging/PackageBuilder.cs b/src/vpk/Velopack.Packaging/PackageBuilder.cs similarity index 100% rename from src/Velopack.Packaging/PackageBuilder.cs rename to src/vpk/Velopack.Packaging/PackageBuilder.cs diff --git a/src/Velopack.Packaging/ReleaseEntryHelper.cs b/src/vpk/Velopack.Packaging/ReleaseEntryHelper.cs similarity index 100% rename from src/Velopack.Packaging/ReleaseEntryHelper.cs rename to src/vpk/Velopack.Packaging/ReleaseEntryHelper.cs diff --git a/src/Velopack.Packaging/ReleasePackage.cs b/src/vpk/Velopack.Packaging/ReleasePackage.cs similarity index 100% rename from src/Velopack.Packaging/ReleasePackage.cs rename to src/vpk/Velopack.Packaging/ReleasePackage.cs diff --git a/src/Velopack.Packaging/SimpleJson.cs b/src/vpk/Velopack.Packaging/SimpleJson.cs similarity index 100% rename from src/Velopack.Packaging/SimpleJson.cs rename to src/vpk/Velopack.Packaging/SimpleJson.cs diff --git a/src/Velopack.Packaging/Velopack.Packaging.csproj b/src/vpk/Velopack.Packaging/Velopack.Packaging.csproj similarity index 92% rename from src/Velopack.Packaging/Velopack.Packaging.csproj rename to src/vpk/Velopack.Packaging/Velopack.Packaging.csproj index 5712e3e5..7e66f7d4 100644 --- a/src/Velopack.Packaging/Velopack.Packaging.csproj +++ b/src/vpk/Velopack.Packaging/Velopack.Packaging.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Velopack.Packaging/Zstd.cs b/src/vpk/Velopack.Packaging/Zstd.cs similarity index 100% rename from src/Velopack.Packaging/Zstd.cs rename to src/vpk/Velopack.Packaging/Zstd.cs diff --git a/src/Velopack.Vpk/Commands/DeltaGenCommand.cs b/src/vpk/Velopack.Vpk/Commands/DeltaGenCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/DeltaGenCommand.cs rename to src/vpk/Velopack.Vpk/Commands/DeltaGenCommand.cs diff --git a/src/Velopack.Vpk/Commands/DeltaPatchCommand.cs b/src/vpk/Velopack.Vpk/Commands/DeltaPatchCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/DeltaPatchCommand.cs rename to src/vpk/Velopack.Vpk/Commands/DeltaPatchCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/AzureBaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/AzureBaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/AzureBaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/AzureBaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/AzureDownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/AzureDownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/AzureDownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/AzureDownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/AzureUploadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/AzureUploadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/AzureUploadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/AzureUploadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GitHubBaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GitHubBaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GitHubBaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GitHubBaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GitHubDownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GitHubDownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GitHubDownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GitHubDownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GitHubUploadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GitHubUploadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GitHubUploadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GitHubUploadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GiteaBaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GiteaBaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GiteaBaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GiteaBaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GiteaDownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GiteaDownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GiteaDownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GiteaDownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/GiteaUploadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/GiteaUploadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/GiteaUploadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/GiteaUploadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/HttpDownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/HttpDownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/HttpDownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/HttpDownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/LocalBaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/LocalBaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/LocalBaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/LocalBaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/LocalDownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/LocalDownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/LocalDownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/LocalDownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/LocalUploadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/LocalUploadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/LocalUploadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/LocalUploadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/S3BaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/S3BaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/S3BaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/S3BaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/S3DownloadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/S3DownloadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/S3DownloadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/S3DownloadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Deployment/S3UploadCommand.cs b/src/vpk/Velopack.Vpk/Commands/Deployment/S3UploadCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Deployment/S3UploadCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Deployment/S3UploadCommand.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LoginCommand.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LoginCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LoginCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LoginCommand.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LoginCommandRunner.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LoginCommandRunner.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LoginCommandRunner.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LoginCommandRunner.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LoginOptions.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LoginOptions.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LoginOptions.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LoginOptions.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LogoutCommand.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LogoutCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LogoutCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LogoutCommand.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LogoutCommandRunner.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LogoutCommandRunner.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LogoutCommandRunner.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LogoutCommandRunner.cs diff --git a/src/Velopack.Vpk/Commands/Flow/LogoutOptions.cs b/src/vpk/Velopack.Vpk/Commands/Flow/LogoutOptions.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/LogoutOptions.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/LogoutOptions.cs diff --git a/src/Velopack.Vpk/Commands/Flow/PublishCommand.cs b/src/vpk/Velopack.Vpk/Commands/Flow/PublishCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/PublishCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/PublishCommand.cs diff --git a/src/Velopack.Vpk/Commands/Flow/PublishCommandRunner.cs b/src/vpk/Velopack.Vpk/Commands/Flow/PublishCommandRunner.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/PublishCommandRunner.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/PublishCommandRunner.cs diff --git a/src/Velopack.Vpk/Commands/Flow/PublishOptions.cs b/src/vpk/Velopack.Vpk/Commands/Flow/PublishOptions.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/PublishOptions.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/PublishOptions.cs diff --git a/src/Velopack.Vpk/Commands/Flow/VelopackServiceCommand.cs b/src/vpk/Velopack.Vpk/Commands/Flow/VelopackServiceCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/Flow/VelopackServiceCommand.cs rename to src/vpk/Velopack.Vpk/Commands/Flow/VelopackServiceCommand.cs diff --git a/src/Velopack.Vpk/Commands/LinuxPackCommand.cs b/src/vpk/Velopack.Vpk/Commands/LinuxPackCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/LinuxPackCommand.cs rename to src/vpk/Velopack.Vpk/Commands/LinuxPackCommand.cs diff --git a/src/Velopack.Vpk/Commands/LongHelpCommand.cs b/src/vpk/Velopack.Vpk/Commands/LongHelpCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/LongHelpCommand.cs rename to src/vpk/Velopack.Vpk/Commands/LongHelpCommand.cs diff --git a/src/Velopack.Vpk/Commands/OsxBundleCommand.cs b/src/vpk/Velopack.Vpk/Commands/OsxBundleCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/OsxBundleCommand.cs rename to src/vpk/Velopack.Vpk/Commands/OsxBundleCommand.cs diff --git a/src/Velopack.Vpk/Commands/OsxPackCommand.cs b/src/vpk/Velopack.Vpk/Commands/OsxPackCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/OsxPackCommand.cs rename to src/vpk/Velopack.Vpk/Commands/OsxPackCommand.cs diff --git a/src/Velopack.Vpk/Commands/SystemCommandLineExtensions.cs b/src/vpk/Velopack.Vpk/Commands/SystemCommandLineExtensions.cs similarity index 100% rename from src/Velopack.Vpk/Commands/SystemCommandLineExtensions.cs rename to src/vpk/Velopack.Vpk/Commands/SystemCommandLineExtensions.cs diff --git a/src/Velopack.Vpk/Commands/WindowsPackCommand.cs b/src/vpk/Velopack.Vpk/Commands/WindowsPackCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/WindowsPackCommand.cs rename to src/vpk/Velopack.Vpk/Commands/WindowsPackCommand.cs diff --git a/src/Velopack.Vpk/Commands/_BaseCommand.cs b/src/vpk/Velopack.Vpk/Commands/_BaseCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/_BaseCommand.cs rename to src/vpk/Velopack.Vpk/Commands/_BaseCommand.cs diff --git a/src/Velopack.Vpk/Commands/_OutputCommand.cs b/src/vpk/Velopack.Vpk/Commands/_OutputCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/_OutputCommand.cs rename to src/vpk/Velopack.Vpk/Commands/_OutputCommand.cs diff --git a/src/Velopack.Vpk/Commands/_PackCommand.cs b/src/vpk/Velopack.Vpk/Commands/_PackCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/_PackCommand.cs rename to src/vpk/Velopack.Vpk/Commands/_PackCommand.cs diff --git a/src/Velopack.Vpk/Commands/_PlatformCommand.cs b/src/vpk/Velopack.Vpk/Commands/_PlatformCommand.cs similarity index 100% rename from src/Velopack.Vpk/Commands/_PlatformCommand.cs rename to src/vpk/Velopack.Vpk/Commands/_PlatformCommand.cs diff --git a/src/Velopack.Vpk/Converters/DirectoryInfoConverter.cs b/src/vpk/Velopack.Vpk/Converters/DirectoryInfoConverter.cs similarity index 100% rename from src/Velopack.Vpk/Converters/DirectoryInfoConverter.cs rename to src/vpk/Velopack.Vpk/Converters/DirectoryInfoConverter.cs diff --git a/src/Velopack.Vpk/Converters/FileInfoConverter.cs b/src/vpk/Velopack.Vpk/Converters/FileInfoConverter.cs similarity index 100% rename from src/Velopack.Vpk/Converters/FileInfoConverter.cs rename to src/vpk/Velopack.Vpk/Converters/FileInfoConverter.cs diff --git a/src/Velopack.Vpk/GlobalUsings.cs b/src/vpk/Velopack.Vpk/GlobalUsings.cs similarity index 100% rename from src/Velopack.Vpk/GlobalUsings.cs rename to src/vpk/Velopack.Vpk/GlobalUsings.cs diff --git a/src/Velopack.Vpk/Logging/BasicConsole.cs b/src/vpk/Velopack.Vpk/Logging/BasicConsole.cs similarity index 100% rename from src/Velopack.Vpk/Logging/BasicConsole.cs rename to src/vpk/Velopack.Vpk/Logging/BasicConsole.cs diff --git a/src/Velopack.Vpk/Logging/ConsoleExpressionNoMarkup.cs b/src/vpk/Velopack.Vpk/Logging/ConsoleExpressionNoMarkup.cs similarity index 100% rename from src/Velopack.Vpk/Logging/ConsoleExpressionNoMarkup.cs rename to src/vpk/Velopack.Vpk/Logging/ConsoleExpressionNoMarkup.cs diff --git a/src/Velopack.Vpk/Logging/LevelStyle.cs b/src/vpk/Velopack.Vpk/Logging/LevelStyle.cs similarity index 100% rename from src/Velopack.Vpk/Logging/LevelStyle.cs rename to src/vpk/Velopack.Vpk/Logging/LevelStyle.cs diff --git a/src/Velopack.Vpk/Logging/MySpectreConsoleSink.cs b/src/vpk/Velopack.Vpk/Logging/MySpectreConsoleSink.cs similarity index 100% rename from src/Velopack.Vpk/Logging/MySpectreConsoleSink.cs rename to src/vpk/Velopack.Vpk/Logging/MySpectreConsoleSink.cs diff --git a/src/Velopack.Vpk/Logging/RenderableCollection.cs b/src/vpk/Velopack.Vpk/Logging/RenderableCollection.cs similarity index 100% rename from src/Velopack.Vpk/Logging/RenderableCollection.cs rename to src/vpk/Velopack.Vpk/Logging/RenderableCollection.cs diff --git a/src/Velopack.Vpk/Logging/SpectreConsole.cs b/src/vpk/Velopack.Vpk/Logging/SpectreConsole.cs similarity index 100% rename from src/Velopack.Vpk/Logging/SpectreConsole.cs rename to src/vpk/Velopack.Vpk/Logging/SpectreConsole.cs diff --git a/src/Velopack.Vpk/OptionMapper.cs b/src/vpk/Velopack.Vpk/OptionMapper.cs similarity index 100% rename from src/Velopack.Vpk/OptionMapper.cs rename to src/vpk/Velopack.Vpk/OptionMapper.cs diff --git a/src/Velopack.Vpk/Program.cs b/src/vpk/Velopack.Vpk/Program.cs similarity index 100% rename from src/Velopack.Vpk/Program.cs rename to src/vpk/Velopack.Vpk/Program.cs diff --git a/src/Velopack.Vpk/Updates/NugetDownloader.cs b/src/vpk/Velopack.Vpk/Updates/NugetDownloader.cs similarity index 100% rename from src/Velopack.Vpk/Updates/NugetDownloader.cs rename to src/vpk/Velopack.Vpk/Updates/NugetDownloader.cs diff --git a/src/Velopack.Vpk/Updates/NullNugetLogger.cs b/src/vpk/Velopack.Vpk/Updates/NullNugetLogger.cs similarity index 100% rename from src/Velopack.Vpk/Updates/NullNugetLogger.cs rename to src/vpk/Velopack.Vpk/Updates/NullNugetLogger.cs diff --git a/src/Velopack.Vpk/Updates/UpdateChecker.cs b/src/vpk/Velopack.Vpk/Updates/UpdateChecker.cs similarity index 100% rename from src/Velopack.Vpk/Updates/UpdateChecker.cs rename to src/vpk/Velopack.Vpk/Updates/UpdateChecker.cs diff --git a/src/Velopack.Vpk/Velopack.Vpk.csproj b/src/vpk/Velopack.Vpk/Velopack.Vpk.csproj similarity index 100% rename from src/Velopack.Vpk/Velopack.Vpk.csproj rename to src/vpk/Velopack.Vpk/Velopack.Vpk.csproj diff --git a/src/Velopack.Vpk/VelopackDefaults.cs b/src/vpk/Velopack.Vpk/VelopackDefaults.cs similarity index 100% rename from src/Velopack.Vpk/VelopackDefaults.cs rename to src/vpk/Velopack.Vpk/VelopackDefaults.cs diff --git a/test/PathHelper.cs b/test/PathHelper.cs index 0c960e60..e80b158a 100644 --- a/test/PathHelper.cs +++ b/test/PathHelper.cs @@ -10,10 +10,10 @@ public static class PathHelper => Path.Combine(GetTestRoot(), ".."); public static string GetAvaloniaSample() - => Path.Combine(GetProjectDir(), "samples", "AvaloniaCrossPlat"); + => Path.Combine(GetProjectDir(), "samples", "CSharpAvalonia"); public static string GetWpfSample() - => Path.Combine(GetProjectDir(), "samples", "VeloWpfSample"); + => Path.Combine(GetProjectDir(), "samples", "CSharpWpf"); public static string GetVendorLibDir() => Path.Combine(GetProjectDir(), "vendor"); @@ -27,15 +27,12 @@ public static class PathHelper public static string GetTestRootPath(params string[] names) => Path.Combine(new string[] { GetTestRoot() }.Concat(names).ToArray()); - public static string GetRustSrcDir() - => Path.Combine(GetProjectDir(), "src", "Rust"); - #if DEBUG public static string GetRustBuildOutputDir() - => Path.Combine(GetRustSrcDir(), "target", "debug"); + => Path.Combine(GetProjectDir(), "target", "debug"); #else public static string GetRustBuildOutputDir() - => Path.Combine(GetRustSrcDir(), "target", "release"); + => Path.Combine(GetProjectDir(), "target", "release"); #endif public static string GetRustAsset(params string[] names) diff --git a/test/TestApp/TestApp.csproj b/test/TestApp/TestApp.csproj index 4ba6b894..ad36182c 100644 --- a/test/TestApp/TestApp.csproj +++ b/test/TestApp/TestApp.csproj @@ -15,7 +15,7 @@ - + diff --git a/test/Velopack.CommandLine.Tests/Velopack.CommandLine.Tests.csproj b/test/Velopack.CommandLine.Tests/Velopack.CommandLine.Tests.csproj index b70d852a..9541c0d7 100644 --- a/test/Velopack.CommandLine.Tests/Velopack.CommandLine.Tests.csproj +++ b/test/Velopack.CommandLine.Tests/Velopack.CommandLine.Tests.csproj @@ -7,7 +7,7 @@ - + diff --git a/test/Velopack.Packaging.Tests/CompatUtilTests.cs b/test/Velopack.Packaging.Tests/CompatUtilTests.cs index 08bcd81f..ea2f0e42 100644 --- a/test/Velopack.Packaging.Tests/CompatUtilTests.cs +++ b/test/Velopack.Packaging.Tests/CompatUtilTests.cs @@ -43,10 +43,10 @@ public class CompatUtilTests "-p:UseLocalVelopack=true", "-p:PublishSingleFile=true" }, sample); - var path = Path.Combine(dir, "AvaloniaCrossPlat.exe"); + var path = Path.Combine(dir, "VelopackCSharpAvalonia.exe"); Assert.Equal(VelopackRuntimeInfo.VelopackProductVersion, compat.Verify(path)); - var newPath = Path.Combine(dir, "AvaloniaCrossPlat-asd2.exe"); + var newPath = Path.Combine(dir, "VelopackCSharpAvalonia-asd2.exe"); File.Move(path, newPath); Assert.Equal(VelopackRuntimeInfo.VelopackProductVersion, compat.Verify(newPath)); } @@ -64,10 +64,10 @@ public class CompatUtilTests "-p:UseLocalVelopack=true" }, sample); - var path = Path.Combine(dir, "AvaloniaCrossPlat.exe"); + var path = Path.Combine(dir, "VelopackCSharpAvalonia.exe"); Assert.Equal(VelopackRuntimeInfo.VelopackProductVersion, compat.Verify(path)); - var newPath = Path.Combine(dir, "AvaloniaCrossPlat-asd2.exe"); + var newPath = Path.Combine(dir, "VelopackCSharpAvalonia-asd2.exe"); File.Move(path, newPath); Assert.Equal(VelopackRuntimeInfo.VelopackProductVersion, compat.Verify(newPath)); } @@ -84,10 +84,10 @@ public class CompatUtilTests new string[] { "publish", "-o", dir }, sample); - var path = Path.Combine(dir, "VeloWpfSample.exe"); + var path = Path.Combine(dir, "VelopackCSharpWpf.exe"); Assert.NotNull(compat.Verify(path)); - var newPath = Path.Combine(dir, "VeloWpfSample-asd2.exe"); + var newPath = Path.Combine(dir, "VelopackCSharpWpf-asd2.exe"); File.Move(path, newPath); Assert.NotNull(compat.Verify(newPath)); } @@ -125,7 +125,7 @@ public class CompatUtilTests var path = Path.Combine(dir, "TestApp.exe"); Assert.NotNull(compat.Verify(path)); - var newPath = Path.Combine(dir, "VeloWpfSample-asd2.exe"); + var newPath = Path.Combine(dir, "CSharpWpf-asd2.exe"); File.Move(path, newPath); Assert.NotNull(compat.Verify(newPath)); } diff --git a/test/Velopack.Packaging.Tests/Velopack.Packaging.Tests.csproj b/test/Velopack.Packaging.Tests/Velopack.Packaging.Tests.csproj index 656d4470..2d09636d 100644 --- a/test/Velopack.Packaging.Tests/Velopack.Packaging.Tests.csproj +++ b/test/Velopack.Packaging.Tests/Velopack.Packaging.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/test/Velopack.Packaging.Tests/WindowsPackTests.cs b/test/Velopack.Packaging.Tests/WindowsPackTests.cs index ecdf4465..71bb32c6 100644 --- a/test/Velopack.Packaging.Tests/WindowsPackTests.cs +++ b/test/Velopack.Packaging.Tests/WindowsPackTests.cs @@ -41,7 +41,7 @@ public class WindowsPackTests using var _2 = Utility.GetTempDirectory(out var tmpReleaseDir); using var _3 = Utility.GetTempDirectory(out var unzipDir); - var exe = "testawareapp.exe"; + var exe = "testapp.exe"; var pdb = Path.ChangeExtension(exe, ".pdb"); var id = "Test.Squirrel-App"; var version = "1.0.0"; @@ -109,7 +109,7 @@ public class WindowsPackTests using var _1 = Utility.GetTempDirectory(out var tmpOutput); using var _2 = Utility.GetTempDirectory(out var tmpReleaseDir); - var exe = "testawareapp.exe"; + var exe = "testapp.exe"; var pdb = Path.ChangeExtension(exe, ".pdb"); var id = "Test.Squirrel-App"; var version = "1.0.0"; @@ -142,7 +142,7 @@ public class WindowsPackTests using var _1 = Utility.GetTempDirectory(out var tmpOutput); using var _2 = Utility.GetTempDirectory(out var tmpReleaseDir); - var exe = "testawareapp.exe"; + var exe = "testapp.exe"; var pdb = Path.ChangeExtension(exe, ".pdb"); var id = "Test.Squirrel-App"; var version = "1.0.0"; @@ -181,7 +181,7 @@ public class WindowsPackTests using var _2 = Utility.GetTempDirectory(out var tmpReleaseDir); using var _3 = Utility.GetTempDirectory(out var tmpInstallDir); - var exe = "testawareapp.exe"; + var exe = "testapp.exe"; var pdb = Path.ChangeExtension(exe, ".pdb"); var id = "Test.Squirrel-App"; var version = "1.0.0"; @@ -210,7 +210,7 @@ public class WindowsPackTests var updatePath = Path.Combine(tmpInstallDir, "Update.exe"); Assert.True(File.Exists(updatePath)); - var appPath = Path.Combine(tmpInstallDir, "current", "testawareapp.exe"); + var appPath = Path.Combine(tmpInstallDir, "current", "testapp.exe"); Assert.True(File.Exists(appPath)); var argsPath = Path.Combine(tmpInstallDir, "current", "args.txt"); diff --git a/test/Velopack.Tests/Velopack.Tests.csproj b/test/Velopack.Tests/Velopack.Tests.csproj index 8e8124f9..8f01bee2 100644 --- a/test/Velopack.Tests/Velopack.Tests.csproj +++ b/test/Velopack.Tests/Velopack.Tests.csproj @@ -15,7 +15,7 @@ - + @@ -31,7 +31,7 @@ - +