diff --git a/pkgs/by-name/pi/piliplus/git-hashes.json b/pkgs/by-name/pi/piliplus/git-hashes.json new file mode 100644 index 000000000000..dc4bb9ee123a --- /dev/null +++ b/pkgs/by-name/pi/piliplus/git-hashes.json @@ -0,0 +1,11 @@ +{ + "auto_orientation": "sha256-0QOEW8+0PpBIELmzilZ8+z7ozNRxKgI0BzuBS8c1Fng=", + "canvas_danmaku": "sha256-3cBsQCvXuc5XvSRNY4QX33+t8aF2AfOQhRt+MCQWdOA=", + "chat_bottom_container": "sha256-um9KwZUDxWBhFsGHfv00TjPzxDHmp43TLRF0GwuV1xs=", + "extended_nested_scroll_view": "sha256-5X8ghUlEO/lvz/3PmYuipCjcs+QrIciaH5wgWp9i+24=", + "floating": "sha256-TJ2i3hTOQ4euHWr+lfQU44L3vVehmWVdZuAzNyVaEfA=", + "flutter_sortable_wrap": "sha256-Qj9Lzh+pJy+vHznGt5M3xwoJtaVtt00fxm4JJXL4bFI=", + "material_design_icons_flutter": "sha256-KMwjnzJJj8nemCqUCSwYafPOwTYbtoHNenxstocJtz4=", + "media_kit_video": "sha256-wtxTbqOkwQvgDX+LBWLZAdgKkTj4LC484if1LOMjbmA=", + "webdav_client": "sha256-euNF7HdDtZ68BqSEq9BvO10BK09MxX2wWGoElFS0yeE=" +} diff --git a/pkgs/by-name/pi/piliplus/package.nix b/pkgs/by-name/pi/piliplus/package.nix new file mode 100644 index 000000000000..ba57b46eae13 --- /dev/null +++ b/pkgs/by-name/pi/piliplus/package.nix @@ -0,0 +1,104 @@ +{ + lib, + fetchFromGitHub, + flutter335, + makeShellWrapper, + makeDesktopItem, + copyDesktopItems, + alsa-lib, + mpv-unwrapped, + libplacebo, +}: + +let + version = "1.1.4.1"; + rev = "288d554de9bd79ed52582d95517a3d2ea59e6e06"; + + description = "Third-party Bilibili client developed in Flutter"; +in +flutter335.buildFlutterApplication.override + { + # makeBinaryWrapper does not support `--run`. + makeWrapper = makeShellWrapper; + } + { + pname = "piliplus"; + inherit version; + + src = fetchFromGitHub { + owner = "bggRGjQaUbCoE"; + repo = "PiliPlus"; + inherit rev; + hash = "sha256-ia+qN3Oa8R7ZPN/IETedESv1+cSXKQOo158is0m/JJM="; + }; + + # Disable update check. + postPatch = '' + substituteInPlace lib/utils/update.dart \ + --replace-fail "if (kDebugMode) " "" + ''; + + pubspecLock = lib.importJSON ./pubspec.lock.json; + gitHashes = lib.importJSON ./git-hashes.json; + + nativeBuildInputs = [ copyDesktopItems ]; + + buildInputs = [ + alsa-lib + mpv-unwrapped + libplacebo + ]; + + # See lib/scripts/build.sh. + preBuild = '' + cat < lib/build_config.dart + class BuildConfig { + static const int buildTime = $SOURCE_DATE_EPOCH; + static const String commitHash = '${rev}'; + } + EOL + ''; + + # The app attempts to get the total size of TMPDIR at startup. + extraWrapProgramArgs = '' + --run 'export TMPDIR="$(mktemp -d)"' + ''; + + postInstall = '' + declare -A sizes=( + [mdpi]=128 + [hdpi]=192 + [xhdpi]=256 + [xxhdpi]=384 + [xxxhdpi]=512 + ) + for var in "''${!sizes[@]}"; do + width=''${sizes[$var]} + install -Dm644 "android/app/src/main/res/drawable-$var/splash.png" \ + "$out/share/icons/hicolor/$widthx$width/apps/piliplus.png" + done + ''; + + desktopItems = [ + (makeDesktopItem { + name = "piliplus"; + exec = "piliplus"; + icon = "piliplus"; + desktopName = "PiliPlus"; + categories = [ "Video" ]; + comment = description; + }) + ]; + + passthru.updateScript = ./update.rb; + + meta = { + inherit description; + homepage = "https://github.com/bggRGjQaUbCoE/PiliPlus"; + changelog = "https://github.com/bggRGjQaUbCoE/PiliPlus/releases/tag/${version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ulysseszhan ]; + platforms = lib.platforms.linux; + mainProgram = "piliplus"; + }; + } diff --git a/pkgs/by-name/pi/piliplus/pubspec.lock.json b/pkgs/by-name/pi/piliplus/pubspec.lock.json new file mode 100644 index 000000000000..92e73ea0ab4c --- /dev/null +++ b/pkgs/by-name/pi/piliplus/pubspec.lock.json @@ -0,0 +1,2617 @@ +{ + "packages": { + "_fe_analyzer_shared": { + "dependency": "transitive", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "67.0.0" + }, + "analyzer": { + "dependency": "transitive", + "description": { + "name": "analyzer", + "sha256": "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.4.1" + }, + "animations": { + "dependency": "direct main", + "description": { + "name": "animations", + "sha256": "d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.11" + }, + "ansicolor": { + "dependency": "transitive", + "description": { + "name": "ansicolor", + "sha256": "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "app_links": { + "dependency": "direct main", + "description": { + "name": "app_links", + "sha256": "5f88447519add627fe1cbcab4fd1da3d4fed15b9baf29f28b22535c95ecee3e8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.4.1" + }, + "app_links_linux": { + "dependency": "transitive", + "description": { + "name": "app_links_linux", + "sha256": "f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.3" + }, + "app_links_platform_interface": { + "dependency": "transitive", + "description": { + "name": "app_links_platform_interface", + "sha256": "05f5379577c513b534a29ddea68176a4d4802c46180ee8e2e966257158772a3f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "app_links_web": { + "dependency": "transitive", + "description": { + "name": "app_links_web", + "sha256": "af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.7" + }, + "args": { + "dependency": "transitive", + "description": { + "name": "args", + "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.7.0" + }, + "asn1lib": { + "dependency": "transitive", + "description": { + "name": "asn1lib", + "sha256": "9a8f69025044eb466b9b60ef3bc3ac99b4dc6c158ae9c56d25eeccf5bc56d024", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.5" + }, + "async": { + "dependency": "transitive", + "description": { + "name": "async", + "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.13.0" + }, + "audio_service": { + "dependency": "direct main", + "description": { + "name": "audio_service", + "sha256": "cb122c7c2639d2a992421ef96b67948ad88c5221da3365ccef1031393a76e044", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.18.18" + }, + "audio_service_platform_interface": { + "dependency": "transitive", + "description": { + "name": "audio_service_platform_interface", + "sha256": "6283782851f6c8b501b60904a32fc7199dc631172da0629d7301e66f672ab777", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.3" + }, + "audio_service_web": { + "dependency": "transitive", + "description": { + "name": "audio_service_web", + "sha256": "b8ea9243201ee53383157fbccf13d5d2a866b5dda922ec19d866d1d5d70424df", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.4" + }, + "audio_session": { + "dependency": "direct main", + "description": { + "name": "audio_session", + "sha256": "8f96a7fecbb718cb093070f868b4cdcb8a9b1053dce342ff8ab2fde10eb9afb7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.2" + }, + "auto_orientation": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "master", + "resolved-ref": "ca2bb137bd0e4b221df3bc5ba1492d2902c78624", + "url": "https://github.com/bggRGjQaUbCoE/auto_orientation.git" + }, + "source": "git", + "version": "2.3.1" + }, + "boolean_selector": { + "dependency": "transitive", + "description": { + "name": "boolean_selector", + "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "brotli": { + "dependency": "direct main", + "description": { + "name": "brotli", + "sha256": "7f891558ed779aab2bed874f0a36b8123f9ff3f19cf6efbee89e18ed294945ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "build": { + "dependency": "transitive", + "description": { + "name": "build", + "sha256": "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.1" + }, + "build_config": { + "dependency": "transitive", + "description": { + "name": "build_config", + "sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "build_daemon": { + "dependency": "transitive", + "description": { + "name": "build_daemon", + "sha256": "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.4" + }, + "build_resolvers": { + "dependency": "transitive", + "description": { + "name": "build_resolvers", + "sha256": "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "build_runner": { + "dependency": "direct dev", + "description": { + "name": "build_runner", + "sha256": "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.13" + }, + "build_runner_core": { + "dependency": "transitive", + "description": { + "name": "build_runner_core", + "sha256": "f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.3.2" + }, + "built_collection": { + "dependency": "transitive", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "transitive", + "description": { + "name": "built_value", + "sha256": "ba95c961bafcd8686d1cf63be864eb59447e795e124d98d6a27d91fcd13602fb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.11.1" + }, + "cached_network_image": { + "dependency": "direct main", + "description": { + "name": "cached_network_image", + "sha256": "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.4.1" + }, + "cached_network_image_platform_interface": { + "dependency": "transitive", + "description": { + "name": "cached_network_image_platform_interface", + "sha256": "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "cached_network_image_web": { + "dependency": "transitive", + "description": { + "name": "cached_network_image_web", + "sha256": "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "cached_network_svg_image": { + "dependency": "direct main", + "description": { + "name": "cached_network_svg_image", + "sha256": "fe9df0217c12e3903558dad14e1bb938c51296a1d96faa080415c6146bbd7a7d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "canvas_danmaku": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "main", + "resolved-ref": "1c8cd0bb44f4883fe0a37d06aa11f9bfd1da6379", + "url": "https://github.com/bggRGjQaUbCoE/canvas_danmaku.git" + }, + "source": "git", + "version": "0.2.6" + }, + "catcher_2": { + "dependency": "direct main", + "description": { + "name": "catcher_2", + "sha256": "ffdad9d314a91d2baabd90b3332bccda00b5f2fabd9d6afa4f988479b9bc3eca", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.3" + }, + "characters": { + "dependency": "transitive", + "description": { + "name": "characters", + "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.0" + }, + "chat_bottom_container": { + "dependency": "direct main", + "description": { + "path": "packages/chat_bottom_container", + "ref": "main", + "resolved-ref": "acccababf698ef1712031c383ea4b7ff54ae630c", + "url": "https://github.com/bggRGjQaUbCoE/flutter_chat_packages.git" + }, + "source": "git", + "version": "0.3.2" + }, + "checked_yaml": { + "dependency": "transitive", + "description": { + "name": "checked_yaml", + "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.4" + }, + "cli_util": { + "dependency": "transitive", + "description": { + "name": "cli_util", + "sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.4.2" + }, + "clock": { + "dependency": "transitive", + "description": { + "name": "clock", + "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "code_builder": { + "dependency": "transitive", + "description": { + "name": "code_builder", + "sha256": "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.10.1" + }, + "collection": { + "dependency": "direct main", + "description": { + "name": "collection", + "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.19.1" + }, + "connectivity_plus": { + "dependency": "direct main", + "description": { + "name": "connectivity_plus", + "sha256": "b5e72753cf63becce2c61fd04dfe0f1c430cc5278b53a1342dc5ad839eab29ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.5" + }, + "connectivity_plus_platform_interface": { + "dependency": "transitive", + "description": { + "name": "connectivity_plus_platform_interface", + "sha256": "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.1" + }, + "convert": { + "dependency": "transitive", + "description": { + "name": "convert", + "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "cookie_jar": { + "dependency": "direct main", + "description": { + "name": "cookie_jar", + "sha256": "a6ac027d3ed6ed756bfce8f3ff60cb479e266f3b0fdabd6242b804b6765e52de", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.8" + }, + "crclib": { + "dependency": "direct main", + "description": { + "name": "crclib", + "sha256": "800f2226cd90c900ddcaaccb79449eabe690627ee8c7046737458f1a2509043d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "cross_file": { + "dependency": "transitive", + "description": { + "name": "cross_file", + "sha256": "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.4+2" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.6" + }, + "csslib": { + "dependency": "transitive", + "description": { + "name": "csslib", + "sha256": "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "cupertino_icons": { + "dependency": "direct main", + "description": { + "name": "cupertino_icons", + "sha256": "ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.8" + }, + "dart_style": { + "dependency": "transitive", + "description": { + "name": "dart_style", + "sha256": "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.6" + }, + "dbus": { + "dependency": "transitive", + "description": { + "name": "dbus", + "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.11" + }, + "device_info_plus": { + "dependency": "direct main", + "description": { + "name": "device_info_plus", + "sha256": "98f28b42168cc509abc92f88518882fd58061ea372d7999aecc424345c7bff6a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.5.0" + }, + "device_info_plus_platform_interface": { + "dependency": "transitive", + "description": { + "name": "device_info_plus_platform_interface", + "sha256": "e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.3" + }, + "dio": { + "dependency": "direct main", + "description": { + "name": "dio", + "sha256": "d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.9.0" + }, + "dio_http2_adapter": { + "dependency": "direct main", + "description": { + "name": "dio_http2_adapter", + "sha256": "b8bd5d587fd228a461711f8b82f378ccd4bf1fbf7802e7663ca60d7b5ce0e3aa", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.6.0" + }, + "dio_web_adapter": { + "dependency": "transitive", + "description": { + "name": "dio_web_adapter", + "sha256": "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "document_file_save_plus": { + "dependency": "direct main", + "description": { + "name": "document_file_save_plus", + "sha256": "ff05c6a3b072377566e8e92666db38eb277786f90c0ac267ea47dc22725c1df3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "dynamic_color": { + "dependency": "direct main", + "description": { + "name": "dynamic_color", + "sha256": "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.8.1" + }, + "easy_debounce": { + "dependency": "direct main", + "description": { + "name": "easy_debounce", + "sha256": "f082609cfb8f37defb9e37fc28bc978c6712dedf08d4c5a26f820fa10165a236", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "encrypt": { + "dependency": "direct main", + "description": { + "name": "encrypt", + "sha256": "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.0.3" + }, + "equatable": { + "dependency": "transitive", + "description": { + "name": "equatable", + "sha256": "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.7" + }, + "expandable": { + "dependency": "direct main", + "description": { + "name": "expandable", + "sha256": "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.0.1" + }, + "extended_list_library": { + "dependency": "transitive", + "description": { + "name": "extended_list_library", + "sha256": "cb424a04464e89bd6737f9ae025029bd8e913c7bf37101ad10c2defe0238d842", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "extended_nested_scroll_view": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "mod", + "resolved-ref": "8289673adc2b0485ab2abda49bea42ef8b899bf0", + "url": "https://github.com/bggRGjQaUbCoE/extended_nested_scroll_view.git" + }, + "source": "git", + "version": "6.2.1" + }, + "fading_edge_scrollview": { + "dependency": "direct overridden", + "description": { + "name": "fading_edge_scrollview", + "sha256": "1f84fe3ea8e251d00d5735e27502a6a250e4aa3d3b330d3fdcb475af741464ef", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "fake_async": { + "dependency": "transitive", + "description": { + "name": "fake_async", + "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.3" + }, + "ffi": { + "dependency": "transitive", + "description": { + "name": "ffi", + "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "file": { + "dependency": "transitive", + "description": { + "name": "file", + "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.1" + }, + "file_selector_linux": { + "dependency": "transitive", + "description": { + "name": "file_selector_linux", + "sha256": "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.3+2" + }, + "file_selector_macos": { + "dependency": "transitive", + "description": { + "name": "file_selector_macos", + "sha256": "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.4+4" + }, + "file_selector_platform_interface": { + "dependency": "transitive", + "description": { + "name": "file_selector_platform_interface", + "sha256": "a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.6.2" + }, + "file_selector_windows": { + "dependency": "transitive", + "description": { + "name": "file_selector_windows", + "sha256": "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.3+4" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "fl_chart": { + "dependency": "direct main", + "description": { + "name": "fl_chart", + "sha256": "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "flex_seed_scheme": { + "dependency": "direct main", + "description": { + "name": "flex_seed_scheme", + "sha256": "b06d8b367b84cbf7ca5c5603c858fa5edae88486c4e4da79ac1044d73b6c62ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.5.1" + }, + "floating": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "version-3", + "resolved-ref": "929e9ec1312d9d1b4755d7589dd53db5b4d6d50d", + "url": "https://github.com/bggRGjQaUbCoE/floating.git" + }, + "source": "git", + "version": "3.0.0" + }, + "flutter": { + "dependency": "direct main", + "description": "flutter", + "source": "sdk", + "version": "0.0.0" + }, + "flutter_cache_manager": { + "dependency": "direct main", + "description": { + "name": "flutter_cache_manager", + "sha256": "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.4.1" + }, + "flutter_displaymode": { + "dependency": "direct main", + "description": { + "name": "flutter_displaymode", + "sha256": "42c5e9abd13d28ed74f701b60529d7f8416947e58256e6659c5550db719c57ef", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "flutter_html": { + "dependency": "direct main", + "description": { + "name": "flutter_html", + "sha256": "38a2fd702ffdf3243fb7441ab58aa1bc7e6922d95a50db76534de8260638558d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "flutter_inappwebview": { + "dependency": "direct main", + "description": { + "name": "flutter_inappwebview", + "sha256": "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.5" + }, + "flutter_inappwebview_android": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_android", + "sha256": "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.3" + }, + "flutter_inappwebview_internal_annotations": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_internal_annotations", + "sha256": "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "flutter_inappwebview_ios": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_ios", + "sha256": "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "flutter_inappwebview_macos": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_macos", + "sha256": "c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "flutter_inappwebview_platform_interface": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_platform_interface", + "sha256": "cf5323e194096b6ede7a1ca808c3e0a078e4b33cc3f6338977d75b4024ba2500", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0+1" + }, + "flutter_inappwebview_web": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_web", + "sha256": "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "flutter_inappwebview_windows": { + "dependency": "transitive", + "description": { + "name": "flutter_inappwebview_windows", + "sha256": "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "flutter_launcher_icons": { + "dependency": "direct dev", + "description": { + "name": "flutter_launcher_icons", + "sha256": "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.14.4" + }, + "flutter_lints": { + "dependency": "direct dev", + "description": { + "name": "flutter_lints", + "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.0" + }, + "flutter_localizations": { + "dependency": "direct main", + "description": "flutter", + "source": "sdk", + "version": "0.0.0" + }, + "flutter_mailer": { + "dependency": "transitive", + "description": { + "name": "flutter_mailer", + "sha256": "149e51d4e3ba12f8b61e1923ff4304f308acb856b92e9d09326bec6a1ad943d6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.1" + }, + "flutter_native_splash": { + "dependency": "direct dev", + "description": { + "name": "flutter_native_splash", + "sha256": "8321a6d11a8d13977fa780c89de8d257cce3d841eecfb7a4cadffcc4f12d82dc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.6" + }, + "flutter_plugin_android_lifecycle": { + "dependency": "transitive", + "description": { + "name": "flutter_plugin_android_lifecycle", + "sha256": "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.29" + }, + "flutter_smart_dialog": { + "dependency": "direct main", + "description": { + "name": "flutter_smart_dialog", + "sha256": "0852df132cb03fd8fc5144eb404c31eb7eb50c22aecb1cc2504f2f598090d756", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.9.8+9" + }, + "flutter_sortable_wrap": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "master", + "resolved-ref": "ed2d47c7a8cc0d218bc322ab770fd19c0b56a863", + "url": "https://github.com/bggRGjQaUbCoE/flutter_sortable_wrap.git" + }, + "source": "git", + "version": "1.0.6" + }, + "flutter_svg": { + "dependency": "direct main", + "description": { + "name": "flutter_svg", + "sha256": "cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "flutter_test": { + "dependency": "direct dev", + "description": "flutter", + "source": "sdk", + "version": "0.0.0" + }, + "flutter_volume_controller": { + "dependency": "direct main", + "description": { + "name": "flutter_volume_controller", + "sha256": "15f2c25bc4632ac5e8d42a208fe07c3224a4ee66b155d1ac86945b3db2bb58d9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.3" + }, + "flutter_web_plugins": { + "dependency": "transitive", + "description": "flutter", + "source": "sdk", + "version": "0.0.0" + }, + "fluttertoast": { + "dependency": "transitive", + "description": { + "name": "fluttertoast", + "sha256": "25e51620424d92d3db3832464774a6143b5053f15e382d8ffbfd40b6e795dcf1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.2.12" + }, + "font_awesome_flutter": { + "dependency": "direct main", + "description": { + "name": "font_awesome_flutter", + "sha256": "f50ce90dbe26d977415b9540400d6778bef00894aced6358ae578abd92b14b10", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "10.9.0" + }, + "frontend_server_client": { + "dependency": "transitive", + "description": { + "name": "frontend_server_client", + "sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.0" + }, + "get": { + "dependency": "direct main", + "description": { + "name": "get", + "sha256": "c79eeb4339f1f3deffd9ec912f8a923834bec55f7b49c9e882b8fef2c139d425", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.7.2" + }, + "glob": { + "dependency": "transitive", + "description": { + "name": "glob", + "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.3" + }, + "graphs": { + "dependency": "transitive", + "description": { + "name": "graphs", + "sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.2" + }, + "gt3_flutter_plugin": { + "dependency": "direct main", + "description": { + "name": "gt3_flutter_plugin", + "sha256": "9cf4070f3f1811b7aa7a1daebdec5886dbda8e64f932a713dab21d8128d7dad2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.1" + }, + "gtk": { + "dependency": "transitive", + "description": { + "name": "gtk", + "sha256": "e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "hive": { + "dependency": "direct main", + "description": { + "name": "hive", + "sha256": "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.3" + }, + "hive_flutter": { + "dependency": "direct main", + "description": { + "name": "hive_flutter", + "sha256": "dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "hive_generator": { + "dependency": "direct dev", + "description": { + "name": "hive_generator", + "sha256": "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.1" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.6" + }, + "http": { + "dependency": "transitive", + "description": { + "name": "http", + "sha256": "bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "http2": { + "dependency": "transitive", + "description": { + "name": "http2", + "sha256": "382d3aefc5bd6dc68c6b892d7664f29b5beb3251611ae946a98d35158a82bbfa", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.1" + }, + "http_multi_server": { + "dependency": "transitive", + "description": { + "name": "http_multi_server", + "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.2" + }, + "http_parser": { + "dependency": "transitive", + "description": { + "name": "http_parser", + "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "image": { + "dependency": "direct main", + "description": { + "name": "image", + "sha256": "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.5.4" + }, + "image_cropper": { + "dependency": "direct main", + "description": { + "name": "image_cropper", + "sha256": "4e9c96c029eb5a23798da1b6af39787f964da6ffc78fd8447c140542a9f7c6fc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "9.1.0" + }, + "image_cropper_for_web": { + "dependency": "transitive", + "description": { + "name": "image_cropper_for_web", + "sha256": "fd81ebe36f636576094377aab32673c4e5d1609b32dec16fad98d2b71f1250a9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.0" + }, + "image_cropper_platform_interface": { + "dependency": "transitive", + "description": { + "name": "image_cropper_platform_interface", + "sha256": "6ca6b81769abff9a4dcc3bbd3d75f5dfa9de6b870ae9613c8cd237333a4283af", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.1.0" + }, + "image_picker": { + "dependency": "direct main", + "description": { + "name": "image_picker", + "sha256": "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "image_picker_android": { + "dependency": "transitive", + "description": { + "name": "image_picker_android", + "sha256": "e83b2b05141469c5e19d77e1dfa11096b6b1567d09065b2265d7c6904560050c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.8.13" + }, + "image_picker_for_web": { + "dependency": "transitive", + "description": { + "name": "image_picker_for_web", + "sha256": "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.0" + }, + "image_picker_ios": { + "dependency": "transitive", + "description": { + "name": "image_picker_ios", + "sha256": "eb06fe30bab4c4497bad449b66448f50edcc695f1c59408e78aa3a8059eb8f0e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.8.13" + }, + "image_picker_linux": { + "dependency": "transitive", + "description": { + "name": "image_picker_linux", + "sha256": "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.2" + }, + "image_picker_macos": { + "dependency": "transitive", + "description": { + "name": "image_picker_macos", + "sha256": "d58cd9d67793d52beefd6585b12050af0a7663c0c2a6ece0fb110a35d6955e04", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.2" + }, + "image_picker_platform_interface": { + "dependency": "transitive", + "description": { + "name": "image_picker_platform_interface", + "sha256": "9f143b0dba3e459553209e20cc425c9801af48e6dfa4f01a0fcf927be3f41665", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.11.0" + }, + "image_picker_windows": { + "dependency": "transitive", + "description": { + "name": "image_picker_windows", + "sha256": "d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.20.2" + }, + "io": { + "dependency": "transitive", + "description": { + "name": "io", + "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.5" + }, + "js": { + "dependency": "transitive", + "description": { + "name": "js", + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.7" + }, + "json_annotation": { + "dependency": "direct main", + "description": { + "name": "json_annotation", + "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.9.0" + }, + "leak_tracker": { + "dependency": "transitive", + "description": { + "name": "leak_tracker", + "sha256": "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.0.1" + }, + "leak_tracker_flutter_testing": { + "dependency": "transitive", + "description": { + "name": "leak_tracker_flutter_testing", + "sha256": "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.10" + }, + "leak_tracker_testing": { + "dependency": "transitive", + "description": { + "name": "leak_tracker_testing", + "sha256": "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "lints": { + "dependency": "transitive", + "description": { + "name": "lints", + "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.0" + }, + "list_counter": { + "dependency": "transitive", + "description": { + "name": "list_counter", + "sha256": "c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "live_photo_maker": { + "dependency": "direct main", + "description": { + "name": "live_photo_maker", + "sha256": "9af3965bd9d2ab55b0d4d0a1e4041fdcc9ef6c6c44543c8412667541a054f58b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.6" + }, + "logger": { + "dependency": "direct main", + "description": { + "name": "logger", + "sha256": "55d6c23a6c15db14920e037fe7e0dc32e7cdaf3b64b4b25df2d541b5b6b81c0c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.6.1" + }, + "logging": { + "dependency": "transitive", + "description": { + "name": "logging", + "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0" + }, + "mailer": { + "dependency": "transitive", + "description": { + "name": "mailer", + "sha256": "db61f51ea301e8dcbfe5894e037ccd30a6246eb0a7bcfa007aefa2fc11a8f96e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.5.0" + }, + "marquee": { + "dependency": "direct main", + "description": { + "name": "marquee", + "sha256": "a87e7e80c5d21434f90ad92add9f820cf68be374b226404fe881d2bba7be0862", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.0" + }, + "matcher": { + "dependency": "transitive", + "description": { + "name": "matcher", + "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.17" + }, + "material_color_utilities": { + "dependency": "direct main", + "description": { + "name": "material_color_utilities", + "sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.11.1" + }, + "material_design_icons_flutter": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "const", + "resolved-ref": "c11f18c031f1045900dc3e817f7519eb863c2550", + "url": "https://github.com/bggRGjQaUbCoE/material_design_icons_flutter.git" + }, + "source": "git", + "version": "7.0.7447" + }, + "media_kit": { + "dependency": "direct main", + "description": { + "name": "media_kit", + "sha256": "1f1deee148533d75129a6f38251ff8388e33ee05fc2d20a6a80e57d6051b7b62", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.11" + }, + "media_kit_libs_android_video": { + "dependency": "transitive", + "description": { + "name": "media_kit_libs_android_video", + "sha256": "adff9b571b8ead0867f9f91070f8df39562078c0eb3371d88b9029a2d547d7b7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.7" + }, + "media_kit_libs_ios_video": { + "dependency": "transitive", + "description": { + "name": "media_kit_libs_ios_video", + "sha256": "b5382994eb37a4564c368386c154ad70ba0cc78dacdd3fb0cd9f30db6d837991", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.4" + }, + "media_kit_libs_linux": { + "dependency": "transitive", + "description": { + "name": "media_kit_libs_linux", + "sha256": "2b473399a49ec94452c4d4ae51cfc0f6585074398d74216092bf3d54aac37ecf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "media_kit_libs_macos_video": { + "dependency": "transitive", + "description": { + "name": "media_kit_libs_macos_video", + "sha256": "f26aa1452b665df288e360393758f84b911f70ffb3878032e1aabba23aa1032d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.4" + }, + "media_kit_libs_video": { + "dependency": "direct main", + "description": { + "name": "media_kit_libs_video", + "sha256": "20bb4aefa8fece282b59580e1cd8528117297083a6640c98c2e98cfc96b93288", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.5" + }, + "media_kit_libs_windows_video": { + "dependency": "transitive", + "description": { + "name": "media_kit_libs_windows_video", + "sha256": "dff76da2778729ab650229e6b4ec6ec111eb5151431002cbd7ea304ff1f112ab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.11" + }, + "media_kit_native_event_loop": { + "dependency": "transitive", + "description": { + "name": "media_kit_native_event_loop", + "sha256": "7d82e3b3e9ded5c35c3146c5ba1da3118d1dd8ac3435bac7f29f458181471b40", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.9" + }, + "media_kit_video": { + "dependency": "direct main", + "description": { + "path": "media_kit_video", + "ref": "version_1.2.5", + "resolved-ref": "69fbf92def88d4304fc177fa4dd14664c0c2d8d5", + "url": "https://github.com/bggRGjQaUbCoE/media-kit.git" + }, + "source": "git", + "version": "1.2.5" + }, + "meta": { + "dependency": "transitive", + "description": { + "name": "meta", + "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.16.0" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "nm": { + "dependency": "transitive", + "description": { + "name": "nm", + "sha256": "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.0" + }, + "octo_image": { + "dependency": "transitive", + "description": { + "name": "octo_image", + "sha256": "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "package_config": { + "dependency": "transitive", + "description": { + "name": "package_config", + "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "package_info_plus": { + "dependency": "direct main", + "description": { + "name": "package_info_plus", + "sha256": "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.3.1" + }, + "package_info_plus_platform_interface": { + "dependency": "transitive", + "description": { + "name": "package_info_plus_platform_interface", + "sha256": "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "path": { + "dependency": "direct main", + "description": { + "name": "path", + "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.1" + }, + "path_parsing": { + "dependency": "transitive", + "description": { + "name": "path_parsing", + "sha256": "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "path_provider": { + "dependency": "direct main", + "description": { + "name": "path_provider", + "sha256": "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.5" + }, + "path_provider_android": { + "dependency": "transitive", + "description": { + "name": "path_provider_android", + "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.17" + }, + "path_provider_foundation": { + "dependency": "transitive", + "description": { + "name": "path_provider_foundation", + "sha256": "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "path_provider_linux": { + "dependency": "transitive", + "description": { + "name": "path_provider_linux", + "sha256": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.1" + }, + "path_provider_platform_interface": { + "dependency": "transitive", + "description": { + "name": "path_provider_platform_interface", + "sha256": "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "path_provider_windows": { + "dependency": "transitive", + "description": { + "name": "path_provider_windows", + "sha256": "bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.0" + }, + "permission_handler": { + "dependency": "direct main", + "description": { + "name": "permission_handler", + "sha256": "bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "12.0.1" + }, + "permission_handler_android": { + "dependency": "transitive", + "description": { + "name": "permission_handler_android", + "sha256": "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "13.0.1" + }, + "permission_handler_apple": { + "dependency": "transitive", + "description": { + "name": "permission_handler_apple", + "sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "9.4.7" + }, + "permission_handler_html": { + "dependency": "transitive", + "description": { + "name": "permission_handler_html", + "sha256": "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.3+5" + }, + "permission_handler_platform_interface": { + "dependency": "transitive", + "description": { + "name": "permission_handler_platform_interface", + "sha256": "eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.3.0" + }, + "permission_handler_windows": { + "dependency": "transitive", + "description": { + "name": "permission_handler_windows", + "sha256": "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.1" + }, + "petitparser": { + "dependency": "transitive", + "description": { + "name": "petitparser", + "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.0" + }, + "platform": { + "dependency": "transitive", + "description": { + "name": "platform", + "sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.6" + }, + "plugin_platform_interface": { + "dependency": "transitive", + "description": { + "name": "plugin_platform_interface", + "sha256": "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.8" + }, + "pointycastle": { + "dependency": "transitive", + "description": { + "name": "pointycastle", + "sha256": "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.9.1" + }, + "pool": { + "dependency": "transitive", + "description": { + "name": "pool", + "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.1" + }, + "posix": { + "dependency": "transitive", + "description": { + "name": "posix", + "sha256": "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.3" + }, + "pretty_qr_code": { + "dependency": "direct main", + "description": { + "name": "pretty_qr_code", + "sha256": "2291db3f68d70a3dcd46c6bd599f30991ae4c02f27f36215fbb3f4865a609259", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.5.0" + }, + "protobuf": { + "dependency": "direct main", + "description": { + "name": "protobuf", + "sha256": "de9c9eb2c33f8e933a42932fe1dc504800ca45ebc3d673e6ed7f39754ee4053e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.0" + }, + "pub_semver": { + "dependency": "transitive", + "description": { + "name": "pub_semver", + "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "pubspec_parse": { + "dependency": "transitive", + "description": { + "name": "pubspec_parse", + "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "qr": { + "dependency": "transitive", + "description": { + "name": "qr", + "sha256": "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "re_highlight": { + "dependency": "direct main", + "description": { + "name": "re_highlight", + "sha256": "6c4ac3f76f939fb7ca9df013df98526634e17d8f7460e028bd23a035870024f2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.3" + }, + "rxdart": { + "dependency": "direct overridden", + "description": { + "name": "rxdart", + "sha256": "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.28.0" + }, + "safe_local_storage": { + "dependency": "transitive", + "description": { + "name": "safe_local_storage", + "sha256": "ede4eb6cb7d88a116b3d3bf1df70790b9e2038bc37cb19112e381217c74d9440", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "saver_gallery": { + "dependency": "direct main", + "description": { + "name": "saver_gallery", + "sha256": "bf59475e50b73d666630bed7a5fdb621fed92d637f64e3c61ce81653ec6a833c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.1" + }, + "screen_brightness": { + "dependency": "direct main", + "description": { + "name": "screen_brightness", + "sha256": "b6cb9381b83fef7be74187ea043d54598b9a265b4ef6e40b69345ae28699b13e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.6" + }, + "screen_brightness_android": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_android", + "sha256": "fb5fa43cb89d0c9b8534556c427db1e97e46594ac5d66ebdcf16063b773d54ed", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "screen_brightness_ios": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_ios", + "sha256": "2493953340ecfe8f4f13f61db50ce72533a55b0bbd58ba1402893feecf3727f5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "screen_brightness_macos": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_macos", + "sha256": "4edf330ad21078686d8bfaf89413325fbaf571dcebe1e89254d675a3f288b5b9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "screen_brightness_ohos": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_ohos", + "sha256": "af2680660f7df785bcd2b1bef9b9f3c172191166dd27098f2dfe020c50c3dea4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "screen_brightness_platform_interface": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_platform_interface", + "sha256": "737bd47b57746bc4291cab1b8a5843ee881af499514881b0247ec77447ee769c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "screen_brightness_windows": { + "dependency": "transitive", + "description": { + "name": "screen_brightness_windows", + "sha256": "d3518bf0f5d7a884cee2c14449ae0b36803802866de09f7ef74077874b6b2448", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "scrollable_positioned_list": { + "dependency": "direct main", + "description": { + "name": "scrollable_positioned_list", + "sha256": "1b54d5f1329a1e263269abc9e2543d90806131aa14fe7c6062a8054d57249287", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.8" + }, + "sentry": { + "dependency": "transitive", + "description": { + "name": "sentry", + "sha256": "d9f3dcf1ecdd600cf9ce134f622383adde5423ecfdaf0ca9b20fbc1c44849337", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "9.6.0" + }, + "share_plus": { + "dependency": "direct main", + "description": { + "name": "share_plus", + "sha256": "d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.1.0" + }, + "share_plus_platform_interface": { + "dependency": "transitive", + "description": { + "name": "share_plus_platform_interface", + "sha256": "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.0" + }, + "shared_preferences": { + "dependency": "transitive", + "description": { + "name": "shared_preferences", + "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.5.3" + }, + "shared_preferences_android": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_android", + "sha256": "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.11" + }, + "shared_preferences_foundation": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_foundation", + "sha256": "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.5.4" + }, + "shared_preferences_linux": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_linux", + "sha256": "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.1" + }, + "shared_preferences_platform_interface": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_platform_interface", + "sha256": "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.1" + }, + "shared_preferences_web": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_web", + "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.3" + }, + "shared_preferences_windows": { + "dependency": "transitive", + "description": { + "name": "shared_preferences_windows", + "sha256": "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.1" + }, + "shelf": { + "dependency": "transitive", + "description": { + "name": "shelf", + "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.2" + }, + "shelf_web_socket": { + "dependency": "transitive", + "description": { + "name": "shelf_web_socket", + "sha256": "cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.1" + }, + "sky_engine": { + "dependency": "transitive", + "description": "flutter", + "source": "sdk", + "version": "0.0.0" + }, + "source_gen": { + "dependency": "transitive", + "description": { + "name": "source_gen", + "sha256": "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "source_helper": { + "dependency": "transitive", + "description": { + "name": "source_helper", + "sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.5" + }, + "source_span": { + "dependency": "transitive", + "description": { + "name": "source_span", + "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.1" + }, + "sprintf": { + "dependency": "transitive", + "description": { + "name": "sprintf", + "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.0" + }, + "sqflite": { + "dependency": "transitive", + "description": { + "name": "sqflite", + "sha256": "e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "sqflite_android": { + "dependency": "transitive", + "description": { + "name": "sqflite_android", + "sha256": "ecd684501ebc2ae9a83536e8b15731642b9570dc8623e0073d227d0ee2bfea88", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2+2" + }, + "sqflite_common": { + "dependency": "transitive", + "description": { + "name": "sqflite_common", + "sha256": "6ef422a4525ecc601db6c0a2233ff448c731307906e92cabc9ba292afaae16a6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.5.6" + }, + "sqflite_darwin": { + "dependency": "transitive", + "description": { + "name": "sqflite_darwin", + "sha256": "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "sqflite_platform_interface": { + "dependency": "transitive", + "description": { + "name": "sqflite_platform_interface", + "sha256": "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.0" + }, + "stack_trace": { + "dependency": "transitive", + "description": { + "name": "stack_trace", + "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.12.1" + }, + "stream_channel": { + "dependency": "transitive", + "description": { + "name": "stream_channel", + "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "stream_transform": { + "dependency": "direct main", + "description": { + "name": "stream_transform", + "sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "string_scanner": { + "dependency": "transitive", + "description": { + "name": "string_scanner", + "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "synchronized": { + "dependency": "direct main", + "description": { + "name": "synchronized", + "sha256": "c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.4.0" + }, + "term_glyph": { + "dependency": "transitive", + "description": { + "name": "term_glyph", + "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.2" + }, + "test_api": { + "dependency": "transitive", + "description": { + "name": "test_api", + "sha256": "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.6" + }, + "timing": { + "dependency": "transitive", + "description": { + "name": "timing", + "sha256": "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "tuple": { + "dependency": "transitive", + "description": { + "name": "tuple", + "sha256": "a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "typed_data": { + "dependency": "transitive", + "description": { + "name": "typed_data", + "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.0" + }, + "universal_io": { + "dependency": "transitive", + "description": { + "name": "universal_io", + "sha256": "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.2" + }, + "universal_platform": { + "dependency": "direct main", + "description": { + "name": "universal_platform", + "sha256": "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "uri_parser": { + "dependency": "transitive", + "description": { + "name": "uri_parser", + "sha256": "6543c9fd86d2862fac55d800a43e67c0dcd1a41677cb69c2f8edfe73bbcf1835", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "url_launcher": { + "dependency": "direct main", + "description": { + "name": "url_launcher", + "sha256": "f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.3.2" + }, + "url_launcher_android": { + "dependency": "transitive", + "description": { + "name": "url_launcher_android", + "sha256": "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.3.17" + }, + "url_launcher_ios": { + "dependency": "transitive", + "description": { + "name": "url_launcher_ios", + "sha256": "d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.3.4" + }, + "url_launcher_linux": { + "dependency": "transitive", + "description": { + "name": "url_launcher_linux", + "sha256": "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "url_launcher_macos": { + "dependency": "transitive", + "description": { + "name": "url_launcher_macos", + "sha256": "c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.3" + }, + "url_launcher_platform_interface": { + "dependency": "transitive", + "description": { + "name": "url_launcher_platform_interface", + "sha256": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.2" + }, + "url_launcher_web": { + "dependency": "transitive", + "description": { + "name": "url_launcher_web", + "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.1" + }, + "url_launcher_windows": { + "dependency": "transitive", + "description": { + "name": "url_launcher_windows", + "sha256": "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.4" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.5.1" + }, + "vector_graphics": { + "dependency": "transitive", + "description": { + "name": "vector_graphics", + "sha256": "a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.19" + }, + "vector_graphics_codec": { + "dependency": "transitive", + "description": { + "name": "vector_graphics_codec", + "sha256": "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.13" + }, + "vector_graphics_compiler": { + "dependency": "transitive", + "description": { + "name": "vector_graphics_compiler", + "sha256": "ca81fdfaf62a5ab45d7296614aea108d2c7d0efca8393e96174bf4d51e6725b0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.18" + }, + "vector_math": { + "dependency": "direct main", + "description": { + "name": "vector_math", + "sha256": "d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "visibility_detector": { + "dependency": "transitive", + "description": { + "name": "visibility_detector", + "sha256": "dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.4.0+2" + }, + "vm_service": { + "dependency": "transitive", + "description": { + "name": "vm_service", + "sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "15.0.2" + }, + "volume_controller": { + "dependency": "transitive", + "description": { + "name": "volume_controller", + "sha256": "c71d4c62631305df63b72da79089e078af2659649301807fa746088f365cb48e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.8" + }, + "wakelock_plus": { + "dependency": "direct main", + "description": { + "name": "wakelock_plus", + "sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.2" + }, + "wakelock_plus_platform_interface": { + "dependency": "transitive", + "description": { + "name": "wakelock_plus_platform_interface", + "sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.3" + }, + "watcher": { + "dependency": "transitive", + "description": { + "name": "watcher", + "sha256": "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "waterfall_flow": { + "dependency": "direct main", + "description": { + "name": "waterfall_flow", + "sha256": "e7ab5728fe536e53cf4b8ea97128112ad18c7f1d797d91f073bf396fa6910181", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.1" + }, + "web": { + "dependency": "transitive", + "description": { + "name": "web", + "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "web_socket": { + "dependency": "transitive", + "description": { + "name": "web_socket", + "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "webdav_client": { + "dependency": "direct main", + "description": { + "path": ".", + "ref": "main", + "resolved-ref": "2f669c98fb81cff1c64fee93466a1475c77e4273", + "url": "https://github.com/wgh136/webdav_client.git" + }, + "source": "git", + "version": "1.2.2" + }, + "win32": { + "dependency": "transitive", + "description": { + "name": "win32", + "sha256": "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.14.0" + }, + "win32_registry": { + "dependency": "transitive", + "description": { + "name": "win32_registry", + "sha256": "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "xdg_directories": { + "dependency": "transitive", + "description": { + "name": "xdg_directories", + "sha256": "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "xml": { + "dependency": "transitive", + "description": { + "name": "xml", + "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.5.0" + }, + "yaml": { + "dependency": "transitive", + "description": { + "name": "yaml", + "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.3" + } + }, + "sdks": { + "dart": ">=3.9.0 <4.0.0", + "flutter": ">=3.35.1" + } +} diff --git a/pkgs/by-name/pi/piliplus/update.rb b/pkgs/by-name/pi/piliplus/update.rb new file mode 100755 index 000000000000..0789a465f35d --- /dev/null +++ b/pkgs/by-name/pi/piliplus/update.rb @@ -0,0 +1,93 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i ruby -p ruby nix-prefetch-git + +require 'net/http' +require 'json' +require 'open3' +require 'yaml' + +PACKAGE = 'piliplus' + +def log(...) = $stderr.puts(...) +def finish(...) = log(...) || exit + +def package_attr attr_path + stdout, status = Open3.capture2 'nix-instantiate', '--eval', '--json', '--attr', "#{PACKAGE}.#{attr_path}" + abort "nix-instantiate failed with exit code #{status.exitstatus} when reading attr #{attr_path}" unless status.success? + JSON.parse stdout rescue abort "Failed to parse JSON output from nix-instantiate when reading attr #{attr_path}" +end + +def github_api path, token: ENV['GITHUB_TOKEN'] + uri = URI.join 'https://api.github.com', path + res = Net::HTTP.start uri.host, uri.port, use_ssl: true do |http| + req = Net::HTTP::Get.new uri + req['Authorization'] = "Bearer #{token}" if token + http.request req + end + abort "Failed to fetch #{path}: #{res.code} #{res.message}" unless res.is_a? Net::HTTPSuccess + JSON.parse res.body rescue abort "Failed to parse JSON response from GitHub" +end + +def prefetch_git url, rev + stdout, status = Open3.capture2 'nix-prefetch-git', '--url', url, '--rev', rev + abort "nix-prefetch-git failed with exit code #{status.exitstatus}" unless status.success? + JSON.parse stdout rescue abort "Failed to parse JSON output from nix-prefetch-git" +end + +def replace_in_file filename, searches, replacements + contents = File.read filename + searches.zip replacements do |search, replacement| + contents.sub! search, replacement or abort "Failed to replace #{search} -> #{replacement} in #{filename}" + end + File.write filename, contents +end + +def json_write filename, object + File.open(filename, 'w') { _1.puts JSON.pretty_generate object } +end + +owner = package_attr 'src.owner' +repo = package_attr 'src.repo' +git_url = "https://github.com/#{owner}/#{repo}.git" + +old_version = package_attr 'version' +old_rev = package_attr 'src.rev' +old_hash = package_attr 'src.outputHash' +log "Current version: #{old_version} #{old_rev} #{old_hash}" + +new_version = github_api("/repos/#{owner}/#{repo}/releases/latest")['tag_name'] or abort "No `tag_name` field in GitHub response" +finish "Already up-to-date" if new_version == old_version +new_rev, new_hash, src_path = prefetch_git(git_url, new_version).values_at 'rev', 'hash', 'path' +log "New version: #{new_version} #{new_rev} #{new_hash}" + +nix_filename = package_attr('meta.position')[/([^:]+):\d+/, 1] or abort "Failed to find the Nix file to be updated" +nix_dir = File.dirname nix_filename +replace_in_file nix_filename, [old_version, old_rev, old_hash], [new_version, new_rev, new_hash] +log "Updated #{nix_filename}" + +pubspec_lock_path = File.join nix_dir, 'pubspec.lock.json' +old_pubspec_lock = JSON.load_file pubspec_lock_path rescue abort "Failed to read #{pubspec_lock_path}" +new_pubspec_lock = YAML.load_file File.join src_path, 'pubspec.lock' rescue abort "Failed to read pubspec.lock" +json_write pubspec_lock_path, new_pubspec_lock +log "Updated #{pubspec_lock_path}" + +git_hashes_path = File.join nix_dir, 'git-hashes.json' +old_git_hashes = JSON.load_file git_hashes_path rescue abort "Failed to read #{git_hashes_path}" +new_git_hashes = {} +new_pubspec_lock['packages'].each do |name, info| + next unless info['source'] == 'git' + old_description = old_pubspec_lock.dig 'packages', name, 'description' + new_description = info['description'] + if old_description == new_description + new_git_hashes[name] = old_git_hashes[name] + log "Reused existing git hash for dependency #{name}" + next + end + log "Updating git hash for dependency #{name}..." + url, rev = new_description.values_at 'url', 'resolved-ref' + new_git_hashes[name] = prefetch_git(url, rev)['hash'] +end +json_write git_hashes_path, new_git_hashes +log "Updated #{git_hashes_path}" + +finish "All done"