From 0df81246299cf9a33edf48f2878b0d9343133e38 Mon Sep 17 00:00:00 2001 From: xocko Date: Wed, 14 Oct 2026 19:38:37 +0200 Subject: [PATCH] Import minamp 1.0 source Co-Authored-By: Claude Opus 5.5 --- .gitignore | 4 + AndroidManifest.xml | 62 ++ README.md | 91 +++ ...371dbf31afaf7ded8c4817d515f8152ed5a6-0.der | Bin 0 -> 574 bytes ...97b4e8a522a943a90d3301b19f99a8e6fcaf-0.der | Bin 0 -> 735 bytes ...d0137e724ee890170d0a0797ca406897614d-0.der | Bin 0 -> 1505 bytes ...fcf05175b60e4914344f85fcf18b3f826fd8-0.der | Bin 0 -> 1095 bytes ...4ff6887b4722adb4859609e6a925212174e0-0.der | Bin 0 -> 1452 bytes ...bf716ef774bd28f3e2cd3949cc2eaa52316a-0.der | Bin 0 -> 1400 bytes ...799a38ebd57730aa49f89be555490ab47bf8-0.der | Bin 0 -> 592 bytes ...6f28d9038bfbf04a2093c205456baf4034b2-0.der | Bin 0 -> 1551 bytes ...f884650ebfb1564d3da153a0d7f1c7c670a8-0.der | Bin 0 -> 993 bytes ...d72a82ce8c8116af6a12f0701505259f816d-0.der | Bin 0 -> 480 bytes ...66add30938e8135505ffd08b5a70c488b73b-0.der | Bin 0 -> 1476 bytes ...6f8e064b971fdddfa11523e1aee502be2b1b-0.der | Bin 0 -> 969 bytes ...24a4280ef8840064866941b494f3f30de194-0.der | Bin 0 -> 1519 bytes ...44b97081f27eb2d32757ef0242567e51fed9-0.der | Bin 0 -> 546 bytes ...8437e3d9edafce3dc9904897b48fdeb436d3-0.der | Bin 0 -> 580 bytes ...769250bbe91e2178c18a2240319eaf17e365-0.der | Bin 0 -> 1415 bytes ...75b10d1adadd3525515deb67dda91edf2154-0.der | Bin 0 -> 887 bytes ...ea4e6a11200e3949b766237385489c2e8792-0.der | Bin 0 -> 1391 bytes ...348b4c3fe39c4b2f2a1919788781b2fde745-0.der | Bin 0 -> 657 bytes ...402c7b5dbe592758be81f8b1a0c89bd9db40-0.der | Bin 0 -> 601 bytes ...c2d60f82ea189edb13b0755d9b046e67f050-0.der | Bin 0 -> 1371 bytes ...c31bde81d32ad0d8ecacd40c3da4e71aeb38-0.der | Bin 0 -> 967 bytes ...d42b3fe752585a7c1435fd71b9763f2c7bd9-0.der | Bin 0 -> 723 bytes ...ae4363646a8c15060a3b4adff12e8c1809af-0.der | Bin 0 -> 574 bytes ...a277b57e01b32d31d926b4f7b4366493d235-0.der | Bin 0 -> 531 bytes ...1f8404085341117cfe8fc657667384b14135-0.der | Bin 0 -> 1389 bytes ...f24e274d52c0b46a58590043b883b4f6b096-0.der | Bin 0 -> 922 bytes ...8b71fe1d19b65fb3f1288f23bc04595c4395-0.der | Bin 0 -> 914 bytes ...55d3c9a93b24f8b4f95a07ae048c20cea42d-0.der | Bin 0 -> 582 bytes ...5b67500e9a2e2c0cdcba7a9247f773f77269-0.der | Bin 0 -> 1380 bytes ...0249061723abd565d5bce6f9562e79c7c8e8-0.der | Bin 0 -> 953 bytes ...562253e3c442d08ec17f32fb2d58f406ace3-0.der | Bin 0 -> 1525 bytes ...aa5ea487b4f18a25daaf86f22533b7ee39ab-0.der | Bin 0 -> 1038 bytes ...b7e6a82098efcfb77957c139770ef5df885f-0.der | Bin 0 -> 1374 bytes ...557ae1206403ecc941543a54504072f2c1df-0.der | Bin 0 -> 1494 bytes ...daf39dfbf67800700df49cd84af1531b0969-0.der | Bin 0 -> 1079 bytes ...c7d2704f8539cb63fb2d863f09b26393e823-0.der | Bin 0 -> 566 bytes ...3837a2d6eb46985ae7cc638568fdaced325b-0.der | Bin 0 -> 1414 bytes ...a39453cfb9559e7f6bd8c54da53da642b714-0.der | Bin 0 -> 837 bytes ...33b9a76ad7c55cbf4dc2d4769ce2bb50d20b-0.der | Bin 0 -> 1422 bytes ...e1fad8ea116388ec542a0110b63fb5c826e6-0.der | Bin 0 -> 1421 bytes ...03ec26723b65ec4b936600e5d1af9fa80fa9-0.der | Bin 0 -> 1491 bytes ...dcebfc1a5bb0aa6923e532de48a56851f8ec-0.der | Bin 0 -> 502 bytes ...1b686c5cd3be1691995789dfc41472163d03-0.der | Bin 0 -> 1500 bytes ...b4c96c7627f44989f56d3795e701ecff86ed-0.der | Bin 0 -> 1415 bytes ...ac18333cfe8ca49f61b4f2151d005ee86ce9-0.der | Bin 0 -> 442 bytes ...c98fa750327769f72ce76ccfd9ea956526f3-0.der | Bin 0 -> 626 bytes ...4bafb45c7a8423a7fb924545dff35aab46eb-0.der | Bin 0 -> 1448 bytes ...311aae93dc3feadb1abc64d44c38494b2940-0.der | Bin 0 -> 1560 bytes ...c3357b52a21924146518f9cb7d4dbe05a82f-0.der | Bin 0 -> 1390 bytes ...af3c2bea54342640b3ff78c70768e0fdfd68-0.der | Bin 0 -> 886 bytes ...80e92c15138ab8bef8cad0f2ed793ab3697c-0.der | Bin 0 -> 594 bytes ...9c5ecfe502b0b8bdccfe3aac3b0057a13809-0.der | Bin 0 -> 1384 bytes ...ba45ab521e8115a29d695c1fc06daee1671c-0.der | Bin 0 -> 1523 bytes ...4580524922e9a5b62e238cb16cd887402dde-0.der | Bin 0 -> 1373 bytes ...88bd141d71bbcfed90e833ca29c89162f156-0.der | Bin 0 -> 1373 bytes ...bcd4a06fa193dda974a7c6cf184c1fbb4f14-0.der | Bin 0 -> 1420 bytes ...ed24cfd532db5d6e66acee1149168947a20d-0.der | Bin 0 -> 1386 bytes ...ad1e1daeeb75e7ecc9ad1ec5f590f5b98461-0.der | Bin 0 -> 1049 bytes ...d26e80718923cd527a3315639bcabc82baac-0.der | Bin 0 -> 569 bytes ...671cc5fe6cef98a1dba2ad2bdd787607c611-0.der | Bin 0 -> 1425 bytes ...dde3ff2a744eb4370369af62cd497095e486-0.der | Bin 0 -> 1355 bytes ...b9be7c5fcf0311180cf2f1e3ecb9d5e36027-0.der | Bin 0 -> 1425 bytes ...a4445e67ea7c94774e43189c3ecee4c87312-0.der | Bin 0 -> 1011 bytes ...8d24845c923b512b1cd0ac0e7a64a33b4cf0-0.der | Bin 0 -> 543 bytes ...eaae98f84c6b1703fefce5ee0bc9afed2fa6-0.der | Bin 0 -> 617 bytes ...bca2fa8dd4f6a68eaf461bf2091e9aa77576-0.der | Bin 0 -> 1380 bytes ...f59059604b03df43780a8094a649cdb975f6-0.der | Bin 0 -> 895 bytes ...a55f7c274e0d3a10562231c60a406a8d98a6-0.der | Bin 0 -> 1349 bytes ...4462a2852855675a4a4f8a790c5e904cfa5a-0.der | Bin 0 -> 1370 bytes ...2813a1d464fed7792b0db6d29e5d8308bbf9-0.der | Bin 0 -> 1127 bytes ...ccde7d8296f32c79363127c7d366c7ccf94c-0.der | Bin 0 -> 2007 bytes ...0a63fba1d7069deb8931aef39c24ea7a5c47-0.der | Bin 0 -> 1398 bytes ...f064e2c8498d97481114eeaf435fe0cd3a39-0.der | Bin 0 -> 1374 bytes ...65196c3a9fffbf0bc4bfdb20299bf0d6df8f-0.der | Bin 0 -> 525 bytes ...42c83e15138e38e53cc701da3ab52d475144-0.der | Bin 0 -> 735 bytes ...f103f952a9ba8cd636012f4adfffe82b92af-0.der | Bin 0 -> 1449 bytes ...67427bbd6f1c2a429387154ec72447e68508-0.der | Bin 0 -> 1463 bytes ...c276adf4f0fa5b7b3606db53807f3cd79d09-0.der | Bin 0 -> 600 bytes ...38b989c88f14809cb8826da96b75cadeeb8d-0.der | Bin 0 -> 559 bytes ...8011e10133cb69cdf7f710e973cf9577abbf-0.der | Bin 0 -> 525 bytes ...77b2272de78e18d5a67e5b1297dce8c5dac1-0.der | Bin 0 -> 659 bytes ...1e6fe1b4e58b38cd4664dd9184b2eead11f6-0.der | Bin 0 -> 1471 bytes ...54aeb7c096b2c72835b60f7d423e851e811a-0.der | Bin 0 -> 1431 bytes ...d918696e6d071cafa898ed1bf22538e71ab2-0.der | Bin 0 -> 537 bytes ...8ae3f7eb508c94c1bae31e7cdc3a713d4437-0.der | Bin 0 -> 1415 bytes ...0f14569371822ea32fed5faa588deb9a03a2-0.der | Bin 0 -> 1438 bytes ...0d0305d965b2bf298a6c492a3b0bea8ba25f-0.der | Bin 0 -> 1349 bytes ...806f3b0ec8c5ac7df8fd9922dcc8b15bd0bf-0.der | Bin 0 -> 967 bytes ...620226764c614af7a3e7549b6b1dac6b0f55-0.der | Bin 0 -> 920 bytes ...0b343f6c16083e2a9e9be4f9ee2de35dd3d9-0.der | Bin 0 -> 1400 bytes ...fc3960063bc493f2540de8ccc3b47e59d84a-0.der | Bin 0 -> 605 bytes ...d24c343a82ab1f0570158ad7a107762992e9-0.der | Bin 0 -> 1506 bytes ...b99d14f558ddad1db1c0c87dd6b76685ff6b-0.der | Bin 0 -> 565 bytes ...43a2a0f778fed080dff8600e49515c1d05c2-0.der | Bin 0 -> 1380 bytes ...b47d649377b28a8d0620f4ffafe3444e309c-0.der | Bin 0 -> 1386 bytes ...4cebac21908f4f278d95db510429928526b9-0.der | Bin 0 -> 959 bytes ...7dfe40104bbb8a15f44c45067d6d9ca0117a-0.der | Bin 0 -> 1453 bytes ...e898b225382efd64f9f3c37486534fa9cbda-0.der | Bin 0 -> 1380 bytes ...6391a7eefac7df3e47972cdd9c04be806e9d-0.der | Bin 0 -> 553 bytes ...43c47af5f1bc86ab36437e021703f89ccf5c-0.der | Bin 0 -> 527 bytes ...cf8b8c3b46c10d3d5c407561eabeb57f8181-0.der | Bin 0 -> 1428 bytes ...78259c056c7f870c7b62f5b043d96fab7725-0.der | Bin 0 -> 711 bytes ...ceba6df839282ba96295895cca12e56e2cd6-0.der | Bin 0 -> 1412 bytes ...f2faacfba8533a5d58a04d4f76d1fa532b0b-0.der | Bin 0 -> 507 bytes ...d890fe2720f41d7d6ac15eef76cf62cfab78-0.der | Bin 0 -> 653 bytes ...bc9d472b7e0291771923f2a5f1c1c51e57b5-0.der | Bin 0 -> 579 bytes ...da4b2284f3860c68b18b916a064a520a9728-0.der | Bin 0 -> 551 bytes ...813c6ea2e5bbca921b4b884a50f107f0cbff-0.der | Bin 0 -> 1354 bytes ...fc731db5ec5a468e4ba9bc8ab856319ceda9-0.der | Bin 0 -> 1631 bytes ...f3e3718f19d130d9cc7a2dc303161cb29cd0-0.der | Bin 0 -> 891 bytes ...2ef9470df6a3ca848f278ea48015299c54f1-0.der | Bin 0 -> 541 bytes ...867f8a28dc57b3dfe2c74facf594b917520b-0.der | Bin 0 -> 1453 bytes ...2d4a785f7dab303cd2dc815d90dee6995f09-0.der | Bin 0 -> 572 bytes ...39270d6a2019f1683191887f7f3edb1f2013-0.der | Bin 0 -> 1355 bytes ...687f2418d62a790f7592330756ea85e94707-0.der | Bin 0 -> 867 bytes ...5660b8bbc206931faf24a7161c03980f6301-0.der | Bin 0 -> 586 bytes ...f300817f2b6cd6f5d220fd224155c466d35b-0.der | Bin 0 -> 664 bytes ...0538aed47baadb39e8710440f329a43a372a-0.der | Bin 0 -> 621 bytes ...191bc63ac8ff27f29ee542bf779ce0c298a1-0.der | Bin 0 -> 1463 bytes ...e143973af986f6b33251f56e17bbee86f58c-0.der | Bin 0 -> 1446 bytes build.sh | 35 + res/drawable-hdpi/ic_launcher.png | Bin 0 -> 5335 bytes res/drawable-hdpi/ic_stat.png | Bin 0 -> 1624 bytes res/drawable-ldpi/ic_launcher.png | Bin 0 -> 2363 bytes res/drawable-ldpi/ic_stat.png | Bin 0 -> 732 bytes res/drawable-mdpi/ic_launcher.png | Bin 0 -> 3371 bytes res/drawable-mdpi/ic_stat.png | Bin 0 -> 1235 bytes res/drawable/art_placeholder.xml | 4 + res/drawable/bg_button_accent.xml | 6 + res/drawable/bg_button_outline.xml | 6 + res/drawable/bg_edit.xml | 5 + res/drawable/bg_play_circle.xml | 6 + res/drawable/bg_pressable.xml | 7 + res/drawable/bg_pressable_round.xml | 6 + res/drawable/bg_tile.xml | 6 + res/drawable/progress_mini.xml | 6 + res/drawable/seek_progress.xml | 6 + res/drawable/seek_thumb.xml | 5 + res/layout/activity_browse.xml | 16 + res/layout/activity_home.xml | 57 ++ res/layout/activity_now_playing.xml | 145 ++++ res/layout/activity_queue.xml | 15 + res/layout/activity_search.xml | 29 + res/layout/activity_setup.xml | 120 ++++ res/layout/row_choice.xml | 16 + res/layout/row_header.xml | 11 + res/layout/row_item.xml | 35 + res/layout/view_album_card.xml | 19 + res/layout/view_detail_header.xml | 45 ++ res/layout/view_home_tile.xml | 21 + res/layout/view_miniplayer.xml | 46 ++ res/layout/view_status.xml | 20 + res/layout/view_topbar.xml | 28 + res/values/colors.xml | 14 + res/values/ids.xml | 4 + res/values/strings.xml | 4 + res/values/styles.xml | 80 +++ signing/minamp.keystore | Bin 0 -> 2600 bytes src/com/minamp/App.java | 183 +++++ src/com/minamp/BaseActivity.java | 448 ++++++++++++ src/com/minamp/BrowseActivity.java | 163 +++++ src/com/minamp/Glyph.java | 206 ++++++ src/com/minamp/HomeActivity.java | 428 +++++++++++ src/com/minamp/ImageLoader.java | 199 ++++++ src/com/minamp/ItemAdapter.java | 153 ++++ src/com/minamp/MediaButtonReceiver.java | 53 ++ src/com/minamp/NowPlayingActivity.java | 229 ++++++ src/com/minamp/PlayQueue.java | 249 +++++++ src/com/minamp/PlayerService.java | 669 ++++++++++++++++++ src/com/minamp/QueueActivity.java | 95 +++ src/com/minamp/SearchActivity.java | 116 +++ src/com/minamp/SetupActivity.java | 290 ++++++++ src/com/minamp/SquareImageView.java | 22 + src/com/minamp/Ui.java | 71 ++ src/com/minamp/net/CertVerifier.java | 226 ++++++ src/com/minamp/net/Http.java | 542 ++++++++++++++ src/com/minamp/net/StreamProxy.java | 207 ++++++ src/com/minamp/plex/Item.java | 166 +++++ src/com/minamp/plex/Library.java | 225 ++++++ src/com/minamp/plex/Plex.java | 144 ++++ src/com/minamp/plex/Server.java | 258 +++++++ src/com/minamp/util/Json.java | 283 ++++++++ test/NetTest.java | 57 ++ test/PlexTest.java | 167 +++++ test/QueueTest.java | 71 ++ test/mock_plex.py | 226 ++++++ tools/make_icons.py | 53 ++ tools/make_roots.py | 27 + tools/setup_toolchain.sh | 62 ++ tools/zipalign.py | 51 ++ 194 files changed, 7319 insertions(+) create mode 100644 .gitignore create mode 100644 AndroidManifest.xml create mode 100644 README.md create mode 100644 assets/roots/032d371dbf31afaf7ded8c4817d515f8152ed5a6-0.der create mode 100644 assets/roots/03eb97b4e8a522a943a90d3301b19f99a8e6fcaf-0.der create mode 100644 assets/roots/0c0ed0137e724ee890170d0a0797ca406897614d-0.der create mode 100644 assets/roots/0f4efcf05175b60e4914344f85fcf18b3f826fd8-0.der create mode 100644 assets/roots/0f5b4ff6887b4722adb4859609e6a925212174e0-0.der create mode 100644 assets/roots/108abf716ef774bd28f3e2cd3949cc2eaa52316a-0.der create mode 100644 assets/roots/1336799a38ebd57730aa49f89be555490ab47bf8-0.der create mode 100644 assets/roots/14146f28d9038bfbf04a2093c205456baf4034b2-0.der create mode 100644 assets/roots/14c0f884650ebfb1564d3da153a0d7f1c7c670a8-0.der create mode 100644 assets/roots/17a7d72a82ce8c8116af6a12f0701505259f816d-0.der create mode 100644 assets/roots/1ca566add30938e8135505ffd08b5a70c488b73b-0.der create mode 100644 assets/roots/1d236f8e064b971fdddfa11523e1aee502be2b1b-0.der create mode 100644 assets/roots/20dd24a4280ef8840064866941b494f3f30de194-0.der create mode 100644 assets/roots/220f44b97081f27eb2d32757ef0242567e51fed9-0.der create mode 100644 assets/roots/229a8437e3d9edafce3dc9904897b48fdeb436d3-0.der create mode 100644 assets/roots/254d769250bbe91e2178c18a2240319eaf17e365-0.der create mode 100644 assets/roots/262175b10d1adadd3525515deb67dda91edf2154-0.der create mode 100644 assets/roots/281aea4e6a11200e3949b766237385489c2e8792-0.der create mode 100644 assets/roots/2c7a348b4c3fe39c4b2f2a1919788781b2fde745-0.der create mode 100644 assets/roots/3053402c7b5dbe592758be81f8b1a0c89bd9db40-0.der create mode 100644 assets/roots/3091c2d60f82ea189edb13b0755d9b046e67f050-0.der create mode 100644 assets/roots/31e4c31bde81d32ad0d8ecacd40c3da4e71aeb38-0.der create mode 100644 assets/roots/322ad42b3fe752585a7c1435fd71b9763f2c7bd9-0.der create mode 100644 assets/roots/3366ae4363646a8c15060a3b4adff12e8c1809af-0.der create mode 100644 assets/roots/3582a277b57e01b32d31d926b4f7b4366493d235-0.der create mode 100644 assets/roots/36341f8404085341117cfe8fc657667384b14135-0.der create mode 100644 assets/roots/369df24e274d52c0b46a58590043b883b4f6b096-0.der create mode 100644 assets/roots/39d28b71fe1d19b65fb3f1288f23bc04595c4395-0.der create mode 100644 assets/roots/3f1855d3c9a93b24f8b4f95a07ae048c20cea42d-0.der create mode 100644 assets/roots/41655b67500e9a2e2c0cdcba7a9247f773f77269-0.der create mode 100644 assets/roots/41fc0249061723abd565d5bce6f9562e79c7c8e8-0.der create mode 100644 assets/roots/4264562253e3c442d08ec17f32fb2d58f406ace3-0.der create mode 100644 assets/roots/42aaaa5ea487b4f18a25daaf86f22533b7ee39ab-0.der create mode 100644 assets/roots/42d0b7e6a82098efcfb77957c139770ef5df885f-0.der create mode 100644 assets/roots/481f557ae1206403ecc941543a54504072f2c1df-0.der create mode 100644 assets/roots/4a7cdaf39dfbf67800700df49cd84af1531b0969-0.der create mode 100644 assets/roots/4b1ec7d2704f8539cb63fb2d863f09b26393e823-0.der create mode 100644 assets/roots/4e9b3837a2d6eb46985ae7cc638568fdaced325b-0.der create mode 100644 assets/roots/4f59a39453cfb9559e7f6bd8c54da53da642b714-0.der create mode 100644 assets/roots/538933b9a76ad7c55cbf4dc2d4769ce2bb50d20b-0.der create mode 100644 assets/roots/5588e1fad8ea116388ec542a0110b63fb5c826e6-0.der create mode 100644 assets/roots/55f003ec26723b65ec4b936600e5d1af9fa80fa9-0.der create mode 100644 assets/roots/5cd9dcebfc1a5bb0aa6923e532de48a56851f8ec-0.der create mode 100644 assets/roots/5e021b686c5cd3be1691995789dfc41472163d03-0.der create mode 100644 assets/roots/62fbb4c96c7627f44989f56d3795e701ecff86ed-0.der create mode 100644 assets/roots/6435ac18333cfe8ca49f61b4f2151d005ee86ce9-0.der create mode 100644 assets/roots/64f5c98fa750327769f72ce76ccfd9ea956526f3-0.der create mode 100644 assets/roots/69ad4bafb45c7a8423a7fb924545dff35aab46eb-0.der create mode 100644 assets/roots/6cf8311aae93dc3feadb1abc64d44c38494b2940-0.der create mode 100644 assets/roots/6f43c3357b52a21924146518f9cb7d4dbe05a82f-0.der create mode 100644 assets/roots/7036af3c2bea54342640b3ff78c70768e0fdfd68-0.der create mode 100644 assets/roots/704b80e92c15138ab8bef8cad0f2ed793ab3697c-0.der create mode 100644 assets/roots/71719c5ecfe502b0b8bdccfe3aac3b0057a13809-0.der create mode 100644 assets/roots/724dba45ab521e8115a29d695c1fc06daee1671c-0.der create mode 100644 assets/roots/72c74580524922e9a5b62e238cb16cd887402dde-0.der create mode 100644 assets/roots/79e688bd141d71bbcfed90e833ca29c89162f156-0.der create mode 100644 assets/roots/79eabcd4a06fa193dda974a7c6cf184c1fbb4f14-0.der create mode 100644 assets/roots/7e63ed24cfd532db5d6e66acee1149168947a20d-0.der create mode 100644 assets/roots/7f7fad1e1daeeb75e7ecc9ad1ec5f590f5b98461-0.der create mode 100644 assets/roots/81abd26e80718923cd527a3315639bcabc82baac-0.der create mode 100644 assets/roots/83cf671cc5fe6cef98a1dba2ad2bdd787607c611-0.der create mode 100644 assets/roots/83fcdde3ff2a744eb4370369af62cd497095e486-0.der create mode 100644 assets/roots/843eb9be7c5fcf0311180cf2f1e3ecb9d5e36027-0.der create mode 100644 assets/roots/887da4445e67ea7c94774e43189c3ecee4c87312-0.der create mode 100644 assets/roots/8a938d24845c923b512b1cd0ac0e7a64a33b4cf0-0.der create mode 100644 assets/roots/8aa2eaae98f84c6b1703fefce5ee0bc9afed2fa6-0.der create mode 100644 assets/roots/8df6bca2fa8dd4f6a68eaf461bf2091e9aa77576-0.der create mode 100644 assets/roots/8e88f59059604b03df43780a8094a649cdb975f6-0.der create mode 100644 assets/roots/9370a55f7c274e0d3a10562231c60a406a8d98a6-0.der create mode 100644 assets/roots/953e4462a2852855675a4a4f8a790c5e904cfa5a-0.der create mode 100644 assets/roots/96db2813a1d464fed7792b0db6d29e5d8308bbf9-0.der create mode 100644 assets/roots/9717ccde7d8296f32c79363127c7d366c7ccf94c-0.der create mode 100644 assets/roots/984a0a63fba1d7069deb8931aef39c24ea7a5c47-0.der create mode 100644 assets/roots/9b55f064e2c8498d97481114eeaf435fe0cd3a39-0.der create mode 100644 assets/roots/9bbd65196c3a9fffbf0bc4bfdb20299bf0d6df8f-0.der create mode 100644 assets/roots/9be242c83e15138e38e53cc701da3ab52d475144-0.der create mode 100644 assets/roots/a27cf103f952a9ba8cd636012f4adfffe82b92af-0.der create mode 100644 assets/roots/a4c867427bbd6f1c2a429387154ec72447e68508-0.der create mode 100644 assets/roots/a4d7c276adf4f0fa5b7b3606db53807f3cd79d09-0.der create mode 100644 assets/roots/a76e38b989c88f14809cb8826da96b75cadeeb8d-0.der create mode 100644 assets/roots/aab38011e10133cb69cdf7f710e973cf9577abbf-0.der create mode 100644 assets/roots/abf377b2272de78e18d5a67e5b1297dce8c5dac1-0.der create mode 100644 assets/roots/b0e31e6fe1b4e58b38cd4664dd9184b2eead11f6-0.der create mode 100644 assets/roots/b63a54aeb7c096b2c72835b60f7d423e851e811a-0.der create mode 100644 assets/roots/b7e7d918696e6d071cafa898ed1bf22538e71ab2-0.der create mode 100644 assets/roots/badf8ae3f7eb508c94c1bae31e7cdc3a713d4437-0.der create mode 100644 assets/roots/bece0f14569371822ea32fed5faa588deb9a03a2-0.der create mode 100644 assets/roots/c17e0d0305d965b2bf298a6c492a3b0bea8ba25f-0.der create mode 100644 assets/roots/c5c7806f3b0ec8c5ac7df8fd9922dcc8b15bd0bf-0.der create mode 100644 assets/roots/c90a620226764c614af7a3e7549b6b1dac6b0f55-0.der create mode 100644 assets/roots/c9770b343f6c16083e2a9e9be4f9ee2de35dd3d9-0.der create mode 100644 assets/roots/cc74fc3960063bc493f2540de8ccc3b47e59d84a-0.der create mode 100644 assets/roots/cd30d24c343a82ab1f0570158ad7a107762992e9-0.der create mode 100644 assets/roots/cf3ab99d14f558ddad1db1c0c87dd6b76685ff6b-0.der create mode 100644 assets/roots/d07c43a2a0f778fed080dff8600e49515c1d05c2-0.der create mode 100644 assets/roots/d422b47d649377b28a8d0620f4ffafe3444e309c-0.der create mode 100644 assets/roots/d83a4cebac21908f4f278d95db510429928526b9-0.der create mode 100644 assets/roots/db967dfe40104bbb8a15f44c45067d6d9ca0117a-0.der create mode 100644 assets/roots/dd8ae898b225382efd64f9f3c37486534fa9cbda-0.der create mode 100644 assets/roots/ddb36391a7eefac7df3e47972cdd9c04be806e9d-0.der create mode 100644 assets/roots/de1d43c47af5f1bc86ab36437e021703f89ccf5c-0.der create mode 100644 assets/roots/df22cf8b8c3b46c10d3d5c407561eabeb57f8181-0.der create mode 100644 assets/roots/e24e78259c056c7f870c7b62f5b043d96fab7725-0.der create mode 100644 assets/roots/e7e9ceba6df839282ba96295895cca12e56e2cd6-0.der create mode 100644 assets/roots/e9c6f2faacfba8533a5d58a04d4f76d1fa532b0b-0.der create mode 100644 assets/roots/eb25d890fe2720f41d7d6ac15eef76cf62cfab78-0.der create mode 100644 assets/roots/eb8ebc9d472b7e0291771923f2a5f1c1c51e57b5-0.der create mode 100644 assets/roots/ef58da4b2284f3860c68b18b916a064a520a9728-0.der create mode 100644 assets/roots/f026813c6ea2e5bbca921b4b884a50f107f0cbff-0.der create mode 100644 assets/roots/f180fc731db5ec5a468e4ba9bc8ab856319ceda9-0.der create mode 100644 assets/roots/f20ef3e3718f19d130d9cc7a2dc303161cb29cd0-0.der create mode 100644 assets/roots/f33f2ef9470df6a3ca848f278ea48015299c54f1-0.der create mode 100644 assets/roots/f4ee867f8a28dc57b3dfe2c74facf594b917520b-0.der create mode 100644 assets/roots/f5042d4a785f7dab303cd2dc815d90dee6995f09-0.der create mode 100644 assets/roots/f59639270d6a2019f1683191887f7f3edb1f2013-0.der create mode 100644 assets/roots/f59c687f2418d62a790f7592330756ea85e94707-0.der create mode 100644 assets/roots/f7025660b8bbc206931faf24a7161c03980f6301-0.der create mode 100644 assets/roots/f85cf300817f2b6cd6f5d220fd224155c466d35b-0.der create mode 100644 assets/roots/f9780538aed47baadb39e8710440f329a43a372a-0.der create mode 100644 assets/roots/fbb2191bc63ac8ff27f29ee542bf779ce0c298a1-0.der create mode 100644 assets/roots/fcc3e143973af986f6b33251f56e17bbee86f58c-0.der create mode 100755 build.sh create mode 100644 res/drawable-hdpi/ic_launcher.png create mode 100644 res/drawable-hdpi/ic_stat.png create mode 100644 res/drawable-ldpi/ic_launcher.png create mode 100644 res/drawable-ldpi/ic_stat.png create mode 100644 res/drawable-mdpi/ic_launcher.png create mode 100644 res/drawable-mdpi/ic_stat.png create mode 100644 res/drawable/art_placeholder.xml create mode 100644 res/drawable/bg_button_accent.xml create mode 100644 res/drawable/bg_button_outline.xml create mode 100644 res/drawable/bg_edit.xml create mode 100644 res/drawable/bg_play_circle.xml create mode 100644 res/drawable/bg_pressable.xml create mode 100644 res/drawable/bg_pressable_round.xml create mode 100644 res/drawable/bg_tile.xml create mode 100644 res/drawable/progress_mini.xml create mode 100644 res/drawable/seek_progress.xml create mode 100644 res/drawable/seek_thumb.xml create mode 100644 res/layout/activity_browse.xml create mode 100644 res/layout/activity_home.xml create mode 100644 res/layout/activity_now_playing.xml create mode 100644 res/layout/activity_queue.xml create mode 100644 res/layout/activity_search.xml create mode 100644 res/layout/activity_setup.xml create mode 100644 res/layout/row_choice.xml create mode 100644 res/layout/row_header.xml create mode 100644 res/layout/row_item.xml create mode 100644 res/layout/view_album_card.xml create mode 100644 res/layout/view_detail_header.xml create mode 100644 res/layout/view_home_tile.xml create mode 100644 res/layout/view_miniplayer.xml create mode 100644 res/layout/view_status.xml create mode 100644 res/layout/view_topbar.xml create mode 100644 res/values/colors.xml create mode 100644 res/values/ids.xml create mode 100644 res/values/strings.xml create mode 100644 res/values/styles.xml create mode 100644 signing/minamp.keystore create mode 100644 src/com/minamp/App.java create mode 100644 src/com/minamp/BaseActivity.java create mode 100644 src/com/minamp/BrowseActivity.java create mode 100644 src/com/minamp/Glyph.java create mode 100644 src/com/minamp/HomeActivity.java create mode 100644 src/com/minamp/ImageLoader.java create mode 100644 src/com/minamp/ItemAdapter.java create mode 100644 src/com/minamp/MediaButtonReceiver.java create mode 100644 src/com/minamp/NowPlayingActivity.java create mode 100644 src/com/minamp/PlayQueue.java create mode 100644 src/com/minamp/PlayerService.java create mode 100644 src/com/minamp/QueueActivity.java create mode 100644 src/com/minamp/SearchActivity.java create mode 100644 src/com/minamp/SetupActivity.java create mode 100644 src/com/minamp/SquareImageView.java create mode 100644 src/com/minamp/Ui.java create mode 100644 src/com/minamp/net/CertVerifier.java create mode 100644 src/com/minamp/net/Http.java create mode 100644 src/com/minamp/net/StreamProxy.java create mode 100644 src/com/minamp/plex/Item.java create mode 100644 src/com/minamp/plex/Library.java create mode 100644 src/com/minamp/plex/Plex.java create mode 100644 src/com/minamp/plex/Server.java create mode 100644 src/com/minamp/util/Json.java create mode 100644 test/NetTest.java create mode 100644 test/PlexTest.java create mode 100644 test/QueueTest.java create mode 100644 test/mock_plex.py create mode 100644 tools/make_icons.py create mode 100644 tools/make_roots.py create mode 100755 tools/setup_toolchain.sh create mode 100644 tools/zipalign.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5979b45 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +build/ +toolchain/ +.DS_Store +._* diff --git a/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 0000000..18a875a --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..9b191cd --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# Minamp + +A small Plexamp-style music player for Plex, built for the Samsung Galaxy Mini (GT-S5570: +Android 2.2/2.3, 240×320 ldpi screen, 600 MHz ARMv6, 384 MB RAM). Runs on any Android 2.2+ phone. + +## Install + +1. On the phone: **Settings → Applications → Unknown sources** (tick it). +2. Copy `Minamp.apk` to the SD card (USB cable, or download it in the browser) and open it + with a file manager, or from a computer: `adb install Minamp.apk`. +3. The app can live on the SD card (Settings → Applications → Manage → Minamp → Move to SD card), + which helps with the Mini's tiny internal storage. + +## Sign in + +Open Minamp → **Sign in with Plex**. It shows a 4-character code; on any other device go to +**plex.tv/link** and type it in. Minamp then lists your servers (owned and shared) and music libraries. + +*Connect to a server address* is the manual fallback: an IP/hostname plus an optional X-Plex-Token. + +## Streaming from anywhere + +After sign-in Minamp knows every address Plex advertises for your server and picks the best +working one, re-checking whenever the phone switches network: + +| Order | Connection | When it's used | +|---|---|---| +| 1 | Home network, HTTPS (`*.plex.direct`) | On your Wi-Fi | +| 2 | Home network, plain HTTP | Same, if your router blocks plex.direct DNS (rebind protection) | +| 3 | Remote, HTTPS | Away, if Remote Access is set up on the server | +| 4 | Plex Relay | Away, when the server isn't reachable directly (bandwidth-capped; Minamp caps itself at 192 kbps) | + +For the best remote experience enable **Settings → Remote Access** on your Plex Media Server. +Without it, Relay still works. + +Android 2.x can't do modern TLS, so Minamp bundles its own TLS 1.2/1.3 stack (Bouncy Castle, +renamed to `com.minamp.bc` so it doesn't clash with the old copy inside Android) and verifies +certificates against Mozilla's root store (from `certifi`). A tiny loopback proxy feeds the +phone's media player, so HTTPS streams and relay work the same as local ones. If the phone's +clock has been reset to before 2024 the certificate date check is skipped rather than failing. + +## Playback and quality + +* MP3, AAC (M4A) and Ogg Vorbis play directly. FLAC, ALAC etc. are transcoded to MP3 by the + server (Android 2.2/2.3 can't decode FLAC). +* **Menu → Settings**: separate quality for home Wi-Fi (default *Original*) and for away/mobile + data (default *192 kbps MP3*); 320/256/192/128/96 kbps available. +* Seeking in a transcoded track restarts the transcode at the new position. +* If a stream fails, Minamp re-picks the connection and resumes; if it fails again it downloads + the whole track first and plays from the SD card. "Download tracks before playing" forces that + mode (useful on flaky mobile data). +* Plays are reported to Plex (Now Playing in the Plex dashboard, play counts, resume position). + +## Features + +* Home: Library radio, Loved radio (rated 4★+ / loved), Time-travel radio (pick a decade), + Random album, Recently added and Recently played shelves. +* Artists / Albums (5 sort orders) / Playlists tabs with paging and fast scroll; Search. +* Artist page with *Play all* and *Artist radio*; album and playlist pages with *Play*/*Shuffle*. +* Long-press anything: Play next, Add to queue, Go to album/artist, Love. +* Now Playing: big art on a backdrop coloured from the cover, seek bar, shuffle, repeat + (queue/track), love, sleep timer (15–90 min or end of track), where it's streaming from. +* Up Next queue: jump, play next, remove, clear; the queue and position survive restarts. +* Wired headset button: 1 click play/pause, 2 next, 3 previous; Bluetooth media keys; + pauses for calls and when headphones are unplugged. + +## Building (no Android SDK needed) + +``` +tools/setup_toolchain.sh # once: fetches aapt2, the API 8 android.jar, builds dx, renames Bouncy Castle +./build.sh # -> build/Minamp.apk +``` + +`build.sh` runs `aapt2` (resources), `javac` (Java 8 bytecode checked against the API 8 +`android.jar`), `dx` (dex 035), `jarsigner` (v1 signature with SHA-1, which Android < 4.3 requires) +and `tools/zipalign.py`. The debug key in `signing/` (password `minamp123`) is what this APK is +signed with, so rebuilt APKs install over it. + +Tests (desktop JVM, no device): + +* `test/PlexTest.java` + `test/mock_plex.py`: PIN sign-in, server discovery, connection + picking/fallback, TLS with a wildcard plex.direct-style certificate (ECDSA leaf, RSA root), + untrusted-root rejection, browsing, search, artwork, and the stream proxy (Range requests over + TLS, de-chunking transcodes, aborting). +* `test/QueueTest.java`: shuffle/unshuffle, repeat modes, play next, remove, move, clear. + +## Limits + +* No gapless playback (Android 2.2/2.3 have no API for it). +* Notification has no playback buttons (pre-Android 3 can't); tap it to open Now Playing. +* Downloads for offline listening aren't implemented. diff --git a/assets/roots/032d371dbf31afaf7ded8c4817d515f8152ed5a6-0.der b/assets/roots/032d371dbf31afaf7ded8c4817d515f8152ed5a6-0.der new file mode 100644 index 0000000000000000000000000000000000000000..47bfc6ff7db9fe972841f2b269717a1d5e866d63 GIT binary patch literal 574 zcmXqLVzM%5Vmz>bnTe5!NkD}8>+0X;-Qo_>kDNCxy?Dfci;Y98&EuRc3p2BUpCPva zCmVAp3!5-gXt1G#ff$Ix#ls&Q?4#hEUsRA^lvt9PpJ%9QpbU~>=8*x)=q2apDunn1 zE4Vs4D+J}|mnb+pDi|3U85zil^8!f=BU3{&V`CGGC~;mBGXo1lOEA|wit6^283?ek zgMGuq$i}MO$ikq+oW#K5s%cvM>(CD6b0W1XHu^4zHhZU~6MQ&<({z(cnp)<8%~P+% zPI8dsJGNA~;LCfVK#kbvXZHTIX+3y;%7l~J=O#HtM5h0pqArlqQWfou{Hi&fg>o0zxy+9WI+n}Sj1ScOY?!G`9TJ<0HdxAIii>|7z|RG3_>3(g}uB!NhQKx zZi*2<50lxUziUd2{2u<6Y3Nvd=J)m2+W*aKKfJv@uQbcFEXef%lOe3|G!|s#m1r4=5fxJg_+sF!;ss6 zlZ`o)g-w{r#nn*MKp4c~66SHy4Jj%uE>UpLP4X~QGEe{sGYd-sg@ZzaLlj)Y6oT^e zOB9?P6$}-O42%p6-Vap#ca)iSrtpg182jra%})MVrbD1lZWYK44;GW7TeC zVNhaDVqp2meYee7LGu3e))z`%v(L|+v40Dz+R4+8mtE>VI8=*!A=M&g~+nG`$Y-udFXk_0%#*|B~|knpF9%!-u9P zI#qkFUEIXTYtY2VX}}K*3t3@C#{Vp=2FyUpKo%sx$0EieQZK+LW^T1a<4M4eCEwp< z8*TgdvfF?UB+U;}&jO4QHiO1vAOU%n#(f5jyAA9X*etMWv&bkZDX`MlPcF*QOVKR> z1-)KgY6*z159PnRUoT@0-$);akh1FwNFkhD#=XCOinCG zElMrR2hy4Oc{!QICCCYhIg`O4jmePVl+7`%(nE2jNtR{|2~ph#C(k@{^R}b4b^A#Jw{Pbqz0&~WJyC>QGDRoIYNk{)_2j;e zX=7??B9pllsnar^(rWN%S|(_=Xl_U&^VGw<&(nAAz280OJKwn%NYj!7Y0%yhC`BK8O^M@&Q9_J$sS2Xu%K+hHHUg{dLY1t1YgL|5`w^44RfhEBw9;QxGG8U*+4 zyTDo?Xc`0o0@5J*kTeJww1kkC6VCNNu~$!r2&*O?(UQ2a@%j3S>E(SVGJB4CMWEs$ z&U{)GPf!qD$Rc=f_mS)()1QTpj?8{Su7Xa@oC+g`FP!)M)&O2j=_v?v{KlxGra2^iSd%6%}`DPaYfu=@Hr!zszEVqfTk#@_~8 z`%1;>%FbNrFH4vgxbvHM4`7t=n$6+?<(=bW>LC0LCqG%IwQnIh&$!#IAekbHtVDQ- zk|1*dkb`#pzsD3Kw#mq9W4yCMCFwm$d69&A)>t#hkB4$`ecQS%XC2-+)+`q}v>e{E zS`U4$I2o!CB3&YcQx^A{KafB_) z?6GRfX0b2kdWu->6mp)HuT(X~>ye`+!BuBw(6LJMO2ZzU2{!wPKFuML*0B1xKu=Oe zp1A;lf` zEm^OMOGUUAwyn{0OYzQ=6CqvAFRAdJ!OKjvblEbKFyyHdDA`>1qIYVR?tM%t_-N;6 V_2(^Z#)_>wJtMjXW^vTE?H>b?c2xiX literal 0 HcmV?d00001 diff --git a/assets/roots/0f4efcf05175b60e4914344f85fcf18b3f826fd8-0.der b/assets/roots/0f4efcf05175b60e4914344f85fcf18b3f826fd8-0.der new file mode 100644 index 0000000000000000000000000000000000000000..c4347d3f5249399da3622cbe92e6efac8511c503 GIT binary patch literal 1095 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 literal 0 HcmV?d00001 diff --git a/assets/roots/1336799a38ebd57730aa49f89be555490ab47bf8-0.der b/assets/roots/1336799a38ebd57730aa49f89be555490ab47bf8-0.der new file mode 100644 index 0000000000000000000000000000000000000000..ae5ae3529cda00160f9576745bfb0168ae9309f5 GIT binary patch literal 592 zcmXqLV)8L)V!XJ3nTe5!iIbtRO6PsQa+Qk#7aNCGo5wj@7G`FHC_`=oPB!LH7B*of zuK+_e0~HX5OISA8)!E-yA*86ZxI`hivbZEQw^+eBUr$HDrzAzsP}x8cq>fow3aZX0 zSi#lVSs^GtzeK^=QNhT-$izTSoEJzM8XFpzni?6KM2Yj7SQ;1_nn1ZUwY$tffQ=pO zOD0A(R_#U>1|{Ys29`H>jvC$GTW%umabfGtZ?h-+w@uND?uujAcKdfm|J?CWgmu&OGt7mPVh^O%FJb(+J%IBX0Hcq%O8@`> literal 0 HcmV?d00001 diff --git a/assets/roots/14146f28d9038bfbf04a2093c205456baf4034b2-0.der b/assets/roots/14146f28d9038bfbf04a2093c205456baf4034b2-0.der new file mode 100644 index 0000000000000000000000000000000000000000..96e02ca8d4c522b0f0b31433a56bc34a52fd3a38 GIT binary patch literal 1551 zcmXqLV&gVwV*b2fY7N;f_C1)sj z<`tJ@mXwxc=I0eFIHwks=qWgsmSp4?WtLPLIvCi2Okox_C&iSY{QMGUM+GATLsJ7e zab6&4ZeVU`U}$J$7$weYVqjoqYyjmB9gj3IDIrG!BP#=Q6B9p!K@$@fQxhtr7y192%CENT zuga@cQGb5ywA!<$|I*o$Z@BW_wTeu&jHsG4v&eQ%OI(NIj;mjE{@g4G@~_yj*G9X0 z>Wr_OFJ_!q5UKNtiGSYx^s8y3r1^D0j_qmtE_ztcel=O3>JF2vBx9U&{_O(&#|iHY2KO!el31Ul5sZYrcYQ} z&-i-ogCE_UcU5QDPTE%Y{^rNPz*=3k6Pb~T57uPu&@vNbsS4O@)Ur?iPSMrtvSRK} z+|v~7zf3#2zK^kLDSuVUS6+$so9jBR{%SdBbs$qi_Y-eM;Ht+<%a1LYz_-x6+fdp4 zAScJ`yzdpWuQ&Z^QJCo|xlPDz<8Rkcv6YKc*UVw(f0cblUXQKlOkP6iGJ{J<=JNNR6Bf+$(*GN8!Yf~=&=)n*ii($|tZKl*Uvk!H43L7htCnr_{F^Q)=#m#i7j7cG*0|cJ9AxTLfG>7d@GhcXDd3n z`}p-2ukv3cEo3Xk;lTgV&FA{6YL0_kUvt&(G4-E1yjA%c(tajKGe6_YiY5<0ju>BKF(6oRXN6YN%?U3=-rLmI*FNEK18v%}G%R zNlnhk%g@PA&rB`WQSi)5)-yCRFaRlI7S=>43(C(gQE*NzD#=XCOinCGRd6gV$;dCt zEU8q`Rd6>lkQ3)MumnOw12BjZ=QTDrG%^MvQ%h6Js6puBCPpRXU}a=wU~XdMXE11D z-d`>a1oOIxgTU`Ca++d%i^=IX| zlXqLq{r#tsVMb!fd9@~oBcjv*#k4g3Mo8warek|YaTNWi( z7H4wc#k8=QU7J7DFFCvSj*(%_#Pbj01%G6(@{GASbIQd{6>DlMF}~T+m0oT5 zC|$2-DzloN^IR{(Z+u&Mc5i=VUaz!^VKHBI(C_Ts)<-T^2Kt?y@FksH@`R0B6)$7$ z(TL}{&sq({XQ> z^=Zx&S8i*E#_zQ?Mqg)~is-A=dN(1mIOV5VNu27!uW77$^_HS5wSEV5_qAqz0RZW3 Bb(jDE literal 0 HcmV?d00001 diff --git a/assets/roots/17a7d72a82ce8c8116af6a12f0701505259f816d-0.der b/assets/roots/17a7d72a82ce8c8116af6a12f0701505259f816d-0.der new file mode 100644 index 0000000000000000000000000000000000000000..f63cc7f924172a45ebf672c6576a7e9e4a9ac88a GIT binary patch literal 480 zcmXqLV!UI}#Mr!mnTe5!iI<7_Y28=*$$yt}DsEb4z{SR))#h=|mW7$gAiz+?K#7ex zl!aSZ+C3*fDKRHFGd)ki)!A7gC_leM!P!wkS0Tv6P}o2aq>4+J3!w@o$c!v#AScdi zXk=(;XlwumQR2MD76yifmIlU#CI;qFG_Wz!K$wjk>?0;dsMnYo*_oXfSauw%yxgCo z$~RxnQc{L_$+}rjE!jE6P9<;L+4iF={9yPwr(eYjzo$C=mpjO?DX*CC|8d2q5=&Oy zEVN&7W#_pb*~Lx<4hDQckIV8iGX7@)1{hVIpm(-l$K;_16K~UWV1_ zni@A4ze=)fligSLuPEk7>#0i(j`vwtEWX+@!Jqr{1N+&Mm&`luKUD|G^n82x-G+U7 z58tB5MxIR*Y%f2KbbHIca{0Z6?5I`j+ayo#3I9A@v5IG-c8T5VTg%gReU8kSXU18U zmi9-={*_0F%szv?4FUUWww`17#*=vSxeD`x$Bd19dvCOwbnM+^wxT+QwGr17=8IDr02uSag+vTknGX z9+|6KLpp`oW+{iI_IpvWJR=OSIFzh@#Ey&U{m&NbsOa3c=@b};el^% zySdl?u@zv|vi6#&`mX0nOM8RX9?qUsR>JWwOezBo3P}FEtRZ*hVxWQM=5-U&ugP;I zZ#=s4n3G|$_>}jVr}cmJh}0f&mgv0s!N}oR!y~u&r;iUZM6USxLSav*4xhUT_p9(j z!DfG!Us-Q>_8-&J(qB8(Ie&isYJIA9{z|3O9Vb^^bhkAtUlEy-t$zN!`oYI4Tid>` zt26T5P?>Sj^2LOR!_9m6b*@c+eU9g$!tq<%?GD@T*S}-3oRXN6YA9tO0TSdA7Ie>dNlZzp)Jx9K z)lu-wOV%?qG|&ghF$-(B=PQ6E6@v2fOB9?_i%K%nGLsWaQWYFaOEU6{GD|8IbQRo< z4CKUl4J?7s&;Sgg#CeU)4ULR}$kfu*GHQ^xvWZa%Irtb^8JL?G`56qF7`d357#SJ% z7bbCh{1s{PUHYWN;_nTf5igaRg_j*waAve_`S`5WbH4hkZ!OY(3%1-Ym~q^QaU-i8 zyWhJnzx?$h4V0d*mJG{&)WH7dvsh_^WnlHwpQhVN{8sih2|w9pzmmE6*P?x0qFMF# zxDRiW6k$E}>hKDdDb{W^M!cUH(v(j0X6Bmp2uf_fyh$cui^VUdo^zM)y0PEmvU?p{ zbE4+=2JPS_laew6Raq0ITpD|HRyt2pzQ4w*aTcHEQJIx5W97EZn`gjfdG2FJ!*B1{ zGe&P(lblsen8MTpk~+x)X@f+aLO(Id&r>-Or*e2W@MOoJGS!b&*_or%!wcCtl11pbr&l1 z`KPvT`Mzwjc#DP8E!OHEOr<;iF5P&2-M8!agii+x)OERCoc?RO zp0?oX2^-WKe!iF=_0oL)>L>SeHn)n;wY{n0UpdkAT0G0^hUV3?m~^)ae7P~m>;X85swAuG-$dtLsriJBjr{lsYTTZD}?Q6 ueeG2a{zo$Z>cn@fiTid%Y?Cu5kMFnT*;{6|q@Jqkc=X6+U(EMcGG75Um}y7= literal 0 HcmV?d00001 diff --git a/assets/roots/20dd24a4280ef8840064866941b494f3f30de194-0.der b/assets/roots/20dd24a4280ef8840064866941b494f3f30de194-0.der new file mode 100644 index 0000000000000000000000000000000000000000..75084805caf9a934724bfc907024692a58955f06 GIT binary patch literal 1519 zcmXqLVtsAU#C&-HGZP~d6GzxK&9f$ZD!v);vT+`d=cHdrI+Yh%Z9=0vLxr;MA<88Rzf(smu&CfL) zRpcKRiC$oo`W;uGyy^6O%g5)B`W>5;t9Gn<_vTybbGh1HHkz~k`%qZ;=CI7mrv zws2l+OXgd~I@NQRMt8^LO(rromW1YQm$`6nW~jCD7o`V3HPh7IC_Tui}_mnB2 zz%lO1x&TWh5w+8stcy!R-PtP}Ems%_yF6v-S~pEt)ro&+@R8Yn&OVX3XY*_IH8wB# z^kp*)WbW$Rz9TU;Jnh*3nC`HzXgX;3)+isaF<{8L>6!5W#v0#@5WkFefkbx|~+}wto41swV zm<$;i!Z!Dv=9=r-w|~iziM!LpSp#R3{(c&uQ#J3S$gkCxyX^i?)a+00zOiLx2qW*l z$!+>Sy>gGoeGUJ4DpW>jpF6+V(fe83Zmm<4J=2ue=k~oPl3~ng4Qw!)J?- z&40INoVazYKhS2=?}>M0p3k29a64~N|Dz>GR#yCcEwbjAGwY#LOAQI8!%ds!vhGWL zJ1su7#O61rsb2LQ;lI-SvBz^8t-|=vSU+6Pq_4Eb?Ub9%0vVrcE?eUCVnow8AF65o zI~J6rU9`VHY5TQ0ik|YoD@=2K!5@qg9Z72!pmykL9nfb#0CC;U7!4g$mdYm$5^C$jo>QeH)$QPh` z_cSw)_{nAl4nI@huI{%Vn5LxZxYVDXsy8?faItY{wRxPgWnpGE2ryJJ zP-0^aW#JZGeqAijbzXF! zJ=KIuzUuC48{>sX=lU+mcbsZbe^RdH^~HIfliH`W^H{ZdrOlrkIoWr5B3ql+VkZL! z13qA=$nrBX{%2tU1~;1lKZq|3;kJQGfj`#uh>s1x_GJG%e!}} z`NI52lP)}vaXlW%KME}v#q?GC%S;CWoE zA9wSd=rYX(oN9_$NlXTXm$vrDys~~+!P&Z^bdvRnn7Ur)s&z|Lp SnIFGfKh!$?Q~Pt;1akl<_O(j@ literal 0 HcmV?d00001 diff --git a/assets/roots/229a8437e3d9edafce3dc9904897b48fdeb436d3-0.der b/assets/roots/229a8437e3d9edafce3dc9904897b48fdeb436d3-0.der new file mode 100644 index 0000000000000000000000000000000000000000..6eb01cc84d343fbdcef5934f70abecd93db5593b GIT binary patch literal 580 zcmXqLVsbEOVtl%QnTe5!iH9-75;r&S-1?i*f_M>JkHs&Ff$nx8gd(OvN4CU zun9AHgc=GO@Pjz)JRDA?DTxKC#U+Mf1|lFKE*@Ur%;ci{;?!gXpOO?kLvaI9ka!{w zUzlTvN2somv8jcLiKV%roPi8Tf|*A&RX4aQGd(X~At*n;M8Vln!N|bS+(1s87f4zd z85tTGm>ZZyiSwEmA#n%7Ns$J^Z0z7LVPb>^4l^S=vl9c$v^%z4H#St~A5-7wGGXK9 zFwyEhXO&v1mdJO>8Jmv9wOPW91$HC4A3 zCmSS!!&Fw7k?}tZs{u2RGT;LSkSsq)02l|1YzDF*J|Bx1i%7emD96QB2P=3su0MC| z5#jhqx-Z<(KBAB$j06=NT#*$b+Pqc_biG!Kp=M zsYMDw`S~RZLBWm+?uG_(;=D%22ByY_h9<`5hGtRXye1X~rbZ@Uu4xo?Eo)*@LiP+J zD+6;A6F-AN6B8Fx6B8rDs&!vhH=Y0e)SUbI)oE)dyzth%6Pob&%%07AbSLe6vbgGF zo!`CH>cQH)n^=FAVtay*wd{=e2^a^cO!F@{V5>p1x_t zZI#UCu*;dJn}l}HmHza@wAic=AC7|0S|k-y`OqW=jk;F*gu&sooX+*z_U4PrWmhbHikzt@3tLmLBgYRor-wQ$@??(VjOx>F$R#J9cvI z`gySAT#tlW>aFkj$9k$WVz}QWABgk*=yztmKL5iPv#KV4d~o9Se)VUmn$>0xj75t- z&CPD%$j~-p*H%AMaU-jp&%NZ!ss+NaDRp0Ni>&)?^+f+*>f@bN4mls#wpVM+zWy-Y zqIk-hn+20~@3gFUlUY=yW8bLe^!&<=qd6^Ug5BlWAu@}%-Vpe(PV;*@M~8UKj_H-> zUukQ-i!gqg`%-gNDkE=`@EcX`SRIEVQO(N}biPYDU(NcE$;8aaz_>WsAklyym~Lf- z85#exuo^G}DR4rTRc4Ve5Ni@4H*X+a--Spat?J{%s{8_CrEiN%;hmx^`hgiU?Q~EELdfutGSt7Z| zZ0)2+JHL2eea*4lue~}{Vea?2Tebe| zOp-jEW4-=zu0_u3>Sc1he_qb}mo2*UcGIlWGwv5JoUmZQ(FZRWS1cBpbK>BvHKGB= zy>Dx@x{IeeIII0>T%r|kIbpl{>A>2c+q})`Oqq?Oj8?OC)V3YZZ zWvdMLBR3acXY1*ng@SukwjEkq6vFl|TjFQ=ZB3n^dAa4)Nq_l$`(_v!7!(R!Q#E}& s|406ut*^7B*S-?CJWZ^KO;Poj&z}B*-8@g?l$v!f?fcgnz2(VX0P=HU&;S4c literal 0 HcmV?d00001 diff --git a/assets/roots/262175b10d1adadd3525515deb67dda91edf2154-0.der b/assets/roots/262175b10d1adadd3525515deb67dda91edf2154-0.der new file mode 100644 index 0000000000000000000000000000000000000000..5a3dc5093cf825f6172ccf9b5862018079b598ec GIT binary patch literal 887 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 S13O1X?xmW{y!iW1vr+;2{@4uw literal 0 HcmV?d00001 diff --git a/assets/roots/3053402c7b5dbe592758be81f8b1a0c89bd9db40-0.der b/assets/roots/3053402c7b5dbe592758be81f8b1a0c89bd9db40-0.der new file mode 100644 index 0000000000000000000000000000000000000000..45ac9386a87a42ecad26979a2aa0125bdd837b04 GIT binary patch literal 601 zcmXqLVhS~AV!X3}nTe5!NyJ|{Wk=ui{Jzi;Y98&EuRc3p2Ap zlp(hPCmVAp3!5;Lv!9`=fij50#Um3^R9al(Se%)t5R#glk(Zy7pPrdotfSzWm#k-~ zVxR<4#>^v)Q0AVKpOl!R5R{)^qTuYP;BI0dC(dhRXkcn&U;w0yjH1MOP0S2T4K1Nu zn%Z4vAi%~B_9YV|8>@CB3xg7K5(CS}&1Ws1s5(ErC&{_Hv2u}Uyl67xy+f<-ZeAvx z?%mM5e&*>l;_ z)ac0e+VkfI&AY~L0+!ZSYVJ^&u{hZv(SRQqHnPHujQ?3!4VZzHfjme+nMJ}ttU+Yy zZm;R*Hfz@}F}yduIkI_Ke&OkR2C^Upd@N!t*roYE()=I;S%A^Xh8%&+=?n%bOa^hE zUbCI?G@S3ikh{Ik?1QhM|L4=4Ryq|E0~SXgI900lY5#;+?xvmujrqq4W@SA2$Yc-` z!53C`KH~6ofu3D`>mKh(DRn;@I^pr(U7@epj|8taU-?dPlVWs2zpc^7tIAWZMF0T# CiO)X( literal 0 HcmV?d00001 diff --git a/assets/roots/3091c2d60f82ea189edb13b0755d9b046e67f050-0.der b/assets/roots/3091c2d60f82ea189edb13b0755d9b046e67f050-0.der new file mode 100644 index 0000000000000000000000000000000000000000..e193a059ee8b42a0b5ae782f31d5fec71e18908c GIT binary patch literal 1371 zcmXqLVhuNFVzytv%*4pV#LL9|baKAo24T;R>_y@Rylk9WZ60mkc^MgbSQ!l54Y>_C z*_cCF*o2uvgAJ7o6hIs^_~4w?6yx`?qIX(j5dts9?CHP&lRfo3d zG|o*As(SQFug!VAJS?Sunt#SR+v$f|`VZ`JIKUmV_gnjB)0{OD0rf2pe9lg~tnku! zPteTuMq4#Et7>iW_*wMuRLb{fO#;0y<{s+m_+^pS^(Xl!~ z4Gz`MomVfHn*JhtGLG*m`4gpX>Ru18*I){|57KSbo)-cVpKg=6i-~ z&y>H)ueQ5(f1;AmvwgpA82u4Q76~l67kf=?@?OmhqKvuyiM{nBcABIUY6+59)ZM&W71soX)!QwD(&}?>R^8FNF%{scg7b z`0LBTU1#1(fBo0!c!Obvt<{NjRWr;bSf?^EGcqtPb~11<-~%R8S$;;w|12!PoX}># z58?}h_^bxZK*~TCB*4ca#v<}$y|!ARl(vU@tA0?L&ifCY!i9FosSKD^fT@g;Vg4#7 zwcFgY_x+cfHc8KJQL0zgj9p5nYY$r8XyRf!_HF6C1Agskl?#6^i}Ze>H}RBymNqRAM!>Yr6LCcDTtNaO-vld6hJ*>-V_`NzKtK3lvg z`XE?3_q0h+@3XRO@niSfR;%}UYL})p3MejnW%p&B>i-(id*^yo?N22YaDCV3Ok+P` zFZ1WaZC8W)NgW5b^3Ody-|Jpvr2El!C9`Ku%inVCe8j$>x4O#9rts1u=7sV`?02P~ zIGy8Ra7}F3%B>KoS+VzL=;`F6Ha=gr{lA?RZ!iwNGE|Hh;l? zr{z}lF{fiU6v%3ue7#b}$@99xCzAEEvD4v1Q32_4-*ZYmS6V;0)@~1e_1+WY;JGvJGqdz zfxlX;Tx9?M+niH2P2QsrA^P%mq4Vc^0*4vytk9ae?a(#*3E5@0bN==0`BY%ab7!Wc V>7DB*+>)=F6|M{ay}c>-4gj1STZjMv literal 0 HcmV?d00001 diff --git a/assets/roots/31e4c31bde81d32ad0d8ecacd40c3da4e71aeb38-0.der b/assets/roots/31e4c31bde81d32ad0d8ecacd40c3da4e71aeb38-0.der new file mode 100644 index 0000000000000000000000000000000000000000..f81b63aa1e1b222d41e2b079e2088f3680dbd977 GIT binary patch literal 967 zcmXqLVm@rp#I$+=GZP~d6CHzYMDH8?d{!96EGDKRG~KOd+nC$YF#!Pr1foY%m@ z(7?dZ(7?#j)GSJz*Vq`uH8M7}G_{Nx9FA;aR6-6sMpg#qCPsb+gC<5UrY1&4hP|be zKO`yTtE_uaRko&f?@g7fJGTEh`@!kK>xz!BxY@HpWPN$MzFj_F@Fi&Ljma#J-P#Hr zy|h1Q>4Y+0^Emv#(&Fu>7#n++J(Fz{SNomi-SGf$MW)m)WRxd35 zEtOro@yEH9oI0O^uO1e0+0nN2Ter65t;NP6H-8mLeOD5d>6n;ZpZ4@{R>KCB&-dG0 zJN`=6m$u8xZH4B5b`MwX97j74NC z^Y=3A#HK8vRT9CknH8t(|99>bawr3nC@_>68NzJePr17HR`I5Yed{KyouNMcALGUi zK@2;5pGYf~NY@>B7niA}x<2Nb?5#_cCqGZue9+c@k0p}-W8{^TR_~eXRaxXtx~-gk zuW6HX!TdSj))yMyt!7=Sb9v_}_iv{@eS5xkr-%I>vF!(Qzr5mH|K{`7=dAOV$#n$> zUYp!_reyNBowt^$vX)dv)j8NTd8-K;2kY?x)Y3XEdC2Q{u7GK2A9)yQoc1vUx(PYMuRdbS|yFzQ}f3+nG;lCc0UZ=FXD3 sVDKo`k7YxAw?bX{LEEWK7u{xA+f?kxUwDBxWl@Ekrr+elOF~4V0eot3SpWb4 literal 0 HcmV?d00001 diff --git a/assets/roots/322ad42b3fe752585a7c1435fd71b9763f2c7bd9-0.der b/assets/roots/322ad42b3fe752585a7c1435fd71b9763f2c7bd9-0.der new file mode 100644 index 0000000000000000000000000000000000000000..a8b2d8e5d6f8b3e1b60c743bcdf2645ebac9c624 GIT binary patch literal 723 zcmXqLVmfco#ALXDnTe5!iI?F;zC`sk%j_9mo-?=%xY#(f+C0wLvM{q4lp1myaI!In zvaks=d4w7Y8t{WS>^vM!r74L8sl_FRVg@20Aub+X-^}Eq{NmJP1)q`>JwtH=QIL2d z4_}yLh)1Zdk+G?TiHW7Tp^||DNP?M1GF3OYDl;{LQAy;=_k?n%Ib0SA3wzS-HYdOQHE~0?_cP1;Oot2@gBbST?|B=!)+lu~ zXJo)u$wL`33=df2Zw08y9A3ksbkxfC{mbwOv&9D`g9W%Qp0$7PZ7Sv5?s6$0Eie64}C(6y;X&HTF(Fmw<-yovYV=yBf%Yq?K7D48$6+D?myd%#Ga) z2951ZPK>&@)_v8h*p{|q{VE{N&*;fp*~xu>_ry%S$D`!-A2 zJ59|O>wm9Z6ZGY}_O45V&l+i^EhYA!pv+CZ^&)H z$;KSY!Y0h*?qn!oAO_-a3G)Z1CYNNU=PUSR=4O_prWl$Tn1E!Mg>_*v0i{VfnaK*l zsYPX}MGB6kB^jxCC7H>IC7Jno3PJh#B?_)4W(IQNyherw#zsa4U=StF3luaqGBh$a zwKTPiqP+vk3MT|w{qS7s&$dBIfY8I>J zUVHbN_wetPi3WTiX?{k=|12!PsA@Cd2l0hLd{zTyAcY)L%;^jUDNF|H@0LWZP~82} zefpHnr6mfvmHsF8PL7L^_^m6&kacp0?S&=&F78tp!xsH8R^@TJzlzB~_SHkZ4!wsz um&-C4`F)z76I$|k-MZgPrQW^0^yd(>;A_{I1OeNa`kBnpxgj2mUBv*44Z{Zj literal 0 HcmV?d00001 diff --git a/assets/roots/3582a277b57e01b32d31d926b4f7b4366493d235-0.der b/assets/roots/3582a277b57e01b32d31d926b4f7b4366493d235-0.der new file mode 100644 index 0000000000000000000000000000000000000000..62d354adf604f533673bdf931722df75b41ae872 GIT binary patch literal 531 zcmXqLV&XSwVw}2wnTe5!NhB|8PvolLeKRc67hTF;V*M;v=GrX-E;bIWHji_*EX>RX z?uOh3oNUaYENsF|&VGh622vmnm#}bVNKt9Ab4F%fqJne2o{mpRik_jAfdojFSy-?P zB&*=+?5q%!pI@Tj>}Vh-&TD94U~X(^U~Xh)ViG0JYhsMVrJhA)1_EsCVD~dIvaxD6 zvM?wyCo!<326(OOshsAuN`~X`;zeiwMTR++|5cmfv|IKp$L-=x(WRfy&+%*evj0b- zT5Ha=*65;wOMh=CZMh%Zy?3KaM3NKd@n7}P0?+?B{5^2vu(r|jf@Ry6DTK;aH^h4P zr~7;qSnOorU?2mdZ%d`7#Z0h;GY4yXkD(kCj7T%UWZ@>?d7G`Ap&%$cJ z45SSBKmz z+4{4C?$Y_ cv`9$dPU4&x!SK`fw@Jn=&b5kc5>w6r028>g(f|Me literal 0 HcmV?d00001 diff --git a/assets/roots/36341f8404085341117cfe8fc657667384b14135-0.der b/assets/roots/36341f8404085341117cfe8fc657667384b14135-0.der new file mode 100644 index 0000000000000000000000000000000000000000..e5e2343aa815011b5044128b849639f2971c30be GIT binary patch literal 1389 zcmXqLV$C#YVh&uu%*4pV#K|yeN5}0AT?dm5c-c6$+C196^D;7WvoaV28FCwNvN4CU zun98-dm9QH2!c55!dy;8i6xoEIf-S7FhMS1E|<*W%yflBy<$B>Nds|^N@igJXGaBy zcu;4*IHwBb49)#I$S)@^iW}FUE}Z7ZUGMt)_7JtTU{ApbL)SN%={bEnJVnE z9a&yF?%l_%V#qPE#vtMS+I(A0de%HQD-6l+WGeRZ*^yIIKzvXkzmsxS~ zjY}qz!=|0~;b9Q7iI+Ni;&{%owU-T-?|Jd`VcNAzznQl|7Q1+! z&Yt(WH|_4s^Vd2Zzp+f}($vh&wvu^XTFX?(_xZr{y{9Gb&P~{KC@o>zMwWLcpSA6r zmFBSGx!~JISLW_->5(rEvI*|Jd%l6mKh>ck#y#M~>}T?g)lXbjM7Pd*bT8`a@t;;M zY2HtaLTaAm%-PImE52xxiO{vWO)ETiU#!w_*tbYb{{9nldBNh}6Sz{H7xC8oU}Fq5 zuHC@9}Ql}`Gee`Y>kcbvbt*>jThWlg@B($l^t?yx?hy{#f=i*o*lzn3?~mCDbY zx?;_@TMv&KR{y@}w)xVY^esstyEwlmZ^tN(mW2zxIO(|ttB=}vQW z3g79id#?E(tg*@K70&%#{o3Hd9pCjwuWnoF6J2=nh2g#z7Hl31r5?SybWg}KLh645 zUsLI`?I+oD_}>4w_&B5R$o6_Z(F>}XdzI#Dzh(XA=Dz0bfe%-#AH8`uEqa2mpIn&L z>kaRx?VhGAxa*U1TS>~)6B?!WWleWoGH3iU;$`|=v?t{-?UJ%hg>#$;31nFFm7uk)%le~((ozJI0Dq|XUT z)1QbeWS{L{?6BzdL_zL`E-}+o8Pbt(e zb^6}R;+N!-KHq+o6VPMd!ZYps_S4J{PUS8X@saMl`<7utP|f;@IU6m6FTNDwIKZ$$ zMqBV!d4bvNb>}ME?=%%W<18r%&0N1YWB&fT+bTDInp>b5`epV1sfnLYI^@e<+&6jm zz~H^#qVy;T+e*DKVkc)Neegb?d+5{ID2@RUXt-TF{W~t zsOODbHp^Y~DtFkk?1@>>{!n^-VBgs{I=_DW%l%+gv#R?^`c%VSCT2zk#>Gws4hHsJIWzRrj@t?QSJv$f+dAEB z`8DKF1|~CLC^IsgS{mB(_=IC#ruyjB&78JqQl_3o&g@#2E1gR> z8k%>VR6Mgf=WMsktZVx{E*YgA>^ksS-|GE=$5$q{T?}~4e7m?j-^()i?LD>QTWi;A zJ6$YIdhDgmbUeWOLFS`rIeac@0xtb)SzrICT(eC2g}KSx;FF1~76q;MDiCWsWOZVr zaDmy4^Y6ZJnOu$b`O7|M(XN|}MKPa!58mb5D8qXsdEeSEBELJ|EOO-YIddZ1;X)qs zs literal 0 HcmV?d00001 diff --git a/assets/roots/39d28b71fe1d19b65fb3f1288f23bc04595c4395-0.der b/assets/roots/39d28b71fe1d19b65fb3f1288f23bc04595c4395-0.der new file mode 100644 index 0000000000000000000000000000000000000000..1e927a7afe06c270670d6bc25c4d465db2e0a7e8 GIT binary patch literal 914 zcmXqLV(v3&Vk%p}%*4pVB*1L-@!4|0l?!%jq->Ps{Pom;myJ`a&7m8Ce;an;7{S44N3Zn3@aHzbQTHIERDpF(!1g)GQaJ{9Zplk- zye@a|@AU_#r!O{6V{hxNd-12ggQTEo);V)vP&-Tc!p2{-S^Rub$w8x&gcgr9D_VnJeCX{_;|J2P} zlz02&x_&wBDQX2hucLu6-|8C^Skma^IW)V_ne~}jhi)FnV1keK@Hao#ijU%z$=y=4>cw?qzQ zVDbWnG9yDmy2g}zK9A(rhIe13OI+=&wK>}DRsV9|ZEf-U8{&)0wTy%<8`GUyls~zq zo4)DT|D%6HB9Fdi`2qHg8zibR_3{p5LfoBYYm zyzW}IGxc}J?B04s;o;2qU^mg*8M8lpHn?hM_^7vK-s7%Yx2D;d3NMZS@UtMGz}-N8^%tYFG2u-sL@JUi+4LlJwK^__B94 Uy+>lhq8Hsv%iC;f{?uq20B`eLrT_o{ literal 0 HcmV?d00001 diff --git a/assets/roots/3f1855d3c9a93b24f8b4f95a07ae048c20cea42d-0.der b/assets/roots/3f1855d3c9a93b24f8b4f95a07ae048c20cea42d-0.der new file mode 100644 index 0000000000000000000000000000000000000000..2f6e59f424ac5d56f689780d408b70d37135710d GIT binary patch literal 582 zcmXqLVsbKQVm!HknTe5!Nx;l%TF=RtO%Z1=FvcEz8qQ$A#m1r4=5fxJg_+qP*^t|S zlZ`o)g-w{r#nn*VKo!K{;*oPnEiEZd&PY`VNzF;k&d*f{PE9T?$}Fi=aL-NhFw{2C z1Sw?ZQNoZ9@d;LNb#_(=%Fi!RFfuSQFpv}H1(Fsbtt$ZYoD5bC_ljHsky>7h5sGA{JEaHZ?i3F zpD=047tRak>rXUrADq5*w(fng=f$0Eie^0??s-qe}y8=q}X^tpI? z_2XS<@69*h2T2PvGX7^_HDCr(27Dj^evkkQFb>&}V~jbS!61dnpfsp^`w{{FbzTD9 zn_8ls9zN4DW4g5|E)-)z9+vY+?kwmZtWIF_k>61m!FnnGB9`SNxScueXW_n s@vnZ=_kb19KA-KZ8LN z6Bknx6C=aIb*h^fCGLcG*t@;{x&F~><-$j^E+(ca#;;nh9{4m*TI`B$ZNP@$^1T&S z36D~kX4kaMz9!YT_P@Mn{ne>*LZ_dJw6Gk!Z?;)%e%IrZw`Z7~yJ0M@;r3_w$q$#d zT=nHF^8ER!{qf3MwF_&rH(9B!%nfo`^J8D$?>oziCr(IQ#w?=n>3RF&jEn)AMhC83rT-&ocbpMgx(TsPM6&FS@^c}vCCHz+Sv5~;EZPmkJCes&(2#TxgvC#E87KStJ|+r zW3>bYKUn*p%Kc(;r0~gqhNy2b>y#5(i$6XQ*r>Yh>ZIMm2YDV?-r8arzICpeb2ZWH@t!#jcLSb-knS{u>pOw5c7jEkKN91Qq@DOOgPk?}tZs{u2R zGT;LV@Phey9JPd()N{$kVR`FGO|>vl1&I-ccd zJ>d#R%%+5_2_H_JV@~?n{q}dB)*Uuq8%_RBv91Uo5B?V|iLY#mmX$woTGz4IIij*| z-KnL)yen-B_9{pwF3GX@<81Wsp!@$HZ$1ht8BLpW=v#E=v}y$&XUAF5-y$VD?uB-k z2Xa@$aLFxp`g?qC2mgUj6-+82lh=2)cbxQUkbQL_&n{8VY_}<&`n11kCf12X#UI6D z+}T1r8LA?LHgLUf{kw68acS0M8KGwharv_KC*_q-w3=If!j*)Sx4ih2Y)hR;xt$s@qw4|YSFQcHJR0iznZz8Nz9A$ znQ}C4-3z|B?)~4-K6ty3Pulohh{Qkseedg9vYj6n%(xv}x`{WEy;W4%^4iDyE7ka~ zc^u!oOzEq!dDK+*`PI85MDzb&6G>_Iyu_8Rc$?oeIYC3|@y4mmXIq!u)#rbn9+bCR zzqRJ8SMl?sb_ez<3bES%+0N|A6n#SV*`pAPua)gRvca4DTC3SCj_dsRv7x9}^=Wy~ z7iJlcWdZRW3I=(fnw(eLPH%Z0{9Ey$KfltfwjGgL-`s5_J9J;PKAiWal_P6oj>$>c UHy+y76>rmy^i^gy->dHd0ROW{V*mgE literal 0 HcmV?d00001 diff --git a/assets/roots/41fc0249061723abd565d5bce6f9562e79c7c8e8-0.der b/assets/roots/41fc0249061723abd565d5bce6f9562e79c7c8e8-0.der new file mode 100644 index 0000000000000000000000000000000000000000..616047950db54c16921f77495aeae1e84a603d16 GIT binary patch literal 953 zcmXqLV%}=d#58vSGZP~dlR()t4O3YCR%Fi!RaCcI0b~KO^=QT7jG%_$W zG&L|VHi{DGHMWFs4GoM9qv-9NCPpRX0AXZhU~XdMXE11DDeWIH=x#IN$Nw2)!`q{=Q5tG+u?(dg=-{f(e ziJ6gsadDu5zX3Nef@S$xSb(Xj&43@o5oTok&%$cJ45SQXK>~a%Vk{!2{3pzk;~p)3 z^V2#_^ju)jY17@N#R89^p6AO|`y6#@gDk-@>|cl)N9jT7qT9^J4( z?QBQ2woz~14#mQV>9y<3Mb_Ir|32$c?YF`iGg($SmsBi%?3rj++~Ygt!Oy}Y+r;>S zE99>&YS(A7Y}B+_FFHff;Gf0>hMtQLPydQL@%M*-oAsg!r-|YvpHXG1d264eR~j)Rjv=Y@E(gAnL|E3R6qEa^rTVVZO`< zr9+pKWK7TcWQvAJO_*`-wOstE^5dubY@IXb%!;_6VtrrQVOpK(+Q#F4g}XY00Rez# AKL7v# literal 0 HcmV?d00001 diff --git a/assets/roots/4264562253e3c442d08ec17f32fb2d58f406ace3-0.der b/assets/roots/4264562253e3c442d08ec17f32fb2d58f406ace3-0.der new file mode 100644 index 0000000000000000000000000000000000000000..71f9f88dd2a915982047b7b447940d2665519a9b GIT binary patch literal 1525 zcmbu8c{tPw7{~qQde$+9WJHc3jcU#8?}tIdBZD#HOraRt;h5IcxCUVyYbIwsid3%guz8R~azvZNj@{?kr)U4&=l$b-KHukgzt8)}_Y3loD?=|H-WE@-G@$WTD*{*59q z&>=DYhch3h@%@_sQVhSmwoQ!G5YvK<3!CjN7yO zb0uNG^~CnxRp)@uA%hTkM z&$Zsoh3nHi-!@CXGf8jkx}2O7m2@GA>eCHHSF_p|jr2M*DXgeqfibSrz3~JsAD5C| zkYclD9}!D+${9rBDOGiLD!R=b@a}^VZT{m%pTr4HTJ-XtraH<^y8F^>9gi9uSbPP1 zc_VINXXn*Ag=WNSG*#>`+Q!$(ua$1aD9$eyB-C24Vy>(u4hEs_Jd+$2OlrkC;CmGw z^>E`)X)6J$>}I(NnesZ#b;HzxVH@GfiL+x z)!J}eGVaj!%ZB&U!jg6xYtNhUf z1WXx8VJ+7NYzFRP+cIY=Y_FOqq`t29nB~t#BZ}csNiD)(3o$p2OT9vW9T}YEL@9TN z?6~D%>MN0!vnyrTMOv`}3=W6^MZ67=w+8a6M9EZOZMA`7YHs0?ypZ5=Q|cU0nkmeUNa{j>+*Po?-?0aaisIntNanlf}h3K_H2Q zv((qYIT}LdAZ6D`T#8J&?B$O0VzO~|OfOatlf!ZMW%}W$qFWD^7t52S7NHnYn^ACKyK}mF2P3THPFxPyN>qI-*~Qgsr=s1Mrvebz}m4I>Co7l znZ;V_G&Ac6I(eNMQ6rUnBD6eHZnEoJK_Zd#u&8i0r!MYGZszbG%kQxDuVv zNDOR!;u1e=wz_b3Nfp${?lTzdP-pWNn|<(am1oRwxwNYCE3W?9q~ZJedbQ7u{?sY^ zI31e!HHoS%{QXgssj~Z=Nnx6{&Fb^btcQnp)>gyss1ftiPyaX>3;)70=*tbgh^*~| zLK7FcrLj{D;l`8As$ntxdH&L_0unLh2sAcBRIc zuNd|=r#~292-KWQ{ne@XVYJDuB4b;Q;B-g+>t}{q{X?kSLi*TzUO(SoKRw6jkKfd% zUF)TUsRqm6Tp2al-7K~_9w2$1cTR+pgGU>!$DDSSCZk6QgN8$A36fcnChYMoe8SVe E04K$QhyVZp literal 0 HcmV?d00001 diff --git a/assets/roots/42aaaa5ea487b4f18a25daaf86f22533b7ee39ab-0.der b/assets/roots/42aaaa5ea487b4f18a25daaf86f22533b7ee39ab-0.der new file mode 100644 index 0000000000000000000000000000000000000000..db0e85a5da32a3aef203bc6279821cd6441d21f0 GIT binary patch literal 1038 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⪙?DO#BN zPBrT3Go$C9?yvUz^?5?3@@q=W?IUYry9JM*yF;hsG zeQA?8+s)2)&(^j37I-D#N~Ff#=1*rds)O5dZ>V(?Tz@t3tliF22PWi29g8bTy&m&# G@go3thmqj` literal 0 HcmV?d00001 diff --git a/assets/roots/4b1ec7d2704f8539cb63fb2d863f09b26393e823-0.der b/assets/roots/4b1ec7d2704f8539cb63fb2d863f09b26393e823-0.der new file mode 100644 index 0000000000000000000000000000000000000000..70a9ec9829df763ea8ee09dfa1b31e8ec996233c GIT binary patch literal 566 zcmXqLVlpylV%)xfnTe5!iJ!6il2S;rFH3jMQ+N4GTMf9_IJDY4&e^gsGaGmravN~6 zF^96S2{Q$|8cG_7gE(9~0wJk6nTZO{`MCv&d6f!|PKF8wav&*Y9&w12tFuCgPq0Ez zetwC9v!gmBBwq*X4+%hzR>(3EAN5KQ%)v_ zPHH!2rY=r4NHmZKhJ&m!i-dt#gUFSX7tS44#rhYd3Y*Nh<67?>zvpZq3sS(xBF2JU znhzw+&&c?ng#{QvYzF)wzA%W-YQPMnkRymWlffX3$&g_>qkGW*Yq!-8n5wq5)qlIT z{kOI6T8-^fRp<5d^(sfWrf^Kv(+$mx-D@Dqyd%yc0;pxZ)_%M6l=L4DvY$GBp2pyp lH*M~f-5X3zVoGj^s0)c@URUXU%BbV9^$)9{W?Wi%G62LOusQ$$ literal 0 HcmV?d00001 diff --git a/assets/roots/4e9b3837a2d6eb46985ae7cc638568fdaced325b-0.der b/assets/roots/4e9b3837a2d6eb46985ae7cc638568fdaced325b-0.der new file mode 100644 index 0000000000000000000000000000000000000000..3bbe4a913acecfaa269480665671716094f7f5a2 GIT binary patch literal 1414 zcmXqLVr?>LV$NE?%*4pV#Lw7$DPXlzsE&Ko-i3FhjvDZ?acZ@Bw0-AgWaMFGFz`0y zHsEAq4rO5zW(sySlr#_rakzK{LQ-=w6BV5Ea|;slDis`^3>6LJK~l^-5)i4NU`K@z zpJ0Wc{QMFHXGeuHV*@#HUL#{eLqk&oOA~VwqbPA+6AJ@VkdOfoL{ZnWCMG3h&oHtw zFgG#rGZ-{6aWOS9F*0n7x7En4ZBhT>9hg7)z;}OzBW{v&_RF)rSvmV*g7EQ*#nlmW z?=1Z2;w!9`&da$$;Q6-qGJz7=9f7xEw}hESmH1>?=5L#Nzt(W0lJ$#=A#eV%?(se{ z^O-cmD&+_9J1riEiZ>rSlkD{40o#G48SmfBp0WE9kwy1CHP3_^Oi!?JikKE{GAZPBUibBY0mHRd zv)28NX!L#|m7d0$Wp`O#dJXRfsmq$zR_@ab-Plt3MKD3>fGEqEY$^F^KiTzXOq(Ax zL1@p>6gVvThi61Wx zDSzAXXHvkjIdN5KF+g!I2_@wTJkJHsJ=2*LwB>O^o$*nhzx{7r1vec3FO{=xZ$gaB zl1;N${t^k!m@duyRC>v*wUIOLGJKC!%dSe8Vpr<>lJ7keGb01z;$(wFaJrRMW|1%u zYY^FReC4IPn>50TS*G-e#CYVJ2TfXGAPY>`vV1IJEZC*_K+^n-jQ?3!fO(3|fFHyc z2Ju-9n1K{>G6d!+U@~N6h)p)kF-f>MdE3Q59D-WwcfPK>vE%8!!>boAYuOT3)DtwP zotsnd^9q-JE7oT@zpcwmd$_S+`};Nd|M}vMHmNt$ zi82qQ-5Uc>zsbC~b={8WnX_i>3BAQQdH3R$yOwi4wg^;8JP?a4C|7)S%j6&D>zYrC zZ~l>5W4>X6+vE0S&!i-J#P8d`eA&5Y&9rJ&H$Cpxf^RrG{@X75XB9QuK%r{?YhjM< zElMv1!>t6rF0ptvk?ZZ;0Jf4fIZP9_oioz`2Jp<%vdO+>#$Tsr%_{BPm0B%TfYi5 zSFF8eI5B?W;*)*~9f6aMorcPz@fBP2-077lf5Y{UuU-ot=ebkO(QjU!dt^NTu|QsS literal 0 HcmV?d00001 diff --git a/assets/roots/4f59a39453cfb9559e7f6bd8c54da53da642b714-0.der b/assets/roots/4f59a39453cfb9559e7f6bd8c54da53da642b714-0.der new file mode 100644 index 0000000000000000000000000000000000000000..86b7dcd0b416fcbfd1636f5c019403ede4ddb413 GIT binary patch literal 837 zcmXqLVs@5qwPB{BO^B} zgMpDG!O>~FbfMn1Qdeu^Gg(*9Tf}> z*0AF)}i2s%R)Y zRdMxk;d=LmfRft08`nF^zRb+{9-)}ca~YmCeB;(ugPrbQ?IZmt`C3y-6Hm@&Zwbc1Q{rc}h`cPmw8PecTBE+ObT9 literal 0 HcmV?d00001 diff --git a/assets/roots/538933b9a76ad7c55cbf4dc2d4769ce2bb50d20b-0.der b/assets/roots/538933b9a76ad7c55cbf4dc2d4769ce2bb50d20b-0.der new file mode 100644 index 0000000000000000000000000000000000000000..603c65ed6e7bcfb421405f44c86666b82224418e GIT binary patch literal 1422 zcmXqLV(l_$VlG<1%*4pVBv9J>w|iX;JHxM)s>>f9Un^q3%f_kI=F#?@mywZ&mBAq1 zklTQhjX9KsO_<5u$xy;T48-9Q<_}IyF3C*KSMbTq%`8bxF*GwU0m(26>%wFLN|SOj zlNEwfi^@`q6dX%SGE(zOGLsWaGV}8kg7WiA6oO354CKUljSLNpjf@PyAWEDUC}?bC zXk=_^X=)iodj~WzDIt5Bk(GhDiHV=Vpoxi#sfme^Ve-DKWUE$#1oaSP|8jDg(OA1m{V#72ue_uhB+%ZXde<`=J7 zE>sLOXx@-}-N0{J^u!MZDy#RqHl{f9?p3tXw|O~__q4)RC-pP8@@KzGF_>U^c5-T? zqTyEM0Aq8d#};pY7#f^${g?FfVysc6Q~Uj_GhvbrzUNl${<*cxbIM2c9}|~0KV{pT z%-3+|flz3}GV8Q0mhHMHK3upc^709yEGVWn>A6@<3nAmg1w_$=w^!Do_ zrFU+yc+5X=P@`kZOPN#4H+~G;UhU}<`BXu4MGKSWFN-Oevpm`Q&&pSdhzs#FSKX7} zIQ`wv=@lAFPPj~ZS*ymnETU+3rSJ{G_;p7ul1wr-wHfsNn2Lf2svLe(sNt#Shf@Ccy{~0vhiGh3wE0uR_5Xc!cIp3a z*#(lUtAG8_ZghHKv1|A5Rex*w(feBoek420{B&;|hW$MpKQX7P{SduCiI*4{CdK&P7r1=>c|Ff_F z^H!SyKZq|3;|TF&3`o0OjFp!J!@{Lg3XQDADNAI-Evr1 z{Hl53c9&&*GZ|+;*;BtycuL)=WpZT=X0|PC-NtIExu@#p{gdyBu&9=5-pId4TyXa@ zwlm4U8b3Aq+~O9<8$N3wDdfmrUUPGh4V?g*PHcS=*EKVm#j+{zRdWs$H!hs&hksSCZ+Bb%S}lq{EO~2ELLS5K$LfMg&;QNr zH~G5r#o>uXdv6?;+o|_yqD$a~@UuK7S3MN>-xmIurs^DYsX)o>?EE7#r3!14i;~&+ z`P9!{%HrL#)l%x^#j>i4F;AX*dg_LnXMB*dnqe0r-X8LDnR-BHwSvC=|NRTQz1(N~ t*RJ-oJFMxJAmOyySaa6_&7H!Xmpi&F9j#CPUG`S~OG5JfOS++q-2kabP%!`i literal 0 HcmV?d00001 diff --git a/assets/roots/5588e1fad8ea116388ec542a0110b63fb5c826e6-0.der b/assets/roots/5588e1fad8ea116388ec542a0110b63fb5c826e6-0.der new file mode 100644 index 0000000000000000000000000000000000000000..ecd8c9d212139600c4a68fd2be12a6c50275a4df GIT binary patch literal 1421 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 literal 0 HcmV?d00001 diff --git a/assets/roots/62fbb4c96c7627f44989f56d3795e701ecff86ed-0.der b/assets/roots/62fbb4c96c7627f44989f56d3795e701ecff86ed-0.der new file mode 100644 index 0000000000000000000000000000000000000000..3492b9555d8a927fc048accbdfd510d973a4bf8a GIT binary patch literal 1415 zcmXqLVr@2PV$NQ`%*4pV#OL~KH*>S`;nq}-Xa8LT4S3l&wc0$|zVk9N@~|=(_!ue} z$gwepvTzHFyXWL5CFTTYrspXH<>!|uI6ErnDg>Ds3L6N5RB#D%AymKwnUMtzrbf z7RhT}D$uKbzGw38+~7wZH9Z3C7XQ;Wl_%Ccc-3RGYRi&upQm~WvFHBn+0=Rd!h*!| z6A>jFt|(i5kF`3r==NOBd$BIM6FxSc4WIO@ZchM9vdR7I$rAgr%{Ey+S)*dM{loih zGQ#1Lx82+H<5BDO;zc`5SGj(AFxPBhen{8HqOd%@j-!E2E}~Q3Ek0^7ZML6Z6u0|l zHZ#w1gFS`jPnW$>4}38Fd-9e>uasbWK_l0SS*5b`tlC%^=G|_%ruy>^>pb;H zpEAqnS3j37ywS{m@&A1T!JnWsAklyin0{sX85#exumCd!n*l$FFAUt}2QM&?2T3clNEnDUU{`>etANRnk)c`j?Td?lrv{y!cYtNV z#LQ-Z{64y*oN&oy5m`>wTczfjL3M=6i0;sxcI$G64QH=U6C z7a^^oy&`9ATM4e8`Et>2H?s`?&tUywgCL-KSq* zf7`U1Go!Z543}AQX18c(@Gc!z{wGJ~Np6%dx#}}_*W2&%>s6+*RIFg${jTxpt@xU5 zuZ0szRF`kI^FE;yw)gmn_ZE+0CVi;XtY?ygew1xBAHBZk2sXLxY73M8i@v-TJt6k1Drt4hk L&8$%;mk0m=(y?My literal 0 HcmV?d00001 diff --git a/assets/roots/6435ac18333cfe8ca49f61b4f2151d005ee86ce9-0.der b/assets/roots/6435ac18333cfe8ca49f61b4f2151d005ee86ce9-0.der new file mode 100644 index 0000000000000000000000000000000000000000..7a991b766c37179da1de553d53c9b6d9b0c0190b GIT binary patch literal 442 zcmXqLV%%oX#2CGRnTe5!Nti8X{?(G{W@+};+_P@Jm{-R9$;*I?jYF%=%;uPzSe2h=C}|)L5?~e!|uI6EpB8_0?C z8k!oI8kre@L6kVJi2)Lq5~CvxgxT1^Ze(JFI+mG{o!NvPvMpuV6tNOBFYb%~JOZ2mNz<8|7- z#ZCqe2K+!T$qF+v{%2t|U{dSkN_}D7~2eFL3}iABF2F1+wtrXpdP^UR|= qjsTU+VS4{@%AC#9e!f1Y^<$gPKdT8MV%K|;RXk+w8`NISum%7{D~MeH literal 0 HcmV?d00001 diff --git a/assets/roots/64f5c98fa750327769f72ce76ccfd9ea956526f3-0.der b/assets/roots/64f5c98fa750327769f72ce76ccfd9ea956526f3-0.der new file mode 100644 index 0000000000000000000000000000000000000000..fa25f67b95edf5b89eae8022b0f367de2e636cbb GIT binary patch literal 626 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 literal 0 HcmV?d00001 diff --git a/assets/roots/7036af3c2bea54342640b3ff78c70768e0fdfd68-0.der b/assets/roots/7036af3c2bea54342640b3ff78c70768e0fdfd68-0.der new file mode 100644 index 0000000000000000000000000000000000000000..316a530a8126dfde6b2a51cf3bf0a21ff3308aee GIT binary patch literal 886 zcmXqLVlFahVv1V8%*4pVBx2VU%l;APMp`!)X>1t(!kur*w`RSoYxqcOA9NT z7?qGc#>mRR+{DPwV9>07hYY~s1f6c8*c&H8osqivqT(gi|Wd<%A-yIy47IeB?Qi;TKw zk>}R`)>G#lJadBa%?rLRu4&IVFKd5#?I)`??{tR(n_X*4qvl-ooy){^$$NI1w;Q{7 z>e~4^9SnDrIv+etxstxeurkqR_bJD-F9Q=EDi(PzEL+ zU??*(Y%Tu5d?zwmw(R9%t?CIHn|u!#`>&d{@yd=T>i<_xn|aRdL2ixDB8w$#1s}dR z3cj&-@3k*#|7rbqNxpV4!-M~pJG0pNUdzgSTU0dRbd#-MQ}?Ca^R?D1K1*(!TPgYe z`)(f735UDh`tyH1BXo0#-R=c{6sE@etLY0WH~W>c^Y5R1af|Fr0hWKK68abU>{xsL z;ROD(>$r}`R&NiubS3fERngnm=eGxjyk7eF^~u%+stV@6`_A#0v^=zF+*I!8ytE^} zEq$Twvn?@++w5-t+pckR5&OEWr%v^13B8~G_K?AnlUh~3Kl>_6&onk!p!anpxBZpa Uhv!@7KaxBY-*rtv?s4&U0COv1=l}o! literal 0 HcmV?d00001 diff --git a/assets/roots/704b80e92c15138ab8bef8cad0f2ed793ab3697c-0.der b/assets/roots/704b80e92c15138ab8bef8cad0f2ed793ab3697c-0.der new file mode 100644 index 0000000000000000000000000000000000000000..235e1868581921cf51a8c6a0ef2eb6b70e80804b GIT binary patch literal 594 zcmXqLV)8R+V!XV7nTe5!iOc32`^t<0zFXZb23%|$T5TTZY+0C@4YCcn4LI4DLs{5_ znLParg$)Ej9ByH*)ZF0A^gM+CZ%;#217(mPm#|E#Z)r+KQKCXfYH~(ieolURW@@p5 zPiAgrNotCrf`J@J8MClBRIjVEvqDgQeu;v!qk^u2yRm_sIIp3Ffsvtwp@p%5fkBiw zuZb}dm%ffEGZ0{72ZsX_BO9xBBMXBPa}ooK@=~51xNC?UzDZN$}-QY$w3;$kNQ2LoAPK*{p4h_Q&@!AUpdn?yYZa3 zjGm_49FJrt13r*6KO^IR78YRSu^I4#_`)DQs{u2RLXJV^Oa_BACPRjOpA*kB3CN~Q zW#1u@*U`$V-^?LC;go!r&kJ7Zs*P)}HgdYZw_d}+QWGGk66 u+h=8rPSq!VB;4!`><+d5-BbNKmGkhAX=mM6G<^~aEmx@%5}3-OvlsvcthZ|b literal 0 HcmV?d00001 diff --git a/assets/roots/71719c5ecfe502b0b8bdccfe3aac3b0057a13809-0.der b/assets/roots/71719c5ecfe502b0b8bdccfe3aac3b0057a13809-0.der new file mode 100644 index 0000000000000000000000000000000000000000..22d99a48c2907f0ddca24589b046a8bc17329a21 GIT binary patch literal 1384 zcmXqLVofneP+`qM1g>D?uTC~J~myJ`a&7|?#4y`zYPr7NxTclIME#{W$h8@#Sd_V1vg4^ELSE}vpYuqhZ zR!Xl5x-V>gSya?-Z+y-AwaLdT?{HLKUGVgKbm^Lg(3z7GXP?y)uf5&>Woy*`Kz>doD@f3p6<7`y&cZyWj| z9^MW=-)d&Dsc;Er&!kR{4v&ux$r78Qd!im6zAV0Kwd7(Q=_gl@JxZ&(-XyuqT1-d3 zusz;&-qhmBhnyM}g{NJgyL)nm=&!j;WP3g}K8Rr3dve?3Z=JE7Ki9Y{Je~bZ?BnqO zTa{bi4?k(Y8urnDg269W&d6IP=N<^lu+%VInccR;Vb9GwKH+uiwi|DYD|?vQop!(X z)b$zb&za5WnbSOzx#08qlDEhB%%1OkbFg^%l&I5_Qks@A94uIvr=$5WBK%EM&CG1o zB@?U~z9`I{b?&(C&rRN%Q=4C!_AdAISkCVwIq|~R{Q?gPnV1|9**RDxDJJ)?-J$cL3^_-`I(G8iwR)t=JJoCYsfNyXT4z&#+!lMlIq8AK z@roI{KfiGb`n_^V({4)wv@vHPgS@y}-dZqFjh)(d!^XIiHg&&K-S! z_~P0J*~|zF#ld{^G zSw-oAidAQ9T35VM%(A{6WwX>|-mC*U_Z#MDKDb{#<>I0Sr~g?#(SjGgo?WzW-I>6c z!&gJ9dDdOq$yVO*=smks#+k^#wRJJ+**kAPVt0z(!N?k6>HB2&jKv#`-rQV#Eq{vg zf9vgiHoHS)+~#Hp1F@XWp+aXEP~p@h^JP*z$8{iOIb(|4CZG8&xfD z+x&lOw~X&;_PqbM-{_Y#-|yS9dF4G3-~Wb-U5izIP1QUjG@WIU#kSrJAI$%pP^`D# htRijOop;7}gBb5L*=BjS1GD!!&wPGln%=qilK^IlV2J<# literal 0 HcmV?d00001 diff --git a/assets/roots/724dba45ab521e8115a29d695c1fc06daee1671c-0.der b/assets/roots/724dba45ab521e8115a29d695c1fc06daee1671c-0.der new file mode 100644 index 0000000000000000000000000000000000000000..63ce66e99ffbe872e5924b5951664d971a25cf2f GIT binary patch literal 1523 zcmXqLVtsGW#C&}LGZP~d69@0*$9r;qW^Xj$W#iOp^Jx3d%gD&h%3#pgVkl%Fz{VWP z!Ya(^Zf0y`VQy+@V90I22@+!yW^xTSR5wrsakzx#9R1uB97{{`i!xIZQxsBC6`WIx zN;1U43!KNK%&gTk|5FG)a25lR3KGUmRh6` zl%HP$RA?Y4&TD9CU}<1tXkcJqY!M~SYiwy?VQc{94i;xNF)1MjAR{XSa}yIkgFzD$ z7gG}xBg5_2+1k%iLZ&uNSX{J3l5y@F?#B3H&t1#cd}i^hp2qz~@Imx4nRC*Yc$;Ok zcg&Nmb2UofXMb59Q8z#9M55m|wSzvr|9#$@Y?4pCv9sdq+LeVn-}^_%F1=TxFn!_M z44-?G#J%^d{+~K)-f#Dt;YFW07p^OF5zd>V>tea*=W**L5w?zdw;b|Ze1iAVbba>J zAcp06C)Q`Y`64oHTey7KVaxg2xlcaZeKSqD#Urz@#arLo`;m^y+}z0yueU1q8J)^^ zy}Y8cTJF5uuW0A)vu9WEXPx4S+d0p@|HI8~T-*_<;>J6bpOj11p7zq4RPC=XP`dS3pmESb2T=wV$n-9~!H8C@1a_b9pE&Eb`wY`Kl($n?Z zhr$?3&1?I;l)JyiGbUeZFV@)V&Gq%i>L#7KVpStq?qn|UMuz{}%Hp1H+30Xearf1R zz^5KT={lDZJK1^p&pDMJa4DYS60qR50GIAmna1@`WS)x1eKd1qWYVuKUVhK%jL*wX z-mvfUCthJbmUFWI_6?Z_4l`oYX3l8H)BVqQ^xSDT`87<(oS&^*)M9hgPtG>?q=?UB zJ;&XrEcct)Xi2VeZ1-Dw&fBQ+?gYL47i3ak(BrmJXB4HrbATlTZLQeAH z_{pax&)`_w)4o(E=AgNOEJy(#ix>-bX+DrNKO^IR78YOzZZqHq@r6NrRs&`rg`5n5 z`52fC85#WKc6J?GFvC9YaOQ!m7|)-xIce{5|F=Lv3lHH~vbyu^uzG082&-`y?YPU4R zD=5-C;r6?K6@v9%cSI@^wq>U<-xh6txM<%u<>>(*IE~Gg7fw_Cywj=nwuQY;#F`gQ z5BY9fw)W9$dfBX(ZFuvpdz*jm^oe@@k2DHR#V&p-{->(V?yi!oe&WZso7sPa48u4M z1Us#tbHTXo58DSr7iN)<5wAXF@vaoy)V%Mg)PD9?k#`n%n7*G=W@O{brgTp9>D_rZ z`fuI4bj0$hc;k5s_t*6uxslTM=R1k4t2@79Lt5%B^Y!yr*}l@)cJHcTgjiGbtKE{N cOvO^CJfsvSPvGjC+_JpZT3KRJ=Yrlf05a}k{{R30 literal 0 HcmV?d00001 diff --git a/assets/roots/72c74580524922e9a5b62e238cb16cd887402dde-0.der b/assets/roots/72c74580524922e9a5b62e238cb16cd887402dde-0.der new file mode 100644 index 0000000000000000000000000000000000000000..47d3400beb8045c2698e334efc202e160d3b205f GIT binary patch literal 1373 zcmXqLVvRItVs>1>%*4n9L*4Ezka4LI4DLs{5_nf&|>Weuc3 z94;Oar_#!T#NuKF$6#Gc3u8kwV`C$8Lj?mlkTf%oI853(2c*bIAt*n;M8Vn7Ku(<3 z(7@2Z$jrdP*uua#N}SgOnM-y1nwXT3y~N1Mz}&>d&tTBR#KqLa#K>^{c-;4c>{rTv zJ1c(q@-_3xJ0r&1i`(R%MDp%>UfLY=`jt$gsK;(u_ESCUHr$yu_toKqNo`FU#dE^g z{(Gl<;L$So-1_u9PtCiJUb~A8Qa@kSZ{Ak-`1#j)s}p`+{y2A1N!JsZX=|bzUT*zj z*uFUM&+)p2`F+9VSEe5fHJ)TAp@jEsPe$;eKTfo%f_lz2<4@^;M@; zpWn~sy3Ox9*>A;yv(%X)0^NsLgxtCKcS@vJPXK`;!@S9ATMRiB|pGX(1 z{j})k@9$zMX_@mq0~b9Kl}Kmvs=u1E)pxV;gT&Xd`(DoAH@YtCZKD^(7&MXd)BRVy zH`pAKR|!7(ci4QMNRa)PM`u1IPQLgzJ^Omly8Rie9h?`0n+8{W2>y}i#GZ2Odj4!5 z3*O{4N$btJ7Zr2yepTFCvdZ^W5wqv*BzB&F(%!~|-i=7M{4ETX5S5}yj@jnZz0W**?kOc|wv52vVoNOq6kTj|3 ztJ|EP*^@!*KHb zIfeIZpQg=wxum4NO6e;ES)#Y`L@^Q__xAj;~+h9Mf(J?<^!lM^Ie=8NsTWEbzc`o?J8 zfmLh1U##+deTDsz$9JW^4NK-{o$K4QDdEdvr3=chr$kj{-sRu#5WXfmGT`RonGf^+ z^)gnfD~sNnG`E`5H|n{!he4FYGp^ic{SPkfes;emPqFD>hNbV884+noXS^oF9sZ@x zvawRMWagQDYZdOPCCI!E3tYDN)sw~c%l{|d`55J!W2Ef-Zq15!@4SRKZDI=#?W_EC zs69iL`)^F<8MX_vYC~pfowSsaT<@*r{5d%`D∓W7#JwuU+7}FmM0$M$V5XkE`*n JnIRUo008NES5E){ literal 0 HcmV?d00001 diff --git a/assets/roots/79e688bd141d71bbcfed90e833ca29c89162f156-0.der b/assets/roots/79e688bd141d71bbcfed90e833ca29c89162f156-0.der new file mode 100644 index 0000000000000000000000000000000000000000..24e5adbb0d859d830f2c27e62342850b2b35399a GIT binary patch literal 1373 zcmXqLVvRItVs>1>%*4n9L*4Ezka4LI4DLs{5_nf&|>Weuc3 z94;Oar_#!T#NuKF$6#Gc3u8kwV`C$8Lj?mlkTf%oI853(2c*bYAt*n;M8Vn7Ku(<3 z(7@2Z$jrdP$imbjN}SgOnM-y1nwXT3y~N1Mz}&>d&tTBR#KqLa#K^Gp7S~j775ue>tg;F2s6Ci_|>?|`&#G^)?V+-4PQ5Fn8k=32`u)_=Kg5H zep}q~`W=nx?631b>mBqL*An=A=G2SVf3sKX&6=;l>a@=X;-<|xeB}M%n(S_?%KFWo=WQQ#&R<~Q-MVwm z6qU;U+U%9C8T{H8KHic!ow?(bXHxEo3&}}$6Zj)m^)KARx-@OkdFirEEh!s)EQ1ah z?E28-&9q_Lb|z*<2FArs1`Y=Nz?3U1%*gnkh1Gx=NEyh21o&9QSVY`+oc;ea|J{#G zZ}k26eyVQhv&lYezz34%2dQTP<{dWVR0hmAz*NS_z@VV)Xv#9-kV8_!`$wie*X`Fl zGMTVrVSd>!F|j2c<~lDY9QtJQgKPec#;3cZZ>j1mSsq%bV)X3<_oqEsKPIo)#C|A# z{_Qg-x>oJW%75r7aK`X@!|vTDZY<(U34gWd>!Fo~qL&o1-uzKw)HvU^qd{)v8NsDC zpTsu1&;4_$LGj4x3+@Gu3r{sma_HoKiY=ehB_e#qOlH!Dr)=hTmOYy=+oC@vTiUJ7 z*(u(Rkv%vhHnsM9SMkDGAyM+0&LZlETKTtjR7+V;*)E%~eCwR&nwjBIvnN+M8%Q%> zPdeeSY}KEXCtlYl1~aZu=*XKB@3QlBLZiu>{L8hsJmOz(nXpH9r408PnX8L36dG8r z{n^;BzuU`@*Q-tD^&>M)wXe5s9Qjn5c)o63S+ZA^L+a%AA94*nZBN^-_4EA+)=79F zmMFEz&bj)mWkN{S*H4{lj2X=yi;Q2KWSO{0&_vMg)dgosdFIIzc>V|4hJSI)dw6=m zzSk#{&*q+a^22OZ#@x4iW2YCm@NVNXz4MSKcK3q7DW~hiUJL3kp5%JMr|{;UlQV%%ZK)2w-M7YFQ+6NTy+5_$Qd{MJPiv`Wo)7mb-kkX4>mzlqN%P0S zs9SH}JyVZ+;d)`NOyG)))h>@ObZ0&OVZHl~@AZ^Vf%~4VS{?P$@EzNp;{C!&T=S3b GoDKkgi$p^J literal 0 HcmV?d00001 diff --git a/assets/roots/79eabcd4a06fa193dda974a7c6cf184c1fbb4f14-0.der b/assets/roots/79eabcd4a06fa193dda974a7c6cf184c1fbb4f14-0.der new file mode 100644 index 0000000000000000000000000000000000000000..e99af2e398cefbd29f07369b15f3b7fc451d8635 GIT binary patch literal 1420 zcmXqLV(lr?GT*%JyCynJfq{o5|3-$iocx%**=NJc7jCf@#}+Nu6Aa(g zB)Vu$f9{5vURkfWUpS|w!mpAX%)qiiZEvkCG^mnA+^4C*)lq@SB z>T>j-*)ws6<9CsR$}11Ao#pDXdDC^Bv&S?a1qiH*Io;GJE@4(X{aMGX4ZbFvUvzdx zrD<&tpFK~mY_3A zQ)8QOw16=sw=C`9#M^o72NE0fHtFg26fD1JZL@jele}$5tP4KnOq$Ml*1cBZz~|lb z_^)-ZW8W6Ve~z2Sefd+n9eZn!&o*6oX%^A4HGpMG-biBAd#o8HV7ynl%4x0Ln8w+ge~r>0C2;MIC` zui&FZdQ(s0y&Zcl>d*Pje?j}LblJ`)mZ3j>ER@}`s)50$>G`I5&K-LU7U=VS4Vu^Y zebQzw23dxX>1+=+vfn(;ACp>ZlN%ZSF+!xhwY+jw zQza8KBLm}NCj$p?VwUA&5n~Z~bkbqI@3|MV7S^2Svrj#$*^wm~XuuCl>$1X(jQ?3! z4VZzH0UtRMPv^{nBddYriYf{LE^9zMS-u<=$V< z$`hx-}zrotGK|;V1Lvn{mP{edwFjD+>~tIW1iYtkQEcnS+sL)vdzZ3 zKmHi)H*b5gyKjbi-7a~thXsP4nD4758L6vD7`4p*&tN6IYnJa9{~aO)N*hmUPdKM} zu;7dS-1<)wQu5#1+&ZXcMQkUg#__49hsl+0+ zSpD6xnjL-Dms(w)v2ae0K|zz7;f2y~zPh)3o@Z!Yb+uk)?UOx!|DMTfe!;V1yJHUf-Muz#)AcU_0Q?0~ivR!s literal 0 HcmV?d00001 diff --git a/assets/roots/7e63ed24cfd532db5d6e66acee1149168947a20d-0.der b/assets/roots/7e63ed24cfd532db5d6e66acee1149168947a20d-0.der new file mode 100644 index 0000000000000000000000000000000000000000..70cd46259ebc05593fc614b0ee023af442cd756f GIT binary patch literal 1386 zcmXqLVoft>V)k3W%*4pVB*5`=OT~&`b+@vN%{%YaobNK=W#iOp^Jx3d%gD&X%3$DY z$Zf#M#vIDRCd?EXY$$FZ3gU1H^SNZEXF8`AmFOsV<|XSHsv0PRB$$O|U=j);KEVn> z!Hy;dmSze;`S~RZ?xqHE;=D$N28M>F24D~+&TC=@7Vb zFgG#rGZ-{6aWOS9F*0nv@a1Hs;M~7|(i)$ix%y}fJ&+o1O$?kjJVD2kU z?wNaY!f#1uaVYJ^aVYZabhG*@he<{@qwi#ziT%VYMdFaD#xX1n&@ zlG)QtpW-~%x4xi&_lng;^A9<5XCDxm9P$3F zqebZ+Vdkkd^^ap-Ugf>|s74@ZRrUwlvd{L5Uu-z|_x-AH-!*N^CAMfD)ZyEovQM+; z29xgD82wN6??u1xh_2z<@bNOQf0l3gbjAfA)3$Fv_x{|QH%m)Tt$F+~`TLHAEGPC< z+sEpPDTTfD@cg%2ztTW;_O5JQ`?=Of#GlLR{r+@**`LQEI@4w-_H3E>QZk|WlYur{ zalq9X)@(12ckv|jX#5D8o%isY?`}4g+1Itz?Eh-%7k<5_vajB79)IqOet+M^_Ww;^ z-S>=h>~H(|vAoh-dduQC{oig(7t(~|;#&RB-6-g&KF7Fq+VtyZYyUR=IHYp$6r-ho z@1lbu4)Sx-uJUlYUHf$5qDNVnmGkLsT!NOndW3V>w$3~Mnu(c_fpM{ufrEi8F!jpv zv52vV1RBe{HFH=mep&TwX2z%We#&;69S!(E()^5!|5;do`KHZ)AH)|1@mUR+ffRBo z17;gwDr00wShhYoKKxeaZSR1UN0dz!|6fQnXqmX(Uf{fH-^u-MCN~c%s>u{c7RfC> z+5T^(bILTU6TvK8+Z=Zvac8(WUqZrq6W?c(S1RA{u2)D{H%TMj?0M{yd&g~V2UxD% zZL8rst)}c)^p}ITMV79XOk$UCh@U?3&Ya_`w+8Y)%M1=ZV_AFas9 z#Gi^kn^|knp=f^AK-_l6r#&l57dYRs>-3(mE|>X%%;E*pICs}B-mWF!;_b$6lKj?i zC(FCVvuCY)W?1p%l}e)Z>WGy8yW7>1R2%Q#S*ZW*?ehOs{egN0KbA0FYPF1KoH;E& zD!M?@?O$7h-P#5L&byYX`VsZJFO_`w?k4YM>2)Lc!e>3}!lhU8|9nn=!rp&ZP4Z!H z^smK}1!uoJVRbk(W7edHL1h*%9`4%v+yCnO&CflW4L>v~KHj!(`Re@l^Y8ndXWWsL zrEL40)3-so+F;4yyX^HQ`uS%1B>b)}PV*c-+2#>r7UucqDf zJhhPH({$_H*(?$&E`2qOpYEvMh-;g*(en1!iAGr$mlbp^`hIVTYpdD{xt>_f=o8*I fW@RzQ6?|&-&+*RCKNa$==a$jG!`aRD7RTxUxISQr^biSrr(xdvuX z?hx`x6QdGxG%&IMYdgm7NTZZtamfjR~oWi(1?#;K}kN?-E{8N~9J?8blW%3*;i@VE0*UDLI zBP=(t!*+4N}r-IAiMKQddt&Ro9olgaXx z+m-ptauPdk`b`Tk(ONXFkhk>;NX>k2@vSdaeD}=%74B|95GP zzJ_;_N@ElE*Tj!9c{>sfJ6IGb-=lN5Wy0a8 z{$1z4EKgnfdd9`ytef0QMU}JiTayhMK3ttAuPJjVXG1__?1X6R6}$%L_t(~+`#86G z?@6~jg=Iez19vIvSMOUYn!NDJ)b@|_c7E>sY}>kH$L)PvcWVB;WzNdrIfc2!<@tVR z!}F!xsu#a3OZhtK+iKR=wl9}*nk!xnGWy)Djght}`7Z-w_=)aD&|#yfF~Ug^|^ Zz$|ZrWgC(fPX0Li#KFfVt*T)U~Y4K!A-M><=bJ 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 literal 0 HcmV?d00001 diff --git a/assets/roots/887da4445e67ea7c94774e43189c3ecee4c87312-0.der b/assets/roots/887da4445e67ea7c94774e43189c3ecee4c87312-0.der new file mode 100644 index 0000000000000000000000000000000000000000..42f3c1b9ea851d77a1b156995ee2a5296e08767b GIT binary patch literal 1011 zcmXqLVt#MX#B_ZDGZP~d6C;BGFB_*;n@8JsUPeZ4RtAH{8HU^joNUaYENsF|p}~d% z27Dk6hcLTiQD#+sUZSC}fgnhPU6?C4IlrW&I3+PB)lk(y86?OhEE8OkSd^BTnvI#U`uuza;ap9t6a2L{-?Pgs zl5d(Nte71a!_crvKeGN?`%hKpw&$7BL9-@2EPQ-Jm)9@<+X>H`+dfN$t<&CCBJ%qD zZ?(r#yJV;7Wm!i|>2weKuexAzL2&b}mJ*S}>GN1JtnT+YM9F&jop+vS{XFa%L&52w zch$A)te)>N{OS7bP{MiPNG9!uGbZl$cix+jn#*)vXX3JD&+oNLc-Ex(Ew;*Cx%Hii z-Y#C|9meeDD+ZAek_f&-n9TI)D_j}ew*jYqV9Z;Uo_wC|NGvNvHXns%A{7~Pv#u&3(uFc z-8&&E+u?A&)=l=m-0_F!{wv=;_NzD4Zza=ncR@G1FMsz|YpU&DnV4j*u}xR&n?PI2 z$%5sV)^67!V7OH{5j|q J(7RD%7XbdRdH(a+>1r8-Ysu9sFU+jzdgu+i;Y98&EuRc3p2BUzah5) zCmVAp3!5-gXt1HCfjWr8C9L3?SCU$kms+9_oSIx(lvz@#5R_V+npl*aq2OMWUs_-& zY9I_!$}G&|864!U5R{)^q7Y$ZAScdiWME)vU}69UQR2KnmZhP&p&5uDMSTm)30&A6SaOKU4F2Dcb zm*X4DJEf;G*m>k%Ep{?+FyI4*fGj^F<9`+wU|6#m@PqimAU>-BGmtWn1qtx6h_Q&& zI89r3&)dWL*Q6iwdd}x|uPid3iX0Qn84L!gOa|4Jer^FRhg{m-q+JXCN6ftUORkyhaaL*5ioY0ev2kd%d7QIlVP-ZcG2}Mj zWMd9xVH0Kw@G(?0kOy(Nge4q{i&K;H6%BRN(6*C$u*nB^|nZ*~L&^&+3GjV;X&9O|;oys5OR2D&Gz86uMaJDGH@{92L_d_FeBrC z7FGjhAY~v665wMIV-e|PODj<+v-;fmeb2SM?zQ@R1me97_(0P9AoVQ3SY|_xQ|1f? zgH$F1=1|>b&m@l2ygwO`cTk;wPW$@2tI`}2dnaigd_QGk#U(45(9Wc%(wuU;QnEjm zZMni^$gst!W#<3Y&*%M~I9)yV&W31%!gFyJQdu`upTGK^I4SJMt6OG=+Eb_L6{+gi J-#;vT5&*>n$}a!_ literal 0 HcmV?d00001 diff --git a/assets/roots/8df6bca2fa8dd4f6a68eaf461bf2091e9aa77576-0.der b/assets/roots/8df6bca2fa8dd4f6a68eaf461bf2091e9aa77576-0.der new file mode 100644 index 0000000000000000000000000000000000000000..1a0c2e285ff94f867385bb83894e2d0b2cac502f GIT binary patch literal 1380 zcmXqLVofk;V)j_T%*4pVBvKI(ueVl5()+PFyQzt=#@1<9QYRbmvT19KA-KZ8LN z6Bknx6C=ZdeE|Y}FF)ltY+;$xy3_E~9o;8_D_Lx$Lk~WWFpyQ*a`=7gy&j#12W{^+ zJ@a4d-k$R&+Vh~-)!qGX+Sk-K&1!pN%RDoP@sjDhHMc$lpG>p4vWAKAmda)86-;jH zm&iQ+Q5;dW{Ttr|-mM?bpZWFkn9tM0Z3bMu;&rC4kKW(SH|Ica`{NFa*7RR?$5%fP zp2I3J@yE-H;%bx9qO!A?CEZ zpII(CJo4*q`;z~(d4YOM9LvG46ZRU|9(lhabC1RBB}=AVOuChMfN|Qo(?!;>XzTff~ry0QD>QvoC2_-+L&8&7%T)=1vlr#VZV zGmC#`7uJ5bf5fNu*kZjCQ!7swFY5F2RrwwFgk@im^fGl_�MI*JC&pw%1SD>Hm>e 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 literal 0 HcmV?d00001 diff --git a/assets/roots/953e4462a2852855675a4a4f8a790c5e904cfa5a-0.der b/assets/roots/953e4462a2852855675a4a4f8a790c5e904cfa5a-0.der new file mode 100644 index 0000000000000000000000000000000000000000..09438c828e164c612e3680d993e4b9b6c9299d90 GIT binary patch literal 1370 zcmXqLVhuBBVzyhr%*4pVB;x$IQ255?NRim>=X(B{{>|UR+Ush-%f_kI=F#?@mywa1 zmBGN-klTQhjX9KsO_<5q&rrrd3dG?O7S0SQDlK--$jnPraL(7$@hM5sGZZrr0m(88 z^Ok{R6@v2fOB9?P4dldm4J{1JjSUUVjZ6$oqr`bljFGt1v80Jf3EAYjH&@{@k#v7Y3pUGo=nZ`eF5W|!a&p_e?n&*$Ydv}=km>-4J3I+4=6 zHEWHqj`7F&cXSeMr0feqXRl=lsz1-N^PkzTIS0hnCHF8MnZ|u@pKm23oXgIHNoAsE8x_(>j2ladZpVb+AJm;2+ zxTvlj%opyJdj0pJhJ-&pdrX5Fv!)j{t^X)n@M6x__i=}Ej=R@IO=(s0wchpG=fwuj zL#c=6&gGo#w{<$}ny+jNzMHYueVMQ+`^c7`DX(5iah>2@@mBrhmFJsxu5MDApl+-6 zqGrPTJ^p_maj7i7m#VTP_SJzhgUjUsKX_SYPcdUGKE)QX?6UQpUo39Ip1->$1$9`$)dF-UTL zWW9NA;>PcJf^clA-o)ENZGt<hYdNE0ka4&l`%4C z?waJeeC>yi1&5zZ|1f{0>ecLdCjXvErF^r>4%#G8AvNFUR@bdJGUh=KoV87%RfF=L7a}``&VDho_y07Oh!Hb)3ylMLXn(xT| z6y4h7Jn@P*u{9khUiXEU-Hc@UwI@j4b3xW zbgcI=W!GXlRUwk=uI&)^^0ZdM!gS^Z=X&;RC`vzKc<#2zQ&r{!)#}0-PYy_H$Co%= z@;(~L!QQ^_=;8Y3({4VzqcQzjKkMVKv;9uV2Dq~ZZ#ZT7ymdk6K~`%<^UL<0kIG*w zpXf-lwzVu%bo=-wUU|psMQNoa2OYlO$e17?3uX(P@7`e%7k6~aGA6Tya`7_fA5EL9x$5tXbwLk5I|lt; zsaG^@zWU=;#kD`Al+&uMSEp_;V)PcZvt8uRqiwqA*v)hyQ-iZ*dSaVr&hz#6)3r8n zemIMdcS+jxU6*9Md~~$ByBqxrrB>dJsjlWY%D`*x@VKTrBwoKYzUsC%f_kI=F#?@mywa1mBFC#k|DPNCmVAp3!5-gNRXj~ zff$IxF3j(qnpBmlpsV1WpPZPQlWFK=-~f{061EH}Ey~WUOjU5o%*o6xPR&s$OH~L- z&Cbiu$gIid|I}s=moLW?p znU1$|aU;RgAbr6g`xFcf zkyJa{u|?TYf^1eMOa+PCR({+2&TkC(kh1 z?cuwZKi~L^GchwVFfInBVgp%VqLSrf5n~ZawLjj~cFg9kO-PLC539F9JnrEq4ER9O z{EUqMSy+IXhRuK<#1{tfSq+$h6mlp7vk)+p85y+fAAU6ITla8AjCb7mY`HAXOG+z+ zj>m=97Kf!Yv{X%g!nsr6?0hZthYaQWJWiOdXq^9KhtA1*z73bW&0}BfyviMCviD1| z=Ha($qI2pvg1aJmFL-O*Ke+k6!snllA6wl&GiS;TKmWto;@iI$y;z%Oyj3-L^@ATi zE9d_G#Jg+V&YP=_W&fPKd)?|C(`}fgb~zuLw$ru9V)OEa(`+YJ*Bwv{_Gy3ni92L! z;N+`HOL@CKPUf=<;oETIq~D!ShDKqpQhvVLI#(>sspxb4<&B2Uf0p!#f6P^0JtghO v+TZ*fd1|`#;_RH8dVU8Sm_M!e{I3m*dj5fQ47 literal 0 HcmV?d00001 diff --git a/assets/roots/9717ccde7d8296f32c79363127c7d366c7ccf94c-0.der b/assets/roots/9717ccde7d8296f32c79363127c7d366c7ccf94c-0.der new file mode 100644 index 0000000000000000000000000000000000000000..12f481ee4a2515594f587101f93cf7881798af89 GIT binary patch literal 2007 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 Wr{~)Gy{QVDP9D@QlPH@Xwh;gt1~=6J literal 0 HcmV?d00001 diff --git a/assets/roots/9bbd65196c3a9fffbf0bc4bfdb20299bf0d6df8f-0.der b/assets/roots/9bbd65196c3a9fffbf0bc4bfdb20299bf0d6df8f-0.der new file mode 100644 index 0000000000000000000000000000000000000000..58d018a29428a56232b8e2d220acca9891bc8b70 GIT binary patch literal 525 zcmXqLV&XJtV(eSM%*4pV#LL9|^gzb@WT`nt69R$^xY#(f+C0wLvM@6nxEpdCaI!In zvaks=g$5fc87P1_T*8v>`T6NNsR|)QrNt!*!Kp=MnaQce3O+v0h9U++AT`Xw-0mU4 z3PJh#B?>_%26E!OhGqt4Mn(o;5GBrQjLfB;MP&v8Z0un7GcmHUYB#blC^087uzW5l zUY^mNu+Djh>Cr}mYH!cEzYiv!dv?!lZ}!zh3Db2BcZ*&slifiQ@}CCuZZ8&XtST%zEfo8)1rWS{^NW)_wN3I~M-hbTA&DFo%` zmnb+pDi|sl85kKD$cgg;Nh3o;14|QA1A{1WUSm@z*TmE^ii$Rs83?ekgMGln$i}MO z$ikq+oW#I#?DTPsi@#gG&U)`8qVUi;JFj%@A8qEAD`k^auSZ%tre@1MGtt^z@=fU6 zi`?g{pV;`>yKr=$6)QZwf6~k^ORn1lgal1!ZLXM-p1xRyQ_{B7r1jq0gxcdgTO5OS z<~@Dqw77|p*Pw}!(|{is7P7*OjQ?3!4VZzHfhi?meqiQ%+uWs7K zu^@Z3e69f>NSYs{o&^{qYzB?TKmzhCjr$B5cN^F(uvuW$W|2`+QedU8pInrqm!ew& z3VOY~)DjS1AIgtUDvB=xhIxE)V!UBID9rVMvIdn4$`_Qj73ZWRg7l|k7NsVazp4)H(8u=WkpsTF!3`02L_kQ~&?~ literal 0 HcmV?d00001 diff --git a/assets/roots/a27cf103f952a9ba8cd636012f4adfffe82b92af-0.der b/assets/roots/a27cf103f952a9ba8cd636012f4adfffe82b92af-0.der new file mode 100644 index 0000000000000000000000000000000000000000..e4795f3bd1a3114667b5f51b8f9bd078d49506bd GIT binary patch literal 1449 zcmXqLVqI#`#N4}pnTe5!NhIYPUut<`)@ti5uUcDnZ|vMrIGNvomyJ`a&7Nu#atJyLF(@s{+S$ zkA9cD;_BVG+2>CGcHtoZ5Q&F6#ZxC9O|#BAza}}iJ@~`-kCxjPI45s7!Wk*hxpx)kNIJVNJo=*H)S z4--D{>wf9r-l(~1ed{XEh!y*j7g$Vuw)t6k#*v>|k}bRW9)4Zl`DUqpfI^9!kYll& z%FR>fbQVUM9ylTErk)tp|I_z!QDvIke9;Mtx_{qxhZQh;dD_)y8VY3|my0=7CEWeu z+1CXAGm~{%>OcO;`ZL>o?(MZ5wx7#NjjwwzInn*|t8;|^=@ZN${YzUbSfoA|f4bf- z>p1`U4e@hQbNIdf+;PbW$#~>w^G~Ox&D`d!z5b%x&%cK-$46fNKC$9>cX^iBQ_t23 zu0;j<6Jvkar8;m+&OE865S4Mzbie=dz>hZswWA-*nx|pSWyK|bu<@zhhh;l6mv&5f zmMvU=F~#0?PJ!FgMXl8lE$VlUG}xujnst1ZA)mpUXW|Z1Z@Ru^oVIE|&u8z8$=`(| z4(#~+EB)^5+FY;yMm}3rt^doU^S3HRvQC`nSl)P{)u&yc@c%q#>2*^}bsL$O85tNC zCmSRh@B>q_tS}?ve->5)W*}uC4-!yjkuVTz5OH|&-bX+DrNKgd89U_N9+PKLl72TX>H3~JVa4}C2@8%b>068A7Q?#LAXE6WoX z|2S~on33t_;Z>&mAEyYHmz&Ph4GVP1dw5JwL+<~rH|}SryNG{(;B)9d!n+g-qVjfzWB|h_O#pEL$<1{ z{^DG5+neP`{@rJGX?B{QyfX@w+86xTXq;U3n76gaMJd!?rsn0J9ilISeyy@wtY~Rk z(zz__kmaw6^V`-ue||0Ozw#u#0PdAr*^R$g#4qt&b~?47>;+eAgSVNj@%O1ArK-2q z94T%}eHrvM=C8$6rmReZqcU9K?CX@4==?nDxP8Z)`TiaZKN(p<&#d`rWO$@>D%*nk zi@oZ1H?Le$)c!BBdsbD6*j=%uNt&;%rrqgYo)LNZb@@cgAJbBL_tuNRMo;DEEt893Z-l!Y0)H6#hf2 zR&PA@HGiISZ%fF`&3Ole(ry$8d}K2}Vh-&TD9CU}9uu zU}0)*Y8EBVYhr@LrH2!mn3Rw`&dAEZ+{DDsV9>0?RgLW+d6wpr7C&L1;w&aN-6ze58g`!dwtG=;!}z8@ z?ri-f4JXE_U5}>Q3Mkfon=5nFWZ@efKCU1gq0j;q+tY_cOr2xZ{q`N$yQ*f|^FQ+v z*ScJ0n9jt^$iTQb*&xwC7MO}<`B=nQMA&A{mJhD|_;tyN%WZZGizByucTqIp2T2Pv zGX7^_HDCr(2J#>QWflnou?Flq_&^HyK{{A~xsnYz83OYkFc~s3tYXdEc31S|{>{e} zzOlJ)Xq&8hxp(IY2K(t>gVZ|;PnP_BeJbU4^n1D3UHdP-eixIuOYFqwo&A^1^c+0d zc_Z(23vBRYee{2#z4!LJOnpBZHDb=($z2~WGN(48g7;ek=gyaW(={b`Y=8Yj>~yHm zlVi2JkG%P@RmRUQegDyT>D*j*ja4iWiPy^ZE7f0M&sv@m{9$_U+y?vI2ib3@u75V$ zXx8D7$wy>34!iuWP8M{&m?f2%Rhc`%U$f7h^`KB@=CxyHh7bSzYSDKdlbsA zD;;sV(;_xoHTT7q(8Br+HJdLNdhR?Qw1ma}j_rco>y77e86@=Go*O%5#omPHNeyL< z%{)D44BR{)@myN5{&iyE`{znYE5FC2{mNOr|C<2U#|^z9&OI!<7Tdpn zWP1E($%A|o#|!(5Q^OU0&Q7mN%TV!aNZl(ilP&U7>iQkW+;{(-P|@vJthYW?{*Lve zqP&*N7ZQDV&y|U=-Sa{<4s=Ic1{Ma= M3?D_;HfzrU06Z9SF8}}l literal 0 HcmV?d00001 diff --git a/assets/roots/a4d7c276adf4f0fa5b7b3606db53807f3cd79d09-0.der b/assets/roots/a4d7c276adf4f0fa5b7b3606db53807f3cd79d09-0.der new file mode 100644 index 0000000000000000000000000000000000000000..c676be5926791d2e775d52d4670db938cc591e95 GIT binary patch literal 600 zcmXqLVhS;6V!XY8nTe5!Ng%ysZg2Sw>#W;KU;alv+JDY~i;Y98&EuRc3p2Apjv==J zCmVAp3!5;Ldyt{IfhmZ?#iQqunv;{7mzk{Kn4FlBnhRtk=A|eEr52|q7A0pWc;*$C zWR{ecWaj4;D>yqEsu(DNG&1u@dpHJpIy)+a_yjAsIy)-_<>!|G6(|@P7#SMKiSq(U zBST9=Ljxd+66ZBB1#*o+Tm#D}I=iOKK!A-M91={7Y^>UiEDTD_NenC&9RD^hn0BdZ z&3aF(3kMz?w$@nnu_!l{!M&s9&n&g`$btm;Sj1RFPD%$i3jJfbDt2+zo>}?Z7fhARJ7vHJlI91gX931)8*&^n zr!yF&Fc}EmTleFRU&n@(AC%S}3Uqj%P^kN^pXo>}bAjiQNw1EIbQCPR%)4RLDIJG7 zzh5@x&0;dpcAv$5?Bb!unp51kw^dn#cfQCro8U!0Y?-ycawZ47k`hwAwt**|IP*8$=m$8*s8QhqAB< zGld2l3L6N5INZWqsky3IqP-kydc20|b~E@AFe-_n$fqC^GHyktWK138c=v#>Z+ zsjIWILQsBwiGs7Eg06zIv4Na8uc3v3k)eg5g|UHwL6kVJi7^tFrgoPZ2(Yn(eaXbg z#;V=O!l1;Q#K7`*Y2vzSH38X|+m#H~v3+UWywRy}s^y-`L66t3|M_XU=_E5ZzV@lT zJ1wJL?!JHF-wAd{o86)L&5N^sCv9l#WGbljIO_HIrBaBJ@8sQ1JnPHnC@-tMo+x-O z_4tqae_ubXT6dXRSc*($?DOtY!+2Jqe4fsIP{EUqM zSy+Hk!)Cw_;tPZLtOm?L3ORn5GZ+j~nG6}W+|Xz0{JYI3X_vE~a7)qFb$4a%UE6vm ztUtmbO81_Ek5cog$t&vK2{|0U*6#n~ek+rKj7Z9pnrY2~b2eOzO7vdF?|GTw&%!@X fmj16_d)?r|@$&k8jqITY0SY2t!!5X07zP3WZ=$q_ literal 0 HcmV?d00001 diff --git a/assets/roots/aab38011e10133cb69cdf7f710e973cf9577abbf-0.der b/assets/roots/aab38011e10133cb69cdf7f710e973cf9577abbf-0.der new file mode 100644 index 0000000000000000000000000000000000000000..8c59853592144185df1636dbccc7933a725ec502 GIT binary patch literal 525 zcmXqLV&XJtV(eSM%*4pV#LL9|bVt)`g&(TwxwdHrTx=X#Z64=rS(up(+zq)6IN6v( zS=fY`LW2#J3=}{dE@4Uc{QUHsRE3bD(&7?@;MAhB%;eN!1s@-0LlFZZkQ!!TZugL2 zg`oWW5``dR137VCLo)+2BO?Pah!W>DM&?q_qA~*kHg>T4nHbqvwHsL&l$etkSmgbU z+l@857Pj0weOxiZvGY~fTy5{xW3oQ#d+OB!i}D}Mzqa_)8CMav?zQjh+Irq>tkeI$ zvT&|Miz|y`XrA^fwffx?7$18}?s^h3&6RWG)tregYg>f-X7%tk@ECo2puX72z`=kI z=y6$oM#ldvEWm(mGvEjDg+Y8)17;v)APW-UV-aH!Irvd+*8<&jt&Qg|f7BA%yMrtJ z?;hlkXU=3WNMkZ&`1Vj?sz`On;t67c`&&-D%Fh;`C+9XpVfOsXyf@ce)<0YGBU&$X z_x`(+zAxdqWB70pP|Kg`X=zWL#e|#h9>1@@PsHLaveyJtp`9;}=dImZmd1hf%uv}4TafyPfv$KM8YEemMT4r)$ zNoIbYf@5h(Mt%{{JOep#UPA)|BLg4-0#V|;#uf&Kh89M~rk19bQG>~;Wd;Il?BFnD zVq|00Ze(FlVoqXUky;ZHwen|%^7E>zD*3_3qHcJvK6Z86#b?EZ>+a6E#*_H>_JU64 z9jqd6!q2^nwST0z`P}y_U6l_OH`nP-zmRz3%|0b zjNe>qRNrOtxUzDwlYxVQEHF@I`B=nQM64ciwp}?dd1zW$iD%iJ2d2l8lV=(5fu#8v z8UM4e0HdGHfFHyc2Ju-9n1K{>>@#OD7^E^8n58ci*jOVRaISHmL zm^;OiNw6}eTJ~4U&Ua!?oA-Ae;ym)^$wpr$Lxz`HiS9i?UfzBZ1>df@T+92~yel_i gugc9Zk5})HEOKk?$g*;~xN^4d$;4Y1W5cr~08TI3xBvhE literal 0 HcmV?d00001 diff --git a/assets/roots/b0e31e6fe1b4e58b38cd4664dd9184b2eead11f6-0.der b/assets/roots/b0e31e6fe1b4e58b38cd4664dd9184b2eead11f6-0.der new file mode 100644 index 0000000000000000000000000000000000000000..194de84d8ce9e2bf50334b34b7c32dcb7562af4d GIT binary patch literal 1471 zcmXqLV%=@f#JqR`GZP~d6Gu3g;B==WkIxwJvTezuk8%uP)E3yXR>iTa6K+jlzH-<8df=V-pFE7!5$M}JsBr-S2*M?0Ma^Z^1_!Oae3_J_rRAiW}^D zR*}5t%cixnwKx5HXxS6Di(6sJz3S#2{~w3-ZWnxM-ScVV!PvP=xP7#5Zj$)Ab-p(f zGb01z;$(wF16g3|mgQp+V-X3u(P4FBenr~b&d=2r1yfEkF_~R3;0H+yGcx{XVKra| zQU>xM0c92m1F;6|I`}{e_(3{YfVqy(P)=-^{%y)(Ypz@f|vBZ^c_ytQ%>8EzAt~<0b$F8Rf|ki zCzl4@TRwL!UwdazVV0PUq-^t#S(>T)zSz&Y`QdX^yJBI3@975?v+Z~PdSKvtzU^|V zfTYC5=}a57i<~mnEZFN8bxUG@_Ke00e`oEB6ZJSND7y22X3Uls9pCND)@@JvE0=Vy zph7^#Bl^~!B^JBV--g=7h2Ouz?BLV5c6~>m6{oDOm0Cs*35r z<<}aFY7r#|4-_lqPM-SLvUa!D<8Mumb*9Jr$xoc}>z~fz8)Z^Ed^cJ6&;BLrkx;4j z==0x|7iPUE==ZF;_H-{7-)-H`z58E3UQ&Dd_|(D|w-(nNJ@lhw5{q=(nk7oX4%^oJ z^C>(3dy3Hk)A?ogc~2+gEm)?uXot?ei`uP!muH;V#i+e8r$lx~@zm$BZe4DLNzJ@rc*6(=~BFSC?? zHSh8K3u*bRZ&sDn?avll@Ota%&G0Q{r{~`8m8+-Zt zVglSY+wNza;lC*|#NE!Mx*|7hvR?74G>wY0vLgEz^y};G(Chmo(skzL)|%frb9t6N GoCW~9rDq}l literal 0 HcmV?d00001 diff --git a/assets/roots/b63a54aeb7c096b2c72835b60f7d423e851e811a-0.der b/assets/roots/b63a54aeb7c096b2c72835b60f7d423e851e811a-0.der new file mode 100644 index 0000000000000000000000000000000000000000..dd740abac0c9da2f5e4f611077a0d4b6026fc33c GIT binary patch literal 1431 zcmXqLVx4Tz#9Y0AnTe5!NyPaVPrRRWgM`cbi(C9n#X?chJ%$9s(IwiMi-Hv-J z*2|XN+GToSVgdX8&1|2#KIw%9R`1qPIbAX8+nI8UYW)t~e{rr&&vt2e@WTx~qUR17I zWocv0Ki{jm=~Q<9DJ46@3mYzI$xQ0%zacrt{fQmV&O>MSIr98i;?8>eptymBRpyL47i3a?@bSx{( z$oQXy)qojD8SsGw_(1|Jz+A&-AP?dzvq%_-HHhT*C3R1B-tf@j+w#MIKl1P37qwVw zAPZ8!$0EjpT^coi0h1vk!x|k;$J$>pU!|r>?AKY@wNfRd^y?0X)u&ge1ZqpzC$C&L zBTSpsS!wb1>u&Q7XbIW&O`GO$pU1d6+kB$c)ZLbvxd)hXx~6cmGxSf~2xGZb6<42yuvl$s;_N*qW*q6N@p0+m>3q)0f4LPJCj5V_c78|7#HXzN!VAiH zubcA-bWHnVw{Pm+kB4hNEIwT6&K)yJH2G~%Y1ebN%+rCP+*&?gKc)DujQO8#)EBC2 z)FjiOpEdEv={o#*=%PUo^a2?nYeb?I5T3-9RN>(0yhL2Sv}X>EFvH}>^dy>QhN z+_f(1`Of_t&-6c7@PEhVi>=j_X^SnlTBqG`*mr(=dbh_(N!8Fldwb8v-SS)ZDf8Ul zdY|$O2i;6(#3;{Za&?{(b$5^ZTBU!x;`AqKYPMA?-pfnbeww%6JbE!l*6S~Knfe2m znKte)&zKhQdPn>fjjp9iJY6jxBK5ACUrc=JR2-qz_`U4*qes5H@!z)ZW8JdOkN2LK zEpy{$wK(q`-VEpe_lWPxNzheqH&=O9m7u@%ax=>+f9KLg2b(vk&(Pk;*RbnAYn;>0 m`x_G`UVbf6S5UF8ta)Ey)P)I;PaPCfP51h+t$NqPIX3|cUR5Rl literal 0 HcmV?d00001 diff --git a/assets/roots/b7e7d918696e6d071cafa898ed1bf22538e71ab2-0.der b/assets/roots/b7e7d918696e6d071cafa898ed1bf22538e71ab2-0.der new file mode 100644 index 0000000000000000000000000000000000000000..53919a69c6d0b88f1f369a2a827704e3c49b7902 GIT binary patch literal 537 zcmXqLViGlIVw}BznTe5!Nx*i7^|CbE3CZ8<)WR)T-ZL0*v2kd%d7QIlVP-b)G1N2A zVPg(uVdhbFEXglc2q`KpE=f%Z%Fi!R029uR3a-x13L!qh3PuJ-hK9Tb+#vN_JS-sf zhTI06ATFCQlZ&f?oH(zMp@E5!k%6U=nUQgnIIjtiYiJJU8bwjrwlV_&Hg>R2m>Ahu zwHsL&l$etkSf;f_Xqa=QUs!NYMN;zN6IOQl>2F`8H0}I$q%h!I7tjCeTg!GY%$c0i zyeK1Y>CJsQ9aA08#@^j{syVs&%z=F+Hy_Mh^3KaI?7<98$H_qgS5+*SjM6_&5z2pm z{pdZtzmg4$oeUfd_<^356=r1o&%$cJ45SQXK>~a%Vk{zM8miZ7AEeEy;@p&F-DiB= z?6UtN13r*6KS(_bFjm@-juV=6SyO@cPT1dTve1X|X36M1=lYe0ew{ dyIiyCw#xZbhy9oC^a#HAQd_UkveM~^1^_(Uu?YYG literal 0 HcmV?d00001 diff --git a/assets/roots/badf8ae3f7eb508c94c1bae31e7cdc3a713d4437-0.der b/assets/roots/badf8ae3f7eb508c94c1bae31e7cdc3a713d4437-0.der new file mode 100644 index 0000000000000000000000000000000000000000..d6aa0f435805de638e5c6cac066ebb0081fac3c4 GIT binary patch literal 1415 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 literal 0 HcmV?d00001 diff --git a/assets/roots/c90a620226764c614af7a3e7549b6b1dac6b0f55-0.der b/assets/roots/c90a620226764c614af7a3e7549b6b1dac6b0f55-0.der new file mode 100644 index 0000000000000000000000000000000000000000..675cbeb1fe2031aad2cdfddc00627f9daa113bc3 GIT binary patch literal 920 zcmXqLVxD5q#8k6@nTe5!iOcZolO&#;h_}~n81S-jYPET^edlFl4 zKDi=e%UQj`((AJoj`?ct*_M&e^<8mRm}%7Kvb{IX&iX$&%zJ4h+rr5vns>!aO8q`H zZaF^9Z>^+gkk>z(g3^Ms>$O*l&N8-HwYhuMS?9lBUlsg+dtT6b$~iwHvCGO1TIHM9 z+c4_nyq&4jebX;<#-{K6jvI_B60h;bAO5w-VUlc&__G2#)8~t}A4+<(dWnV4R!h_T zSIn8etU@wcbFY2UcMg@C$jf)*YSxlz7lmzfDgs_uO}Zo=_S96$LB_6E=dI;^rw7fB zCHEJfJ=B)qk?}Z_JA|S8Nm-^MZ>66JN1Vu^GaI+By%O^;=0$%L=BeBXP)^sod^HA9%p*>1^_ zd;9o>9$Z+p(4NU;W5Kz(64yAGIo;kRJgD1t#FHhkwjg28s!jhZi>j8%+Qw`BIQ8hS z<#zX-uj}r!D6juDhmHN^@8ro14qK1qa2aZxuYT=c)#E2?_HjnD&NJX;jr6~AUW*JHvh=b&qc?2MGLHYS5 z3eJuSWkv>a;=G0yhK5F#hK8o5rY2G1ye7s-Tq@bp#H57md`4CV<|Zb727@LhE~X|X zMutrn?AiA`s=kmt^T(s|%;)FkE@9r&l)La>W2(H5`kFq5U1HU*4YC*xY%a;D+qC}p z)uhc;_5r7Q%v@BGFPXjMY5nG0cGYKLLQ(o74dbP!4R=^6DVyx5-5aLlF!$A$YUZ^W ze>OGx&$v+Xs`qK_+2q5EzulX3C_?hVwB1LKth8NPGVR~`pPj4rP8AQiQQ`8Dr(AT> zgBecCmt0$=FzM{U1)HaBvTAYat-U(+$+g=rla54et~}av+0?jse(Ay>^+b!0k+yvS z5B65tJkOc-FYYE&>XyEk3xX#1WA_IwZ)7-JKht%l=vDC(T)}UWKhLZ^lPT18Nc;oi zy!|bEE(V>Jo|JZON$}H!`;Xk_y!Na!O#8&+ntPA`cRn@E(|D1?tsJ;gmG!m9kGmUB z{mS78e7{{H$K{mT!{TF|Y>iL5)@*pBd2FZ3=4=tS~XSwp2Cgjx+xP_vUWw+cfY?a~I4N22&-)VJS~xbVO01naJkt7I0LZ-3^o#7$?)s}*HQ?%e{x>>lAck0$wU zTgQ6(&OxuZ{x!Ceeuv&Blxp8Tc*^N26EhqLJFee$L&efS7NmfWMT`ZzG#^NspONuD3kxt8u^I4#_`)DQs{u2RLQaOj zTm(#pj0_8`BbRedu`_GARHtvbblUV^f@}Yze=g+ww5hWt-DUmG_iv}YnUiwc$RIy` z)|$HbO{*Er>KcDNX^FeE#_U0M($QLPzNXwuWl0zRP5&|9phn{7mZ0(`*|OW0WmkSU zIE!I#Zt0EM=f93yES^*F!mW~dyV&z$lWgW^ZSMe z>C?k**CYmWGHWn79N&E7@0^0HV;YBBUp{&(HF?23?-`3)>{!bgr`i7AqQF0=h^b0Q z|LWphffehuv|UpDw*KXMaqw(qd!qKehH%&Y=^tlLj9a?oO{9kauf_2VzYe?PvV5%w zkeM_s`qtMSdb^^}KmCw3*IPfLSl3_oh>YEr&GxHB`K%=!yOtab7fLJi`4#*){B_b) z&UqnsFCMZ9x7lm4c1Ftf9n7&V6x-d?0q}s7}Ono9gpPZCL@ereUiEDTD_NenDk_SiBxl{yM5pKV}iV+z#ITG5!q zoqFcmskw6bUTJ}gm~YOV_-mWk#-6-;HD_;EF4I4^`&^;^)1|95-Xyc6&HVA}(_{hG zhm9IekB?=1c_!VG;MKYQZ6&|;xsTsmzA{!ESR7&yWWWauI9Yy1#{VoVz<6mh;0N)A zL3~yNW*}uC3liXC5n~ZKae8J^K@iW6XZtp>gllS@cM^DO3UoQAHX9=gW0SckBgg~> zd?~ht?^l?|l_dsZ6Dw|q^rSL&Jr77bWVqdO*A6KqcE3N_Az}*u OwYNU^;qhJOUkm_{_{g6C literal 0 HcmV?d00001 diff --git a/assets/roots/cd30d24c343a82ab1f0570158ad7a107762992e9-0.der b/assets/roots/cd30d24c343a82ab1f0570158ad7a107762992e9-0.der new file mode 100644 index 0000000000000000000000000000000000000000..2fa45b280e22a9fe641b25ffb3f7d866bebec657 GIT binary patch literal 1506 zcmXqLV!db3#C&W4GZP~dlK|u2T!TN0PX(@!-jl*-%B*X^%f_kI=F#?@mywZ&mBFB~ z!;ss6lZ`o)g-w_#G}utsKoG>?5a#krEm!bLEhlW?@yZTv2Ipi9%4Yqk?m4QAuW6 zW^!UlW`3T6V`)i7ei6_-137VCLjwaN10VqcQR2MD76yif7DmRVmZp|bgUP8)OiIWB z$;isU+{DDsV9>24f>r`tqA z?DrV|tIL`5Uu>?#-oQT7Wy{k}6s6x*Oxt*6b_Mf+0IL^gKHS+e&*$HI)@i2l;ZfWF zpZjUMU1!_3kh>?I3t9QD^Xb|iGi%Fs1=~~gN+#>-tTWOWU7j=gxdqQQPWV1$U$FUv zV&~6BhlAhWUiGiUFY|bIPr~GTM~?H{e`vJs%w+4pimB<{?`*^V@m$E{m*)Shs+Mh> z`#sP7SF!WcI=-c88#QZ;T9QLMkMJIx9AY3TyykMP`SRDXRyn3Iw;itw-CF6%eg8&7 z7w6=pzO8BJRXfhM?AU0(#FGCe)4bP0K2vKxXS1%16Kg)RBmL0};kjp`n=booejEM& z-qYeW%GSCJ`%ObjI6ZH8Mo869GJ6&{iSM&ot&Feuo|A8!)h_IJjCWY+;__wY^YHe0 z0rKG?EA0N3BV7E?r~I6|>Cbb>GTyIJ(92db)!TkcA+&naiHzi{X3 z8`~?tcH5t6y_R3UQuqE&rte>;&)RBw>u~ypcCVEh^OXDk$EasN+~EJ2{T+kemB{wf zL5@>jeR043F2ymlrZfNNdhjzY;(kN+JI(z$s<2>y5zjm6H7+upixM2hLgE>Bj zWv=~soVnHAtxTH9Z}wV-32o#c53jT?VXOxPVeQ|W8avxuYe g9fr>DI%KaO>$7prl3gxwuhv%VW75x46IT2M0J!OJIv9@X0mJp{fh)g6i}GGL9Q?v2kd%d7QIlVP-an zFyuDiWMd9xVH0L@_A^v9PzG_hgk?gCN{dSzi!&1yLQ<16^73=?(=$_xbrd}FlJyLg z3=}}hn1v;gl=%cJxH>y41m)+KC^$PB$cghBnHZQFni`mz7@C?ziSwEuxTaAww7JYc zfQ=pOLncNxR_#U>1|{Ys29_Q5OQY=>?P@=C;W!Z;= zJ$wDHoV(Hy{30&=y5Bw>`_Dql8D2I$)`~W&@t!TBIq!#V^VZjWhMu-+i7#b~x;wXV z?Ve+7%75$4y_H__Cyh5Qb~11<;0K0_tS}?ve->5)W*}uC3liXC5n~b2X${`J(fO>= zt9gst|1FxaV%g-E0tS2_X?~D;7GR9AA;%4K27^H=lR=34^~1V}Z604Lqe6L2_2YTJ zrRS78NVz@#krC~uF1uq!ZT;l^9KJ_xxf(3wkMpWvGGtghvHg>var5DWT@$T*v;#Ko mRhklO+F9IubhhNbEel^>S(vtsajDtQ8ySfj+e;oUG6VpT^t)34 literal 0 HcmV?d00001 diff --git a/assets/roots/d07c43a2a0f778fed080dff8600e49515c1d05c2-0.der b/assets/roots/d07c43a2a0f778fed080dff8600e49515c1d05c2-0.der new file mode 100644 index 0000000000000000000000000000000000000000..ff212ef71504fa5f8b59f6d643783f7f0b4ad60b GIT binary patch literal 1380 zcmXqLVofk;V)j_T%*4pVB*4Y!)WE>N=&F3eWh(;%1Cs$S8>d#AN85K^Mn-N{1_Lic zZUas>=1>+kVW!YvLm>kJ5Qj^c(=#PCFQllnxWrK1Koum$EG!2XQ*h4D%}p&z&P>cv z2+GedQE+xtFf@=8=QT7jFf=qXv@kR>GL91GHAd!A)vhKcC1kHKvNA9?G4V4PG%;~8 zH8C+VEDw;pXFt>Sim}_r{J_MfO)LHT(>r5ZZU*1w(YSg2!~bj7#eaH*X1^@7Ml*(w@C< z{EZAcyv5_fj|3n3#x%Y6W|H=P75Svz`-gXEdV5ybOit)f`ZM#E*@;7ouIPj?q?_gy z?`Mkmu;lL34U5#OPCYPNDk=8$@AmiW>>a-5MzQ=oXL3sAPKmN~tg*0A>=8!QZw7an zV&^}&>b`f&Yw3l%Jw0#Ck7oMZ^+aXDlO%utgX_EbO2k)OEb7RrV)Q(-#jWy~_{Li^ z$jch+;@5d7p^u_jjP}9d(i`V@1G?CKy?AT!? z{O-lQ|1)Ldcb$GA_i1N9!U4m}#ZTYwTkzJHyJVk&!jbfx4;;)@p$+wJe$$qJk+XaF z?FQ#V;}q@W>qc?&e;%mjugIUiXY#C{bA%>TR5i4VUN0({6IxQSao5AV0+wC=3wC83 zuKsWMq1e`Tiq=MMN4^FBd^=LJD~-2YXJTe#U|j5E;9$T9OuVxEjEw(TSb$lA&43@o z7Y6ZJ4VZzHfhSs8LF17;XtDr02eT{pq# z+cNJOmomvjIdzS*aUt(j_dMp9@Kf{px(tqoQy3!N>*>`62lZ@=VSm-JYi4)Alicd3NsLC-W&48{+3|UR1oJpLMdu*U0vxjZ&uCPyegqd zTG#q;i*0zHo)_vFENR=ihK`@rq7;-^p`VWVym=iKVJr zcz-f}Saj(N!-^}eZ8+eT3jI{aI#l0GxwX=Q^s$T{<PJ zpuzIluj~JWMV7s_o#N$Ga^-M&WbxU4w|$`&?|;3RX!L4&1dGx=i^FI3f7^c=IsinoVfxII#fbSag)S=t$RR-k2WV#4Xz zpVO6m`(`|QT>mY4_qwyEyc)CPxIYIzEYW^hr@s8=Oi#ZbOB-&h^2;PAb)7U$&$bb0 zKDPGWinC&Uy&u@k3+I1Y{m1d^!R|K<=CPbl{Tkl?+8ATOwp7~d;T;QIn>(xJCrDlO Vn)B{rLC%?XU&4P#>}ttt2LSRMTnqpJ literal 0 HcmV?d00001 diff --git a/assets/roots/d422b47d649377b28a8d0620f4ffafe3444e309c-0.der b/assets/roots/d422b47d649377b28a8d0620f4ffafe3444e309c-0.der new file mode 100644 index 0000000000000000000000000000000000000000..7a8caf9169eaa54eb64a2e7e91c472ba65c282c1 GIT binary patch literal 1386 zcmXqLVoft>V)k3W%*4pVB*4Y!)WE>N=&F3)t%iYtfyscEjZ>@5qwPB{BO^B}gMqIh zw*e;`b0`a&FjHu-p^$+9h{Gk!>6wz67gAJOTw!|uI6EpB8pw(B8k!gw8k!lJn;IJ%MTzqoBXg;3T@#ZMvWFO18JL@x_!$hE zn7Ejlm>3zhDNXsa#AE#n_iV1;>Sa$p*>_o2dFdEx_4IC7dDt*}MR{3^+O{=~PP`ni zLnC%q{n(RQ`)NUL_X_uyNo8_^?>Iy*ZgLU(^6J7bIsLfXr;8oe?P1v9rR}h3%|mPN zL%MUHES&vD%1Z77$L0%9R7~0D&)IS^DEBt|ss63eADTb=AJ<)aV(sav3QG(%!Xu)d z^h(cKJ&%{?6PK~2k|o!4z0bkrJ6&A=wwyLoXpGdIm7nY3k$B4Ie(=ThL3>>0uh!3Q zE_z?uaEr}YI`+h^AUBK+&&Lvgv69P7!KD8|Df%*E?Cc>7gFD%oZ z%&1x=G-FO=TASV4j~h~DegT}_)GTyoJ)GTmYNq0%x7^|l@td-h|M&7{7}ZHx!Ew$1J2=eC#<^5WHP=g2-u!XB=(fzB+`Xys?>kJj()8bb+noBrxVL78W2PIwvrOi% z*;_9pW}Q9debZ-x+iKCsh3+Amdd(W~GKUteE)r*8>vMh6{m9t1{+6W6lcb`<_mz%) z3cGSQernO%-1zSv%+Y_3YAyIytlT0X&G?*&nUR5Uv6F#=0Ut04%knca{%2tUW(+n1 zeh^<6#Ah{N22uvHAOSuWF&2@>g%9T4SnhQ5cHzYADU)9xUVKqxF>)#cW*cBCV`Omu zb(d>{;6#hHzOmn*@=XtsZ1QLi=~Upj;J$q(*yF|lJ!JB%cM{@hu4NB->V^{e^rO5b*UQuUna(bU*K znID2P6Q`C|a>s=}vyhpxGSYb7iNcb~`oPX@C$e@JoXD~`oHy^Gx!5b#B%f#@_qWTp zY>o&!?)kZ1D1+0m@I&qoKlk6)THhUwaFARgyZooOv-zEjDF5@X52cjc+ah}NOGt>6 zzRdOMg&`CAZYs*6fSU_!i&(yw3l4*wv`z(>i~BUY&78xh+!tJg54eHF-tN zG6qHWA1r!#>0wE!-Y21+ zz#lbFbnCyaiGM9Nf1~cjU1ugbmHVikoM4fE`@@;veR9(y?XD*HJ!92)>scx6z02da z{?DSzmZ$#7-!Liqy2atVA>-jU_XKstW94@QT#S=ko_UYmSmRW{)St^kPKUGwxUT%^ z$;8aaz_{4Sz`=kYm?&h085#exuo^G}DFa!M03VAOiwH;A+0*R*RlXfP`*!z)J&#(< z-Acb3@PVZHLF!q6sgn&klz|Bo7|M(c%T}yaI>%_cZ1Ml33m$X3 zvd6EzT1R$NgHj9FIj;L3&a)5@0_9^{1SKg{Ii zy}4??Vq?HfwxuinPc^@=>ffWyUuWvNwsbvp;=EqMr2oD1#>|&{)UUYr?&5WmDL*f= zL}up_!y|JvN|;Ul8%wG!eaTz0-ER7^vKQ*p7N^~PxbBl<^r;zP&BX;z+N3TSI_}cn zrz;#)mhbn%uaVC_nptUq(7vUN<<8qn$+*!J8%TB(rytMlE n{8`-UOs1L}9i~42`C?9JhosxJ?IvIA&RNd7Y4I`eyT1+q$_H;s literal 0 HcmV?d00001 diff --git a/assets/roots/db967dfe40104bbb8a15f44c45067d6d9ca0117a-0.der b/assets/roots/db967dfe40104bbb8a15f44c45067d6d9ca0117a-0.der new file mode 100644 index 0000000000000000000000000000000000000000..339a109cb188c78c739a75952bc6197b76cd806d GIT binary patch literal 1453 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 W8osjoY_pqF7&4Q^`)|b08D9WMkx+90 literal 0 HcmV?d00001 diff --git a/assets/roots/ddb36391a7eefac7df3e47972cdd9c04be806e9d-0.der b/assets/roots/ddb36391a7eefac7df3e47972cdd9c04be806e9d-0.der new file mode 100644 index 0000000000000000000000000000000000000000..b21a3441717a5f10cdf6efb327b8b8dd691692ad GIT binary patch literal 553 zcmXqLVp26|VqCp|nTe5!NkB)Oqc%nBz`s_BNVfA^yj~k{v2kd%d7QIlVP-Z6G2}Mj zWMd9xVH0L@_A^v7Pyunccx0ViJ-s~r+!dT%gF-yrJe?gwTooKcLp=P0JVPQ4Weuc3 z>X>;%oV=VJ72I?3lM-_jg7WiA6r3H64CKUl4J{3g3@r_e4K0ieqr`blOn_V?D3?aI zmKg}Jv4efa#K^{~-N?eA#GJ&yGWT@D#NOcatvdrYGXHq$DetJnxgjtp;+nQe|4|_~ zk)z%EIxYWo@>X2^$oZIAQRIlTZOuWQBi>nFXJ58IsQsq2@0VBL4uh`05AR6`aeZ^& z{#<;&de;?4pJ_G;(+>U>m09d$;9wvN3=Ua77BLo)OI{lT>)AeBY?AlOi(lRR$K%R| zi3a>2X<ns zd~v>d$!n&hP*}tFW|N1eejd3j{NaWM2D%$p&1JT@&BkQNaQaMp@ad}i3W3EF4y=ey oyl^zY@^9=1>+kVJ0V6LrDX15Qj@xz&$5FDKRHFGd)isuS~Z%(NM-f3M9oWEQ}--l%HRs z;A&!KAScdiXlY<tC;=DjX1ea>|lo<%Hv4dUD#K^{~-N?eA#GJ&yGKX*D`Ry;} z1(lbY{95X^e65kB(H8cV>Zhjc=DEZraQs&1hUq*7!kmnKH(t5F+PA4e`|KYL-rH;T zENL@;Tfo6k`f4(FwO-I1p#Nq0 z85#exumHoh&43@o7Y6ZJ4VZzHfh=p0F*4N9RL6T literal 0 HcmV?d00001 diff --git a/assets/roots/df22cf8b8c3b46c10d3d5c407561eabeb57f8181-0.der b/assets/roots/df22cf8b8c3b46c10d3d5c407561eabeb57f8181-0.der new file mode 100644 index 0000000000000000000000000000000000000000..99bcc84b7e68b5b28e4444f6fa21bc7c2baf497d GIT binary patch literal 1428 zcmXqLVx3^n#9Xm}nTe5!Nq}{>bojhJMWaWS?0c7&m&O?IvTn?JkswJuAWqo zP1e*s_a@Ho#N;1}iL*^!vmT3k6D_sp^~v*R*O)lOZ>&mtSAN1{MOt|H{E&z~9_{V^ z%MEUZy*pJM`*`h1|G1~7&kaxCnjCkhufO5ewuv(wCR84-IKFM;k*!%07R&;@H?Ej3 z(PORc_}XMAFtK2DXp^JS_1i4PT6q&0YZQI1>{%zxTpC-EcGJqxWtOqSeva!=o=Xlr zTe%?p?h^Gq3;iv(3Py;3SBY`!Px*c@v!iTAnQdgOQ(1fG^vo)c4-XazNvF*!Id#ul z?m1ubx@TA3Pnu*k&-M<(6Ia#FZL?e?wd)Q{*>Wi{_qFlOqxZd87|ztnOg-HHU2)SU z!R@>2KV9u9&~Z#ywJ}-3WvWzJQr)+P4ZmNcEHl2?$^LNf_GivZBz7z-XMD&%g-20# zQ;4Q&XUw*5U*l71pZrEK z{)j?gcK*iIZQcHduDQm~Rrs?|?&yL3MH}n5)MkEtlBqvKR`=`8m78RrN;5GtGB7T7 zGH@{92PS7(VMfOPEUX61K+1p*B)|_6U;*Z-HUn7@pN~b1MdZ!($4!?CV^e(Y>!sU2 z-!)^M48K2eDg$OPU@Bu|*qwN@c4f{!@gozZ4=-HA(EB(ggFozi`MQFie`k5k+~v@ z;|G_o$XKF&XYNn+bq1|Fzoq+H+4VTN((ZIU8a!-?Xwiwjs2;$JM? zvV8rD@42RPYNEQXEwY&TxuW}v?-ZoX1m*e!D1M{-ku zW1+3RZ-H_fkJp{XOJ|IxwD59pPM7gN@Ge`S#Ng5cOA~=sMNvkM7okS?3O#RXhzIyS z+vj_+bj^iRza4itFI{!{FsqBdj@j%-zaF{nP!7&v%TEujciZY?pQjO3sdj0}ilph6 zfR&$*WHWvetKHnrfA0t)=$1ze_=^}`TkG{L*Rlgt&`^}&Rl)f&LXk-+o%1iN!lfsC)s~w6 z?Tp>inj~vqxWQ7QGU@KxG3!Bhh+^5 ouE}lQ!_OaFs=4ZwaQTyaJ&lTM*#+DM*S6cTUo72o{&QL#0GZBIfB*mh literal 0 HcmV?d00001 diff --git a/assets/roots/e24e78259c056c7f870c7b62f5b043d96fab7725-0.der b/assets/roots/e24e78259c056c7f870c7b62f5b043d96fab7725-0.der new file mode 100644 index 0000000000000000000000000000000000000000..9519275a5d737dc4eda1a28957c2455192a9c7ad GIT binary patch literal 711 zcmXqLVmfTl#N@SrnTe5!iIKs8i;Y98&EuRc3p0~J<0?aL15P&PP!={}Cifsiegj?* zhh3P>u_Plkuh`JVzzHP4C2Z}Hnv;{7mzk{Kn4FlBnhRtk=A|eEr52|q7A0pWc;*$C zWR{ecWaj4;D>$bXmFOurmX>7X7iE@I!c1W%%@kK>XN92r{1RtJ1tSAPQv*41ULa|1 zU~Xt&Y;I^2CC+PNU|?o!0ObxX&y*Pmu(5;Vfr*igRlAXeL5Vqufo0MH#~0pBEisRN z7z)m8OY!4W)t~FA&$Z6fzhvsBz?AIX>}U1`Q$Mh}xGyWR2q>G%6xFv*W8P0)znSlK zJo0^1HD6pTjJ_{>u+)6Z^bJus$qhyqED-OWxOqlY{q-_u3S3jpwE3TvLk_#ZN0a^7RPMu$UE+JNwk5npaE_ GN)rJ9G~Y4+ literal 0 HcmV?d00001 diff --git a/assets/roots/e7e9ceba6df839282ba96295895cca12e56e2cd6-0.der b/assets/roots/e7e9ceba6df839282ba96295895cca12e56e2cd6-0.der new file mode 100644 index 0000000000000000000000000000000000000000..f61e2f87724716f5c058bbaff2730cefcb61e822 GIT binary patch literal 1412 zcmXqLVr?*JV$N8=%*4pVBqAem`g{i2IeLveg=akCN8EXCPs$CVmqX>mber@z2^62=lN*vgBNEteofxc?|g7K zN0e06L-sN?`ToqXegDi7F7Py;o$~7WQQa7QRxze|Tr2dSCa8r>`!T~ocFnrECF%Mh zzo#V6c&z5td~E7APUnELytVgS_!5NtqfPhjpJ|a>n{(??MzQ=)!=;h}#jIL~jU-!N znXJ0&BxlfTKX0pC;??}U3`Iq2h3r=?^DO?SC9+_L0y>s-g9j@5!b9Kp+TX(wp`2O=BUY4Myao%kIuW+t6 z(e^J5#Hx?nK5`{xfx+*me`O0N-PP=OjJU_J*6Ocqjns;b;vf7>Dk4;`wJN@@l)Z3g z_4y>54acW@;{qTCLa~f`hWbp#Gmx7?ExAd60YN>kev0HQcHn7gTsv&q(@yd=r$EU6KN{LL& z7XIUXX3{eLC4u|-A|~8yYPMV!zxh|*q|IlI`C3;hVr2~57q`FFk*A{6CN6i?{t;}z2a@Io zsb>LZF*f8>2Fy&rRL01lI6I3~Ayz_cxzLjD?)GO-S+DCm&~)yOhiZj*&VvU9N3Kn~ zdGp);syV{DgQrgVe}2+~&qviw!&g`@l6?K6Ycb2c%ozW^$8#!0s zIwi$^w(b7y%-dT$Bp7t}EIQKZs=So%p-ZY=*TF0U*+&UKtX8#iI_+$nbVs#gM(4*G z(~n7~-c|mP)c+U%<97SGS1b5=mc8I!VDlh*%8WVnYuTR3ymAtVf21aAV{ZBV`kr?? zp1x;(w^!-6Mw>~*k*NB_MHT#UpHI!*BW<(%gzmTHN`j}DZ#+-u>f$?X+Gk>U>8l9G7u_zCu@_lzX0`WHDls64%999y&Q z{YGE^E8!DNv+k^8neN$XGF{Jr<@t>7x49W79F*s>|8eM_->=)Vii^eeuB1N-P_wXE;-Qk zqiK4>tNs&Saay$<8Os@yL?)_K#mrkQUfb2CXd)3HEpYFGxwqPJ$%KZNCVLYk%^a?2 zwsYD{topV`SovO%Fo8;;R6>zEAO z?!7u4JL`?np;WOAJ_a!cpKtjUx3S$g*U92xZvNx0ap2s7_0^#_81-sdQ~26;OauV! C{id$~ literal 0 HcmV?d00001 diff --git a/assets/roots/eb25d890fe2720f41d7d6ac15eef76cf62cfab78-0.der b/assets/roots/eb25d890fe2720f41d7d6ac15eef76cf62cfab78-0.der new file mode 100644 index 0000000000000000000000000000000000000000..9e42698728dd31fa171527c1f0ba5bbf0994c2d8 GIT binary patch literal 653 zcmXqLV(K(#V&Y%G%*4pVBp~m;epM1fK|qKPJkHs&Ff$u8wiGaUlsK=kg@K`=g^{tTrKx4qpmArJfdCsjIP{np z*;ut3Ss0X&Wc<&< z0*rVz1AdTlVGy6yfEh?3$2)TdgFz~jA;Wv-=&Ci_E4YfbcijKK)lGzx>(_#3wH(K! z+V@JVDBi1fDuHM2xta6N$M73G+$UoAipfCa%VZnR<;GPL+}t-O*9y<}+nz6B-Vprn euEGP;S!NfHGwytL=kDkKvN~2`;WsB)UIPHw3dtk@ literal 0 HcmV?d00001 diff --git a/assets/roots/eb8ebc9d472b7e0291771923f2a5f1c1c51e57b5-0.der b/assets/roots/eb8ebc9d472b7e0291771923f2a5f1c1c51e57b5-0.der new file mode 100644 index 0000000000000000000000000000000000000000..6dda6a38dc3d4d361acd02e4b52d4759d26ca563 GIT binary patch literal 579 zcmXqLVzM`AVm!KlnTe5!Nq{vpY|p2-C8nl_m+)U*?OJ5O#m1r4=5fxJg_+qP(U9AK zlZ`o)g-w_#G}utoKp4c~66SHqOwV*qEh~a|;WUmzV3M0HuD260TGTzWX6 z%s_yR9qeZ&MmARMMivGo<|GD|yUTCx?%Kiqo4a1|(uaNfia#62O6@Uub??~hJr|~a z`*7w0_pZd~K)1Siy7S-lCG&{CVK4Z4zD3WWdCm)a$6V{RmzRh{npMnYc77)yoKtjf zUB~i;*;}2@rQcEh&n&a}k=^gdpVegNSN3)(r*KAf72LSq%!wCQY literal 0 HcmV?d00001 diff --git a/assets/roots/ef58da4b2284f3860c68b18b916a064a520a9728-0.der b/assets/roots/ef58da4b2284f3860c68b18b916a064a520a9728-0.der new file mode 100644 index 0000000000000000000000000000000000000000..9c1e26c7ea1f4537df933c820e88e14304e8ffea GIT binary patch literal 551 zcmXqLVp29}VqCd^nTe5!NkmNa_~9F#%lBpSbalM_Q1J8acDr^1E;bIWHji_*EX>RX zfri`$oNUaYENsF|UIB*628tjKm#~y`Wm0NUNl|HWiGo*RL1LbQbH1LAf=@|`o}sLP zG)NJ%ut;!fa%oX&aAta*LQsBwiGs7Ep{aqKIIod`fr){IfrYV=sacdbuZbxVmljr* z83?ekgZ;$B$i}MO$ikq+oW#Jw9Z=GnVl;E+=1U12JCyp|N^~j?XuIg<#><{u=N+Wb zY`a4wH@H1vUVKjLZ8njq4~}d6pBw*V)yK`9$)u%e`!~k?5KVD3vz5QXD}F~G8r=5)a$H^^IIawzBlp^`@Pjh z7QtF>E^Oje=K^0o_@AcB>G#0@3+u(!Z>9-%z7}nEt7S59nc*hY)GC*l+3C&howjw} ls$C1@9B(p~Smn7|bv8&=8_ft!Ui~^bZ*uNxY0d;gKLA4QvNQky literal 0 HcmV?d00001 diff --git a/assets/roots/f026813c6ea2e5bbca921b4b884a50f107f0cbff-0.der b/assets/roots/f026813c6ea2e5bbca921b4b884a50f107f0cbff-0.der new file mode 100644 index 0000000000000000000000000000000000000000..507b8428b59681a113d25ccc2e355636521b74a9 GIT binary patch literal 1354 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 NE73A;ovl~TUI3Z=my-Yh literal 0 HcmV?d00001 diff --git a/assets/roots/f20ef3e3718f19d130d9cc7a2dc303161cb29cd0-0.der b/assets/roots/f20ef3e3718f19d130d9cc7a2dc303161cb29cd0-0.der new file mode 100644 index 0000000000000000000000000000000000000000..a42b51999e61426079da0e4a7399e6d3888d586b GIT binary patch literal 891 zcmXqLVlFpmVv1kD%*4pV#K>U4%f_kI=F#?@mywa1mBAp^klTQhjX9KsO_<3mz);md z8N}fdmI-!s_V-l?DJm^4Q3$RqE=kQTR&e&$)A0#$(KA#xPz5RD7M2T6O)f3UEU8p* z&d<#)&C5(qEXmBzQwYk>FL8D>GLRGJHLx@=H3DJ-17pi5ab6G;&ZV{WO^iy&9%f`^ zU~XdMXE11D9*eMzQw*#-0Hac?9RHf`TKs_nVBrGKKRX0(6wZ;ZFs}cpPe&LJzbr3W$P`+ z2?7VNU32O@wEv5R&{Urg*6(IdT$`&!Qm@_N@x6Gjj%T&?5z&2CVauZO%QAyjR_#3T zI%`&J&;?ztY*R5#ftCwdr>xi*%-x^Vh5OrgzfRxLvFhl);LuGIkJRqm&??DRp?5n` z>R0PmuZatvi(TzoWO;wejskfN`|dvuammd#&0113v(Mj)%(DKIFLqu2ub04Uza}xO zHR?RUAJ<-0*^tc~a8TDq?5>N6x>V_JCT2zk#>Gws4hFKo_>|>i5n~bIYF$~L$~vRQ zq45X*bRCP2TyJd78}Nao`577iv#yLvlfQh+Lgn4xROX)+ z|JSqZ+@VXi&-DH&{KKqyFelbHK4n{~b!WarS;f~oi#+5d?fWLb{`gD$-C4iKEJC5z zo<6zz+m5y7k!;+t<$I?4XIOoGsmJBKZGCu5Qbx`8zl*zC7OY9yr_I@J@*#_H_iW8D zn|}=E=aq9l`mNel;wF?c@tw)lH?t-_ciA_=u;{8M(>JE4U*uoc+?*D=^8cHzpEKS6 zn?^CMVmaLv-Cn3Uaqp5XRlIv=eGOM;U{@5k_p-dm>dC!)n|b5X*q&9!ag7=^%WKtN JGpy@12LJ#sRXYFx literal 0 HcmV?d00001 diff --git a/assets/roots/f33f2ef9470df6a3ca848f278ea48015299c54f1-0.der b/assets/roots/f33f2ef9470df6a3ca848f278ea48015299c54f1-0.der new file mode 100644 index 0000000000000000000000000000000000000000..767b3c2bb5faeae00886c1545445d7098c82c027 GIT binary patch literal 541 zcmXqLVv;myVw}H#nTe5!Nr3agCCulNnV#vKT2!K=;F*`KXQ*bN0+L`BmW4?ug!lw2xH>y4 z1Q=VGC$_8mg5Dmo{_*Blb#{cp zo0;oQ{>j)}y7M;Yn-juc{f=?TrWyF`mUri}NfdC>tXayz_dx08Wz&pvvyiAJdflJD`I8sQd^0^q&9C{`-;=+!h4*Z) z>e-TdDKj%!IN4e)K#y@@CELWg9{UgNV={0*ELy#B!Ni%KlULZ(yl`Xd*7;<}FlBDi diO#)}Eg~KxbXYs(aO=8r5k2)i687fa(l&tGlshk zeL5Taa{CY2^;t)zwqJKYIrT;pOMq=7$Nwj`n>SuNy6JBR=j}NyZ&bxa+UpG}W@km5 z+*Yh%WAc6G_xj7re#p4itkvn6Vt*rDAh=HHte%!(O*w~*fv^^oWg8Nig%v-r>e9g-|ruJGdRy?vU;uyoGmMzLlrnQ;w zxH0d>8WYbM$y1M>&h>DA^hr-b?t%!-NJLgmTi>-`~*Ze!x zq~yP^FUdXa>Dl&2FRt=S%zw&K5Dlh)k==mMqcEK=Fj~%uT)0j zn3Pq`4PKTrXSchiR&DIxv986#ZgZ9I3g$KMf$GbEgiH(a{2LCV?m-O^ht-D1|Y zH99hSm8iX$&$j;%t9eRkg=WUzqhDYDbN~6Ib;HAI!@0}qix%%ZqN8_aW;mZBk1OMp z)Yqw;$C8z}jXfuM*!($rZi8LlyzU?WJdc_dxic{{GB7S~>@#TWHsA-QTUlX7#{Vp= z2FyUpKo%sx$0Eievg*%70qORM@nSpo`+HA}W02Ws)L_5|lI91gX8~p)HUm!(U!KLu zz`?+7fz1M|Hj9jsk^(Dz{p6w?y%gONP#)3CODzHM^`ZRu)Ux;@VCINVPK-B-2W1XD zpe%Bd1?D_pl4WF=e0r(;Ou;v^c;j_MCm*xlC(v8r^dWD8yL;c_Nk+W|{okT{_jR6g zXUvjTQ0R<4(Ik-b;Q7o|*~hdNB%4mmYE@k;Zn1QBUBIWZSFNmC>WyHd1i~BKV8f&c_iyl zamf1`=b+?+f~O9-Zv0{${55l(&Euu_*1QPWzG>p$H7n&mwLcL*=DDKg2AAWPPj=7C zO<02NzG(d9s~_SzSM;I(nWy(m!Uaw$7l{}21{BDL<(%31-zv&Kx$1CUD!XjU!v8CI zk~?!ZIdoWFmoLxQ`e)A7Yw4NMD@tzv>HH>b^nHoSva;>&!S8!L`&Vvjj#@fxf@|W} zd(8f7{42UYFi+dCM)X2qR95wrX9bgQeaw8YDam(U|NqXpvt!S?zMR6O)ce4+{>4X@ z%EFwG<{!p8S&gJ4LIwRVJXLoueDn5J`n9BG-oE^qi%#x&qvSp1c*Yd*x<`E)cH54< z`f8Fh-@Jp};&xl%ud`DJcsOG+RIDyOp2{o zUY0Jod(*4>mj#?*VT(8LaO;}I9esJ^YV+wf@##7_!ujn{>phpr-ac!=q8I`mfjl=ljE2sncSL@7$cJ(QI@j#57UmXbGZQB-Cl$M literal 0 HcmV?d00001 diff --git a/assets/roots/f5042d4a785f7dab303cd2dc815d90dee6995f09-0.der b/assets/roots/f5042d4a785f7dab303cd2dc815d90dee6995f09-0.der new file mode 100644 index 0000000000000000000000000000000000000000..6a336d43999064b42158a620d996834f093cd489 GIT binary patch literal 572 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 literal 0 HcmV?d00001 diff --git a/assets/roots/f9780538aed47baadb39e8710440f329a43a372a-0.der b/assets/roots/f9780538aed47baadb39e8710440f329a43a372a-0.der new file mode 100644 index 0000000000000000000000000000000000000000..3a08309fc78bcf86f31db470fd7786f74f5b32e9 GIT binary patch literal 621 zcmXqLV#+jVVtl`VnTe5!NkCC6jAz{~p4ASn`?VM8TD>yhV&l+i^EhYA!pv-tYshWD z$;KSY!Y0h*>|rQizz5=R3A2ZL2B&(bRvIc9D1bz`g(dwxgF{>u-11BFQW8rt^Yav3 z^HTDQic?bzH4M~1YM6!PA!?v{72I?3lM-_jg7WiA6x^K^oE;71#CZ+P4NMIz4J=J8 zj7_4%c}O3XtzA$T%w_=^x z^5hAZEU#>AuZWkJ#vdSUYR;c^?9NSL-z9w$%%AOzHk`OP#2^S9(6aoDjQ?3!fbqm; zzz+;USz!>L)qojD8OVYJ_*lePL_FF>);vBuZ$g6A^;4biF0bv`5|9RTIj1%oBMW1b zxhNyZ1P0`IWzJwQNM$lmJDwSR=j!uK&rk65^c=oh*(05N^<>Z#Ki?*=V!2HXEh|+I z_(bJ;Y9>?&KdSS1ox)_uaN9(|h~xh(Po`}h_e9pm=FBYYm9p=?{$P<=n+$uCRax-g TLyO+Nuint$AHnY(Y`GTzFR{ZH literal 0 HcmV?d00001 diff --git a/assets/roots/fbb2191bc63ac8ff27f29ee542bf779ce0c298a1-0.der b/assets/roots/fbb2191bc63ac8ff27f29ee542bf779ce0c298a1-0.der new file mode 100644 index 0000000000000000000000000000000000000000..3cd7112df074647663dd393ac9b94632e4411029 GIT binary patch literal 1463 zcmXqLV%==e#5{WeGZP~dlYru!5ZxEw-V~Pq@_TW(Abh$3FB_*;n@8JsUPeY9RtAG) zLv903Hs(+kHen_gS3`9JRS<`ZN6sa+w4^vWBUK?JH77MYKUX0*HMz7Xv!qhNJvYh2 zP}@Kgq>!0M2}3@_Cs-jU*ij)UKfgr5$iT?hKu(+&NE#bi7#bOxnV3e2^O{%yx#mX3 zrk19bQS@;{6O$6M=NVZUn46gR84Q}3xR{!l7#ZH0E^KW0eA+8B`q1yd=5=a+ALe~- z6sj$B_}^aYq^bC}F-YgW&_T(T&Vzf8YFxeQo#S%N=QjH^uh6PfW=$++E0+FI|K|De zYSFxjKb5Z)RPX*e`{0|&=OtgI)^!vtDE{;9|JJaihs9YYGwhmnteG18g>iv8d(mQs z-~~@Mt!}mmH&&f8f1ii!jE9SN&5Jq9QW#iUTCw_b40HugYjAG-MNZZ>-vhe z9`^eEvi9l5*=_G0J*eIC-RQ4U%g5G}=9MqE+V78fQnIOEFp1%=MB2ie)ynZ7`>v+H z2)Pw)m2H;)vvH%byK%Y0&!AOzuQZ=;t(ZA$^3LLPCpSUGSO2(HN=v0?ZthF+elJ6ese_Go-d){iv`^UQUd&-|~XMJOR@Xfxq&24)Q ze82PjRrI<|XSSNQd0%*BzwO2kK8AO(kH7au{6F7q{xUf}?>lFq*&(6W@J}bUoc;Wc z>Av8dtexR4vXQ<$=T7h`AKI=qOF*RX-{ehQI~qRl3Cz2^B7n!dN&nS@uDK6&EdOua zQq1t=yT`KPHTyT+D`#onviR(5Qx)@H6DA8cIvty#R%)K+D6nSt*C~$=8EUV6t{is8 JRCUtk001V%kGTK< literal 0 HcmV?d00001 diff --git a/assets/roots/fcc3e143973af986f6b33251f56e17bbee86f58c-0.der b/assets/roots/fcc3e143973af986f6b33251f56e17bbee86f58c-0.der new file mode 100644 index 0000000000000000000000000000000000000000..bcafb43bea2ff5306b4e037e85359aaf537b0e5f GIT binary patch literal 1446 zcmXqLVqIj=#N4%jnTe5!NrZ8Vf!reQyI+qQYi)FPDg1FQz?av6myJ`a&7QWMBYN$IPP%QRkkMpOl!R5R{)^qTrlbRFavNnVeXXnV+ZNSXz>iUzAx=X&@)g zYiMp@VQ67sVQOJw6eZ4U4CWdcn_8M$M$ywLO-xG20l~=1z}&>d&tTBR#KqLa#K^Gi z%E!quTOB&NR`X7X4oF@%VM>X(Ytgmp)F@5w;_m5}2REvx3Du4XKV~(NNFT05wPn}%+X#P3H;KfX42B(9Vp58KwJ$&@p&v$~y zyHC2vwM>@q+A{yCP)gW+tyPY?8gg>PNrQpnf|Tki-gz13${_N+cKAH{#HKMaYJYhgU5z8yB1Z}Y7K^dsIL*>FKdI*aGg9+y=&&WglNsYu+8R zk3J7~;j+zQ_H&;7JTpJo^bzxd1rqyrf86)wT2DK#(|5L=A9LTbOj+@7+hw+64vF{Y z&ix!xb}rb8aoHrtH!O?$c^6&fJaz5#tdH-VV-Kue>UcgTxS-%<$1>e3*@?vgYHf*p z@zRI1AN5?_J@+89)2=DE;#Y1sb;g(Ly?Z9JzS8fH8t3-M2BfZ-kh{5L1IO_-D=xma zoAW1Ds##C_^w!TVbFG$(Cr(>bc)4JjsPA^4;&+lUN2Bc=|E(!au$E3f$8h%+$AqLU zPj%mUEYB978M3e4>+#As7N6Gwxgpoye|+&NN$hk(_FLPxU*!#!uJb-A{I-jc@#K!c zhy!U>8`HdxTs34$dRfxKbKBQVmx-B?fpM{ufrEi8FqzBpv52vVT$Gr+ zGcry#R^RkG!P|fjB+bvr_@9LZnCI9G_(6PO5TDh68Au_gGGKNCrZPqbqf-r==h}v_ z-Mw^4@52&CMecNuQ@MQ)PORcx)vFlZf6T7x)a}44L7T5kYgrnRQ2&&>PyXv2F44xP z*4wr#>2uBz7TcJ^W6F`cI=SfWoqcbPhd(n=D7{e6UUF|t*U}2om<4r z%4>0-X}5shP3udus}3w&_G7EzvoED5cLvWabytcK5j|cZy>0GGo*&X>A6r}QExaZ4 ze#s+&=~Wf?cmk)dP;}^S+speQ&d=Lyx3z+Nms8k7ZmIp%7nGcJTzY;#)!LFHBeQGD z1K~QwXR{8SKI)XRMQ%zphw6#KGwrV7t(WI(CMh)sPG^vqUY<2$(#e{HoclSoUQY^q z4$a#k`~8B+asD&Em;Yzpx3*xyE$+J~a;L}7s^>Iv{CjrMnW$W!PpdrtrTut$!}K+u zhTJ<3eX9$VoEA09l$s__y}-P0AJYQXy9!E=^JP0s5{^CN+R0hU{ek^O<}}mezm*&N zEG&1pYCBgfx~L=apI4)(XzJ`Z&fA?XGgdA1++7&-Y5%wX>I==*@7Pw}ao1`|?rf6@ zcSK?h_HTbJ{-k|-;f00Q%SEp^UH|miaAxf6yJETauh^7-xGhq8JNet)S javac (Java 8 bytecode vs android-8 API) -> dx (dex 035) -> jarsigner (v1/SHA-1) -> zipalign. +set -euo pipefail +cd "$(dirname "$0")" +T=${TOOLS:-$PWD/toolchain} +ANDROID_JAR=$T/platforms/android-8/android.jar +BC_SRC=$T/bcsrc +OUT=build +rm -rf $OUT && mkdir -p $OUT/res $OUT/gen $OUT/classes + +echo "== resources" +$T/aapt2 compile --dir res -o $OUT/res/compiled.zip +$T/aapt2 link -o $OUT/base.apk -I $ANDROID_JAR --manifest AndroidManifest.xml \ + --java $OUT/gen -A assets --min-sdk-version 8 --target-sdk-version 10 \ + --no-version-vectors $OUT/res/compiled.zip + +echo "== java" +find src $OUT/gen -name '*.java' > $OUT/sources.txt +javac -nowarn -Xlint:-options -source 8 -target 8 -encoding UTF-8 -g:source,lines \ + -bootclasspath $ANDROID_JAR -sourcepath "src:$BC_SRC:$OUT/gen" \ + -d $OUT/classes @$OUT/sources.txt 2>&1 | grep -v -E '^Picked up|^Note:' || true +test -f $OUT/classes/com/minamp/HomeActivity.class + +echo "== dex" +java -Xmx2g -jar $T/dx.jar --dex --output=$OUT/classes.dex $OUT/classes 2>&1 | grep -v '^Picked up' || true + +echo "== package" +cp $OUT/base.apk $OUT/unsigned.apk +(cd $OUT && zip -q unsigned.apk classes.dex) +jarsigner -keystore ${KEYSTORE:-$T/minamp.keystore} -storepass minamp123 -keypass minamp123 \ + -digestalg SHA-1 -sigalg SHA1withRSA -signedjar $OUT/signed.apk $OUT/unsigned.apk minamp 2>&1 \ + | grep -v -E '^Picked up|^$|Warning|risk|self-signed|POSIX|ignored when signing|not protected' || true +python3 tools/zipalign.py $OUT/signed.apk $OUT/Minamp.apk +ls -la $OUT/Minamp.apk diff --git a/res/drawable-hdpi/ic_launcher.png b/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ee82b4529b4a77532362caffede52604f07d4dbe GIT binary patch literal 5335 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 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_stat.png b/res/drawable-hdpi/ic_stat.png new file mode 100644 index 0000000000000000000000000000000000000000..978932076f869d5b723f1f97276eb5b5d111aa11 GIT binary patch literal 1624 zcmV-e2B-OnP)8ViY#fO3~+G0af=%v(Fh)E6+t|i-P9Yb(%T^y5Ik>uTd@BM!B?cuEyN!GvJq{W@n z?&H0g&zqUw%)AlwDI^pZ#}oi??@L6zNdQ2zE_nQ70RW6on+U958@<2?FO0dKpSv*T zNJuZw?D%F*)gx&%!}9;mpAJ7GX3wc|$P7=B*b4w6m{-LuGnu98yXi}p-``Bf=K|v| zp_l|k!29Qi_wGt?A_V@Bz(}PUMGyc4U}Yqsg5_&jI|Kn{qDX$fnB(lei7WFY1d|Xs zy>*DU1Y7lnlK*k|#}eU`tLT#`h)!lOG6+D(Iz0plh>ApMMS)o0Gy8}EZzSKp@>>Ah z&U>4JEkD@$!!u90G&vJj_1mFs$P4qOO~`gH27n|8(2`hPR8XHdCu^^~e`_na z4HbU|b?|6hbyF_UFSi!Ghe)LBy|Y6xf*?a}mvcV1J4M?!YOh?ov>Dt(MpmHC9r{+B zMt@PFmgVL}r03JPk&yJ2M4bs*MJIfxcKqr)8^NssTTb-Wxo4kn6@4!f3}(3n6^XtG zsAVxSR1%E>ao1<|joR_Kf380ex(4!KT`&nzm9t4j2lL$gW>6$Z_E$VrB+7I1Nks=$ z7jzuD1$5&rXcSnPHZrli}tB%eI0DPE!oE-Hn|Eo9= z)Y3>v`d+{U&^$M$yQ9I5uf8e*;^J5YEE^x64kUyoCsB~HeRTrCs{ClCh`%>`s>s4I zA2?gx?Hmajx#Qdu0Z@=MIY~k=J{>EPj0s> zFU|h6$b0sl80jmuNU3%d0B~_kb>_xW2|*p+EUUH!Y#0>g(HyL$ez?%0hoZ zTq|UmEh5u?v3Y1Htwq0awP-Y3@Gx$1s-(*R08NO_+#k{I^$!sV!2SZdoctm%5g>na z_*A79z3ZHew&x4at)K`Zl9B5B{Bl`!sIc8U2{S6UQQ;4L2fMe7C!TD!Ll30K3 zsydb}1+)tbI~tj+%K%_x{{S7vr>*4DOIa(Jia2&taXVcE1lJC@M&o+^-tR`@p(l!; zLGW|uByKNw4@e~2k4#h%m$ib4=_LTb__V1=S-~q4vmY37xsoc09kmn{fO6=1{@~p3 zk>RftZ^zYWG8Bm0?GQx7$qq^nL93)nBQ94aWK``_Jw4!UPv8Svr zb(I%yE*LTCs*%Dr4yOQGWQI7_18GH{Z_gK@S1+xI(OflBBPQj=n+rf)muubX91u>` z71x^Ve0}IbIuMPvm$sZ@+1*R@b(Bf^>VR{drSMkzx7lMjSQlwD4c*SLI#k59CNT+` z@kE~4-6T=B+34I&?7pCk3`wFc&+M)lPhhfZdsVwylS6VEhGtzKdwK45$ioB$tu)c7 z*U5A%A?edZBMMp}4-=2QJa-$-x~^XtJe1thXa-KzquTMS?-VWnf&q7`1J0SzTc2G4 zC_i}3%J3O*r)c>XHv6Uo{@+#v>*4SyEmc-*Jc?_mHGu!)#a&PGNUk~`GWK6y4*v&~ WcJ3n2An{=U0000k^P)cbf$D#8d3@bd8B}dB)kGxh$sdPq=JyB5G4>rkSLNsd8Hu` zv1$-W3ItO^l(a!&cnB1t6$Bw*dBiGA8R$&g>CC-zpXZ#tmmkiZ>9oBwK+u((4`-is z_WJL&*8Z=xw=lN|-~kHQdGtPwc&&L|>-kha{=cQI4QVrG05>o&uuvrYCdldF4gv91 z+vs)|5zzz;B`JM=*TVmgPIM<1MI-S&|RMAU8Aa~x&%aK>lsN$oI+wjRS^+<1IB=A`fU!;R6~4Y zJe;!|Mn^xmn7w(W(}q02E?Ttsa*^OS&e^y%X7&eCX(-JYIz#Bm8v;KCHd$4w4JGiP z&?z9`=1yA$Vq?6}+T`}Jv5_05F-)&s7cE+}K-K>jNLR~yGhloJ)kukBIB|u~c_)M% zzuad@pCJr{I8k;?I9_|t^293I0&Ir@r*MqNRK*eatF36;7d+hG{!_Q+%n zapE}RsDLjX*2Q%XR9XLQlkVJ{pp2?2a9Zo#`s^jWWv!f&8P8Oe^NtVMaBYDoQfv%~ zgWoUQm33F<@jc<*CmSs25|RVyRa6mG7B64E zyldOGZDoJf#~GqB0`*8ae6h!`ugKACDq$$RIUKQW(;iMZypwCb*305vpCAy_Dq|(f zGjG(me*G@Kb!L&%j?PjoTh?Bhu>bM-&-@g-Ul{1db;hf{P)j7Vj zri{*0EQ~Sx?xfk?sWg-?tngX2GN4&k>XGt`O%vRDNk4}y4jA7Vvv$KcyUUKQqK{K0 zwosW&=*=1KzI=d(pDXjx?wBMNj$7e#&dPvtUGWaExS#!YfSNIU<%EzR6goN$k8Un= z;$azA{~IH|yc&y?xt6i_(-#BhEj za{;n0CB5U9`(PoClsAT(oO@i3q-yc~lxzD69wWOGE?T>TE7y%ts#|h-56=kAisg)> zvwXNGVRF)f!ZFKydh%@(du~7?kT|6$Zy4$`ATTzO&=ClOy*^R0S2wXrCJ?%^hWno? zamG(S;7>1A@O&Y*kj)tuba@Q#jKRRdF2i8AA+nmX-zW8uDuh0C1S$Pb)f|~X@B%^i zt5HtDIc2chZ0XJ$?)$+YUp*;Ly_xnYjY!F5(i}=GL`nO8XSVFK?Nw6)6II8K31w&j z4D|Tan#%5yr6+G@7}qmkowB=ZS#?~FwU_m?Vp#`K)#4m9>yBL|%fbBtIAwgwF;=n! zp3K(`9Oxm>K(zs{y_bN2OsC<{MInEFqehVPNNl!Si&M=ax0O3;@1<^kjs0w4bPN`$lNN-sLCz|*f)*|R4hmo-!x zjJ3f9BtjTKk|@7>eu|4v?;>g{V&L(=NAtBK^8+emgcsh5d2wq@ z7zzuDK9`7a`ws`E0%_cDDP~y zYj)$vkd^uua zQJAX3Q3rc`{p65)9&a#FQGAbmcxlcQOC0nSg!Ruh@jYSfrCD%Ff5GR5)qPA%TDI?s zDc2mi4#SdupZ;E-BvNeTDC7-yJY40D$LjPJgeXaCBv z=>IrCkd~3|T-wjPJz`n2I?Lx*_+V2u?b9POG=u`yCVq2Zw%U zjDL%BHUfgVKz&+Kg;GuF48a(o+EBW(M9tU>%eCZ}+W7FQX$;fE=m2kYbmTVY>?6i_ zt@cin);Ikuj|kdV5Y2?*LXTuYm$<<5!$QVA`}6O1Udv3{?CXJ5B#tA)Qm#7U0TyO%A_fMAJ||+n1A2-oOGMQB4A(J$ zSP}V1gugiF){l*iygbY1oYyha;xX&ithaZ0S3Vzorb{dl(c$6Y$^C3hr^6=_LrM$( hlf<4S(^S(|{tKF8Ddq{Y;9vj%002ovPDHLkV1mqnk8J<| literal 0 HcmV?d00001 diff --git a/res/drawable-ldpi/ic_stat.png b/res/drawable-ldpi/ic_stat.png new file mode 100644 index 0000000000000000000000000000000000000000..d398f32f75b8cf2f90f94fabcdde314c87af199d GIT binary patch literal 732 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 BemejF literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_stat.png b/res/drawable-mdpi/ic_stat.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0077141af6fe4c179bf519a0597b7a347ba6f7 GIT binary patch literal 1235 zcmV;^1T6cBP)P000>X1^@s6#OZ}&000D4iYOAR=&Gd^$w<+Ky3my%2;DYa3NCaZ6a-hk zm?-rvXd$T!soGN7()d7P>jMiSXw%G{x%dD7<6@FDnMtZ2GrRA6=l>q}9N;3M*0_^k z7tIl<*0{S^4%Y%=0^~kK0GR)D>yDp% z&uVYPO~L zr>Y1#f^MPUz^n<7pd*>I=e$qMuCP2kShPm21tIP2)$d)-|-h7?*fKXgMdnzWG0pO|1YIjsc zc&Cvku9lE%b!A4zQt|G)!T<_42r^%|YtllLRr|c!2~QUaNS2Y}xoUG2hdBeu~ z`o@cC%BK;4qS7Fc6vUsFNJ`le*Y;IHrm@%ZN(f;j1RSk82X5JAHNBi>c1?7kp=C75h%(Sj9k+NqZIOnbDd87?$0tG zz3SBAE+(K}s}sGXMqN*qMff9cxFkmT-u{5Hk~)>*e-YGDb3R}`0FPhYJX~O6FG%Qu zpDgHq=l#u_ElCfinQdw>&Yf%fynv{vnCC9>0rQ=9wS9Q})bw)WS^|@ZYQfca&CImt z{C#B^zs%PsNuzEiL6Us`KMJa+w0wP%_@EPI+uz?$0IZ@@trlFfi2#7zk4By{!*c|0 zb#;dU)hUI_>qij#&;Ib&{;Oa3t>`CMl?1q8#Y?q5zI_x7cPr?68HX6vp>Y-ozfL#0 xZ+XYjYBk({h5%}6Y}GRz$ekKX7A<_W_!qyge&K`q7bO4y002ovPDHLkV1gqpT>=0A literal 0 HcmV?d00001 diff --git a/res/drawable/art_placeholder.xml b/res/drawable/art_placeholder.xml new file mode 100644 index 0000000..19e3f44 --- /dev/null +++ b/res/drawable/art_placeholder.xml @@ -0,0 +1,4 @@ + + + + diff --git a/res/drawable/bg_button_accent.xml b/res/drawable/bg_button_accent.xml new file mode 100644 index 0000000..7a1643e --- /dev/null +++ b/res/drawable/bg_button_accent.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/bg_button_outline.xml b/res/drawable/bg_button_outline.xml new file mode 100644 index 0000000..bf75639 --- /dev/null +++ b/res/drawable/bg_button_outline.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/bg_edit.xml b/res/drawable/bg_edit.xml new file mode 100644 index 0000000..791d4b4 --- /dev/null +++ b/res/drawable/bg_edit.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/res/drawable/bg_play_circle.xml b/res/drawable/bg_play_circle.xml new file mode 100644 index 0000000..bbbf4e7 --- /dev/null +++ b/res/drawable/bg_play_circle.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/bg_pressable.xml b/res/drawable/bg_pressable.xml new file mode 100644 index 0000000..c115f82 --- /dev/null +++ b/res/drawable/bg_pressable.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/drawable/bg_pressable_round.xml b/res/drawable/bg_pressable_round.xml new file mode 100644 index 0000000..ea9a5df --- /dev/null +++ b/res/drawable/bg_pressable_round.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/bg_tile.xml b/res/drawable/bg_tile.xml new file mode 100644 index 0000000..cf4ee7d --- /dev/null +++ b/res/drawable/bg_tile.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/progress_mini.xml b/res/drawable/progress_mini.xml new file mode 100644 index 0000000..1077a4d --- /dev/null +++ b/res/drawable/progress_mini.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/seek_progress.xml b/res/drawable/seek_progress.xml new file mode 100644 index 0000000..aa53a26 --- /dev/null +++ b/res/drawable/seek_progress.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/drawable/seek_thumb.xml b/res/drawable/seek_thumb.xml new file mode 100644 index 0000000..9a2dd04 --- /dev/null +++ b/res/drawable/seek_thumb.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/res/layout/activity_browse.xml b/res/layout/activity_browse.xml new file mode 100644 index 0000000..da5fc11 --- /dev/null +++ b/res/layout/activity_browse.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/res/layout/activity_home.xml b/res/layout/activity_home.xml new file mode 100644 index 0000000..4a30f02 --- /dev/null +++ b/res/layout/activity_home.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/layout/activity_now_playing.xml b/res/layout/activity_now_playing.xml new file mode 100644 index 0000000..e686e0f --- /dev/null +++ b/res/layout/activity_now_playing.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/layout/activity_queue.xml b/res/layout/activity_queue.xml new file mode 100644 index 0000000..ba64d7f --- /dev/null +++ b/res/layout/activity_queue.xml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/res/layout/activity_search.xml b/res/layout/activity_search.xml new file mode 100644 index 0000000..dd2eb9d --- /dev/null +++ b/res/layout/activity_search.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/res/layout/activity_setup.xml b/res/layout/activity_setup.xml new file mode 100644 index 0000000..3fd1abc --- /dev/null +++ b/res/layout/activity_setup.xml @@ -0,0 +1,120 @@ + + + + + + + + + + +