rack-1.4.1

https://rubygems.org

rack

quick gemspec

.gem

.gem metadata (gemspec)

.gemspec

id: 5741

number: 1.4.1

platform: ruby

spec_sha256: 950267fff260a43070d5d3bb1d9fc40679a6c28b00a394b6434e03b4c7708d9b

sha256: 2005d0cee536e76b5d0dc853778e3f7840e98c38380265d6d2c45e44dee7a3b3

created_at: 2024-05-13 08:13:53 UTC

updated_at: 2024-05-23 19:12:38 UTC

position: 97

version_data_entries_count: 159

uploaded_at: 2012-01-23 06:51:48 UTC

indexed: true

has_extensions:

extensions:

Gem size: 164 KB

Version Data Entries

Total: 159

Unpacked size: 599 KB

Full NameModeUIDGIDMtimeLinknameSizeSHA
lib/rack/handler/fastcgi.rb644002.59 KB67d259ad3790989804b9ed9396537f4c8977b74874d98557f5c36bed716391ef
lib/rack/request.rb6440010.7 KBbab0590f9b099aad9a82ecb11204dbfb12a99ef674de158d9ecfedd7bf670225
COPYING644001.06 KB3a211f35e34d01898fa730ae58474d2da07bba90871f7a4f910af443e03d537b
bin/rackup7750055 Bytes4f331a529e56b01261f76c5c26f9d246ee310d7a918e82a2704381225a19d051
lib/rack/backports/uri/common_192.rb644001.62 KBf94567b1e50a8e66f3bb7aa8de007c16a82e184d365f67f01e28b97a2d5da824
lib/rack/config.rb64400277 Bytes4bd3bb789dc4d675235a35833c09a647a40b57bc7a707c5111720796bad4e387
lib/rack/handler/lsws.rb644001.54 KB274d9d75075289e27a98a1586b7427231237eff559a9a61d154dc2c31131e573
test/multipart/ie64400176 Bytescba8293b65bf638251052ec96f9461cd00a9e278cf61cd51b133276050fa2b8d
test/spec_server.rb644002.3 KB3e0e56bb4d4bc86e45ba90d3e0b479c5e6b7c55e1177302a2fe05c2ec1e0dfaa
test/cgi/test.ru7750096 Bytes42f165654d341b2bd6058629d951b3ab235d7fa5c1afd6476c90241515cea2d3
lib/rack/methodoverride.rb64400803 Bytes1be0cb32c271ce1562a0be2ef7c52c7eacdc7b41899ee7c03e0433acb82a1545
lib/rack/mime.rb6440030.4 KB93f0f787fb2776c9816edcdaef0b6e07572eb93949327dac15029fc7cb1d99b8
lib/rack.rb644002.65 KB98df93ed8574468bde499e87715dac08fbe57d1fafa23f06cc8f8b5c1833f71c
test/spec_config.rb64400574 Bytesc93bdbfd932030e8866a11b8bc591e4c9eefafdfb5ebb540086823bf183bbfa2
test/multipart/filename_with_escaped_quotes64400148 Bytes170a2565688e7ff2cff2099b7a2277132b5f9efc0977461b152fd1e84d45f677
contrib/rack_logo.svg6440035.4 KB37e805317b9db5d5d8ec695ed4362331bf1824026533b460e1861fe6fab1e407
lib/rack/showstatus.rb644003.46 KB1e9094c7cd015900f6e28edd0036c6b4f60a84377cc5947c4042b3303949b6ae
test/spec_file.rb644005.06 KBd9afd8afe88ae18ae9cf7290489d0fd206816cd315e093e249664cf8120d63a5
test/cgi/test.fcgi77500160 Bytes139290a9024c3f088589f96fc5fb9b567b7a92cb5ad1df23d125d3ab0bf0cd35
example/lobster.ru6440071 Bytes5b533e4e73179c6b04fed27826f60aa879fc7887a545f1dd11f739d1563b0df7
test/cgi/test77500193 Bytes7758d3101c4300ca3b3ee7c343400e1484982901fba7d9e18e6574215c4eaf7c
test/multipart/empty64400191 Bytesfd5bdae4f631d96dcf3d9f76abc2f1bd47774058d6312c534463b67e30a8470e
test/spec_auth_basic.rb644001.99 KBbb04a8b24062eb0f1317b172d8aa2bb887eee3e0591ef008580bc523c4f30056
lib/rack/conditionalget.rb644001.97 KB693e5d8bb51e47095e88a25b829b99a7615f8f84a1a8c9c0c29ccaead714e84d
lib/rack/nulllogger.rb64400386 Bytes9c086296aab5f3b43602a24ec05360f0011d7d13556be8883175af74a3833198
test/multipart/nested64400209 Bytesb34a5a40a95f1ee217772971fc16c939756128d362a57a677cafbb897cfa6f28
test/spec_fastcgi.rb644003.08 KB45f36f5752654554e001564219fd2de624c9dfadb6b9c4c569ba1fd4cff422e6
test/spec_recursive.rb644001.93 KB9d1594e40df2465852d87ddd3931c3858738cb7f8c9d14198a5645b71fd786dc
test/spec_thin.rb644002.46 KBd263ad9311e92da02724b075295e9e3300ca3b69b2bb1503f4d012ea850a25ff
lib/rack/recursive.rb644001.72 KBa9c4892beb4b1800bde5659e7afe997a2856518686a98a6f839fcb17fcb3e9a7
example/protectedlobster.rb64400373 Bytes3e51d5f44b1e83ce72657c50786e24c3df7820a7129b194b83c62340d536dab0
lib/rack/builder.rb644003.79 KBcc3ab506fbbcb93e57b7ca82f204f601834a51273fef52a67021107189de8d92
lib/rack/cascade.rb64400808 Bytes6e937d8bd47fd820134c9a37c436467a99570592072a994733a3ae655871cc69
lib/rack/handler/scgi.rb644002.13 KB93dee9ea01230ebc714e6c4e5e4010eea7a7dc84b020aba37de2b7f1f47bea48
test/spec_deflater.rb644005.41 KB479c2bb6fc66f1c566443448d2f4927a5501f36f31cc44d150ccadf7bc6a01e9
test/spec_handler.rb644001.8 KB29c6b3ba21a08924da75891b07dbcbcd0accd58cd658ee7038ba18cf9ed41252
test/multipart/filename_with_escaped_quotes_and_modification_param64400250 Bytes8bb15b013c81eb5debd6bcc338772673b73633b29ffa69149c188c1778fcd107
test/spec_response.rb644008.45 KB1f93d287f949a8b06e1bc2defa883b947ddffc9a2fac71f119061205083d8e17
test/multipart/bad_robots6440017.3 KBefa1d8dc632b23c95d50873fdfb2eb4239feee9534b88277a5007445c6f46798
lib/rack/chunked.rb644001.33 KBd20775d88e7b6b4ad0836d1354fdee1ed82f14c1dbfa31997c8c33055f6eab94
test/spec_nulllogger.rb64400320 Bytes3b22c8ef1e00a61570b67618c676a01f589c0098454c6ed99aeaa7f52e4350fe
test/spec_utils.rb6440020.1 KB6c6d0733926371f2ede3d736670d8b8358fea22d05d2c288d6991e33e51b9900
test/multipart/filename_with_unescaped_percentages64400218 Bytes7af9c425b498c19e599851d7462eeed92235d3966e04e2fe7c73be4a769c5ba6
test/spec_body_proxy.rb644001.63 KB1cada5a1cf10065ab17214bf780383ce62099319cfda0ee965e496774551f58c
lib/rack/logger.rb64400357 Bytes26cd41ad69d08d7835dddd47495d8783b25dfd51f1eced0cab326d31da9f2ecb
lib/rack/session/cookie.rb644004.52 KBbf0be1317952fa530ae48b0cd5f1dda6e37710db54ef111475214daea0bb400c
test/spec_builder.rb644005.58 KB2513b78695b98a6ae7d78bcf352e5b9ccb38e622963f8f4a58955c9142f86783
test/spec_lobster.rb644001.13 KB6f43d620d3f0d3722c86659203406d73742c7e68bd760e8efeede0ac3f764928
test/spec_session_memcache.rb6440011 KB925fce7b6a4e8b3eb32eb1a7ca597a3a43829a960bf50bd71f913772715b9974
lib/rack/auth/abstract/handler.rb64400789 Bytes4801fd89452d3d195b13e55a9996d617b95398e1c2462ed802d9511a3f167f9b
lib/rack/auth/abstract/request.rb64400742 Bytes7829f4abbe5e9e29c5b5ea777f8e36b1f04d3a58ed925e43d5b8372f6a2cb414
lib/rack/auth/digest/md5.rb644003.07 KB3c386a00a7269915f15caba8594557c351b0974494775550c17a3a4ab033362b
lib/rack/auth/digest/nonce.rb644001.19 KB9a5c45bfa131d943c25148fb42e56f74115ba56227586414a11efe74c0a088af
lib/rack/auth/digest/params.rb644001.07 KB6e85d70b8a7e0217f91179658ddc0a94a4b7215cfe8a156a96a1fea719e76096
example/protectedlobster.ru64400160 Bytes43d064fc213535460d6f360087a0857de972a8cc1bd356ed8dc5273a6acf6001
lib/rack/auth/basic.rb644001.16 KB413cbade9b38fc457e4b4734f34f69603de4fdcedf695c6bd3d8489cdd40a40d
lib/rack/auth/digest/request.rb64400955 Bytese419f86b9e3e1b654da8b069676c267786746ccebc530ad87a9eed2205139bab
lib/rack/backports/uri/common_18.rb644001.87 KB7413c125d15933bfa0d90b1bcd3e2aeafa62c7c384c6d2766616d290b0096842
lib/rack/body_proxy.rb64400500 Bytesd0abd0fc87c64ff0ca44c5761a13f1a5c4566e65cc6f01ee1d72d245ec5e78f3
lib/rack/commonlogger.rb644001.5 KB7dad41e96fbc7b75c96128050b773b016eac2b8797476a100e8f2e686e401ca1
lib/rack/content_length.rb64400765 Bytescd7a2da4c378b2259de6f2eb58fccf604056057ac9fae462e8772a7fb8a9158e
lib/rack/content_type.rb64400672 Bytes43159f586b5ea3d53fbbded5940aa84baa17916f33b1011d9eff8fab95e88b6f
lib/rack/deflater.rb644002.71 KBeda5421f5965ffbf3f07d2fba2cf91450315fe883eba3dd93bc0f9fd86691f21
lib/rack/directory.rb644004.01 KB2db7e6159a8fe5b8e8f1fb12017a55bb11ea6c77cb1e0567494ff2d6c2ac73c3
lib/rack/etag.rb644001.78 KBd61a10755259f6a66bf3e912c2d48b206490d9f5b5fe02fa735b3ea174737f2a
lib/rack/file.rb644003.6 KB50065f7d3ab16f66e1ef8343b37d8bf44b2ef516c609c591dcb9a4d9e3ad27d4
lib/rack/handler/cgi.rb644001.53 KBcd263ba229c4b23219a3876010ee7eabfe337b8c964f4e14a7974c2419854b32
lib/rack/handler/evented_mongrel.rb64400128 Bytes3e7f277d3f7b61b34e78453a20a5e4629d76c71a90d0e1a70deb32f05c306f06
lib/rack/handler/mongrel.rb644003.31 KB431a3597727c6d805cd91a3dec5ca84e14d994ccf79f5b24784a2b72787a3946
lib/rack/handler/swiftiplied_mongrel.rb64400136 Bytes1ca807f1b0dd0c9cad4caef3111ada1d8742d7c8ad343e0a7bf58c6f95277816
lib/rack/handler/thin.rb64400594 Bytese4cc2f7a797291b15d6c8e668416f59577d963c4c264eedc89afabbaa7f4460e
lib/rack/handler/webrick.rb644002.35 KBb38539cbe84292e31228889714f8dfe10493d8da6b22ce131c9170e71d7fe280
lib/rack/handler.rb644002.73 KB5c80bf57aede8c1583b578248bb87befb4f3eab398ff7f95683e86645958c5a2
lib/rack/head.rb64400257 Bytesf7f0b32c502afac0ab00c97d04b83c09ef17931e5a3b2c4a0f5e24132ce31874
lib/rack/lint.rb6440021 KBd1586d68455cbfbb28d0b8d26cfc7a17546550b3b73b9aa712c81e4459a060dc
lib/rack/lobster.rb644001.84 KB6220cfb8434eaeba8c812ca873b91cfdc412957e1cc3f5b83f4501549e4fba05
lib/rack/lock.rb64400483 Bytes7da1a8ceacfed5dcfb5863203dbbf2ca565d3fa6a0094818f2335f66e4fe28ba
lib/rack/mock.rb644005.24 KBff6a267c7f78b00e7aed4afb54dcde8170b5701b33480b74cc191751fb0a2f87
lib/rack/multipart/generator.rb644002.25 KB6e4fb6619bf0bc88eae8fd51bb985abc952c0201ec85da386c231f0ab8353663
lib/rack/multipart/parser.rb644004.55 KB337501fc7992556d322c462ebafd7b1793fcf54cb94f7fad8e1f70d7eb1b1bbe
lib/rack/multipart/uploaded_file.rb644001.01 KB10457ba3d13871437d27d2ff2fca9114facd9e4720a7ae1e5e285c250121511c
lib/rack/multipart.rb644001.14 KBfe815821c2bb52a0b21f45599bb0444981436d0909b0c506855f79eefedc2979
lib/rack/reloader.rb644002.96 KB8125d24a79c8391c79f4309f4fae6592426fe3d6ff62ce34a86222c7e4924e63
lib/rack/response.rb644003.99 KB112f7037059fabdc28fdc2aa77ae8aeb24b8b5119866c0dc759aad0a3599e42d
lib/rack/rewindable_input.rb644003.19 KB3505fb35b862b9b1640a520331a7ab32999a7d0abeb35eca36d8ddc7769307fa
lib/rack/runtime.rb64400710 Bytes130315e554c1270111a82966b1171c1325f5bd321cb37c63ff7b44ff4ec14010
lib/rack/sendfile.rb644004.44 KBba6825fac684c17a1ce51d8f1445005e9848f9c4ef3d00c0b8a654d701f7ae4d
lib/rack/server.rb644009.23 KB386c58b4e65054a5f34ab64755a1a690ab78c8600eb52b9e97d4e88009837ee1
lib/rack/session/abstract/id.rb6440011.2 KB21b2f6d5d152a6869e8ba21a5a645d4babe29928a4adf89fa83243858d875429
lib/rack/session/memcache.rb644002.74 KBd41ed658b5c21046e7f3d53fe1bb099da0216a01b9f809d86087c9f5016d7424
lib/rack/session/pool.rb644002.05 KB30d9c7ccfe50f7f8113200fd3607f1a6400ace31a2893fabc04af9853928e3b6
lib/rack/showexceptions.rb6440011.6 KB6cb82ef18d973b203ea155c76db7ba9c96e2bdc1bab4592b072853e8c58b03f6
lib/rack/static.rb644002.14 KBf8457295697ce5764b308d1df0196e7bca3ed536119c4fc64b2af6b72cb9c2e1
lib/rack/urlmap.rb644002.07 KB06f6eb29c04d30a77b957c6bf00464928c38f00683ff824921ac31ff60583425
lib/rack/utils.rb6440015.7 KB257138061e343e0e874699b15735efe7663b7a185ebfa2a9ecdc097c405ff295
test/builder/anything.rb6440098 Bytes62dff686f9c449da9c8295645262a820384409662449b6cd7681b60af7f1de35
test/builder/comment.ru6440082 Bytes9daa23d0503047ec9f1d0b2b9bc7cc7ce20be71f66297b7454b75976978760f4
test/builder/end.ru64400121 Bytesa0d27c81b98274ba5fb71b774bf0d7d99cef5a4a93e5e80d22cdfe4f4f449ef3
test/builder/options.ru6440075 Bytes893382ad342ae8918a90b7ca3ff270d4e555543483321c35f88095f27a209110
test/cgi/lighttpd.conf75500953 Bytesd57382e35553c3a2a7414225d253e9b7b9e22707f8491ed83f7ab6bed04eda86
test/cgi/rackup_stub.rb7550093 Bytes1879e2793600b34094879adceae645128dd050b6f84b949d5b2f86a073d59f81
test/cgi/sample_rackup.ru7550078 Bytesf261badbdfc364d56642cc86762f81edd6ad23dd8c576b940d4b3b4cf8792b54
test/cgi/test+directory/test+file6440023 Bytes34283b6aa4cb2cdae63ea1ce1c1979852d550a6c9592a57d67b740e59e5edf75
test/gemloader.rb64400298 Bytesc2739363328d1c324b078b102df6b6831e2f57e64e433362798ca0e721e2574d
test/multipart/binary6440026 KB741aa27922be03c99602b6ff5e6cb2f8010e0aec4053718ea400fc970d3c64a4
test/multipart/content_type_and_no_filename64400123 Bytes01bfa52b834e8ff476a14f0fa7daa1ebc6fc9de9a2c8c4b4ec5d0e5af82b34ac
test/multipart/fail_16384_nofile6440026.6 KB0d8dd620ce042606d0f71f161aecc59b7ad827cde0509441f17edcf4db967252
test/multipart/file1.txt644008 Bytesd1b2a59fbea7e20077af9f91b27e95e865061b270be03ff539ab3b73587882e8
test/multipart/filename_and_modification_param64400240 Bytes4b6d6cd78695611eef3542174ddbc5ce14e999a3e2d6566df030e58463ae16aa
test/multipart/filename_with_percent_escaped_quotes64400149 Bytes03c6979102a2410dd525eeab6ff2257e5a44148317e6011c0676a03b5c5d14d6
test/multipart/filename_with_unescaped_percentages264400203 Bytes2c3dba007bdcfe041263fed4943ca703453cee301669a459d725547c4d3ea582
test/multipart/filename_with_unescaped_percentages364400202 Bytes508c6c3db9bba8b589ffe2dcb0789d2b3073052907b6c02534a9c3b0c042e64e
test/multipart/filename_with_unescaped_quotes64400147 Bytes5afeb336569bfeb7534609297968241c7cbfbddcc8dce76bd78ea98bed6148c9
test/multipart/mixed_files64400433 Bytescb30e54bf59cb118313830f5afaf231ee4bca36b5bf3de716340a19ccc89333d
test/multipart/none64400156 Bytesb451672cde9637a3ce7d2f358658ff3b47f8ecddf5b549497ac912e48389ee41
test/multipart/semicolon64400127 Bytes10aa35f286634b02f8d69f91564b462c35f651aeaaff4ec5f3f4d4ce45e4257e
test/multipart/text64400307 Bytesa308ea4d5369ad6887bd21308fa81f2a954b825839ef199e2e8c47be70dace81
test/multipart/webkit64400811 Bytesc6e3111d907f83708064960326f8def9eec1871a1ce15672f2c152dd865c6da8
test/rackup/config.ru64400843 Bytes45d541180c5477897e47dc1c14d61f31c8867905cfec43e6b5957e071ad27aab
test/registering_handler/rack/handler/registering_myself.rb64400127 Bytes67f10eb59177acc4a23cf30b46d065e66d74d5c61faff87a02cb5396a7ef6638
test/spec_auth_digest.rb644007.63 KB39556a23f6c557405c62f4d2e2d1e59ee84eb90dda1bd543912d0ae96660bfd7
test/spec_cascade.rb644001.86 KB1f2bfbf92f8492ae173188585629236f05049187bd83ce4fd5fc7238c659ae1f
test/spec_cgi.rb644002.92 KB110c0e4a3b53b531bc2eb8353f3e925b956e0a4f73c7bad53f91e531f7a62ef3
test/spec_chunked.rb644003.36 KB964cfb5dafc1f92328231383c73d4cc9df600b82aae7900ed4e395b614b6d9f1
test/spec_commonlogger.rb644001.42 KB727510ab2fc2cd0f2cc0725c7d31c247e9856db2616be2fdbd77bc75c847852a
test/spec_conditionalget.rb644003.28 KBb16571236ac956dc391c9de528742e84533d0d393237139273b24f8401a8e5c9
test/spec_content_length.rb644002.53 KBd8ff311f25044b5b315f7245b3757090b4cf0da0d95cc32b77a40873edfbc676
test/spec_content_type.rb644001.31 KB2dc7c196a4d590fd4a8362a14034dea12b39c757b4158486cf730292587c87fb
test/spec_directory.rb644001.73 KB093b4fa8cb72f0f978d9274af48ca0d56713c35cf37b8c029a3e9394ce48c6dc
test/spec_etag.rb644003.2 KB677e730da07ae081e14a88a5091d82f580c8c97c2c13b0e536b2348a1747a968
test/spec_head.rb64400929 Bytesfdaa0327910e8059cb1a348e295bd010cb9a7343c495c07fdf24c628ebbb8d88
test/spec_lint.rb6440017.5 KB464610035b56aa52547e4f01c276f67478cd40e9649279923d47327b31600099
test/spec_lock.rb644003.63 KB7b9453e0a805f4de7cc5c10b5fcb92eca6fb4271c26056cfc0adc03d7cfb994f
test/spec_logger.rb64400822 Bytes93d49caac1004eb2ed0d53c74ffc4e2aecb67cb93f739bfc3603d8897cbe7a0e
test/spec_methodoverride.rb644002.56 KBb160e52ac335f07db9c4fe6b6470a8514e018be8ea9e888fedf2877b1427292b
test/spec_mock.rb644008.83 KBd61b6e09f941a5f1d3ed6330aa334d98df674f04358bb73f9bb2aea5886e60b9
test/spec_mongrel.rb644005.73 KBbbede4acfac058e2502536aa511a9706c6b3102e7e796f10836923d077594452
test/spec_multipart.rb6440015.6 KBab6e4c6abf1256b4b75a8eaa9df067ae2a1eaf0d0db793e4bf1ae37f744cc643
test/spec_request.rb6440031.6 KB7b76a04c0540f042fdb0ce228580e3c584e827b3813b0005b4a43cb861b2d0c7
test/spec_rewindable_input.rb644002.78 KB7e56aaa1de8ca5dfba1a007878a81d8402672dc4cdf91664d1d6780db693aad8
test/spec_runtime.rb644001.36 KBd547f9353186a5fa4e84e6a4fc252f0e079890b150909cb51e4a149cd0f05804
test/spec_sendfile.rb644002.57 KBd3875f4d4e509b4d6201a678d52b78c12fa8bb4720bef400fdf5f2fcc877f860
test/spec_session_abstract_id.rb644001.01 KBfffc81fd45d8e012410415a6032d4f15f61ad5902bf3232508fc9d86b70d2b85
test/spec_session_cookie.rb6440010.4 KB4b7b522c51dc1e417d31861ade479a06338aeb6a754629ca4d9531f37d73d4a6
test/spec_session_pool.rb644006.39 KB2fc6780ec6e480cc45f0662f02eef22bf3dd1149e2710bdc2e5a4c790a5e0d1a
test/spec_showexceptions.rb644002.06 KB7a93a88854541e218d3305c4b728de35441c48e568e5678533c55072b23ab9ca
test/spec_showstatus.rb644002.15 KB75546e1a8ed3f3dc5e91a71fc2d23e7c37b23a2ab876175c12a476454d04fee2
test/spec_static.rb644001.89 KBf1dd08a9596a88c68eddfba161a067d7b65dc46a73c52cd1100574001a07af23
test/spec_urlmap.rb644007.86 KBccc5cf1821e5f971fab6dba6f80233e32d33ff4c2e0d932f0e1bcf6a900a59ba
test/spec_webrick.rb644004.53 KB935333e47f2412a96b5cba3ae19b8b75e1bb5e1b5746095019375d66c27af661
test/static/index.html644007 Bytes441174b3f20f3b0001c3f6d855a8e6675edcb9f7cd2b6a3bcd66d09f7b7c516e
test/testrequest.rb644001.96 KBeeed5b8be960a4352c2b0a59afd890dba282f5a3de44af232235db820f1cff9f
test/unregistered_handler/rack/handler/unregistered.rb64400139 Bytes66e9d0ff888664f4a78d34a85fe4ab7b835e846e0f43227e0418bdcfc753a12a
test/unregistered_handler/rack/handler/unregistered_long_one.rb64400146 Bytesd4844e6d568d1baebebe28ac5a9901085fa0e6a15658afcaaef101bbc5672bb3
KNOWN-ISSUES64400582 Bytes93153ed5a3404f37d066af4992a6765d1e0fae3c563764177a3bfa2042b839fd
rack.gemspec644001.34 KB56367415c6f9647303d5e6cbc553f35cfbe21e8319d3ccb666aac7ace19e648c
Rakefile644003.18 KB014909182a799b7581aaa223bd59346f019a48b9f50dfc42b40e57ffd7f9146d
README.rdoc6440018.5 KB44be6128d4cdc9e29b9cc47da40db95d884ff54a8074cd10e1701c6eea5782bf
SPEC644009.24 KB0a54d81196918a174bb24ec579d9041d00c87a5eccf3a09cf421fe6c23727926