devicely 2.1.3 → 2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/devicely.js +105 -1
- package/lib/androidDeviceDetection.js +276 -1
- package/lib/appMappings.js +337 -1
- package/lib/deviceDetection.js +394 -1
- package/lib/devices.js +54 -1
- package/lib/doctor.js +94 -1
- package/lib/executor.js +104 -1
- package/lib/logger.js +35 -1
- package/lib/scriptLoader.js +75 -0
- package/lib/server.js +3483 -1
- package/package.json +3 -12
- package/scripts/compile-shell-scripts.js +208 -0
- package/scripts/encrypt-shell-simple.js +75 -0
- package/scripts/obfuscate-shell.js +160 -0
- package/scripts/shell/android_device_control +0 -0
- package/scripts/shell/android_device_control.sh +848 -0
- package/scripts/shell/apps_presets.conf +271 -0
- package/scripts/shell/connect_android_usb +0 -0
- package/scripts/shell/connect_android_usb_multi_final +0 -0
- package/scripts/shell/connect_android_usb_multi_final.sh +289 -0
- package/scripts/shell/connect_android_wireless +0 -0
- package/scripts/shell/connect_android_wireless.sh +58 -0
- package/scripts/shell/connect_android_wireless_multi_final +0 -0
- package/scripts/shell/connect_android_wireless_multi_final.sh +476 -0
- package/scripts/shell/connect_ios_usb +0 -0
- package/scripts/shell/connect_ios_usb_multi_final +0 -0
- package/scripts/shell/connect_ios_usb_multi_final.sh +4225 -0
- package/scripts/shell/connect_ios_wireless_multi_final +0 -0
- package/scripts/shell/connect_ios_wireless_multi_final.sh +4167 -0
- package/scripts/shell/create_production_scripts +0 -0
- package/scripts/shell/create_production_scripts.sh +38 -0
- package/scripts/shell/devices.conf +24 -0
- package/scripts/shell/diagnose_wireless_ios +0 -0
- package/scripts/shell/find_element_coordinates +0 -0
- package/scripts/shell/find_wda +0 -0
- package/scripts/shell/install_uiautomator2 +0 -0
- package/scripts/shell/install_uiautomator2.sh +93 -0
- package/scripts/shell/ios_device_control +0 -0
- package/scripts/shell/ios_device_control.sh +220 -0
- package/scripts/shell/organize_project +0 -0
- package/scripts/shell/organize_project.sh +59 -0
- package/scripts/shell/pre-publish-check +0 -0
- package/scripts/shell/pre-publish-check.sh +238 -0
- package/scripts/shell/publish +0 -0
- package/scripts/shell/publish-to-npm +0 -0
- package/scripts/shell/publish-to-npm.sh +366 -0
- package/scripts/shell/publish.sh +100 -0
- package/scripts/shell/setup +0 -0
- package/scripts/shell/setup.sh +121 -0
- package/scripts/shell/setup_android +0 -0
- package/scripts/shell/start +0 -0
- package/scripts/shell/start.sh +59 -0
- package/scripts/shell/sync-to-npm-package-final +0 -0
- package/scripts/shell/sync-to-npm-package-final.sh +60 -0
- package/scripts/shell/test-local-package.sh +95 -0
- package/scripts/shell/test_android_locators +0 -0
- package/scripts/shell/test_connect +0 -0
- package/scripts/shell/test_device_detection +0 -0
- package/scripts/shell/test_fixes +0 -0
- package/scripts/shell/test_getlocators_fix +0 -0
- package/scripts/shell/test_recording_feature +0 -0
- package/scripts/shell/verify-shell-protection +0 -0
- package/scripts/shell/verify-shell-protection.sh +73 -0
- package/scripts/shell/verify_distribution +0 -0
- package/lib/package-lock.json +0 -1678
- package/lib/package.json +0 -30
- package/lib/screenshots/screenshot_ios_iPhone17_20260205_225900.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhone17_20260205_225942.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhone17_20260205_231101.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhone17_20260205_232911.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhone17_20260208_095103.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhone17_20260208_095720.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_115040.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_115047.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_115118.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_115125.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_115143.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_120107.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_120118.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_120137.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_120201.png +0 -0
- package/lib/screenshots/screenshot_ios_iPhoneXR17x_20260206_134529.png +0 -0
- package/scripts/shell/android_device_control.enc +0 -1
- package/scripts/shell/connect_android_usb_multi_final.enc +0 -1
- package/scripts/shell/connect_android_wireless.enc +0 -1
- package/scripts/shell/connect_android_wireless_multi_final.enc +0 -1
- package/scripts/shell/connect_ios_usb_multi_final.enc +0 -1
- package/scripts/shell/connect_ios_wireless_multi_final.enc +0 -1
- package/scripts/shell/ios_device_control.enc +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"iv":"452713c756c98c2803db3aad7cb20178","content":"0032a08b5a4f1879fc851d2e79fcbd3be7f51d586394d51cb4458b319c3ea3964a77c9d47850b2d035b1d3ddece50aea1cbd7235b96ddea11516b3f9c7ea5423f99786af01e564f40ab106d751a1a90ad0d1cdf62a48d277f6b187c37b393dacda02d0433594c0af64a30c758d2a00c7539c5ff5712ae89bf5c3bf0677b60f11656e185a7e05152a73f82f76450e6f0f06e59455b98bd7e313a1a1f999362bcf38a241aeaaad2c73cff769a36f1a8c42c04e2bdb54bd75d7cdddb15c7b4481282e964122d68bef7f34ceb9b222c9e0893862f600f3798f1322e651e5d7892ba5638b8bd89a61ff64f056cb39e799a772a88af4f40fc3ffff77bfae0570bd1ce2c8f445d02e77c7f8941efea4465cb254dd66fb4121e48a927c2ebfb96605ef4ac08f585f2ee1c782751dba5018742eb7196c8ef4e6a1f154fadf1dba1bb1705feae2efc95f80777418dbe056dc9659616687791679bae73db011d04ff6d4872efe3b2d11525b9e6bb08321ac75645595ac532f3870d44d3411786f281eafdecfb5e38e45b2836925d5fdcbd3f65d22a4f72c5e8354e44cb4ad28addddafb64eab2811369dcf67e3aeac6a00fddd97eecdbec292cba0ddfcc332e02217aa1c606d3d24e24305c6e2e7ad2de35e2ae456af54c7a643e98bb46541f6a748b3a454cac54f7c003d1b9d49cfd6de820660f6aeec5b39fc15501a0a1d6fd53c45c1edab7384b7bb054b770630ad8c76a6683a48b95c82bb592a78197cc297b824905924d2294d4f5d667523343956de19fc923f8584c86c3b8390701fd12500aa76071795363b376e7b0d264c69e24853edd3b7fe0fb6a8b13427c7ff036c25bd47263d7b986c5975179f551da4b45c245ec8e36d664f7277de6b6a6c6fe0a1b33452a79ef773fca1ed786764c0a9e2a79da99373fd0b8980f39da7d45df979d4d859bd29cf6d9a52d0208bbcf3bdf1bcd0a0d0a79054ec99abe4d24d1d15a75475f8732d27147595efd4f4f7149cc38fefe318d79c893a299b8f12d2349d185dad5879177d53d15d98d1c6af75febbd1004c03cd64be9e874908c823d31baefe622693b7c609fdceed7e9fc636b4b7531ae358128e211469c59c7a8c04ec5649bfd92d6da437f902067843a87bb5173b83e3b1cf939a1ec49ccf49dffd3d408fc28d5149e5d6eabced495521e6472d8384ac7ed6e1cc797f88352b7a86541b909f94858bb3b5ea407cfec2dd2a7d27a5a41762457c4ccf886a46b15fbc78788f9ed2b8d30382f587dcd2652d1439d25cc4d490d76a3b421b1f4ff1dc5cf87ba098d2d2284bc113467ba1899dc46a096bfb3b8eeff1f1f3f3f48be89a94c165dc04ad920e741f6b94c30ba56d9dbd7a4a8e36b6b311ae3750ad40ca00e674692b490cb8c1d2f2aa7936567c404c10cab67aae1faecc4fe6ca516bc9c9e1fa4ba8b8d9f188fbd5f0b70ccd6c4cefd837dc27935b09cd8438583fdf8b51ee67d5d9ccbe41f13e2c13b023450ed74f85ffa1d89cbca528e3819a3c7fe0e83920de5eddbfc263bc0b2b6f261a97f653ea8cf5fbf6e9c4f712473dffcaf7cd9fc28849c994e62fb0022da94e64c23adedf1eae183c4ed0c3c270bba7e5047038a89431b4dd0c855c34be82f0b120e0cd86eee94b568d99a8aa9f631fa7f76c3db8fea03ee3b725bd67c9f0b70252d974c84fe4145b995224b68c47b284e18133549332725ad858886b67e3bcf68370e4a906eb2703529fa9689a76daa57a36bbf6e24e300f6fbadae4d32ad9b5668b0e9ec2863b7aa800e9bf3926440e1ec817cda217a53bdbcdd111d69a9c62ae9ac5840f1676695deae16f015524e9eff368c40feac80c7502e2b8edaf837001da8bb1499293270bc8b51121b37ff33d11067fdc5c14fd3977bc4dd51a77d9780f4f02dc912689756e83e72abb769598c7d3cc27d2521ded46b0c2dba12a26760f1d728a690e0980f879e3c2516fd24afb1924f6ebc90a79b87fff06426ce55abb384d4147fba11399d466c1150d9b1e616de45afb36675a59e7739ec6c8ac10acdffb4846908fe1dc87cc6b07b993210706ce4c437e8f3d044b313138d23bb8b88d71be191e3d7e44a6f1d25770218134eedb00742d2cb36470b0368eab27aa4af6053565075e721f8884d47b5190eeaf7fe2c709fc1afe05d4b8f2b96b24bf6dd923e1d54e7941ad971734d154dedb8c179d5bb596e797e81c5c2dae47af90eb513b43fc7b72a37b0a3fa17f7d7bda0041aecd26584b378d3e0e50af5a9a976cc7caabd9020d01114e1c44db8b2aea9156bce7aec1e32ef05434a3de112c8c188f3a5eb873dccf614bc520f17bf2fa67278e45b9fea1efa0d40671531de1b591a9a317466a6ea62ef281d9305909741a756dc86f864abc7a7fd647edd34cf523c2397a4078600a70d2b70a74849adaecb4b810092fa55e9181abd524a92d59755c2f1f7730b2beaf132590d31f38293a7ace55563e40a87a2fbcf2ede45a3aa4caf7addca650269c35727ee87a29194c66393212d8c0ac8f24c04696aab840c24c14bfe22f42efecd9b1cdd6db49a59939b1bb38cec1d6f3657aa51c17869a9683fdc8d43a269c5549d60b6bdbba0af198a8cdd4ff88da32e685149eefd94119d802331a992b9aa65920ba9000008a643a7a8b1af79e507407f7c9c30f22c2a73345ed5909d2d610e826b610e6ee101365d211eee749088e986e047c9f95b7e2af151c8a68ca44201ac897d1ac6394688cf291d399d7512c189380e12ca905fb09e8f124157cb3e1e194ea5cb7fea23c23be8d6dc63ab00ca23f2f50981fe88075035d6a4b0b2dcedc4a6c38e8dee7bde04003b236486e110c706992c6f5dbce5e4dba26df0ba167dd2e84315f86100cbcd8712ab2d6bdb9229a37e174912176dbef137ca98a4efade1096fe725eb5c666b332a8fc9bd9f8513d818ed6bf896935e0a2e525bd44c53a03979588c7cf055772fbe34c9062467a409b229825303e6c7ec5c6245c76c0c5e5a74db338f77478d70b73f86ce47d5f558140507e948e38b09f734e1a4596b4a1059753c93c59ec22d26fab2cafe24ff200d9484a53fe3724fa7db3dbb6e4cff1d47ab13fc1a5a360ad6e6d1816aaf3be67f971d4dce1c4536c6a59d9ee3523da7baec2c711a698237ef0c6f874bd4d865ef21ecc5b5ccd5ba1b05c10df8452ce972997cf74296ef91e1fa7bf7df713bdf0c78a03cdb0801857c59bdba83163b06b3ebe6f7d910c6a9a5ec00105e8e56232f6a6d971978a0c1cf35dfa5b7a24b77920be38e9f160f0bce7c8cd327bb5e1082a486a58bc474fe73093ed8377f2d23777dba94a48dfad9a0399dae2fac434d32dd0d6b607ee9f14ed542bba01ae2351e3ce959c7acbe6d9b5fd82c92cbdf1436bf8409d4c1658678bbb4340683a0f14e17c1cda10cf0133f9a2fb0882ab7d7f55ef6b96eba3f0ddbc192453db2f330a39d10c06ccafa576ea8ac6d1744a890050815672aba83082b3e9275d7f66597e4ffa309880320c5955ed34d0e66cbf3ccd6653b95aefc710661318e239a16a3b4a6d5a13419921d28fa43c1b040ab74ee9f74febd6631c301c937945d948e888557a3fe960e40f96d09cb6f8125f8852b736485f71b614811fa145f742447b2767bec6553ad62a68931b7e0a172f7778c3373a1a0766ecad60b7c9e07c353e74609f4b9f7b79e3e07199dc5a0998cd0a7a63fec8e826bbd258fed2dd2d34ce6c738b3e6af03c427dfdf0fbfa9f3fb86b66091fece8d171d1d3659aa2c22608067a45e6c7a2b43825ebf91ba1ebc3ceb256b4eef8d91e2d9bf729c8a531370292fe4a33ee478605d1a82d9096791b7e7c30b3724fb62dd87f228bd34b44548aad2b81ef19e6effa52e8eb7cb1477fd023aedcf8f81c96a4b296950097cca2fefddbb9eb9b6b7579d57e95a611efbcac03b9bf7b7f9eb5827a2d82f6adc7e607c045ad2174ce61b83d4edaffd9b929314b6d7721a039671dc00c91f92cdd02681a83d661fc5f3762e92065bfe8e49941d9d3058e453d98383aa49624a7b261ae40b5c5e5b9b4d99f85071c7694cf885ea5587255a748d5fa4886626f4db45974d00bb08c003509f264bf40520fe68edb8dc9c142b59a7287825f60a1cbd96b845732930ae3d17301a71e4c0b65510a9308a09f4a9cad7a46554b1fb5fcfbecd987277fec1767607479e01e59b8dbec467bf3bacb469bb7633e3c390e4c4991f3095c5e3eb02dc9d0183186143297c9d133a2de34bb411a198d25ceae1548b1ec0ccbb3bcd2322aa1a60789f4f7e9509db981d42b868b40e8419ee4f2ef1df9674e8c70858ce0cec4ab2a930c7551c4d08800288aead5da89a8a307ec88e777cbbe0c3770d7ebf6ecb99a0dc8e81d2830e082339ca17cd8e621272b31e0273f77d16c71f130167921b911690826442d81b5ea5be98c040e7b15a9b417a9cac8e0f0f6694496c59b70aa3c190b6beace73e8b771ce5d4f3723edd3be658da6e1592395bbc2d08ad859daf05347a28aa726a5f11c3795972771f9c674716cdfdea7056bb962d3517ef8aa68676cdf7bd85e5a6e6c8e4a835bf3fe90af71bf818040302a6e2b91ddfcb9db6792f5716e896474795f04cd2477445f5c288bbb928cd95ff5660ce3812b9c1a3bd6cf0fe8da1e648ed7f565ed2053f1e05616c99311e24a9752cf42f22551da010935d7125aacd3ea6daebf9d284e03e5ec3ed38b855656b3680ad7c5af5f5be934014b175d171747a00b444f6783f39a2d7518b12084338f9b0aa81f8afaea4b4c81c1af6f85f548add7e164c798c6355785261bb13a57a2d00c1c599a0449c383bf6ad15893791c44998298cf19a1f39f6b574a092df5d1f2874622cd90cb1ada82dc785c95b7afa0cab38bed1d4fd8b64318529a5d27f4cba48750a9542f155630b7d970d4558c77ff449e5134216fcbe4b878644803b9e3c0815ef5b11a8f68ee9b8de3974b9d0f99646684bf73fb0de52e76ed9d811e46930544ef0d193781f02a89a95616b12fdfbff5e6b0cecfae246856fc889d65d0cac08951fc8f93425ac66c2eee4c26b42dfedebad1eddedd4770a3a74f925eda0d8d6780a76455716526463c17bae01f94f6e8d45de767d883e4a7d2c5a6c1caab71441ab88f3add90e1e4dcd992729a9b23007ef8014c4a829da4bd15c0141989f4f43a8778d5f150101d5e510d8b9d9d3c174d48fb02083580604de56da86931eedb7f2fd67ba5a4bac5704f76ee6f6f8d228ab6269c4444b97226399e57cd0ade026b204b1007d17808db8f3049cdbd063581eb24c8b386188dadb01621a88faa2ff506b6c38a0408ac2686d5b5e2216179dbaa093195855d76610c450af1a6c8b67a7946826f983a44abe8b9a74bbef904ab5a42402e9f742c7324219fd8a87a6a83cad0398700348a2b3d7badd939f5b0f5aea4f7645f659ba6279cec464812ceb48bd6cc063a1cb4a53c1f859f71dd1e952e6f99d2c7a03961ded33008f72bb444ccae019c6edb3c77b8d818b212b2c8beeea07403e4886bbec54b85b28019aeceb0a57a6d0671771e6235500b832ecbbcbe3e66edb90546837c7bb814f112612dfc8e1aacb47c3b8c7fc96d0a880a49257edcd4a45cbeac769078161f2a111070ae4eb5b48272a0d0c30b1cdc39bac138741f06f404f852c3a7ecc1ab248e93d1f367d5e56ae8db33fbed9cfa708201de0c5d18d01acdf2e007f58ac9bebf3d96cddba8c8ef93e2c35d700d3e8bf25efe3734d23f24bd82c59d7f99dfd69b89ffe43ce18484f2a6a60c04de56b5da0d9f3bfd97d6453e403e207f3288a35396ab1aca40ab02f44f24b21ff7a1f8ab31144ebc0f99d7c527f15f0e2be7795eca38c545f3667a4b2e9f8da8d52a74b8b6ef697303f7ecb01b39793a0e64408e19912e547457c34c35cea7fb8418662a51aa6fc18a6cc6589bb1b684a6ab4561247dfac64c339ece49b06356450180ca6757715a5ef98ebf79d7babb3d5da69da707d3ec4966b5b1945c79139c164316b3b94f8af509e4a04b012ee69215ea99e7d5ea0014c16077be2b2fb975c5391f2d0e3e61e71376461962e05e19efb40fbf18e1600e8b439aa5f35ceade1fcaec481623e07c0cec0d3bfce3d1b1a710b0bd9626a532daaa9fb6400df5d134468ad28386e215a18f210efb5297fda703e67b78bb95f09f5a990f751c478edfa419d52927e2661db10812bbc88795982e80797fa8409a43f80361ef82b59aa8f01c895c2dd63da4807241616293ae7e594761efa73d13599bc4ebbbe3ac64959ef8cb574bee36fdb27019a533bc5ba23c237c3ce7f749b653b07ec471d888ee9ccf38a675dfe14c67895d767a027834a8fdd871275cc5d81d2510ab9bf321a128bf944933e67c8b2a8699f4eb809c55e6ce7e5689682b1542ba7eacfb0f6ba7ed8b4272ef581925e119689f35265e7339e3178b53ab8bb1cb1b387b002983e4c8f0a1a80c87867631b1fad906241e2ed1ad9cc800e693505c18a08d794c3321c7f2e590c5f01c37891f1bc05eefc195e87e74e8a332f4fbe68cb57c57bc87fe5fa7c52fae59cd3990f7da3282f0961b9631c2604c976274631561e874eaf6b4fd76981c6daa93a6f1879943e6d074f1e4765bacff9bf93acb6ea9212463f1c7e8cc16afe4cafa86465b216d3e3346664184b178999e7abcdcc7606c8c916d648ff0b36606ecac7b76f8947007a08ced32f9eea0f8e09b0b821651ff8571a02ff3644c337ce9726e15f407e0687c19314bf6ccf573cdd5dde6b131db2217e074cdbe1d00fd2c0157ff989436011da7062605dce3dcd870b2bdf1c4e1ae27ccc7c51d519d30e3b9efc9bb350076a767a26d623de678408a0b78f391a918ad59bc0ce091e77bf2b153a0975acd3dd0ba566eb79b856b74d457964c6883506004638c5156cc364e45a07876538f419844e7344209feef72c6e4977b7c1c8970bae3b770130df89d338ffacb737a802817c7e6ebcdb139b9a9564af5488664fc8c72c4aa845ebc39f181b96fa44af0a1270cb7ed9a7ae15dc75b63e2d19a7bf8f75bbc088c39b34a9e8b60ae4696dc7779c0dabf5effe4b0c388e4eaa6a9460415543f6af6b3cae5bd2a9b586ceca4872a7b7df50c6c919cd74611c77f305fe0f92dac5cb5def9f713d9b764beb9320eac1ecb8f1497776b3780604ff733dbd2b70595775ffec8819bf1ad0cc1f91116707aa0bb21b2769d0a70a53a5aabb546252242ef04edb67c0cf0a360e31ffa2c35e87b46e66f465fdb1afa08addd22b88c68a034bbd76c5e7899353bc3fb5e91c9d82433637c170c916303062e7435d8e6beb2ebc2d8de1e2c2ff8764a7fde896a18e1ae7a5da8dcff14c01e6c519273c2264a90f343eb840b32ef7570ca14397446ccb61b8c7dfeed98b18d57912e364af49c2219252c433528929dac229e1f91d07b55e5c24f965907da05bfa6b322487c567d29f35dfb3ca5956e9062e06c723bc1cc0f15f98762ca9833a22226872a95d10aa5bd068f985287d30cc100aac0a8d6eecb8b0e9e74f4d017fef80db2538ad4f596550e16e8140cc082ab68e2e91e40fae5b6485c7be885e5b768eb908fd707a17c554a39bb1148b342ace846a67d87926284e0f8e7f4428387e12cf1e90c28cc72e04349056a802080491d381beae7d4322e5356e168256cec0434e58bb958709b3288e15c8326c408e8985ebef443fdbcca877bd84eb10ca05d8748d10874257227f263d4a8dc1c3bb60db74656f1cb981ee73f43bdb271f6c43b78c1f81267ab4f6633d6c5996c13c59b0225d55e7eaed303a934aca0e736e39c5f5c9c24244c7512588ed03aa78a78a680f9745310fa117120c1cc177e2d598ff4acd9143ec3e2f895e8ae647401c8a804c97a8179fde61c058d5eace6d45fe18ad195e5d9deb9c984996dbe8631d77010022ef10e634b6effe3038d2fe5a5cd40dd4d4b307a7ce9b2bd5b61e663856f0a369afc767dd454e0e63bfd099bb604e8670fefcb234c1bbb34c017ed24c3286e9b4174c625bff3a076a5ea38e776b2f42feae0875ea5de558879b2d52080bba5933e7fb6be03386cb8ac032e8f5f91eacb41b8bde89ca34a2d6c6c1ed9166e0456cd56a11e84c4f635c76c11b6038d989513047d7f05ffed7e3bd364482fb5c6851a68a3e957b9a2f200430346b473f9fc6ace9956c6ed90b27ca0fe7c2f2a190b39751cba306aab28a3ea1e0fbf14a8dfeecca044427b3d491456f83071ef7cc4c1b06fabbfaaf678adb3981b12ee2c9ae304636600a70170312cee9e9b64bb61be3aec9ae31b9f74c069c4dcd84be86dabcd43d50052b3c27f1d41341d7976824d9a80a423a91a35e70597af1f3393bf7b48248d7ea39d403252f9d0d867acd1bd8cd70813d3938f1fb376e198a45b39a4db6a2187323df9347d0d9219f5171e9f640b3eea46507294c4847ef8a8196b635f7e1be2e2ecb680dad438b7393210f0f971051ccabcff0f5606053ecab880c4e732630d142b2ebaae931ed889d9f0a27f4aebf9860e6f72b3b3521e8fb886cd30d43bf2dda73239776de8f332668a94066204e717e57d6002f9ce286f0106c662cc54e01e7a99979792e0a7647323e703aea3f5094e0f437700fcf039a648075d88d0f662f800ec59b8376c785f847205ce8722f4cffb84c161516997812a2105d2da4df645c18973706c2ff074fa5e3016d677de176ae86e3e1ed6587386375fa0689821ac2cdfcc1c28c6f97f3b8195e209241c22fc5d57f6e23f7a28c2eabf9b175289098ca10b9b02e1a3a4260ef041c334f228bb5a6f5b9cc2277cd0f85c5a5eaddccff3bbb0d710bd9b77f4847e8857b44118be4612a55b6cf4c1618dbd98df8f0931d617f097790d44fbd94bfd771f8665b0a042ac42e235ae38341abbb59bfbb92f05d36f82b14376b0e3ee90bb6b08fe1301deb314ba06ec0ad8aa6084b41dd80fae9a766bf770811925500f66c95d4dd84a03652c83dd416e45c8728df57ffb225dc8e0d9afabc6ba36e75d32e32f0536b735c6f204cf93309ca509a607a7d2031443cd725b46e850dcb542aa2a5a14bffc689b790916765dedcc34803fbb9caafbd075d"}
|