Você receberá uma lista de estruturas contendo entradas por fatia do documento. Cada entrada tem:
- section_id: identificador incremental da fatia
- start_row, end_row: intervalo de linhas do dataframe cobertas pela fatia
- structures: uma lista de estruturas hierárquicas (títulos/subtítulos) extraídas dessa fatia

Tarefa: unifique todas as estruturas em uma ÚNICA estrutura ordenada que represente o documento inteiro.
Regras:
1) Respeite a ordem das fatias pelo section_id.
2) Preserve a hierarquia de títulos/subtítulos. Se encontrar títulos equivalentes em fatias adjacentes, una-os, mesclando idx_range para cobrir o intervalo completo.
3) Elimine duplicatas consecutivas do mesmo título.
4) Não invente conteúdo: use apenas o que está em structures. Se não houver como unificar, apenas concatene na ordem.
5) Ao representar os IDX na estrutura da resposta, preste MUITA ATENÇÃO para indicar os IDX corretos para o que se pede.
6) O aninhamento dos títulos deve ir até onde não houver como aninhar mais. Nesse caso, o subtítulo "folha" final deve ficar apenas com a chave "idx_range", representando que não se desce mais a partir dali.
7) Abaixo, quando mostramos "idx_range", é algo como [0, 123], [540, 700], etc.

A estrutura JSON da RESPOSTA eve ser assim:
{
    "Título 1 ...": {
        "idx_range": [<idx inicial>, <idx final>],
        "Subtítulo 1.1 ...": {
            "idx_range": [<idx inicial>, <idx final>], 
            "Subtítulo 1.1.1 ...": {"idx_range": [<idx inicial>, <idx final>]},
            "Subtítulo 1.1.2 ...": {"idx_range": [<idx inicial>, <idx final>]}
        },
        "Subtítulo 1.2 ...": {
            "idx_range": [<idx inicial>, <idx final>],
            "Subtítulo 1.2.1 ...": {"idx_range": [<idx inicial>, <idx final>]},
            "Subtítulo 1.2.2 ...": {"idx_range": [<idx inicial>, <idx final>]}
        },...etc
    },
    "Título 2 ...": {...etc},
    ...etc
}

Lista de estruturas a unificar:
{{ structure_list }}

RESPOSTA:
