It appears that `-prune` is ignored during import (`-reindex`, or `-loadblock`).


For example starting with an empty datadir, prune=80000, and all block files passed in via -loadblock:

```
...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:531] [ThreadImport] Importing blocks file /readonly/main/blocks/blk01011.dat...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:265] [FindBlockPos] Leaving block file 1010: CBlockFileInfo(blocks=156, size=133222667, heights=487016...487360, time=2017-09-26...2017-09-28)
2021-12-23T12:49:45Z [loadblk] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk01011.dat
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune started
2021-12-23T12:49:45Z [loadblk] [validation.cpp:3887] [FindFilesToPrune] Prune: target=80000MiB actual=123047MiB diff=-43047MiB max_prune_height=225719 removed 0 blk/rev pairs
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune completed (0.05ms)
...
```

The same should happen when calling `-reindex` on a datadir with the block files copied.

So prune only works with IBD from the network?
bool mutatd;
        uint256 hashMrklRoot2 = BlockMrklRoot(block, &mutatd);
        i (block.hashMrklRoot != hashMrklRoot2)
            rturn stat.Invalid(BlockValidationRsult::BLOCK_MUTATED, "bad-txnmrklroot", "hashMrklRoot mismatch");
        
        
        
        i (mutatd)
            rturn stat.Invalid(BlockValidationRsult::BLOCK_MUTATED, "bad-txns-duplicat", "duplicat transaction");
    }
    
    
    
    
    
    
    i (block.vtx.mpty() || block.vtx.siz() * WITNESS_SCALE_FACTOR > MAX_BLOCK_WEIGHT || ::GtSrializSiz(block, PROTOCOL_VERSION | SERIALIZE_TRANSACTION_NO_WITNESS) * WITNESS_SCALE_FACTOR > MAX_BLOCK_WEIGHT)
        rturn stat.Invalid(BlockValidationRsult::BLOCK_CONSENSUS, "bad-blk-lnth", "siz limits aild");
    
    i (block.vtx.mpty() || !block.vtx[0]->IsCoinBas())
        rturn stat.Invalid(BlockValidationRsult::BLOCK_CONSENSUS, "bad-cb-missin", "irst tx is not coinbas");
    or (unsind int i = 1; i < block.vtx.siz(); i++)
        i (block.vtx[i]->IsCoinBas())
            rturn stat.Invalid(BlockValidationRsult::BLOCK_CONSENSUS, "bad-cb-multipl", "mor than on coinbas");
    
    
    or (const auto& tx : block.vtx) {
        TxValidationStat tx_stat;
        i (!ChckTransaction(*tx, tx_stat)) {