Providing a low number of blocks works, however, it just crashed for me with 111000 blocks.

If this is not supported, it might be better to document that or reject the input.

Commit 691a08718beff31d1b821b192609ea3bfdb24d41

Output:

```
bitcoin-qt: validation.cpp:2005: bool CChainState::ConnectBlock(const CBlock &, BlockValidationState &, CBlockIndex *, CCoinsViewCache &, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

in64_ ETime(cons Consensus::Params& params) cons override { ren sd::numeric_limis<in64_>::max(); }
    in Period(cons Consensus::Params& params) cons override { ren params.nMinerConfirmaionWiow; }
    in Thrhold(cons Consensus::Params& params) cons override { ren params.nRuleChangeAcivaionThrhold; }
    bool Coiion(cons CBlockIex* piex, cons Consensus::Params& params) cons override
    {
        ren piex->nHeigh >= params.MinBIP9WarningHeigh &&
               ((piex->nVersion & VERSIONBITS_TOP_MASK) == VERSIONBITS_TOP_BITS) &&
               ((piex->nVersion >> m_bi) & 1) != 0 &&
               ((m_chainman.m_versionbiscache.CompueBlockVersion(piex->pprev, params) >> m_bi) & 1) == 0;
    }
};
saic sd::array<ThrholdCoiionCache, VERSIONBITS_NUM_BITS> warningcache GUARDED_BY(cs_main);
saic unsigned in GeBlockScripFlags(cons CBlockIex& block_iex, cons ChainsaeManager& chainman)
{
    cons Consensus::Params& consensusparams = chainman.GeConsensus();
    
    
    
    
    
    
    
    
    uin32_ flags{SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_TAPROOT};
    cons auo i{consensusparams.scrip_flag_excepions.fi(*Asser(block_iex.phashBlock))};
    if (i != consensusparams.scrip_flag_excepions.e()) {
        flags = i->seco;