aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-13[build] remove #ifdef ENABLE_WALLET from interfaces/nodeJohn Newbery
Removes the final #ifdef ENABLE_WALLET from libbitcoin_server by calling g_wallet_init_interface.HasWalletSupport(), and redifining GetWallets() and MakeWallet() in dummywallet.cpp.
2018-09-12Merge #14204: build: Move interfaces/* to libbitcoin_serverWladimir J. van der Laan
e0664f7f54aa9cf99ba31ca4bd9de1db0a9310a4 build: Move interfaces/* to libbitcoin_server (Wladimir J. van der Laan) Pull request description: Move interfaces/* from libbitcoin_util to libbitcoin_server. Usage of these is shared between `bitcoind` and `bitcoin-qt`. It is unnecessary for them to be linked against the other utilities. Also semantically they belong with the server/node, I think. Tree-SHA512: f82f3a95d362051c0eb8092520715f77c2c75409d41f9c0fab9a15445ea9e79a2a36b5d00b1f5be09b266584051934a32a8b9b28f783f4d7be78885b4a29a383
2018-09-12Merge #13886: utils: run commands using utf-8 string on WindowsWladimir J. van der Laan
23db9546c16c2be264cfc4f695f5738a2f5beeeb utils: run commands using utf-8 string on Windows (Chun Kuan Lee) Pull request description: Use unicode string to call commans Tree-SHA512: 72f84e7b56cd947ad05176f10b5ddd5610f4641ba5e93ffd67777dea8f9734ec06e6ed3a63f67ae5e766767122c0dd2c441d0bad5572bdb9fb78758f02531feb
2018-09-12build: Move interfaces/* to libbitcoin_serverWladimir J. van der Laan
These are shared between bitcoind and bitcoin-qt. It is unnecessary for them to be linked against the other utilities.
2018-09-11Merge #14168: Remove ENABLE_WALLET from libbitcoin_server.aMarcoFalke
7d038dcb41 [build] remove ENABLE_WALLET ifdef from httprpc.cpp (John Newbery) 3076556cd0 [build] Move dummy wallet into its own .cpp file. (John Newbery) Pull request description: This removes the final instances of ENABLE_WALLET in libbitcoin_server and so completes #7965. Tree-SHA512: a49128b7c17f4f69940d5843e6b785f08687efb377b5157d5b267d1205e596eb5c1966f1afb8ab36bcc2491c46252099e3e844c91f5623da8ded2e358d46338d
2018-09-11Merge #13734: gui: Drop boost::scoped_array and use wchar_t API explicitly ↵Wladimir J. van der Laan
on Windows bb6ca65f9890e8280ace32de5a37774e14705859 gui: get special folder in unicode (Chun Kuan Lee) 1c5d22585384c8bb05a27a04eab5c57b31d623fb Drop boost::scoped_array (Chun Kuan Lee) Pull request description: Drop boost::scoped_array and simplify the code. `TCHAR` should be defined as `wchar_t` if `UNICODE` is defined. So we can use `.toStdWString().c_str()` to get wchar_t C-style string. Fix #13819 Tree-SHA512: 3fd4aa784129c9d1576b01e6ee27faa42d793e152d132f2dde504d917dad3a8e95e065fcbc54a3895d74fb6b2a9ed4f5ec67d893395552f585e225486a84a454
2018-09-11Merge #14184: Scripts and tools: increased timeout downloadingWladimir J. van der Laan
e7a72455fa4d5c5b1a37ceae1ec557354b3009c2 Scripts and tools: increased timeout downloading (Emanuele Cisbani) Pull request description: DOWNLOAD_CONNECT_TIMEOUT changed from 10 to 30 because some file start only after 15 sec (see below). ``` Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:15 --:--:-- 0 100 76.7M 100 76.7M 0 0 1863k 0 0:00:42 0:00:42 --:--:-- 8136k /home/gitianuser/bitcoin/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: OK ``` Tree-SHA512: 43250df818eacedeed5fa3cc8453ecedbf564776fa1c6124e872f46d123423f8bdf174a47389dce7d6cc6b96791953b1bb2f96ce3df6c156415f0c3de2d5cc76
2018-09-11Merge #13419: [tests] Speed up knapsack_solver_test by not recreating wallet ↵Wladimir J. van der Laan
100 times. a679109be40491222c458fdbef58f68509dae0bd Speed up knapsack_solver_test by not recreating wallet 100 times. (lucash.dev@gmail.com) Pull request description: Optimization of `knapsack_solver_test`by moving an expensive wallet creation to outside a 100x for loop. On my (slow) machine: ``` before: 9.8s after: 6.2s -------------------- saved: 3.6s (36%) ``` This PR was split from #13050. Also see #10026. Tree-SHA512: bde1a856b5f076a5845e14d1a924855c8c91742c3139b47903081289b21d01fef6f2d1fd8947058728a57de56f877bab3866af8cd1d25ba2daa44411752cdb2f
2018-09-11Merge #13558: Drop unused GetType() from CSizeComputerWladimir J. van der Laan
893628be0166b4096b6e52f516e0f65bb63a75a2 Drop minor GetSerializeSize template (Ben Woosley) da74db0940720407fafaf3582bbaf9c81a4d3b4d Drop unused GetType() from CSizeComputer (Ben Woosley) Pull request description: Based on conversation in #13462, it seems the serialization `GetType` has very narrow use/effect. In every case except for `CAddress`, which specifically relates to a network peer's address, not a wallet address etc., the serialized representation of an object is irrespective of its destination / type. This removes the unused `GetType` method from `CSizeComputer` as a step to further narrowing that use. Tree-SHA512: e72b8e9e5160396691e05aeaee3aba5a57935a75bd5005cfcc7fb51c936f3d1728a397f999da5c36696506dd815fafa5c738f3894df8864f25f91f639eba9c3d
2018-09-11Merge #13866: utils: Use _wfopen and _wfreopen on WindowsWladimir J. van der Laan
b9babc82dd6a0a4f6f623fcbe5330962eb37eccf utils: Use _wfopen and _wreopen on Windows (Chun Kuan Lee) Pull request description: The fopen function does not support unicode filename on Windows, so use Windows specific function do deal with it. Tree-SHA512: 4dcf14dcf9ec6307b9fdf95404e5b6b6b3df640949fd4b0c4ac7fecf8ea03a64fa25285fc319c4ff8a28e586eee106f1861116c181694955497402b2bf575f22
2018-09-11Merge #14162: gui: Also log and print messages or questions like bitcoindWladimir J. van der Laan
fa7e9694e1ed5406036620d4bf0b72a2aa984578 qt: Also log and print messages or questions like bitcoind (MarcoFalke) dd031e383975ae42b4cddd9a5bf6080ef5b46afa noui: Move handlers to header file (MarcoFalke) Pull request description: Testing and debugging after shutdown are harder if the node was run through the gui, because errors and warnings would not be logged to the debug.log or written to the stderr (as is the case for bitcoind). Tree-SHA512: 1154e2bf02e3c2616c8d28609569d6c3c7344c5877ad5c1303245044cc7aced9eaec9627f1e1258ed087b49c2a2e6f99bc6c1ad0abe0a855b61e737bdf2059bc
2018-09-11Drop minor GetSerializeSize templateBen Woosley
Now that `GetType()` is not propagated, the benefits are not worth the code.
2018-09-11Drop unused GetType() from CSizeComputerBen Woosley
2018-09-10[build] remove ENABLE_WALLET ifdef from httprpc.cppJohn Newbery
2018-09-10Merge #14189: qa: Fix silent merge conflict in wallet_importmultiMarcoFalke
fa263bcfe4 qa: Fix silent merge conflict in wallet_importmulti (MarcoFalke) Pull request description: Fixup to 13c842e Tree-SHA512: 622616d5259cc639f6a8709c80c1f21abb8b21470412cbe3904c5e63c3c3b55a4472a37d7ae579a7f1d1af10bccb8a187dd9957d00975d10854047f7650bde76
2018-09-10qa: Fix silent merge conflict in wallet_importmultiMarcoFalke
2018-09-10Merge #9332: Let wallet importmulti RPC accept labels for standard scriptPubKeysWladimir J. van der Laan
98ea64cf232c34d4b1aebe738b3956191667cd76 Let wallet importmulti RPC accept labels for standard scriptPubKeys (Russell Yanofsky) Pull request description: Allow importmulti RPC to apply address labels when importing standard scriptPubKeys. This makes the importmulti RPC less finnicky about import formats and also simpler internally. Tree-SHA512: 102426b21239f1fa5f38162dc3f4145572caef76e63906afd786b7aff1670d6cd93456f8d85f737588eedc49c11bef2e1e8019b8b2cbf6097c77b3501b0cab1f
2018-09-10Merge #13793: tx pool: Use class methods to hide raw map iterator impl detailsWladimir J. van der Laan
faa1a749428a195af784633eb78e1df5d6a0e875 tx pool: Use class methods to hide raw map iterator impl details (MarcoFalke) Pull request description: ATMP et al would often use map iterator implementation details such as `end()` or `find()`, which is acceptable in current code. However, this not only makes it impossible to turn the maps into private members in the future but also makes it harder to replace the maps with different data structures. This is required for and split off of #13804 Tree-SHA512: 4f9017fd1d98d9df49d25bba92655a4a97755eea161fd1cbb565ceb81bbc2b4924129d214f8a29563a77e3d8eef85a67c81245ecdc9a9e5292d419922a93cb88
2018-09-10Merge #14008: Preserve a format of RPC command definitionsWladimir J. van der Laan
d9d79576f423cd9c5cef4547c7e3648dbb339460 Preserve a format of RPC command definitions (Kostiantyn Stepaniuk) Pull request description: Currently, RPC commands are formatted in a way that it's easy to read and that `test/lint/check-rpc-mappings.py` can parse it. To void breaking `test/lint/check-rpc-mappings.py` script by running `clang-format`, RPC command definitions should be disabled for clang-format. Tree-SHA512: e17d20ec0e6c4e19410198b55687ebbe6fa01654d214d4578cd16c00b872bf8b0b306594a45523685cd2e9d9280702e00471d9366e87954428e8bbeacd8cad60
2018-09-10Merge #14127: build: avoid getifaddrs when unavailableWladimir J. van der Laan
9256f7d13f5b68ebc2981e8f45777f4bdc43f1b3 build: avoid getifaddrs when unavailable (Cory Fields) Pull request description: These changes from @theuni help building when targeting platforms that don't always have getifaddrs available like Android < 24 Tree-SHA512: dbfeb83297bd6f00b7991f53eef8a04948d2d739bf47c0524d9ae5335b843b8a5c06ff98c109fe5e6192665e6d0cf58700b8aa7e2a0b410281d3c052881973ff
2018-09-10Merge #14138: wallet: Set encrypted_batch to nullptr after delete. Avoid ↵Wladimir J. van der Laan
double free in the case of NDEBUG. fa462b365715928d2c6eb52ca6a448f367084f0f wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG. (practicalswift) Pull request description: Set `encrypted_batch` to `nullptr` after delete. Avoid double free in the case of `NDEBUG`. Tree-SHA512: 6f5ab40c82dd8c8713bbf1aacacdc837277c04769807f985248546be1c7ea269813c95379fbef982ac5683a45af0225613460a7446c39673b033f5f5edde2f5a
2018-09-10Merge #14054: p2p: Disable BIP 61 by defaultWladimir J. van der Laan
faea5bfc5a975874acf763082852ed532ed81a95 doc: release notes for -enablebip61 default change (MarcoFalke) fa14b54a872ef0ff755e3c1c0775904ca33cb5ff p2p: Disable BIP 61 by default (MarcoFalke) Pull request description: The live p2p network should not be used for debugging or as development aid when implementing the p2p protocol. Instead, applications should be tested locally (e.g. by inspecting the debug log of a validating node on the local network) Using the p2p network for this purpose seems wasteful and even dangerous, as peers can not be trusted to send the correct reject messages or a reject message at all. Tree-SHA512: 9c91ad035b5110942172a3b4b8a332a84e0c0aa9ee80f8134aeab63e66ac604841e68b04038681c288b716e5e0cbe38065eb5c7eb63fa72c3bdb3255a4b2d99d
2018-09-10Merge #14183: depends: Remove unused Qt 4 dependenciesWladimir J. van der Laan
7177e093f9e4ae0dcf1bb46e93cb15d367d3dad5 depends: Remove unused Qt 4 dependencies (Chun Kuan Lee) Pull request description: Remove 2 unused Qt 4 dependencies: libSM and libICE since #5819 Tree-SHA512: 5d78dc1c14f38a65e70e04bbdf66cc9f357c1c36d37222e709172246be0ef275fd8ae314b176e5daa00f15a82edf4864bfccdd581cb4850b5cf725f8cdfd4ae3
2018-09-10Merge #14164: Update univalue subtreeMarcoFalke
dc287c98f8 Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6 (MarcoFalke) Pull request description: This removes the deprecated `std::pair` wrappers from univalue, so that they are not accidentally re-introduced in our code base. Tree-SHA512: 46f6f7c7c7942a9e131d971c425cbde4159abcc1214235b61139ce97b174024e47b9c52e832cde89fbab9879f43d12c26b64d6def9907bd47883f1e574cf2e2e
2018-09-10Merge #14057: [Logging] Only log "Using config file PATH_TO_bitcoin.conf" ↵Wladimir J. van der Laan
message on startup if conf file exists 946107a68ffce8c586f9f1657fd7d67d075c321e Only log "Using PATH_TO_bitcoin.conf" message on startup if conf file exists. (Alexander Leishman) Pull request description: Currently we log a message indicating that a bitcoin.conf file is being used even if one does not exist. This PR changes the logic to: **If config file does not exist and no -conf flag passed, log:** `Config file: FILE_PATH (not found, skipping)`. Where `FILE_PATH` is the default or the path passed in with the `-conf` flag. **If config file does not exist and -conf flag passed with incorrect path, log warning:** `Warning: The specified config file FILE_PATH does not exist` **If config file exists, log**: `Config file: FILE_PATH` Note: This is a (modified) subset of changes introduced in https://github.com/bitcoin/bitcoin/pull/13761 which creates a default example config file. I think it makes sense to extract this small bit out into a separate PR. Tree-SHA512: be0f0ae6a0c9041e2d6acb54d2563bbcc79786fb2f8bf9a963fe01bc54cd4e388b89079fde1eb79f7f17099776428e5e984bf7107590a3d1ecfc0562dbc6e3f5
2018-09-10Merge #14186: bitcoin-cli: don't translate command line optionsMarcoFalke
bc8aa2ba78 don't translate command line options (Michael Polzer) Pull request description: sneaked in with 4f8704d57f8fb2958a43534779b20201b77eecae #13112 Tree-SHA512: 90489e7f4eb689d205c0b5e2f8d673e8283f2f0a855c9cb3909b8cb1cfd6b4b18b4643624c0e4f21ba03a15f2ed70dca186fd11cce2d57841424964b13b390c2
2018-09-10don't translate command line optionsMichael Polzer
2018-09-10depends: Remove unused Qt 4 dependenciesChun Kuan Lee
2018-09-09doc: release notes for -enablebip61 default changeMarcoFalke
2018-09-09Scripts and tools: increased timeout downloadingEmanuele Cisbani
DOWNLOAD_CONNECT_TIMEOUT changed from 10 to 30 because some file start only after 15 sec (see below). Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:15 --:--:-- 0 100 76.7M 100 76.7M 0 0 1863k 0 0:00:42 0:00:42 --:--:-- 8136k /home/gitianuser/bitcoin/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: OK
2018-09-08Merge #14119: qa: Read reject reasons from debug log, not p2p messagesWladimir J. van der Laan
fac3e22b18cd29053bc17065fd75db7b84ba6f40 qa: Read reject reasons from debug log, not p2p messages (MarcoFalke) Pull request description: For local testing we don't need to rely on p2p messages just to assert a reject reason. Replace reading p2p messages with reading from the debug log file. Tree-SHA512: fa59598ecf5e00cfb420ef1892d90aa415501fd882e1c608894dc577b0d00e93a442326d3a9167fef77d26aafbe345b730b49109982ccad68a5942384564a90b
2018-09-08Merge #12775: Integration of property based testing into Bitcoin CoreWladimir J. van der Laan
b2f49bd7325989267017260a9e7c843588a8c237 Integration of property based testing into Bitcoin Core (Chris Stewart) Pull request description: This PR is a subset of the changes in #8469. It's meant to be easier to review. This PR contains all of the build instructions needed for travis to pass. It includes one property call `key_properties.cpp` along with a generator file called `crypto_gen.{h,cpp}`. Tree-SHA512: 895c9d9273dcd29f696b1de8dfe1ee843095831bf1f68472844181278850bec36b20f0ba7e51e796112c5cc75cd24759f9f1771906503bbf3af16f627e18c6c9
2018-09-07[build] Move dummy wallet into its own .cpp file.John Newbery
Removes the ifdef ENABLE_WALLET from init.cpp.
2018-09-07Merge #13662: Explain when reindex-chainstate can be used instead of reindexMarcoFalke
65a449f8e3 Explain when reindex-chainstate can be used instead of reindex (Sjors Provoost) Pull request description: Save users from having to Google this: https://bitcoin.stackexchange.com/a/60711 Tree-SHA512: 3128565d037c77265a2ecf3bce137b8d27740f513802a4e683be06f21a75b82ee6cc22eb903181c4f438a2990cb682ce1d076f4d3af33d5aaa79b783a9f664b1
2018-09-07tx pool: Use class methods to hide raw map iterator impl detailsMarcoFalke
2018-09-07Merge #14153: Docs: Add disable-wallet section to OSX build instructions, ↵MarcoFalke
update line in Unix instructions e351a16a2a Remove reference to deprecated RPC call in build instructions (Michael Goldstein) a6f16f1b1a Docs: Add disable-wallet section to OSX build instructions (Michael Goldstein) Pull request description: The `disable-wallet` section was mentioned in the `Berkeley DB` section of the OSX build instructions, but the section did not actually exist. This PR ports the section from the Unix build instructions. Tree-SHA512: e32f10f3b92307325f2101e89d3e18c89346916e70117c208ad7441170c4aee65b636ea4f7dd1cb0ecf0e800c1aa7c37fa73125e69ecdd539bc862e651b79b16
2018-09-07Update univalue subtreeMarcoFalke
2018-09-07Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6MarcoFalke
7890db99d6 Merge #11: Remove deprecated std pair wrappers 40e34852ac Merge #14: Cleaned up namespace imports to reduce symbol collisions 85052a4819 Remove deprecated std::pair wrappers d208f986dd Cleaned up namespace imports to reduce symbol collisions git-subtree-dir: src/univalue git-subtree-split: 7890db99d693572d27ade3e14268bd7236134529
2018-09-07p2p: Disable BIP 61 by defaultMarcoFalke
2018-09-06Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features from ↵MarcoFalke
bitcoin_server f7e9e70468 [rpc] Remove deprecated sigrawtransaction rpc method. (John Newbery) 90c834089a [RPC] Remove warning about wallet addresses in createmultisig() (John Newbery) df905e390e [rpc] Remove deprecated validateaddress usage. (John Newbery) Pull request description: The following rpc features were deprecated in V0.17: - `validateaddress` returning wallet information about an address - `signrawtransaction` This PR fully removes those features. It can be merged once V0.17 has been branched from master. Tree-SHA512: 28293d218cf7e348632081e362f8775f243d091f49aed54c354f017d4a12ae92b87b99f81ee592a1bbf4aebd5d8cd5119278141edde7a0399ff82917ed68b9f6
2018-09-06qt: Also log and print messages or questions like bitcoindMarcoFalke
2018-09-06noui: Move handlers to header fileMarcoFalke
2018-09-06Merge #14149: doc: Remove misleading checkpoints comment in CMainParamsWladimir J. van der Laan
fab52675144480c96c5564da4650205f1a41b08e doxygen: Remove misleading checkpoints comment in CMainParams (MarcoFalke) Pull request description: This removes the checkpoints comment because it is misleading for two reasons: * It shows up in the doxygen documentation of `CMainParams` https://dev.visucore.com/bitcoin/doxygen/class_c_main_params.html * The comment refers to "strange transactions" in a block, which are not specified further. Transactions in blocks are always consensus-valid or rejected as consensus-invalid. Also sort the includes with `clang-format`, as the file is touched anyway. Tree-SHA512: b75f38dd0422b9310218307cbaa4dd5afa7579612d7dcdf781b8f25626f79c11e090dbcc83a05571f4418220c1a005f6254a9c461534d517ccecf7f1920be6be
2018-09-06Merge #14096: Add reference documentation for descriptors languageWladimir J. van der Laan
2b5d6f8df24b381d35b75187c97ae0cc9f7c3ed0 Replace duplcate reference with reference to reference doc (Pieter Wuille) 89709db7a2710456011eac9dcd6a60d5e87b97ae Adjust TODO link (Pieter Wuille) 9254ffcf2d910ecb0f9ecbeef6d40a2008a44870 Add descriptor reference documentation (Pieter Wuille) Pull request description: Tree-SHA512: 1ca0d537f9bcbb23266e9a4a02a60013ef8309958fb701f638283887585b5ddea6bc9dab859454ec3a373b1a12a4fd69836e7030417bb2ca43fef26b104c0d65
2018-09-06Merge #14105: util: Report parse errors in configuration fileWladimir J. van der Laan
ed2332aeffb071a3404be9cff8f9fb8a81a9fbfb test: Add test for config file parsing errors (MarcoFalke) a66c0f78a941968340f030911765a84219908c4d util: Report parse errors in configuration file (Wladimir J. van der Laan) Pull request description: Report errors while parsing the configuration file, instead of silently ignoring them. $ src/bitcoind -regtest Error reading configuration file: parse error on line 22: nodebuglogfile, if you intended to specify a negated option, use nodebuglogfile=1 instead $ src/bitcoind -regtest Error reading configuration file: parse error on line 22: sdafsdfafs $ src/bitcoind -regtest Error reading configuration file: parse error on line 24: -nodebuglogfile=1, options in the configuration file must be specified without leading - (inspired by https://github.com/bitcoin/bitcoin/pull/14100#issuecomment-417264823) Tree-SHA512: d516342b65db2969edf200390994bbbda23654c648f85dcc99f9f2d217d3d59a72e0f58227be7b4746529dcfa54ba26d8188ba9f14a57c9ab00015d7283fade2
2018-09-06test: Add test for config file parsing errorsMarcoFalke
2018-09-05Merge #13954: Warn (don't fail!) on spelling errors. Fix typos reported by ↵MarcoFalke
codespell. f8a81f73ac lint: Add spell check linter (codespell) (practicalswift) ada356208e Fix typos reported by codespell (practicalswift) Pull request description: * Check for common misspellings using `codespell`. * Fix recently introduced typos reported by `codespell`. Tree-SHA512: 9974c0e640b411c7d0ebc5b45de253c19bac7fe3002cd98601ff8da8db584224c2fd7d331aee3df612c9f2cfef540d647a9b4c5a1a73fd208dc93ce4bf9e5e3e
2018-09-05Remove reference to deprecated RPC call in build instructionsMichael Goldstein
2018-09-05Docs: Add disable-wallet section to OSX build instructionsMichael Goldstein
2018-09-05Merge #14100: doc: Change documentation for =0 for non-boolean optionsMarcoFalke
e9a78e9b3b doc: Change documentation for =0 for non-boolean options (Wladimir J. van der Laan) Pull request description: PR #12713 changed the interpretation for negation of non-boolean options (e.g. -noconnect) to no longer set the option to `0`, but to remove it from the options. I think this is better because it gets rid of the special meaning of `'0'`. However it needs to be documented. I attempt to do so in this PR. Addresses #14064. There might be options I missed, please help check: - `-connect` - `-proxy` - `-onion` - `-debug` - `-debuglogfile` Needs a manpage update. Tree-SHA512: a69e63e04a6c8bf6f61a58ddc0f5ebd4b9af7a2e0ea5174e668f2e3edd31a541910a125605ca4bfccf3aca6e59267d98a66de9d1e73650f48c8a1828d315d35d