This is page 6 of 7. Use http://codebase.md/datalab-to/marker?lines=false&page={x} to view the full context. # Directory Structure ``` ├── .github │ ├── ISSUE_TEMPLATE │ │ ├── breaking-bug-report.md │ │ ├── feature_request.md │ │ └── output-bug-report.md │ └── workflows │ ├── benchmarks.yml │ ├── ci.yml │ ├── cla.yml │ ├── publish.yml │ └── scripts.yml ├── .gitignore ├── .pre-commit-config.yaml ├── benchmarks │ ├── __init__.py │ ├── overall │ │ ├── __init__.py │ │ ├── display │ │ │ ├── __init__.py │ │ │ ├── dataset.py │ │ │ └── table.py │ │ ├── download │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── llamaparse.py │ │ │ ├── main.py │ │ │ ├── mathpix.py │ │ │ └── mistral.py │ │ ├── elo.py │ │ ├── methods │ │ │ ├── __init__.py │ │ │ ├── docling.py │ │ │ ├── gt.py │ │ │ ├── llamaparse.py │ │ │ ├── marker.py │ │ │ ├── mathpix.py │ │ │ ├── mistral.py │ │ │ ├── olmocr.py │ │ │ └── schema.py │ │ ├── overall.py │ │ ├── registry.py │ │ ├── schema.py │ │ └── scorers │ │ ├── __init__.py │ │ ├── clean.py │ │ ├── heuristic.py │ │ ├── llm.py │ │ └── schema.py │ ├── table │ │ ├── __init__.py │ │ ├── gemini.py │ │ ├── inference.py │ │ ├── scoring.py │ │ └── table.py │ ├── throughput │ │ ├── __init__.py │ │ └── main.py │ └── verify_scores.py ├── chunk_convert.py ├── CLA.md ├── convert_single.py ├── convert.py ├── data │ ├── .gitignore │ ├── examples │ │ ├── json │ │ │ ├── multicolcnn.json │ │ │ ├── switch_trans.json │ │ │ └── thinkpython.json │ │ └── markdown │ │ ├── multicolcnn │ │ │ ├── _page_1_Figure_0.jpeg │ │ │ ├── _page_2_Picture_0.jpeg │ │ │ ├── _page_6_Figure_0.jpeg │ │ │ ├── _page_7_Figure_0.jpeg │ │ │ ├── multicolcnn_meta.json │ │ │ └── multicolcnn.md │ │ ├── switch_transformers │ │ │ ├── _page_11_Figure_4.jpeg │ │ │ ├── _page_12_Figure_4.jpeg │ │ │ ├── _page_13_Figure_2.jpeg │ │ │ ├── _page_18_Figure_1.jpeg │ │ │ ├── _page_18_Figure_3.jpeg │ │ │ ├── _page_2_Figure_3.jpeg │ │ │ ├── _page_20_Figure_1.jpeg │ │ │ ├── _page_20_Figure_4.jpeg │ │ │ ├── _page_27_Figure_1.jpeg │ │ │ ├── _page_29_Figure_1.jpeg │ │ │ ├── _page_30_Figure_1.jpeg │ │ │ ├── _page_31_Figure_3.jpeg │ │ │ ├── _page_4_Figure_1.jpeg │ │ │ ├── _page_5_Figure_3.jpeg │ │ │ ├── switch_trans_meta.json │ │ │ └── switch_trans.md │ │ └── thinkpython │ │ ├── _page_109_Figure_1.jpeg │ │ ├── _page_115_Figure_1.jpeg │ │ ├── _page_116_Figure_3.jpeg │ │ ├── _page_127_Figure_1.jpeg │ │ ├── _page_128_Figure_1.jpeg │ │ ├── _page_167_Figure_1.jpeg │ │ ├── _page_169_Figure_1.jpeg │ │ ├── _page_173_Figure_1.jpeg │ │ ├── _page_190_Figure_1.jpeg │ │ ├── _page_195_Figure_1.jpeg │ │ ├── _page_205_Figure_1.jpeg │ │ ├── _page_23_Figure_1.jpeg │ │ ├── _page_23_Figure_3.jpeg │ │ ├── _page_230_Figure_1.jpeg │ │ ├── _page_233_Figure_1.jpeg │ │ ├── _page_233_Figure_3.jpeg │ │ ├── _page_234_Figure_1.jpeg │ │ ├── _page_235_Figure_1.jpeg │ │ ├── _page_236_Figure_1.jpeg │ │ ├── _page_236_Figure_3.jpeg │ │ ├── _page_237_Figure_1.jpeg │ │ ├── _page_238_Figure_1.jpeg │ │ ├── _page_46_Figure_1.jpeg │ │ ├── _page_60_Figure_1.jpeg │ │ ├── _page_60_Figure_3.jpeg │ │ ├── _page_67_Figure_1.jpeg │ │ ├── _page_71_Figure_1.jpeg │ │ ├── _page_78_Figure_1.jpeg │ │ ├── _page_85_Figure_1.jpeg │ │ ├── _page_94_Figure_1.jpeg │ │ ├── _page_99_Figure_17.jpeg │ │ ├── _page_99_Figure_178.jpeg │ │ ├── thinkpython_meta.json │ │ └── thinkpython.md │ ├── images │ │ ├── overall.png │ │ ├── per_doc.png │ │ └── table.png │ └── latex_to_md.sh ├── examples │ ├── marker_modal_deployment.py │ └── README.md ├── extraction_app.py ├── LICENSE ├── marker │ ├── builders │ │ ├── __init__.py │ │ ├── document.py │ │ ├── layout.py │ │ ├── line.py │ │ ├── ocr.py │ │ └── structure.py │ ├── config │ │ ├── __init__.py │ │ ├── crawler.py │ │ ├── parser.py │ │ └── printer.py │ ├── converters │ │ ├── __init__.py │ │ ├── extraction.py │ │ ├── ocr.py │ │ ├── pdf.py │ │ └── table.py │ ├── extractors │ │ ├── __init__.py │ │ ├── document.py │ │ └── page.py │ ├── logger.py │ ├── models.py │ ├── output.py │ ├── processors │ │ ├── __init__.py │ │ ├── blank_page.py │ │ ├── block_relabel.py │ │ ├── blockquote.py │ │ ├── code.py │ │ ├── debug.py │ │ ├── document_toc.py │ │ ├── equation.py │ │ ├── footnote.py │ │ ├── ignoretext.py │ │ ├── line_merge.py │ │ ├── line_numbers.py │ │ ├── list.py │ │ ├── llm │ │ │ ├── __init__.py │ │ │ ├── llm_complex.py │ │ │ ├── llm_equation.py │ │ │ ├── llm_form.py │ │ │ ├── llm_handwriting.py │ │ │ ├── llm_image_description.py │ │ │ ├── llm_mathblock.py │ │ │ ├── llm_meta.py │ │ │ ├── llm_page_correction.py │ │ │ ├── llm_sectionheader.py │ │ │ ├── llm_table_merge.py │ │ │ └── llm_table.py │ │ ├── order.py │ │ ├── page_header.py │ │ ├── reference.py │ │ ├── sectionheader.py │ │ ├── table.py │ │ ├── text.py │ │ └── util.py │ ├── providers │ │ ├── __init__.py │ │ ├── document.py │ │ ├── epub.py │ │ ├── html.py │ │ ├── image.py │ │ ├── pdf.py │ │ ├── powerpoint.py │ │ ├── registry.py │ │ ├── spreadsheet.py │ │ └── utils.py │ ├── renderers │ │ ├── __init__.py │ │ ├── chunk.py │ │ ├── extraction.py │ │ ├── html.py │ │ ├── json.py │ │ ├── markdown.py │ │ └── ocr_json.py │ ├── schema │ │ ├── __init__.py │ │ ├── blocks │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── basetable.py │ │ │ ├── caption.py │ │ │ ├── code.py │ │ │ ├── complexregion.py │ │ │ ├── equation.py │ │ │ ├── figure.py │ │ │ ├── footnote.py │ │ │ ├── form.py │ │ │ ├── handwriting.py │ │ │ ├── inlinemath.py │ │ │ ├── listitem.py │ │ │ ├── pagefooter.py │ │ │ ├── pageheader.py │ │ │ ├── picture.py │ │ │ ├── reference.py │ │ │ ├── sectionheader.py │ │ │ ├── table.py │ │ │ ├── tablecell.py │ │ │ ├── text.py │ │ │ └── toc.py │ │ ├── document.py │ │ ├── groups │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── figure.py │ │ │ ├── list.py │ │ │ ├── page.py │ │ │ ├── picture.py │ │ │ └── table.py │ │ ├── polygon.py │ │ ├── registry.py │ │ └── text │ │ ├── __init__.py │ │ ├── char.py │ │ ├── line.py │ │ └── span.py │ ├── scripts │ │ ├── __init__.py │ │ ├── chunk_convert.py │ │ ├── chunk_convert.sh │ │ ├── common.py │ │ ├── convert_single.py │ │ ├── convert.py │ │ ├── extraction_app.py │ │ ├── file_to_s3.py │ │ ├── run_streamlit_app.py │ │ ├── server.py │ │ └── streamlit_app.py │ ├── services │ │ ├── __init__.py │ │ ├── azure_openai.py │ │ ├── claude.py │ │ ├── gemini.py │ │ ├── ollama.py │ │ ├── openai.py │ │ └── vertex.py │ ├── settings.py │ ├── util.py │ └── utils │ ├── __init__.py │ ├── batch.py │ ├── gpu.py │ └── image.py ├── marker_app.py ├── marker_server.py ├── poetry.lock ├── pyproject.toml ├── pytest.ini ├── README.md ├── signatures │ └── version1 │ └── cla.json ├── static │ └── fonts │ └── .gitignore └── tests ├── builders │ ├── test_blank_page.py │ ├── test_document_builder.py │ ├── test_garbled_pdf.py │ ├── test_layout_replace.py │ ├── test_ocr_builder.py │ ├── test_ocr_pipeline.py │ ├── test_overriding.py │ ├── test_pdf_links.py │ ├── test_rotated_bboxes.py │ ├── test_strip_existing_ocr.py │ └── test_structure.py ├── config │ └── test_config.py ├── conftest.py ├── converters │ ├── test_extraction_converter.py │ ├── test_ocr_converter.py │ ├── test_pdf_converter.py │ └── test_table_converter.py ├── processors │ ├── test_document_toc_processor.py │ ├── test_equation_processor.py │ ├── test_footnote_processor.py │ ├── test_ignoretext.py │ ├── test_llm_processors.py │ ├── test_table_merge.py │ └── test_table_processor.py ├── providers │ ├── test_document_providers.py │ ├── test_image_provider.py │ └── test_pdf_provider.py ├── renderers │ ├── test_chunk_renderer.py │ ├── test_extract_images.py │ ├── test_html_renderer.py │ ├── test_json_renderer.py │ └── test_markdown_renderer.py ├── schema │ └── groups │ └── test_list_grouping.py ├── services │ └── test_service_init.py └── utils.py ``` # Files -------------------------------------------------------------------------------- /data/examples/markdown/thinkpython/thinkpython_meta.json: -------------------------------------------------------------------------------- ```json { "table_of_contents": [ { "title": "Think Python", "heading_level": null, "page_id": 0, "polygon": [ [ 398.935546875, 265.095703125 ], [ 525.6013793945312, 265.095703125 ], [ 525.6013793945312, 289.6333312988281 ], [ 398.935546875, 289.6333312988281 ] ] }, { "title": "How to Think Like a Computer Scientist", "heading_level": null, "page_id": 0, "polygon": [ [ 267.3017578125, 306.861328125 ], [ 525.6033325195312, 306.861328125 ], [ 525.6033325195312, 323.876953125 ], [ 267.3017578125, 323.876953125 ] ] }, { "title": "Think Python", "heading_level": null, "page_id": 2, "polygon": [ [ 398.63671875, 264.90234375 ], [ 525.6013793945312, 264.90234375 ], [ 525.6013793945312, 289.6333312988281 ], [ 398.63671875, 289.6333312988281 ] ] }, { "title": "How to Think Like a Computer Scientist", "heading_level": null, "page_id": 2, "polygon": [ [ 267.451171875, 306.66796875 ], [ 525.6033325195312, 306.66796875 ], [ 525.6033325195312, 323.7117614746094 ], [ 267.451171875, 323.7117614746094 ] ] }, { "title": "Preface", "heading_level": null, "page_id": 4, "polygon": [ [ 128.49609375, 165.322265625 ], [ 213.662109375, 165.322265625 ], [ 213.662109375, 190.65838623046875 ], [ 128.49609375, 190.65838623046875 ] ] }, { "title": "The strange history of this book", "heading_level": null, "page_id": 4, "polygon": [ [ 129.31787109375, 237.638671875 ], [ 338.8106384277344, 237.638671875 ], [ 338.8106384277344, 253.55902099609375 ], [ 129.31787109375, 253.55902099609375 ] ] }, { "title": "Acknowledgments", "heading_level": null, "page_id": 5, "polygon": [ [ 85.83837890625, 510.08203125 ], [ 211.5703125, 510.08203125 ], [ 211.5703125, 526.0249328613281 ], [ 85.83837890625, 526.0249328613281 ] ] }, { "title": "Contributor List", "heading_level": null, "page_id": 6, "polygon": [ [ 128.0478515625, 84.498046875 ], [ 235.97708129882812, 84.498046875 ], [ 235.97708129882812, 100.29998779296875 ], [ 128.0478515625, 100.29998779296875 ] ] }, { "title": "Contents", "heading_level": null, "page_id": 12, "polygon": [ [ 128.0478515625, 165.40826416015625 ], [ 231.47499084472656, 165.40826416015625 ], [ 231.47499084472656, 190.1953125 ], [ 128.0478515625, 190.1953125 ] ] }, { "title": "Chapter 1", "heading_level": null, "page_id": 22, "polygon": [ [ 128.197265625, 164.801513671875 ], [ 220.84561157226562, 164.801513671875 ], [ 220.84561157226562, 185.4639892578125 ], [ 128.197265625, 185.4639892578125 ] ] }, { "title": "The way of the program", "heading_level": null, "page_id": 22, "polygon": [ [ 127.97314453125, 220.236328125 ], [ 400.91961669921875, 220.236328125 ], [ 400.91961669921875, 245.6234130859375 ], [ 127.97314453125, 245.6234130859375 ] ] }, { "title": "1.1 The Python programming language", "heading_level": null, "page_id": 22, "polygon": [ [ 128.9443359375, 498.8671875 ], [ 395.05078125, 498.8671875 ], [ 395.05078125, 513.9990234375 ], [ 128.9443359375, 513.9990234375 ] ] }, { "title": "1.2 What is a program?", "heading_level": null, "page_id": 24, "polygon": [ [ 128.3466796875, 85.95379638671875 ], [ 288.8173828125, 85.95379638671875 ], [ 288.8173828125, 100.29998779296875 ], [ 128.3466796875, 100.29998779296875 ] ] }, { "title": "1.3 What is debugging?", "heading_level": null, "page_id": 24, "polygon": [ [ 128.0478515625, 439.2318420410156 ], [ 292.5728454589844, 439.2318420410156 ], [ 292.5728454589844, 453.57806396484375 ], [ 128.0478515625, 453.57806396484375 ] ] }, { "title": "1.3.1 Syntax errors", "heading_level": null, "page_id": 24, "polygon": [ [ 129.09375, 548.9158477783203 ], [ 237.53152465820312, 548.9158477783203 ], [ 237.53152465820312, 560.8710479736328 ], [ 129.09375, 560.8710479736328 ] ] }, { "title": "1.3.2 Runtime errors", "heading_level": null, "page_id": 25, "polygon": [ [ 85.53955078125, 86.3349609375 ], [ 207.685546875, 86.3349609375 ], [ 207.685546875, 99.24493408203125 ], [ 85.53955078125, 99.24493408203125 ] ] }, { "title": "1.3.3 Semantic errors", "heading_level": null, "page_id": 25, "polygon": [ [ 85.9130859375, 206.12109375 ], [ 208.1337890625, 206.12109375 ], [ 208.1337890625, 220.16192626953125 ], [ 85.9130859375, 220.16192626953125 ] ] }, { "title": "1.3.4 Experimental debugging", "heading_level": null, "page_id": 25, "polygon": [ [ 85.83837890625, 364.095703125 ], [ 258.78515625, 364.095703125 ], [ 258.78515625, 377.6620178222656 ], [ 85.83837890625, 377.6620178222656 ] ] }, { "title": "1.4 Formal and natural languages", "heading_level": null, "page_id": 26, "polygon": [ [ 127.82373046875, 85.95379638671875 ], [ 357.099609375, 85.95379638671875 ], [ 357.099609375, 100.353515625 ], [ 127.82373046875, 100.353515625 ] ] }, { "title": "Programming languages are formal languages that have been designed to\nexpress computations.", "heading_level": null, "page_id": 26, "polygon": [ [ 153.59765625, 224.490234375 ], [ 500.8359375, 224.490234375 ], [ 500.8359375, 246.73370361328125 ], [ 153.59765625, 246.73370361328125 ] ] }, { "title": "1.5 The first program", "heading_level": null, "page_id": 27, "polygon": [ [ 85.9130859375, 447.3996887207031 ], [ 232.6595001220703, 447.3996887207031 ], [ 232.6595001220703, 461.74591064453125 ], [ 85.9130859375, 461.74591064453125 ] ] }, { "title": "1.6 Debugging", "heading_level": null, "page_id": 28, "polygon": [ [ 128.42138671875, 85.95379638671875 ], [ 236.00576782226562, 85.95379638671875 ], [ 236.00576782226562, 101.2236328125 ], [ 128.42138671875, 101.2236328125 ] ] }, { "title": "1.7 Glossary", "heading_level": null, "page_id": 28, "polygon": [ [ 128.0478515625, 502.734375 ], [ 220.0527801513672, 502.734375 ], [ 220.0527801513672, 517.5260620117188 ], [ 128.0478515625, 517.5260620117188 ] ] }, { "title": "1.8 Exercises", "heading_level": null, "page_id": 30, "polygon": [ [ 128.6455078125, 85.63177490234375 ], [ 221.63088989257812, 85.63177490234375 ], [ 221.63088989257812, 99.97796630859375 ], [ 128.6455078125, 99.97796630859375 ] ] }, { "title": "Chapter 2", "heading_level": null, "page_id": 32, "polygon": [ [ 128.86962890625, 164.935546875 ], [ 221.1328125, 164.935546875 ], [ 221.1328125, 185.71087646484375 ], [ 128.86962890625, 185.71087646484375 ] ] }, { "title": "Variables, expressions and\nstatements", "heading_level": null, "page_id": 32, "polygon": [ [ 128.9443359375, 219.462890625 ], [ 430.3125, 219.462890625 ], [ 430.3125, 276.60333251953125 ], [ 128.9443359375, 276.60333251953125 ] ] }, { "title": "2.1 Values and types", "heading_level": null, "page_id": 32, "polygon": [ [ 128.794921875, 326.390625 ], [ 273.427734375, 326.390625 ], [ 273.427734375, 340.7639465332031 ], [ 128.794921875, 340.7639465332031 ] ] }, { "title": "2.2 Variables", "heading_level": null, "page_id": 33, "polygon": [ [ 85.9130859375, 272.830078125 ], [ 180.03765869140625, 272.830078125 ], [ 180.03765869140625, 288.0208435058594 ], [ 85.9130859375, 288.0208435058594 ] ] }, { "title": "2.3 Variable names and keywords", "heading_level": null, "page_id": 33, "polygon": [ [ 85.98779296875, 607.3946685791016 ], [ 315.92486572265625, 607.3946685791016 ], [ 315.92486572265625, 621.7408599853516 ], [ 85.98779296875, 621.7408599853516 ] ] }, { "title": "2.4 Operators and operands", "heading_level": null, "page_id": 34, "polygon": [ [ 128.197265625, 452.3846435546875 ], [ 319.6728820800781, 452.3846435546875 ], [ 319.6728820800781, 466.7308654785156 ], [ 128.197265625, 466.7308654785156 ] ] }, { "title": "2.5 Expressions and statements", "heading_level": null, "page_id": 35, "polygon": [ [ 85.6142578125, 198.7734375 ], [ 298.7524108886719, 198.7734375 ], [ 298.7524108886719, 213.87689208984375 ], [ 85.6142578125, 213.87689208984375 ] ] }, { "title": "2.6 Interactive mode and script mode", "heading_level": null, "page_id": 35, "polygon": [ [ 85.46484375, 400.640625 ], [ 337.83148193359375, 400.640625 ], [ 337.83148193359375, 415.3359375 ], [ 85.46484375, 415.3359375 ] ] }, { "title": "2.7 Order of operations", "heading_level": null, "page_id": 36, "polygon": [ [ 128.42138671875, 295.453125 ], [ 291.357421875, 295.453125 ], [ 291.357421875, 311.4539794921875 ], [ 128.42138671875, 311.4539794921875 ] ] }, { "title": "2.8 String operations", "heading_level": null, "page_id": 36, "polygon": [ [ 127.82373046875, 633.83203125 ], [ 275.4434814453125, 633.83203125 ], [ 275.4434814453125, 649.3340301513672 ], [ 127.82373046875, 649.3340301513672 ] ] }, { "title": "2.9 Comments", "heading_level": null, "page_id": 37, "polygon": [ [ 86.13720703125, 291.005859375 ], [ 189.60665893554688, 291.005859375 ], [ 189.60665893554688, 306.1039123535156 ], [ 86.13720703125, 306.1039123535156 ] ] }, { "title": "2.10 Debugging", "heading_level": null, "page_id": 37, "polygon": [ [ 85.53955078125, 640.79296875 ], [ 201.41015625, 640.79296875 ], [ 201.41015625, 655.48828125 ], [ 85.53955078125, 655.48828125 ] ] }, { "title": "2.11 Glossary", "heading_level": null, "page_id": 38, "polygon": [ [ 128.3466796875, 389.354736328125 ], [ 227.2259063720703, 389.354736328125 ], [ 227.2259063720703, 403.7009582519531 ], [ 128.3466796875, 403.7009582519531 ] ] }, { "title": "2.12 Exercises", "heading_level": null, "page_id": 39, "polygon": [ [ 85.39013671875, 297.7734375 ], [ 185.60400390625, 297.7734375 ], [ 185.60400390625, 312.24993896484375 ], [ 85.39013671875, 312.24993896484375 ] ] }, { "title": "Chapter 3", "heading_level": null, "page_id": 40, "polygon": [ [ 128.27197265625, 164.6455078125 ], [ 220.84561157226562, 164.6455078125 ], [ 220.84561157226562, 185.87091064453125 ], [ 128.27197265625, 185.87091064453125 ] ] }, { "title": "Functions", "heading_level": null, "page_id": 40, "polygon": [ [ 128.49609375, 221.65228271484375 ], [ 242.349609375, 221.65228271484375 ], [ 242.349609375, 246.4393310546875 ], [ 128.49609375, 246.4393310546875 ] ] }, { "title": "3.1 Function calls", "heading_level": null, "page_id": 40, "polygon": [ [ 128.86962890625, 296.033203125 ], [ 253.1064453125, 296.033203125 ], [ 253.1064453125, 310.75994873046875 ], [ 128.86962890625, 310.75994873046875 ] ] }, { "title": "3.2 Type conversion functions", "heading_level": null, "page_id": 40, "polygon": [ [ 127.8984375, 495.38671875 ], [ 335.12371826171875, 495.38671875 ], [ 335.12371826171875, 510.4379577636719 ], [ 127.8984375, 510.4379577636719 ] ] }, { "title": "3.3 Math functions", "heading_level": null, "page_id": 41, "polygon": [ [ 85.83837890625, 231.064453125 ], [ 219.475341796875, 231.064453125 ], [ 219.475341796875, 246.52093505859375 ], [ 85.83837890625, 246.52093505859375 ] ] }, { "title": "3.4 Composition", "heading_level": null, "page_id": 42, "polygon": [ [ 129.09375, 85.63177490234375 ], [ 247.15277099609375, 85.63177490234375 ], [ 247.15277099609375, 99.97796630859375 ], [ 129.09375, 99.97796630859375 ] ] }, { "title": "3.5 Adding new functions", "heading_level": null, "page_id": 42, "polygon": [ [ 128.197265625, 341.8738098144531 ], [ 309.3005065917969, 341.8738098144531 ], [ 309.3005065917969, 356.22003173828125 ], [ 128.197265625, 356.22003173828125 ] ] }, { "title": "3.6 Definitions and uses", "heading_level": null, "page_id": 43, "polygon": [ [ 85.98779296875, 487.65234375 ], [ 253.33245849609375, 487.65234375 ], [ 253.33245849609375, 502.0660705566406 ], [ 85.98779296875, 502.0660705566406 ] ] }, { "title": "3.7 Flow of execution", "heading_level": null, "page_id": 44, "polygon": [ [ 127.8984375, 188.74676513671875 ], [ 278.2409973144531, 188.74676513671875 ], [ 278.2409973144531, 203.09295654296875 ], [ 127.8984375, 203.09295654296875 ] ] }, { "title": "3.8 Parameters and arguments", "heading_level": null, "page_id": 44, "polygon": [ [ 128.27197265625, 519.7107849121094 ], [ 335.6114196777344, 519.7107849121094 ], [ 335.6114196777344, 534.0570068359375 ], [ 128.27197265625, 534.0570068359375 ] ] }, { "title": "3.9 Variables and parameters are local", "heading_level": null, "page_id": 45, "polygon": [ [ 85.763671875, 466.3828125 ], [ 342.60882568359375, 466.3828125 ], [ 342.60882568359375, 480.94195556640625 ], [ 85.763671875, 480.94195556640625 ] ] }, { "title": "3.10 Stack diagrams", "heading_level": null, "page_id": 46, "polygon": [ [ 128.3466796875, 294.8467102050781 ], [ 269.0947265625, 294.8467102050781 ], [ 269.0947265625, 309.19293212890625 ], [ 128.3466796875, 309.19293212890625 ] ] }, { "title": "3.11 Fruitful functions and void functions", "heading_level": null, "page_id": 47, "polygon": [ [ 85.3154296875, 139.025390625 ], [ 369.6944274902344, 139.025390625 ], [ 369.6944274902344, 154.137939453125 ], [ 85.3154296875, 154.137939453125 ] ] }, { "title": "3.12 Why functions?", "heading_level": null, "page_id": 47, "polygon": [ [ 85.3154296875, 584.71875 ], [ 229.04421997070312, 584.71875 ], [ 229.04421997070312, 599.4089813232422 ], [ 85.3154296875, 599.4089813232422 ] ] }, { "title": "3.13 Importing with from", "heading_level": null, "page_id": 48, "polygon": [ [ 127.37548828125, 168.674072265625 ], [ 302.5994873046875, 168.674072265625 ], [ 302.5994873046875, 185.096923828125 ], [ 127.37548828125, 185.096923828125 ] ] }, { "title": "3.14 Debugging", "heading_level": null, "page_id": 48, "polygon": [ [ 128.12255859375, 565.5196228027344 ], [ 243.24609375, 565.5196228027344 ], [ 243.24609375, 579.8658142089844 ], [ 128.12255859375, 579.8658142089844 ] ] }, { "title": "3.15 Glossary", "heading_level": null, "page_id": 49, "polygon": [ [ 85.83837890625, 186.78515625 ], [ 184.02589416503906, 186.78515625 ], [ 184.02589416503906, 201.30694580078125 ], [ 85.83837890625, 201.30694580078125 ] ] }, { "title": "3.16 Exercises", "heading_level": null, "page_id": 50, "polygon": [ [ 128.3466796875, 199.51275634765625 ], [ 228.80398559570312, 199.51275634765625 ], [ 228.80398559570312, 213.85894775390625 ], [ 128.3466796875, 213.85894775390625 ] ] }, { "title": "Chapter 4", "heading_level": null, "page_id": 52, "polygon": [ [ 128.6455078125, 165.43450927734375 ], [ 221.2822265625, 165.43450927734375 ], [ 221.2822265625, 186.09698486328125 ], [ 128.6455078125, 186.09698486328125 ] ] }, { "title": "Case study: interface design", "heading_level": null, "page_id": 52, "polygon": [ [ 128.6455078125, 222.10333251953125 ], [ 448.83984375, 222.10333251953125 ], [ 448.83984375, 246.890380859375 ], [ 128.6455078125, 246.890380859375 ] ] }, { "title": "4.1 TurtleWorld", "heading_level": null, "page_id": 52, "polygon": [ [ 128.794921875, 351.9140625 ], [ 241.05563354492188, 351.9140625 ], [ 241.05563354492188, 366.4170227050781 ], [ 128.794921875, 366.4170227050781 ] ] }, { "title": "4.2 Simple repetition", "heading_level": null, "page_id": 53, "polygon": [ [ 85.53955078125, 451.5947570800781 ], [ 233.82159423828125, 451.5947570800781 ], [ 233.82159423828125, 465.94097900390625 ], [ 85.53955078125, 465.94097900390625 ] ] }, { "title": "4.3 Exercises", "heading_level": null, "page_id": 54, "polygon": [ [ 128.0478515625, 382.1136779785156 ], [ 222.1787109375, 382.1136779785156 ], [ 222.1787109375, 396.45989990234375 ], [ 128.0478515625, 396.45989990234375 ] ] }, { "title": "4.4 Encapsulation", "heading_level": null, "page_id": 55, "polygon": [ [ 85.6142578125, 224.876953125 ], [ 211.9005126953125, 224.876953125 ], [ 211.9005126953125, 239.701904296875 ], [ 85.6142578125, 239.701904296875 ] ] }, { "title": "4.5 Generalization", "heading_level": null, "page_id": 55, "polygon": [ [ 85.763671875, 546.046875 ], [ 216.69219970703125, 546.046875 ], [ 216.69219970703125, 560.9458923339844 ], [ 85.763671875, 560.9458923339844 ] ] }, { "title": "4.6 Interface design", "heading_level": null, "page_id": 56, "polygon": [ [ 128.49609375, 361.9498291015625 ], [ 267.4669494628906, 361.9498291015625 ], [ 267.4669494628906, 376.2960510253906 ], [ 128.49609375, 376.2960510253906 ] ] }, { "title": "4.7 Refactoring", "heading_level": null, "page_id": 57, "polygon": [ [ 85.46484375, 244.79296875 ], [ 195.18724060058594, 244.79296875 ], [ 195.18724060058594, 260.310791015625 ], [ 85.46484375, 260.310791015625 ] ] }, { "title": "4.8 A development plan", "heading_level": null, "page_id": 58, "polygon": [ [ 128.6455078125, 263.548828125 ], [ 295.9892578125, 263.548828125 ], [ 295.9892578125, 278.6109619140625 ], [ 128.6455078125, 278.6109619140625 ] ] }, { "title": "4.9 docstring", "heading_level": null, "page_id": 58, "polygon": [ [ 127.97314453125, 558.4587707519531 ], [ 223.2376251220703, 558.4587707519531 ], [ 223.2376251220703, 572.8049621582031 ], [ 127.97314453125, 572.8049621582031 ] ] }, { "title": "4.10 Debugging", "heading_level": null, "page_id": 59, "polygon": [ [ 85.46484375, 240.56890869140625 ], [ 201.2607421875, 240.56890869140625 ], [ 201.2607421875, 255.234375 ], [ 85.46484375, 255.234375 ] ] }, { "title": "4.11 Glossary", "heading_level": null, "page_id": 59, "polygon": [ [ 85.46484375, 474.890625 ], [ 184.0259246826172, 474.890625 ], [ 184.0259246826172, 489.46612548828125 ], [ 85.46484375, 489.46612548828125 ] ] }, { "title": "4.12 Exercises", "heading_level": null, "page_id": 60, "polygon": [ [ 127.8984375, 445.11328125 ], [ 228.80401611328125, 445.11328125 ], [ 228.80401611328125, 459.5309753417969 ], [ 127.8984375, 459.5309753417969 ] ] }, { "title": "Chapter 5", "heading_level": null, "page_id": 62, "polygon": [ [ 129.01904296875, 162.37750244140625 ], [ 220.84561157226562, 162.37750244140625 ], [ 220.84561157226562, 183.111328125 ], [ 129.01904296875, 183.111328125 ] ] }, { "title": "Conditionals and recursion", "heading_level": null, "page_id": 62, "polygon": [ [ 128.3466796875, 215.982421875 ], [ 438.6796875, 215.982421875 ], [ 438.6796875, 240.775390625 ], [ 128.3466796875, 240.775390625 ] ] }, { "title": "5.1 Modulus operator", "heading_level": null, "page_id": 62, "polygon": [ [ 128.0478515625, 287.9187927246094 ], [ 280.2350769042969, 287.9187927246094 ], [ 280.2350769042969, 302.2650146484375 ], [ 128.0478515625, 302.2650146484375 ] ] }, { "title": "5.2 Boolean expressions", "heading_level": null, "page_id": 62, "polygon": [ [ 128.57080078125, 524.77734375 ], [ 295.3703918457031, 524.77734375 ], [ 295.3703918457031, 539.4530181884766 ], [ 128.57080078125, 539.4530181884766 ] ] }, { "title": "5.3 Logical operators", "heading_level": null, "page_id": 63, "polygon": [ [ 85.763671875, 240.15234375 ], [ 231.890625, 240.15234375 ], [ 231.890625, 254.84765625 ], [ 85.763671875, 254.84765625 ] ] }, { "title": "5.4 Conditional execution", "heading_level": null, "page_id": 63, "polygon": [ [ 85.83837890625, 471.796875 ], [ 264.1640625, 471.796875 ], [ 264.1640625, 487.25201416015625 ], [ 85.83837890625, 487.25201416015625 ] ] }, { "title": "5.5 Alternative execution", "heading_level": null, "page_id": 64, "polygon": [ [ 128.794921875, 85.95379638671875 ], [ 302.712890625, 85.95379638671875 ], [ 302.712890625, 100.29998779296875 ], [ 128.794921875, 100.29998779296875 ] ] }, { "title": "5.6 Chained conditionals", "heading_level": null, "page_id": 64, "polygon": [ [ 128.6455078125, 282.69140625 ], [ 302.5634765625, 282.69140625 ], [ 302.5634765625, 297.6069641113281 ], [ 128.6455078125, 297.6069641113281 ] ] }, { "title": "5.7 Nested conditionals", "heading_level": null, "page_id": 64, "polygon": [ [ 128.42138671875, 597.8671875 ], [ 292.94586181640625, 597.8671875 ], [ 292.94586181640625, 613.0500030517578 ], [ 128.42138671875, 613.0500030517578 ] ] }, { "title": "5.8 Recursion", "heading_level": null, "page_id": 65, "polygon": [ [ 85.9130859375, 372.603515625 ], [ 184.81497192382812, 372.603515625 ], [ 184.81497192382812, 387.2398681640625 ], [ 85.9130859375, 387.2398681640625 ] ] }, { "title": "5.9 Stack diagrams for recursive functions", "heading_level": null, "page_id": 66, "polygon": [ [ 128.12255859375, 468.1249084472656 ], [ 413.6979064941406, 468.1249084472656 ], [ 413.6979064941406, 482.47113037109375 ], [ 128.12255859375, 482.47113037109375 ] ] }, { "title": "5.10 Infinite recursion", "heading_level": null, "page_id": 67, "polygon": [ [ 85.46484375, 251.61279296875 ], [ 239.4022216796875, 251.61279296875 ], [ 239.4022216796875, 265.958984375 ], [ 85.46484375, 265.958984375 ] ] }, { "title": "5.11 Keyboard input", "heading_level": null, "page_id": 67, "polygon": [ [ 85.53955078125, 538.5088043212891 ], [ 229.8620147705078, 538.5088043212891 ], [ 229.8620147705078, 552.8549957275391 ], [ 85.53955078125, 552.8549957275391 ] ] }, { "title": "5.12 Debugging", "heading_level": null, "page_id": 68, "polygon": [ [ 127.8984375, 428.7655944824219 ], [ 243.17886352539062, 428.7655944824219 ], [ 243.17886352539062, 443.1796875 ], [ 127.8984375, 443.1796875 ] ] }, { "title": "5.13 Glossary", "heading_level": null, "page_id": 69, "polygon": [ [ 86.13720703125, 427.601806640625 ], [ 184.0259246826172, 427.601806640625 ], [ 184.0259246826172, 441.9480285644531 ], [ 86.13720703125, 441.9480285644531 ] ] }, { "title": "5.14 Exercises", "heading_level": null, "page_id": 70, "polygon": [ [ 128.9443359375, 235.6197509765625 ], [ 228.80401611328125, 235.6197509765625 ], [ 228.80401611328125, 249.9659423828125 ], [ 128.9443359375, 249.9659423828125 ] ] }, { "title": "Chapter 6", "heading_level": null, "page_id": 72, "polygon": [ [ 128.197265625, 165.4189453125 ], [ 220.84561157226562, 165.4189453125 ], [ 220.84561157226562, 186.46197509765625 ], [ 128.197265625, 186.46197509765625 ] ] }, { "title": "Fruitful functions", "heading_level": null, "page_id": 72, "polygon": [ [ 127.001953125, 222.169921875 ], [ 331.2926330566406, 222.169921875 ], [ 331.2926330566406, 247.620361328125 ], [ 127.001953125, 247.620361328125 ] ] }, { "title": "6.1 Return values", "heading_level": null, "page_id": 72, "polygon": [ [ 128.49609375, 297.7734375 ], [ 253.705078125, 297.7734375 ], [ 253.705078125, 312.531982421875 ], [ 128.49609375, 312.531982421875 ] ] }, { "title": "6.2 Incremental development", "heading_level": null, "page_id": 73, "polygon": [ [ 85.39013671875, 373.40087890625 ], [ 288.0703125, 373.40087890625 ], [ 288.0703125, 387.7471008300781 ], [ 85.39013671875, 387.7471008300781 ] ] }, { "title": "6.3 Composition", "heading_level": null, "page_id": 75, "polygon": [ [ 86.2119140625, 230.725830078125 ], [ 203.9527587890625, 230.725830078125 ], [ 203.9527587890625, 245.072021484375 ], [ 86.2119140625, 245.072021484375 ] ] }, { "title": "6.4 Boolean functions", "heading_level": null, "page_id": 75, "polygon": [ [ 85.0166015625, 584.7738647460938 ], [ 237.82412719726562, 584.7738647460938 ], [ 237.82412719726562, 599.1200561523438 ], [ 85.0166015625, 599.1200561523438 ] ] }, { "title": "6.5 More recursion", "heading_level": null, "page_id": 76, "polygon": [ [ 128.49609375, 388.5017395019531 ], [ 261.9006652832031, 388.5017395019531 ], [ 261.9006652832031, 402.84796142578125 ], [ 128.49609375, 402.84796142578125 ] ] }, { "title": "6.6 Leap of faith", "heading_level": null, "page_id": 78, "polygon": [ [ 128.27197265625, 251.32977294921875 ], [ 245.56033325195312, 251.32977294921875 ], [ 245.56033325195312, 265.67596435546875 ], [ 128.27197265625, 265.67596435546875 ] ] }, { "title": "6.7 One more example", "heading_level": null, "page_id": 78, "polygon": [ [ 128.3466796875, 562.67578125 ], [ 286.1279296875, 562.67578125 ], [ 286.1279296875, 577.8719329833984 ], [ 128.3466796875, 577.8719329833984 ] ] }, { "title": "6.8 Checking types", "heading_level": null, "page_id": 79, "polygon": [ [ 85.6142578125, 239.4217529296875 ], [ 220.27874755859375, 239.4217529296875 ], [ 220.27874755859375, 253.7679443359375 ], [ 85.6142578125, 253.7679443359375 ] ] }, { "title": "6.9 Debugging", "heading_level": null, "page_id": 80, "polygon": [ [ 128.3466796875, 226.3597412109375 ], [ 236.5224609375, 226.3597412109375 ], [ 236.5224609375, 240.92578125 ], [ 128.3466796875, 240.92578125 ] ] }, { "title": "6.10 Glossary", "heading_level": null, "page_id": 81, "polygon": [ [ 86.39997863769531, 302.02734375 ], [ 184.02586364746094, 302.02734375 ], [ 184.02586364746094, 316.90087890625 ], [ 86.39997863769531, 316.90087890625 ] ] }, { "title": "6.11 Exercises", "heading_level": null, "page_id": 81, "polygon": [ [ 85.83837890625, 538.4977264404297 ], [ 185.60397338867188, 538.4977264404297 ], [ 185.60397338867188, 552.8439178466797 ], [ 85.83837890625, 552.8439178466797 ] ] }, { "title": "Chapter 7", "heading_level": null, "page_id": 84, "polygon": [ [ 128.794921875, 163.99639892578125 ], [ 221.73046875, 163.99639892578125 ], [ 221.73046875, 184.65887451171875 ], [ 128.794921875, 184.65887451171875 ] ] }, { "title": "Iteration", "heading_level": null, "page_id": 84, "polygon": [ [ 128.86962890625, 219.22723388671875 ], [ 227.408203125, 219.22723388671875 ], [ 227.408203125, 244.0142822265625 ], [ 128.86962890625, 244.0142822265625 ] ] }, { "title": "7.1 Multiple assignment", "heading_level": null, "page_id": 84, "polygon": [ [ 128.72021484375, 292.74609375 ], [ 299.126953125, 292.74609375 ], [ 299.126953125, 307.1228942871094 ], [ 128.72021484375, 307.1228942871094 ] ] }, { "title": "7.2 Updating variables", "heading_level": null, "page_id": 85, "polygon": [ [ 85.763671875, 163.58203125 ], [ 244.19384765625, 163.58203125 ], [ 244.19384765625, 178.75494384765625 ], [ 85.763671875, 178.75494384765625 ] ] }, { "title": "7.3 The while statement", "heading_level": null, "page_id": 85, "polygon": [ [ 85.9130859375, 421.3271179199219 ], [ 251.50521850585938, 421.3271179199219 ], [ 251.50521850585938, 437.7499694824219 ], [ 85.9130859375, 437.7499694824219 ] ] }, { "title": "7.4 break", "heading_level": null, "page_id": 86, "polygon": [ [ 127.599609375, 614.340087890625 ], [ 198.31837463378906, 614.340087890625 ], [ 198.31837463378906, 630.7629089355469 ], [ 127.599609375, 630.7629089355469 ] ] }, { "title": "7.5 Square roots", "heading_level": null, "page_id": 87, "polygon": [ [ 85.83837890625, 377.9056091308594 ], [ 201.16961669921875, 377.9056091308594 ], [ 201.16961669921875, 392.2518310546875 ], [ 85.83837890625, 392.2518310546875 ] ] }, { "title": "7.6 Algorithms", "heading_level": null, "page_id": 88, "polygon": [ [ 128.12255859375, 594.0 ], [ 236.7947998046875, 594.0 ], [ 236.7947998046875, 608.9769439697266 ], [ 128.12255859375, 608.9769439697266 ] ] }, { "title": "7.7 Debugging", "heading_level": null, "page_id": 89, "polygon": [ [ 85.53955078125, 341.0859375 ], [ 193.04296875, 341.0859375 ], [ 193.04296875, 357.71484375 ], [ 85.53955078125, 357.71484375 ] ] }, { "title": "7.8 Glossary", "heading_level": null, "page_id": 89, "polygon": [ [ 85.68896484375, 653.94140625 ], [ 177.205078125, 653.94140625 ], [ 177.205078125, 669.645866394043 ], [ 85.68896484375, 669.645866394043 ] ] }, { "title": "7.9 Exercises", "heading_level": null, "page_id": 90, "polygon": [ [ 128.49609375, 248.41668701171875 ], [ 221.73046875, 248.41668701171875 ], [ 221.73046875, 262.76287841796875 ], [ 128.49609375, 262.76287841796875 ] ] }, { "title": "Chapter 8", "heading_level": null, "page_id": 92, "polygon": [ [ 128.197265625, 164.62750244140625 ], [ 220.84561157226562, 164.62750244140625 ], [ 220.84561157226562, 185.28997802734375 ], [ 128.197265625, 185.28997802734375 ] ] }, { "title": "Strings", "heading_level": null, "page_id": 92, "polygon": [ [ 129.2431640625, 220.4903564453125 ], [ 211.1220703125, 220.4903564453125 ], [ 211.1220703125, 245.27740478515625 ], [ 129.2431640625, 245.27740478515625 ] ] }, { "title": "8.1 A string is a sequence", "heading_level": null, "page_id": 92, "polygon": [ [ 128.6455078125, 294.6708068847656 ], [ 304.5088806152344, 294.6708068847656 ], [ 304.5088806152344, 309.01702880859375 ], [ 128.6455078125, 309.01702880859375 ] ] }, { "title": "8.2 len", "heading_level": null, "page_id": 92, "polygon": [ [ 127.67431640625, 661.3962249755859 ], [ 183.7425537109375, 661.3962249755859 ], [ 183.7425537109375, 677.8190460205078 ], [ 127.67431640625, 677.8190460205078 ] ] }, { "title": "8.3 Traversal with a for loop", "heading_level": null, "page_id": 93, "polygon": [ [ 85.9130859375, 339.75921630859375 ], [ 281.5877685546875, 339.75921630859375 ], [ 281.5877685546875, 356.18206787109375 ], [ 85.9130859375, 356.18206787109375 ] ] }, { "title": "8.4 String slices", "heading_level": null, "page_id": 94, "polygon": [ [ 128.86962890625, 401.4140625 ], [ 241.945068359375, 401.4140625 ], [ 241.945068359375, 415.7750244140625 ], [ 128.86962890625, 415.7750244140625 ] ] }, { "title": "8.5 Strings are immutable", "heading_level": null, "page_id": 95, "polygon": [ [ 85.46484375, 150.43359375 ], [ 264.5080871582031, 150.43359375 ], [ 264.5080871582031, 165.4459228515625 ], [ 85.46484375, 165.4459228515625 ] ] }, { "title": "8.6 Searching", "heading_level": null, "page_id": 95, "polygon": [ [ 86.13720703125, 416.109375 ], [ 184.02597045898438, 416.109375 ], [ 184.02597045898438, 430.8046875 ], [ 86.13720703125, 430.8046875 ] ] }, { "title": "8.7 Looping and counting", "heading_level": null, "page_id": 96, "polygon": [ [ 127.82373046875, 85.95379638671875 ], [ 307.494140625, 85.95379638671875 ], [ 307.494140625, 100.546875 ], [ 127.82373046875, 100.546875 ] ] }, { "title": "8.8 String methods", "heading_level": null, "page_id": 96, "polygon": [ [ 128.3466796875, 318.9787292480469 ], [ 262.68975830078125, 318.9787292480469 ], [ 262.68975830078125, 333.324951171875 ], [ 128.3466796875, 333.324951171875 ] ] }, { "title": "8.9 The in operator", "heading_level": null, "page_id": 97, "polygon": [ [ 85.9130859375, 341.6040344238281 ], [ 220.9252471923828, 341.6040344238281 ], [ 220.9252471923828, 358.0268859863281 ], [ 85.9130859375, 358.0268859863281 ] ] }, { "title": "8.10 String comparison", "heading_level": null, "page_id": 97, "polygon": [ [ 85.9130859375, 664.7117080688477 ], [ 246.9814453125, 664.7117080688477 ], [ 246.9814453125, 679.0579071044922 ], [ 85.9130859375, 679.0579071044922 ] ] }, { "title": "8.11 Debugging", "heading_level": null, "page_id": 98, "polygon": [ [ 127.97314453125, 319.0566101074219 ], [ 243.17892456054688, 319.0566101074219 ], [ 243.17892456054688, 333.40283203125 ], [ 127.97314453125, 333.40283203125 ] ] }, { "title": "8.12 Glossary", "heading_level": null, "page_id": 99, "polygon": [ [ 85.763671875, 654.71484375 ], [ 184.02589416503906, 654.71484375 ], [ 184.02589416503906, 669.3321151733398 ], [ 85.763671875, 669.3321151733398 ] ] }, { "title": "8.13 Exercises", "heading_level": null, "page_id": 100, "polygon": [ [ 128.9443359375, 389.08367919921875 ], [ 228.80398559570312, 389.08367919921875 ], [ 228.80398559570312, 403.4299011230469 ], [ 128.9443359375, 403.4299011230469 ] ] }, { "title": "Chapter 9", "heading_level": null, "page_id": 102, "polygon": [ [ 129.16845703125, 162.73150634765625 ], [ 220.84561157226562, 162.73150634765625 ], [ 220.84561157226562, 183.39398193359375 ], [ 129.16845703125, 183.39398193359375 ] ] }, { "title": "Case study: word play", "heading_level": null, "page_id": 102, "polygon": [ [ 128.42138671875, 216.69732666015625 ], [ 381.684814453125, 216.69732666015625 ], [ 381.684814453125, 241.484375 ], [ 128.42138671875, 241.484375 ] ] }, { "title": "9.1 Reading word lists", "heading_level": null, "page_id": 102, "polygon": [ [ 128.27197265625, 288.9817810058594 ], [ 285.3853759765625, 288.9817810058594 ], [ 285.3853759765625, 303.3280029296875 ], [ 128.27197265625, 303.3280029296875 ] ] }, { "title": "9.2 Exercises", "heading_level": null, "page_id": 103, "polygon": [ [ 85.6142578125, 264.12890625 ], [ 178.430908203125, 264.12890625 ], [ 178.430908203125, 279.781005859375 ], [ 85.6142578125, 279.781005859375 ] ] }, { "title": "9.3 Search", "heading_level": null, "page_id": 103, "polygon": [ [ 86.0625, 652.78125 ], [ 162.50668334960938, 652.78125 ], [ 162.50668334960938, 667.7410888671875 ], [ 86.0625, 667.7410888671875 ] ] }, { "title": "9.4 Looping with indices", "heading_level": null, "page_id": 104, "polygon": [ [ 127.37548828125, 652.4447631835938 ], [ 301.3241271972656, 652.4447631835938 ], [ 301.3241271972656, 666.7909545898438 ], [ 127.37548828125, 666.7909545898438 ] ] }, { "title": "9.5 Debugging", "heading_level": null, "page_id": 106, "polygon": [ [ 128.0478515625, 194.90625 ], [ 236.00576782226562, 194.90625 ], [ 236.00576782226562, 209.6015625 ], [ 128.0478515625, 209.6015625 ] ] }, { "title": "9.6 Glossary", "heading_level": null, "page_id": 106, "polygon": [ [ 128.72021484375, 590.9436798095703 ], [ 220.05284118652344, 590.9436798095703 ], [ 220.05284118652344, 605.2898712158203 ], [ 128.72021484375, 605.2898712158203 ] ] }, { "title": "9.7 Exercises", "heading_level": null, "page_id": 107, "polygon": [ [ 85.6142578125, 85.271484375 ], [ 179.4462890625, 85.271484375 ], [ 179.4462890625, 99.97796630859375 ], [ 85.6142578125, 99.97796630859375 ] ] }, { "title": "Chapter 10", "heading_level": null, "page_id": 108, "polygon": [ [ 128.49609375, 163.1953125 ], [ 232.787109375, 163.1953125 ], [ 232.787109375, 184.333984375 ], [ 128.49609375, 184.333984375 ] ] }, { "title": "Lists", "heading_level": null, "page_id": 108, "polygon": [ [ 127.7490234375, 218.57733154296875 ], [ 184.2275390625, 218.57733154296875 ], [ 184.2275390625, 243.3643798828125 ], [ 127.7490234375, 243.3643798828125 ] ] }, { "title": "10.1 A list is a sequence", "heading_level": null, "page_id": 108, "polygon": [ [ 128.57080078125, 291.8017883300781 ], [ 294.1365661621094, 291.8017883300781 ], [ 294.1365661621094, 306.14801025390625 ], [ 128.57080078125, 306.14801025390625 ] ] }, { "title": "10.2 Lists are mutable", "heading_level": null, "page_id": 108, "polygon": [ [ 127.4501953125, 612.3318481445312 ], [ 281.39727783203125, 612.3318481445312 ], [ 281.39727783203125, 626.6780395507812 ], [ 127.4501953125, 626.6780395507812 ] ] }, { "title": "10.3 Traversing a list", "heading_level": null, "page_id": 110, "polygon": [ [ 128.6455078125, 85.95379638671875 ], [ 275.6689453125, 85.95379638671875 ], [ 275.6689453125, 100.29998779296875 ], [ 128.6455078125, 100.29998779296875 ] ] }, { "title": "10.4 List operations", "heading_level": null, "page_id": 110, "polygon": [ [ 129.01904296875, 423.2647705078125 ], [ 266.66363525390625, 423.2647705078125 ], [ 266.66363525390625, 437.6109924316406 ], [ 129.01904296875, 437.6109924316406 ] ] }, { "title": "10.5 List slices", "heading_level": null, "page_id": 110, "polygon": [ [ 127.1513671875, 662.3668518066406 ], [ 233.2353515625, 662.3668518066406 ], [ 233.2353515625, 676.7130432128906 ], [ 127.1513671875, 676.7130432128906 ] ] }, { "title": "10.6 List methods", "heading_level": null, "page_id": 111, "polygon": [ [ 85.46484375, 379.4886779785156 ], [ 210.70993041992188, 379.4886779785156 ], [ 210.70993041992188, 393.83489990234375 ], [ 85.46484375, 393.83489990234375 ] ] }, { "title": "10.7 Map, filter and reduce", "heading_level": null, "page_id": 112, "polygon": [ [ 128.0478515625, 85.95379638671875 ], [ 313.76953125, 85.95379638671875 ], [ 313.76953125, 100.29998779296875 ], [ 128.0478515625, 100.29998779296875 ] ] }, { "title": "10.8 Deleting elements", "heading_level": null, "page_id": 113, "polygon": [ [ 85.6142578125, 272.443359375 ], [ 245.77203369140625, 272.443359375 ], [ 245.77203369140625, 287.138671875 ], [ 85.6142578125, 287.138671875 ] ] }, { "title": "10.9 Lists and strings", "heading_level": null, "page_id": 114, "polygon": [ [ 128.6455078125, 85.95379638671875 ], [ 277.4619140625, 85.95379638671875 ], [ 277.4619140625, 100.29998779296875 ], [ 128.6455078125, 100.29998779296875 ] ] }, { "title": "10.10 Objects and values", "heading_level": null, "page_id": 114, "polygon": [ [ 127.8984375, 551.84765625 ], [ 300.5208435058594, 551.84765625 ], [ 300.5208435058594, 566.5540924072266 ], [ 127.8984375, 566.5540924072266 ] ] }, { "title": "10.11 Aliasing", "heading_level": null, "page_id": 115, "polygon": [ [ 85.6142578125, 513.5625 ], [ 189.0087890625, 513.5625 ], [ 189.0087890625, 528.2919616699219 ], [ 85.6142578125, 528.2919616699219 ] ] }, { "title": "10.12 List arguments", "heading_level": null, "page_id": 116, "polygon": [ [ 128.197265625, 420.4227600097656 ], [ 273.836669921875, 420.4227600097656 ], [ 273.836669921875, 434.76898193359375 ], [ 128.197265625, 434.76898193359375 ] ] }, { "title": "10.13 Debugging", "heading_level": null, "page_id": 117, "polygon": [ [ 85.6142578125, 428.7527160644531 ], [ 207.15200805664062, 428.7527160644531 ], [ 207.15200805664062, 443.56640625 ], [ 85.6142578125, 443.56640625 ] ] }, { "title": "10.14 Glossary", "heading_level": null, "page_id": 118, "polygon": [ [ 129.2431640625, 471.78265380859375 ], [ 234.4306640625, 471.78265380859375 ], [ 234.4306640625, 486.1288757324219 ], [ 129.2431640625, 486.1288757324219 ] ] }, { "title": "10.15 Exercises", "heading_level": null, "page_id": 119, "polygon": [ [ 85.6142578125, 292.359375 ], [ 192.77706909179688, 292.359375 ], [ 192.77706909179688, 307.092041015625 ], [ 85.6142578125, 307.092041015625 ] ] }, { "title": "Chapter 11", "heading_level": null, "page_id": 122, "polygon": [ [ 128.9443359375, 162.3251953125 ], [ 232.3388671875, 162.3251953125 ], [ 232.3388671875, 183.33795166015625 ], [ 128.9443359375, 183.33795166015625 ] ] }, { "title": "Dictionaries", "heading_level": null, "page_id": 122, "polygon": [ [ 129.16845703125, 216.5625 ], [ 268.646484375, 216.5625 ], [ 268.646484375, 241.371337890625 ], [ 129.16845703125, 241.371337890625 ] ] }, { "title": "11.1 Dictionary as a set of counters", "heading_level": null, "page_id": 123, "polygon": [ [ 85.46484375, 555.328125 ], [ 322.28021240234375, 555.328125 ], [ 322.28021240234375, 569.7739410400391 ], [ 85.46484375, 569.7739410400391 ] ] }, { "title": "11.2 Looping and dictionaries", "heading_level": null, "page_id": 124, "polygon": [ [ 127.4501953125, 653.94140625 ], [ 333.2156982421875, 653.94140625 ], [ 333.2156982421875, 668.4161911010742 ], [ 127.4501953125, 668.4161911010742 ] ] }, { "title": "11.3 Reverse lookup", "heading_level": null, "page_id": 125, "polygon": [ [ 85.46484375, 326.1167297363281 ], [ 228.26959228515625, 326.1167297363281 ], [ 228.26959228515625, 340.46295166015625 ], [ 85.46484375, 340.46295166015625 ] ] }, { "title": "11.4 Dictionaries and lists", "heading_level": null, "page_id": 126, "polygon": [ [ 127.30078125, 337.6007995605469 ], [ 308.4684143066406, 337.6007995605469 ], [ 308.4684143066406, 351.947021484375 ], [ 127.30078125, 351.947021484375 ] ] }, { "title": "11.5 Memos", "heading_level": null, "page_id": 127, "polygon": [ [ 85.763671875, 653.16796875 ], [ 174.4713134765625, 653.16796875 ], [ 174.4713134765625, 668.0169982910156 ], [ 85.763671875, 668.0169982910156 ] ] }, { "title": "11.6 Global variables", "heading_level": null, "page_id": 129, "polygon": [ [ 85.3154296875, 84.73974609375 ], [ 234.7294921875, 84.73974609375 ], [ 234.7294921875, 100.29998779296875 ], [ 85.3154296875, 100.29998779296875 ] ] }, { "title": "11.7 Long integers", "heading_level": null, "page_id": 130, "polygon": [ [ 127.7490234375, 234.62371826171875 ], [ 259.2333984375, 234.62371826171875 ], [ 259.2333984375, 249.43359375 ], [ 127.7490234375, 249.43359375 ] ] }, { "title": "11.8 Debugging", "heading_level": null, "page_id": 130, "polygon": [ [ 127.52490234375, 561.90234375 ], [ 243.17897033691406, 561.90234375 ], [ 243.17897033691406, 576.4298858642578 ], [ 127.52490234375, 576.4298858642578 ] ] }, { "title": "11.9 Glossary", "heading_level": null, "page_id": 131, "polygon": [ [ 85.68896484375, 335.1865539550781 ], [ 184.02589416503906, 335.1865539550781 ], [ 184.02589416503906, 349.53277587890625 ], [ 85.68896484375, 349.53277587890625 ] ] }, { "title": "11.10 Exercises", "heading_level": null, "page_id": 132, "polygon": [ [ 128.3466796875, 180.6627197265625 ], [ 236.5224609375, 180.6627197265625 ], [ 236.5224609375, 195.0089111328125 ], [ 128.3466796875, 195.0089111328125 ] ] }, { "title": "Chapter 12", "heading_level": null, "page_id": 134, "polygon": [ [ 128.9443359375, 162.615234375 ], [ 232.6376953125, 162.615234375 ], [ 232.6376953125, 183.574951171875 ], [ 128.9443359375, 183.574951171875 ] ] }, { "title": "Tuples", "heading_level": null, "page_id": 134, "polygon": [ [ 128.6455078125, 217.059326171875 ], [ 204.87843322753906, 217.059326171875 ], [ 204.87843322753906, 241.84637451171875 ], [ 128.6455078125, 241.84637451171875 ] ] }, { "title": "12.1 Tuples are immutable", "heading_level": null, "page_id": 134, "polygon": [ [ 128.27197265625, 289.458984375 ], [ 311.4381103515625, 289.458984375 ], [ 311.4381103515625, 303.8710021972656 ], [ 128.27197265625, 303.8710021972656 ] ] }, { "title": "12.2 Tuple assignment", "heading_level": null, "page_id": 135, "polygon": [ [ 85.6142578125, 315.5625 ], [ 241.53985595703125, 315.5625 ], [ 241.53985595703125, 330.0780029296875 ], [ 85.6142578125, 330.0780029296875 ] ] }, { "title": "12.3 Tuples as return values", "heading_level": null, "page_id": 136, "polygon": [ [ 128.86962890625, 85.95379638671875 ], [ 319.80194091796875, 85.95379638671875 ], [ 319.80194091796875, 100.29998779296875 ], [ 128.86962890625, 100.29998779296875 ] ] }, { "title": "12.4 Variable-length argument tuples", "heading_level": null, "page_id": 136, "polygon": [ [ 128.6455078125, 409.53515625 ], [ 381.8205261230469, 409.53515625 ], [ 381.8205261230469, 423.9659729003906 ], [ 128.6455078125, 423.9659729003906 ] ] }, { "title": "12.5 Lists and tuples", "heading_level": null, "page_id": 137, "polygon": [ [ 85.763671875, 199.16015625 ], [ 229.5, 199.16015625 ], [ 229.5, 215.7159423828125 ], [ 85.763671875, 215.7159423828125 ] ] }, { "title": "12.6 Dictionaries and tuples", "heading_level": null, "page_id": 138, "polygon": [ [ 128.57080078125, 185.9150390625 ], [ 322.0256042480469, 185.9150390625 ], [ 322.0256042480469, 200.4730224609375 ], [ 128.57080078125, 200.4730224609375 ] ] }, { "title": "12.7 Comparing tuples", "heading_level": null, "page_id": 139, "polygon": [ [ 85.53955078125, 525.55078125 ], [ 244.19384765625, 525.55078125 ], [ 244.19384765625, 540.5119476318359 ], [ 85.53955078125, 540.5119476318359 ] ] }, { "title": "12.8 Sequences of sequences", "heading_level": null, "page_id": 140, "polygon": [ [ 127.97314453125, 488.0967102050781 ], [ 326.0281982421875, 488.0967102050781 ], [ 326.0281982421875, 502.44293212890625 ], [ 127.97314453125, 502.44293212890625 ] ] }, { "title": "12.9 Debugging", "heading_level": null, "page_id": 141, "polygon": [ [ 85.6142578125, 222.5216064453125 ], [ 201.2607421875, 222.5216064453125 ], [ 201.2607421875, 237.251953125 ], [ 85.6142578125, 237.251953125 ] ] }, { "title": "12.10 Glossary", "heading_level": null, "page_id": 142, "polygon": [ [ 129.60000610351562, 85.95379638671875 ], [ 234.3990020751953, 85.95379638671875 ], [ 234.3990020751953, 100.29998779296875 ], [ 129.60000610351562, 100.29998779296875 ] ] }, { "title": "12.11 Exercises", "heading_level": null, "page_id": 142, "polygon": [ [ 128.72021484375, 343.4568786621094 ], [ 235.97714233398438, 343.4568786621094 ], [ 235.97714233398438, 357.8031005859375 ], [ 128.72021484375, 357.8031005859375 ] ] }, { "title": "Chapter 13", "heading_level": null, "page_id": 144, "polygon": [ [ 129.01904296875, 166.9874267578125 ], [ 231.591796875, 166.9874267578125 ], [ 231.591796875, 187.64990234375 ], [ 129.01904296875, 187.64990234375 ] ] }, { "title": "Case study: data structure\nselection", "heading_level": null, "page_id": 144, "polygon": [ [ 128.6455078125, 225.209228515625 ], [ 423.140625, 225.209228515625 ], [ 423.140625, 280.4812927246094 ], [ 128.6455078125, 280.4812927246094 ] ] }, { "title": "13.1 Word frequency analysis", "heading_level": null, "page_id": 144, "polygon": [ [ 128.86962890625, 331.611328125 ], [ 331.3649597167969, 331.611328125 ], [ 331.3649597167969, 346.58087158203125 ], [ 128.86962890625, 346.58087158203125 ] ] }, { "title": "13.2 Random numbers", "heading_level": null, "page_id": 145, "polygon": [ [ 85.39013671875, 85.95379638671875 ], [ 243.544921875, 85.95379638671875 ], [ 243.544921875, 100.546875 ], [ 85.39013671875, 100.546875 ] ] }, { "title": "13.3 Word histogram", "heading_level": null, "page_id": 146, "polygon": [ [ 127.8984375, 85.95379638671875 ], [ 275.220703125, 85.95379638671875 ], [ 275.220703125, 100.29998779296875 ], [ 127.8984375, 100.29998779296875 ] ] }, { "title": "13.4 Most common words", "heading_level": null, "page_id": 147, "polygon": [ [ 85.53955078125, 154.7841796875 ], [ 263.7333679199219, 154.7841796875 ], [ 263.7333679199219, 169.3389892578125 ], [ 85.53955078125, 169.3389892578125 ] ] }, { "title": "13.5 Optional parameters", "heading_level": null, "page_id": 147, "polygon": [ [ 85.3154296875, 540.6328125 ], [ 260.9214782714844, 540.6328125 ], [ 260.9214782714844, 555.4039306640625 ], [ 85.3154296875, 555.4039306640625 ] ] }, { "title": "13.6 Dictionary subtraction", "heading_level": null, "page_id": 148, "polygon": [ [ 127.82373046875, 209.6015625 ], [ 316.8609924316406, 209.6015625 ], [ 316.8609924316406, 224.30792236328125 ], [ 127.82373046875, 224.30792236328125 ] ] }, { "title": "13.7 Random words", "heading_level": null, "page_id": 148, "polygon": [ [ 127.7490234375, 641.8667907714844 ], [ 269.3935546875, 641.8667907714844 ], [ 269.3935546875, 656.2129821777344 ], [ 127.7490234375, 656.2129821777344 ] ] }, { "title": "13.8 Markov analysis", "heading_level": null, "page_id": 149, "polygon": [ [ 85.3154296875, 417.85174560546875 ], [ 234.6392822265625, 417.85174560546875 ], [ 234.6392822265625, 432.1979675292969 ], [ 85.3154296875, 432.1979675292969 ] ] }, { "title": "13.9 Data structures", "heading_level": null, "page_id": 150, "polygon": [ [ 128.3466796875, 616.8848419189453 ], [ 268.24176025390625, 616.8848419189453 ], [ 268.24176025390625, 631.2310333251953 ], [ 128.3466796875, 631.2310333251953 ] ] }, { "title": "13.10 Debugging", "heading_level": null, "page_id": 152, "polygon": [ [ 129.60000610351562, 85.95379638671875 ], [ 250.41796875, 85.95379638671875 ], [ 250.41796875, 100.4501953125 ], [ 129.60000610351562, 100.4501953125 ] ] }, { "title": "13.11 Glossary", "heading_level": null, "page_id": 153, "polygon": [ [ 85.46484375, 85.95379638671875 ], [ 191.25, 85.95379638671875 ], [ 191.25, 100.29998779296875 ], [ 85.46484375, 100.29998779296875 ] ] }, { "title": "13.12 Exercises", "heading_level": null, "page_id": 153, "polygon": [ [ 85.53955078125, 265.482421875 ], [ 192.77706909179688, 265.482421875 ], [ 192.77706909179688, 280.2669677734375 ], [ 85.53955078125, 280.2669677734375 ] ] }, { "title": "Chapter 14", "heading_level": null, "page_id": 154, "polygon": [ [ 128.794921875, 162.615234375 ], [ 232.787109375, 162.615234375 ], [ 232.787109375, 184.32196044921875 ], [ 128.794921875, 184.32196044921875 ] ] }, { "title": "Files", "heading_level": null, "page_id": 154, "polygon": [ [ 127.8984375, 217.916015625 ], [ 184.974609375, 217.916015625 ], [ 184.974609375, 243.34136962890625 ], [ 127.8984375, 243.34136962890625 ] ] }, { "title": "14.1 Persistence", "heading_level": null, "page_id": 154, "polygon": [ [ 128.6455078125, 291.7667541503906 ], [ 242.4990234375, 291.7667541503906 ], [ 242.4990234375, 306.11297607421875 ], [ 128.6455078125, 306.11297607421875 ] ] }, { "title": "14.2 Reading and writing", "heading_level": null, "page_id": 154, "polygon": [ [ 127.8984375, 544.88671875 ], [ 305.701171875, 544.88671875 ], [ 305.701171875, 559.58203125 ], [ 127.8984375, 559.58203125 ] ] }, { "title": "14.3 Format operator", "heading_level": null, "page_id": 155, "polygon": [ [ 85.763671875, 227.187744140625 ], [ 232.189453125, 227.187744140625 ], [ 232.189453125, 241.533935546875 ], [ 85.763671875, 241.533935546875 ] ] }, { "title": "14.4 Filenames and paths", "heading_level": null, "page_id": 156, "polygon": [ [ 127.82373046875, 172.94970703125 ], [ 303.7198791503906, 172.94970703125 ], [ 303.7198791503906, 187.2958984375 ], [ 127.82373046875, 187.2958984375 ] ] }, { "title": "14.5 Catching exceptions", "heading_level": null, "page_id": 157, "polygon": [ [ 85.3154296875, 233.19140625 ], [ 258.0380859375, 233.19140625 ], [ 258.0380859375, 249.285888671875 ], [ 85.3154296875, 249.285888671875 ] ] }, { "title": "14.6 Databases", "heading_level": null, "page_id": 158, "polygon": [ [ 128.197265625, 155.07421875 ], [ 235.97708129882812, 155.07421875 ], [ 235.97708129882812, 169.46295166015625 ], [ 128.197265625, 169.46295166015625 ] ] }, { "title": "14.7 Pickling", "heading_level": null, "page_id": 158, "polygon": [ [ 128.0478515625, 584.33203125 ], [ 224.02682495117188, 584.33203125 ], [ 224.02682495117188, 598.7357788085938 ], [ 128.0478515625, 598.7357788085938 ] ] }, { "title": "14.8 Pipes", "heading_level": null, "page_id": 159, "polygon": [ [ 85.68896484375, 460.58203125 ], [ 162.263671875, 460.58203125 ], [ 162.263671875, 475.7430114746094 ], [ 85.68896484375, 475.7430114746094 ] ] }, { "title": "14.9 Writing modules", "heading_level": null, "page_id": 160, "polygon": [ [ 127.30078125, 564.4838562011719 ], [ 279.703125, 564.4838562011719 ], [ 279.703125, 578.8300476074219 ], [ 127.30078125, 578.8300476074219 ] ] }, { "title": "14.10 Debugging", "heading_level": null, "page_id": 161, "polygon": [ [ 85.6142578125, 524.77734375 ], [ 207.1519775390625, 524.77734375 ], [ 207.1519775390625, 539.7729644775391 ], [ 85.6142578125, 539.7729644775391 ] ] }, { "title": "14.11 Glossary", "heading_level": null, "page_id": 162, "polygon": [ [ 128.794921875, 224.9427490234375 ], [ 234.87890625, 224.9427490234375 ], [ 234.87890625, 239.2889404296875 ], [ 128.794921875, 239.2889404296875 ] ] }, { "title": "14.12 Exercises", "heading_level": null, "page_id": 162, "polygon": [ [ 128.3466796875, 548.1956634521484 ], [ 235.97705078125, 548.1956634521484 ], [ 235.97705078125, 562.5418548583984 ], [ 128.3466796875, 562.5418548583984 ] ] }, { "title": "Chapter 15", "heading_level": null, "page_id": 164, "polygon": [ [ 128.6455078125, 163.001953125 ], [ 232.6376953125, 163.001953125 ], [ 232.6376953125, 184.200927734375 ], [ 128.6455078125, 184.200927734375 ] ] }, { "title": "Classes and objects", "heading_level": null, "page_id": 164, "polygon": [ [ 128.57080078125, 218.109375 ], [ 348.4700927734375, 218.109375 ], [ 348.4700927734375, 243.09832763671875 ], [ 128.57080078125, 243.09832763671875 ] ] }, { "title": "15.1 User-defined types", "heading_level": null, "page_id": 164, "polygon": [ [ 128.3466796875, 353.8217468261719 ], [ 292.1044921875, 353.8217468261719 ], [ 292.1044921875, 368.16796875 ], [ 128.3466796875, 368.16796875 ] ] }, { "title": "15.2 Attributes", "heading_level": null, "page_id": 165, "polygon": [ [ 85.763671875, 366.416015625 ], [ 192.77703857421875, 366.416015625 ], [ 192.77703857421875, 381.3328857421875 ], [ 85.763671875, 381.3328857421875 ] ] }, { "title": "15.3 Rectangles", "heading_level": null, "page_id": 166, "polygon": [ [ 128.0478515625, 317.8707580566406 ], [ 240.1083984375, 317.8707580566406 ], [ 240.1083984375, 332.21697998046875 ], [ 128.0478515625, 332.21697998046875 ] ] }, { "title": "15.4 Instances as return values", "heading_level": null, "page_id": 167, "polygon": [ [ 85.9130859375, 317.4716491699219 ], [ 294.3768615722656, 317.4716491699219 ], [ 294.3768615722656, 331.81787109375 ], [ 85.9130859375, 331.81787109375 ] ] }, { "title": "15.5 Objects are mutable", "heading_level": null, "page_id": 167, "polygon": [ [ 85.98779296875, 530.023681640625 ], [ 257.888671875, 530.023681640625 ], [ 257.888671875, 544.3698883056641 ], [ 85.98779296875, 544.3698883056641 ] ] }, { "title": "15.6 Copying", "heading_level": null, "page_id": 168, "polygon": [ [ 127.7490234375, 302.9747009277344 ], [ 225.7646484375, 302.9747009277344 ], [ 225.7646484375, 317.3209228515625 ], [ 127.7490234375, 317.3209228515625 ] ] }, { "title": "15.7 Debugging", "heading_level": null, "page_id": 169, "polygon": [ [ 85.763671875, 493.453125 ], [ 199.9788055419922, 493.453125 ], [ 199.9788055419922, 508.17291259765625 ], [ 85.763671875, 508.17291259765625 ] ] }, { "title": "15.8 Glossary", "heading_level": null, "page_id": 170, "polygon": [ [ 127.4501953125, 138.96173095703125 ], [ 227.2587890625, 138.96173095703125 ], [ 227.2587890625, 153.30792236328125 ], [ 127.4501953125, 153.30792236328125 ] ] }, { "title": "15.9 Exercises", "heading_level": null, "page_id": 170, "polygon": [ [ 128.49609375, 395.608642578125 ], [ 228.80392456054688, 395.608642578125 ], [ 228.80392456054688, 409.9548645019531 ], [ 128.49609375, 409.9548645019531 ] ] }, { "title": "Chapter 16", "heading_level": null, "page_id": 172, "polygon": [ [ 128.794921875, 162.7974853515625 ], [ 232.787109375, 162.7974853515625 ], [ 232.787109375, 183.4599609375 ], [ 128.794921875, 183.4599609375 ] ] }, { "title": "Classes and functions", "heading_level": null, "page_id": 172, "polygon": [ [ 128.86962890625, 216.830322265625 ], [ 376.008544921875, 216.830322265625 ], [ 376.008544921875, 241.61737060546875 ], [ 128.86962890625, 241.61737060546875 ] ] }, { "title": "16.1 Time", "heading_level": null, "page_id": 172, "polygon": [ [ 128.86962890625, 336.0127868652344 ], [ 202.53607177734375, 336.0127868652344 ], [ 202.53607177734375, 350.3590087890625 ], [ 128.86962890625, 350.3590087890625 ] ] }, { "title": "16.2 Pure functions", "heading_level": null, "page_id": 172, "polygon": [ [ 127.8984375, 628.921875 ], [ 265.0711975097656, 628.921875 ], [ 265.0711975097656, 643.26806640625 ], [ 127.8984375, 643.26806640625 ] ] }, { "title": "16.3 Modifiers", "heading_level": null, "page_id": 174, "polygon": [ [ 128.3466796875, 262.001953125 ], [ 232.80654907226562, 262.001953125 ], [ 232.80654907226562, 276.3709716796875 ], [ 128.3466796875, 276.3709716796875 ] ] }, { "title": "16.4 Prototyping versus planning", "heading_level": null, "page_id": 175, "polygon": [ [ 84.94189453125, 85.41650390625 ], [ 314.666015625, 85.41650390625 ], [ 314.666015625, 100.546875 ], [ 84.94189453125, 100.546875 ] ] }, { "title": "16.5 Debugging", "heading_level": null, "page_id": 176, "polygon": [ [ 127.7490234375, 183.3677978515625 ], [ 243.3955078125, 183.3677978515625 ], [ 243.3955078125, 197.7139892578125 ], [ 127.7490234375, 197.7139892578125 ] ] }, { "title": "16.6 Glossary", "heading_level": null, "page_id": 176, "polygon": [ [ 127.8984375, 624.05078125 ], [ 227.22596740722656, 624.05078125 ], [ 227.22596740722656, 638.39697265625 ], [ 127.8984375, 638.39697265625 ] ] }, { "title": "16.7 Exercises", "heading_level": null, "page_id": 177, "polygon": [ [ 85.68896484375, 225.21575927734375 ], [ 185.60400390625, 225.21575927734375 ], [ 185.60400390625, 239.56195068359375 ], [ 85.68896484375, 239.56195068359375 ] ] }, { "title": "Chapter 17", "heading_level": null, "page_id": 178, "polygon": [ [ 128.27197265625, 161.26171875 ], [ 232.787109375, 161.26171875 ], [ 232.787109375, 183.00201416015625 ], [ 128.27197265625, 183.00201416015625 ] ] }, { "title": "Classes and methods", "heading_level": null, "page_id": 178, "polygon": [ [ 129.16845703125, 215.208984375 ], [ 366.662109375, 215.208984375 ], [ 366.662109375, 240.700439453125 ], [ 129.16845703125, 240.700439453125 ] ] }, { "title": "17.1 Object-oriented features", "heading_level": null, "page_id": 178, "polygon": [ [ 128.6455078125, 333.73828125 ], [ 329.30859375, 333.73828125 ], [ 329.30859375, 348.3430480957031 ], [ 128.6455078125, 348.3430480957031 ] ] }, { "title": "17.2 Printing objects", "heading_level": null, "page_id": 179, "polygon": [ [ 85.46484375, 216.17578125 ], [ 229.83331298828125, 216.17578125 ], [ 229.83331298828125, 231.40789794921875 ], [ 85.46484375, 231.40789794921875 ] ] }, { "title": "17.3 Another example", "heading_level": null, "page_id": 180, "polygon": [ [ 127.52490234375, 365.8359375 ], [ 282.09375, 365.8359375 ], [ 282.09375, 380.197998046875 ], [ 127.52490234375, 380.197998046875 ] ] }, { "title": "17.4 A more complicated example", "heading_level": null, "page_id": 181, "polygon": [ [ 85.3154296875, 85.70654296875 ], [ 317.35546875, 85.70654296875 ], [ 317.35546875, 100.29998779296875 ], [ 85.3154296875, 100.29998779296875 ] ] }, { "title": "17.5 The init method", "heading_level": null, "page_id": 181, "polygon": [ [ 85.763671875, 278.4375 ], [ 231.84181213378906, 278.4375 ], [ 231.84181213378906, 293.90625 ], [ 85.763671875, 293.90625 ] ] }, { "title": "17.6 The __str__ method", "heading_level": null, "page_id": 182, "polygon": [ [ 128.6455078125, 83.87713623046875 ], [ 302.9117126464844, 83.87713623046875 ], [ 302.9117126464844, 100.29998779296875 ], [ 128.6455078125, 100.29998779296875 ] ] }, { "title": "17.7 Operator overloading", "heading_level": null, "page_id": 182, "polygon": [ [ 127.8984375, 363.1026611328125 ], [ 311.080078125, 363.1026611328125 ], [ 311.080078125, 377.4488830566406 ], [ 127.8984375, 377.4488830566406 ] ] }, { "title": "17.8 Type-based dispatch", "heading_level": null, "page_id": 183, "polygon": [ [ 85.6142578125, 85.95379638671875 ], [ 261.3251953125, 85.95379638671875 ], [ 261.3251953125, 100.29998779296875 ], [ 85.6142578125, 100.29998779296875 ] ] }, { "title": "17.9 Polymorphism", "heading_level": null, "page_id": 184, "polygon": [ [ 128.42138671875, 223.18475341796875 ], [ 266.29058837890625, 223.18475341796875 ], [ 266.29058837890625, 237.53094482421875 ], [ 128.42138671875, 237.53094482421875 ] ] }, { "title": "17.10 Debugging", "heading_level": null, "page_id": 185, "polygon": [ [ 85.3154296875, 85.12646484375 ], [ 208.1337890625, 85.12646484375 ], [ 208.1337890625, 101.513671875 ], [ 85.3154296875, 101.513671875 ] ] }, { "title": "17.11 Interface and implementation", "heading_level": null, "page_id": 185, "polygon": [ [ 85.3154296875, 400.640625 ], [ 328.26263427734375, 400.640625 ], [ 328.26263427734375, 417.40594482421875 ], [ 85.3154296875, 417.40594482421875 ] ] }, { "title": "17.12 Glossary", "heading_level": null, "page_id": 186, "polygon": [ [ 128.3466796875, 239.185791015625 ], [ 234.7294921875, 239.185791015625 ], [ 234.7294921875, 253.531982421875 ], [ 128.3466796875, 253.531982421875 ] ] }, { "title": "17.13 Exercises", "heading_level": null, "page_id": 186, "polygon": [ [ 128.6455078125, 522.84375 ], [ 236.2236328125, 522.84375 ], [ 236.2236328125, 537.4670257568359 ], [ 128.6455078125, 537.4670257568359 ] ] }, { "title": "Chapter 18", "heading_level": null, "page_id": 188, "polygon": [ [ 129.09375, 163.1953125 ], [ 233.68359375, 163.1953125 ], [ 233.68359375, 184.29296875 ], [ 129.09375, 184.29296875 ] ] }, { "title": "Inheritance", "heading_level": null, "page_id": 188, "polygon": [ [ 128.9443359375, 218.302734375 ], [ 259.8310546875, 218.302734375 ], [ 259.8310546875, 243.2823486328125 ], [ 128.9443359375, 243.2823486328125 ] ] }, { "title": "18.1 Card objects", "heading_level": null, "page_id": 188, "polygon": [ [ 128.6455078125, 395.9047546386719 ], [ 250.8662109375, 395.9047546386719 ], [ 250.8662109375, 410.30859375 ], [ 128.6455078125, 410.30859375 ] ] }, { "title": "18.2 Class attributes", "heading_level": null, "page_id": 189, "polygon": [ [ 85.9130859375, 382.46484375 ], [ 227.42312622070312, 382.46484375 ], [ 227.42312622070312, 396.8459167480469 ], [ 85.9130859375, 396.8459167480469 ] ] }, { "title": "18.3 Comparing cards", "heading_level": null, "page_id": 190, "polygon": [ [ 128.3466796875, 483.01171875 ], [ 281.0240783691406, 483.01171875 ], [ 281.0240783691406, 497.5999755859375 ], [ 128.3466796875, 497.5999755859375 ] ] }, { "title": "18.4 Decks", "heading_level": null, "page_id": 191, "polygon": [ [ 85.763671875, 477.44677734375 ], [ 166.48049926757812, 477.44677734375 ], [ 166.48049926757812, 491.7929992675781 ], [ 85.763671875, 491.7929992675781 ] ] }, { "title": "18.5 Printing the deck", "heading_level": null, "page_id": 192, "polygon": [ [ 127.8984375, 85.95379638671875 ], [ 283.587890625, 85.95379638671875 ], [ 283.587890625, 100.29998779296875 ], [ 127.8984375, 100.29998779296875 ] ] }, { "title": "18.6 Add, remove, shuffle and sort", "heading_level": null, "page_id": 192, "polygon": [ [ 128.49609375, 456.9557800292969 ], [ 362.4675598144531, 456.9557800292969 ], [ 362.4675598144531, 471.302001953125 ], [ 128.49609375, 471.302001953125 ] ] }, { "title": "18.7 Inheritance", "heading_level": null, "page_id": 193, "polygon": [ [ 85.763671875, 266.0625 ], [ 200.7535858154297, 266.0625 ], [ 200.7535858154297, 280.8150634765625 ], [ 85.763671875, 280.8150634765625 ] ] }, { "title": "18.8 Class diagrams", "heading_level": null, "page_id": 194, "polygon": [ [ 127.4501953125, 596.4488372802734 ], [ 268.25604248046875, 596.4488372802734 ], [ 268.25604248046875, 610.7950286865234 ], [ 127.4501953125, 610.7950286865234 ] ] }, { "title": "18.9 Debugging", "heading_level": null, "page_id": 195, "polygon": [ [ 85.6142578125, 563.0625 ], [ 202.1572265625, 563.0625 ], [ 202.1572265625, 578.53125 ], [ 85.6142578125, 578.53125 ] ] }, { "title": "18.10 Data encapsulation", "heading_level": null, "page_id": 196, "polygon": [ [ 128.86962890625, 423.11175537109375 ], [ 302.5148010253906, 423.11175537109375 ], [ 302.5148010253906, 437.4579772949219 ], [ 128.86962890625, 437.4579772949219 ] ] }, { "title": "18.11 Glossary", "heading_level": null, "page_id": 197, "polygon": [ [ 85.39013671875, 538.69921875 ], [ 191.19908142089844, 538.69921875 ], [ 191.19908142089844, 553.2739562988281 ], [ 85.39013671875, 553.2739562988281 ] ] }, { "title": "18.12 Exercises", "heading_level": null, "page_id": 198, "polygon": [ [ 128.9443359375, 277.52880859375 ], [ 235.97714233398438, 277.52880859375 ], [ 235.97714233398438, 291.875 ], [ 128.9443359375, 291.875 ] ] }, { "title": "Chapter 19", "heading_level": null, "page_id": 200, "polygon": [ [ 128.9443359375, 163.58203125 ], [ 232.0400390625, 163.58203125 ], [ 232.0400390625, 185.2369384765625 ], [ 128.9443359375, 185.2369384765625 ] ] }, { "title": "Case study: Tkinter", "heading_level": null, "page_id": 200, "polygon": [ [ 128.27197265625, 220.236328125 ], [ 352.318359375, 220.236328125 ], [ 352.318359375, 245.17132568359375 ], [ 128.27197265625, 245.17132568359375 ] ] }, { "title": "19.1 GUI", "heading_level": null, "page_id": 200, "polygon": [ [ 128.794921875, 294.5127258300781 ], [ 198.421875, 294.5127258300781 ], [ 198.421875, 308.85894775390625 ], [ 128.794921875, 308.85894775390625 ] ] }, { "title": "19.2 Buttons and callbacks", "heading_level": null, "page_id": 201, "polygon": [ [ 85.68896484375, 316.916015625 ], [ 269.2710266113281, 316.916015625 ], [ 269.2710266113281, 331.5769348144531 ], [ 85.68896484375, 331.5769348144531 ] ] }, { "title": "19.3 Canvas widgets", "heading_level": null, "page_id": 202, "polygon": [ [ 128.6455078125, 335.95166015625 ], [ 272.3818359375, 335.95166015625 ], [ 272.3818359375, 350.2978820800781 ], [ 128.6455078125, 350.2978820800781 ] ] }, { "title": "19.4 Coordinate sequences", "heading_level": null, "page_id": 203, "polygon": [ [ 85.53955078125, 171.7998046875 ], [ 269.6870422363281, 171.7998046875 ], [ 269.6870422363281, 186.14697265625 ], [ 85.53955078125, 186.14697265625 ] ] }, { "title": "19.5 More widgets", "heading_level": null, "page_id": 203, "polygon": [ [ 85.6142578125, 465.609375 ], [ 216.30496215820312, 465.609375 ], [ 216.30496215820312, 480.4320373535156 ], [ 85.6142578125, 480.4320373535156 ] ] }, { "title": "19.6 Packing widgets", "heading_level": null, "page_id": 204, "polygon": [ [ 128.3466796875, 402.5648498535156 ], [ 277.02154541015625, 402.5648498535156 ], [ 277.02154541015625, 416.91107177734375 ], [ 128.3466796875, 416.91107177734375 ] ] }, { "title": "19.7 Menus and Callables", "heading_level": null, "page_id": 206, "polygon": [ [ 128.27197265625, 565.2227935791016 ], [ 308.091796875, 565.2227935791016 ], [ 308.091796875, 579.5689849853516 ], [ 128.27197265625, 579.5689849853516 ] ] }, { "title": "19.8 Binding", "heading_level": null, "page_id": 207, "polygon": [ [ 85.6142578125, 404.94476318359375 ], [ 179.7451171875, 404.94476318359375 ], [ 179.7451171875, 419.2909851074219 ], [ 85.6142578125, 419.2909851074219 ] ] }, { "title": "19.9 Debugging", "heading_level": null, "page_id": 209, "polygon": [ [ 85.6142578125, 400.25390625 ], [ 200.6630859375, 400.25390625 ], [ 200.6630859375, 414.94921875 ], [ 85.6142578125, 414.94921875 ] ] }, { "title": "19.10 Glossary", "heading_level": null, "page_id": 210, "polygon": [ [ 128.6455078125, 342.93377685546875 ], [ 234.7294921875, 342.93377685546875 ], [ 234.7294921875, 357.2799987792969 ], [ 128.6455078125, 357.2799987792969 ] ] }, { "title": "19.11 Exercises", "heading_level": null, "page_id": 211, "polygon": [ [ 85.166015625, 84.4013671875 ], [ 194.0888671875, 84.4013671875 ], [ 194.0888671875, 99.97796630859375 ], [ 85.166015625, 99.97796630859375 ] ] }, { "title": "Appendix A", "heading_level": null, "page_id": 214, "polygon": [ [ 128.6455078125, 163.775390625 ], [ 246.3837890625, 163.775390625 ], [ 246.3837890625, 185.823974609375 ], [ 128.6455078125, 185.823974609375 ] ] }, { "title": "Debugging", "heading_level": null, "page_id": 214, "polygon": [ [ 128.794921875, 220.236328125 ], [ 259.083984375, 220.236328125 ], [ 259.083984375, 246.34539794921875 ], [ 128.794921875, 246.34539794921875 ] ] }, { "title": "A.1 Syntax errors", "heading_level": null, "page_id": 214, "polygon": [ [ 129.392578125, 568.3808135986328 ], [ 252.34609985351562, 568.3808135986328 ], [ 252.34609985351562, 582.7270050048828 ], [ 129.392578125, 582.7270050048828 ] ] }, { "title": "A.1.1 I keep making changes and it makes no difference.", "heading_level": null, "page_id": 215, "polygon": [ [ 85.9130859375, 498.48046875 ], [ 403.41796875, 498.48046875 ], [ 403.41796875, 511.0899658203125 ], [ 85.9130859375, 511.0899658203125 ] ] }, { "title": "A.2 Runtime errors", "heading_level": null, "page_id": 216, "polygon": [ [ 128.27197265625, 233.96484375 ], [ 265.0855407714844, 233.96484375 ], [ 265.0855407714844, 248.33489990234375 ], [ 128.27197265625, 248.33489990234375 ] ] }, { "title": "A.2.1 My program does absolutely nothing.", "heading_level": null, "page_id": 216, "polygon": [ [ 128.3466796875, 308.794921875 ], [ 374.3588562011719, 308.794921875 ], [ 374.3588562011719, 321.02691650390625 ], [ 128.3466796875, 321.02691650390625 ] ] }, { "title": "A.2.2 My program hangs.", "heading_level": null, "page_id": 216, "polygon": [ [ 129.01904296875, 424.6171875 ], [ 276.1171875, 424.6171875 ], [ 276.1171875, 437.11590576171875 ], [ 129.01904296875, 437.11590576171875 ] ] }, { "title": "Infinite Loop", "heading_level": null, "page_id": 217, "polygon": [ [ 85.166015625, 87.35009765625 ], [ 147.919921875, 87.35009765625 ], [ 147.919921875, 98.70074462890625 ], [ 85.166015625, 98.70074462890625 ] ] }, { "title": "Infinite Recursion", "heading_level": null, "page_id": 217, "polygon": [ [ 85.763671875, 328.904296875 ], [ 169.2861328125, 328.904296875 ], [ 169.2861328125, 340.1767883300781 ], [ 85.763671875, 340.1767883300781 ] ] }, { "title": "Flow of Execution", "heading_level": null, "page_id": 217, "polygon": [ [ 85.763671875, 521.68359375 ], [ 168.3896484375, 521.68359375 ], [ 168.3896484375, 533.2448425292969 ], [ 85.763671875, 533.2448425292969 ] ] }, { "title": "A.2.3 When I run the program I get an exception.", "heading_level": null, "page_id": 217, "polygon": [ [ 85.53955078125, 623.9998321533203 ], [ 359.7890625, 623.9998321533203 ], [ 359.7890625, 635.9550323486328 ], [ 85.53955078125, 635.9550323486328 ] ] }, { "title": "A.2.4 I added so many print statements I get inundated with output.", "heading_level": null, "page_id": 218, "polygon": [ [ 128.0478515625, 609.0523681640625 ], [ 511.3203430175781, 609.0523681640625 ], [ 511.3203430175781, 621.1488494873047 ], [ 128.0478515625, 621.1488494873047 ] ] }, { "title": "A.3 Semantic errors", "heading_level": null, "page_id": 219, "polygon": [ [ 86.2119140625, 290.8125 ], [ 225.7646484375, 290.8125 ], [ 225.7646484375, 306.06982421875 ], [ 86.2119140625, 306.06982421875 ] ] }, { "title": "A.3.1 My program doesn't work.", "heading_level": null, "page_id": 219, "polygon": [ [ 85.68896484375, 472.18359375 ], [ 270.8448791503906, 472.18359375 ], [ 270.8448791503906, 485.61285400390625 ], [ 85.68896484375, 485.61285400390625 ] ] }, { "title": "A.3.2 I've got a big hairy expression and it doesn't do what I expect.", "heading_level": null, "page_id": 220, "polygon": [ [ 129.392578125, 190.3623046875 ], [ 504.9574279785156, 190.3623046875 ], [ 504.9574279785156, 202.9779052734375 ], [ 129.392578125, 202.9779052734375 ] ] }, { "title": "A.3.3 I've got a function or method that doesn't return what I expect.", "heading_level": null, "page_id": 220, "polygon": [ [ 128.197265625, 571.5703125 ], [ 509.2732238769531, 571.5703125 ], [ 509.2732238769531, 583.7809906005859 ], [ 128.197265625, 583.7809906005859 ] ] }, { "title": "A.3.4 I'm really, really stuck and I need help.", "heading_level": null, "page_id": 221, "polygon": [ [ 84.7177734375, 85.80322265625 ], [ 339.46875, 85.80322265625 ], [ 339.46875, 99.24493408203125 ], [ 84.7177734375, 99.24493408203125 ] ] }, { "title": "A.3.5 No, I really need help.", "heading_level": null, "page_id": 221, "polygon": [ [ 85.9130859375, 351.333984375 ], [ 249.0732421875, 351.333984375 ], [ 249.0732421875, 364.482421875 ], [ 85.9130859375, 364.482421875 ] ] }, { "title": "Appendix B", "heading_level": null, "page_id": 222, "polygon": [ [ 128.12255859375, 163.388671875 ], [ 243.544921875, 163.388671875 ], [ 243.544921875, 184.8819580078125 ], [ 128.12255859375, 184.8819580078125 ] ] }, { "title": "Analysis of Algorithms", "heading_level": null, "page_id": 222, "polygon": [ [ 127.97314453125, 219.076171875 ], [ 393.9792175292969, 219.076171875 ], [ 393.9792175292969, 244.46136474609375 ], [ 127.97314453125, 244.46136474609375 ] ] }, { "title": "B.1 Order of growth", "heading_level": null, "page_id": 223, "polygon": [ [ 85.09130859375, 281.14453125 ], [ 228.603515625, 281.14453125 ], [ 228.603515625, 296.4639892578125 ], [ 85.09130859375, 296.4639892578125 ] ] }, { "title": "B.2 Analysis of basic Python operations", "heading_level": null, "page_id": 225, "polygon": [ [ 84.64306640625, 85.271484375 ], [ 357.697265625, 85.271484375 ], [ 357.697265625, 100.29998779296875 ], [ 84.64306640625, 100.29998779296875 ] ] }, { "title": "B.3 Analysis of search algorithms", "heading_level": null, "page_id": 226, "polygon": [ [ 129.01904296875, 453.54278564453125 ], [ 358.3215026855469, 453.54278564453125 ], [ 358.3215026855469, 467.8890075683594 ], [ 129.01904296875, 467.8890075683594 ] ] }, { "title": "B.4 Hashtables", "heading_level": null, "page_id": 227, "polygon": [ [ 85.6142578125, 248.466796875 ], [ 194.537109375, 248.466796875 ], [ 194.537109375, 263.1820068359375 ], [ 85.6142578125, 263.1820068359375 ] ] }, { "title": "Appendix C", "heading_level": null, "page_id": 232, "polygon": [ [ 128.49609375, 161.068359375 ], [ 246.533203125, 161.068359375 ], [ 246.533203125, 182.990966796875 ], [ 128.49609375, 182.990966796875 ] ] }, { "title": "Lumpy", "heading_level": null, "page_id": 232, "polygon": [ [ 129.09375, 215.89129638671875 ], [ 212.765625, 215.89129638671875 ], [ 212.765625, 241.69921875 ], [ 129.09375, 241.69921875 ] ] }, { "title": "C.1 State diagram", "heading_level": null, "page_id": 232, "polygon": [ [ 127.30078125, 665.9296875 ], [ 256.39453125, 665.9296875 ], [ 256.39453125, 680.3199615478516 ], [ 127.30078125, 680.3199615478516 ] ] }, { "title": "C.2 Stack diagram", "heading_level": null, "page_id": 233, "polygon": [ [ 86.0625, 649.6875 ], [ 215.5015106201172, 649.6875 ], [ 215.5015106201172, 665.2679290771484 ], [ 86.0625, 665.2679290771484 ] ] }, { "title": "C.3 Object diagrams", "heading_level": null, "page_id": 234, "polygon": [ [ 127.8984375, 575.82421875 ], [ 273.12890625, 575.82421875 ], [ 273.12890625, 590.51953125 ], [ 127.8984375, 590.51953125 ] ] }, { "title": "C.4 Function and class objects", "heading_level": null, "page_id": 236, "polygon": [ [ 128.42138671875, 636.92578125 ], [ 335.9700012207031, 636.92578125 ], [ 335.9700012207031, 651.62109375 ], [ 128.42138671875, 651.62109375 ] ] }, { "title": "C.5 Class Diagrams", "heading_level": null, "page_id": 237, "polygon": [ [ 85.9130859375, 649.30078125 ], [ 225.1669921875, 649.30078125 ], [ 225.1669921875, 665.6630401611328 ], [ 85.9130859375, 665.6630401611328 ] ] } ], "page_stats": [ { "page_id": 0, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 7 ], [ "Line", 3 ], [ "SectionHeader", 2 ], [ "Text", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7791 } }, { "page_id": 1, "text_extraction_method": "surya", "block_counts": [ [ "Text", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2122 } }, { "page_id": 2, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 12 ], [ "Line", 6 ], [ "Text", 4 ], [ "SectionHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 3, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 42 ], [ "Line", 11 ], [ "Text", 5 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 4, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 64 ], [ "Line", 31 ], [ "Text", 8 ], [ "ListItem", 4 ], [ "SectionHeader", 2 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 5, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 72 ], [ "Line", 34 ], [ "Text", 10 ], [ "ListItem", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 6, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 91 ], [ "Line", 39 ], [ "ListItem", 20 ], [ "Text", 3 ], [ "SectionHeader", 1 ], [ "PageHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 7, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 96 ], [ "Line", 39 ], [ "ListItem", 25 ], [ "PageHeader", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4024 } }, { "page_id": 8, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 77 ], [ "Line", 35 ], [ "ListItem", 28 ], [ "PageHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 9, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 86 ], [ "Line", 35 ], [ "ListItem", 28 ], [ "PageHeader", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 10, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 91 ], [ "Line", 34 ], [ "ListItem", 29 ], [ "PageHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4048 } }, { "page_id": 11, "text_extraction_method": "pdftext", "block_counts": [ [ "PageHeader", 2 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 12, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 156 ], [ "Span", 71 ], [ "Line", 24 ], [ "SectionHeader", 1 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2891 } }, { "page_id": 13, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 124 ], [ "Span", 96 ], [ "Line", 31 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 1, "llm_tokens_used": 2353 } }, { "page_id": 14, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 112 ], [ "Span", 84 ], [ "Line", 28 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 1, "llm_tokens_used": 2865 } }, { "page_id": 15, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 253 ], [ "Span", 116 ], [ "Line", 33 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7349 } }, { "page_id": 16, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 85 ], [ "TableCell", 84 ], [ "Line", 28 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 1, "llm_tokens_used": 3874 } }, { "page_id": 17, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 95 ], [ "TableCell", 93 ], [ "Line", 31 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 1, "llm_tokens_used": 4431 } }, { "page_id": 18, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 165 ], [ "Span", 81 ], [ "Line", 27 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 8554 } }, { "page_id": 19, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 159 ], [ "Span", 87 ], [ "Line", 28 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 8979 } }, { "page_id": 20, "text_extraction_method": "pdftext", "block_counts": [ [ "TableCell", 112 ], [ "Span", 85 ], [ "Line", 28 ], [ "PageHeader", 2 ], [ "TableOfContents", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 1, "llm_tokens_used": 5907 } }, { "page_id": 21, "text_extraction_method": "surya", "block_counts": [ [ "PageHeader", 2 ], [ "Line", 2 ], [ "Span", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 22, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 58 ], [ "Line", 29 ], [ "Text", 6 ], [ "SectionHeader", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 23, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 139 ], [ "Line", 41 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "Figure", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1760 } }, { "page_id": 24, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 105 ], [ "Line", 36 ], [ "Text", 13 ], [ "SectionHeader", 3 ], [ "PageHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 25, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 91 ], [ "Line", 39 ], [ "Text", 10 ], [ "SectionHeader", 3 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 26, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 155 ], [ "Line", 41 ], [ "Text", 9 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListItem", 2 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4050 } }, { "page_id": 27, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 86 ], [ "Line", 37 ], [ "Text", 9 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 28, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 89 ], [ "Line", 38 ], [ "Text", 9 ], [ "ListItem", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3846 } }, { "page_id": 29, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 105 ], [ "Line", 32 ], [ "ListItem", 19 ], [ "PageHeader", 2 ], [ "Text", 2 ], [ "ListGroup", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3846 } }, { "page_id": 30, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 76 ], [ "Line", 18 ], [ "Text", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 31, "text_extraction_method": "pdftext", "block_counts": [ [ "Text", 1 ], [ "PageHeader", 1 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 32, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 116 ], [ "Line", 28 ], [ "Text", 7 ], [ "SectionHeader", 3 ], [ "Code", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 33, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 118 ], [ "Line", 39 ], [ "Text", 9 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4159 } }, { "page_id": 34, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 158 ], [ "TableCell", 71 ], [ "Line", 42 ], [ "Text", 13 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Table", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1750 } }, { "page_id": 35, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 99 ], [ "Line", 39 ], [ "Text", 14 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "Code", 1 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 36, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 144 ], [ "Line", 38 ], [ "Text", 5 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 37, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 153 ], [ "Line", 40 ], [ "Text", 12 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "TextInlineMath", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3838 } }, { "page_id": 38, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 143 ], [ "Line", 38 ], [ "Text", 13 ], [ "ListItem", 5 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "Code", 1 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 3, "llm_error_count": 0, "llm_tokens_used": 11442 } }, { "page_id": 39, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 108 ], [ "Line", 33 ], [ "ListItem", 7 ], [ "Text", 6 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 40, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 78 ], [ "Line", 27 ], [ "Text", 7 ], [ "SectionHeader", 4 ], [ "Reference", 3 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 41, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 140 ], [ "Line", 42 ], [ "Text", 8 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "TextInlineMath", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 42, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 100 ], [ "Line", 40 ], [ "Text", 12 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3073 } }, { "page_id": 43, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 107 ], [ "Line", 42 ], [ "Code", 7 ], [ "Text", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 44, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 101 ], [ "Line", 39 ], [ "Text", 14 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 45, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 135 ], [ "Line", 45 ], [ "Text", 7 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 46, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 166 ], [ "Line", 47 ], [ "Text", 8 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 47, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 98 ], [ "Line", 39 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 48, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 121 ], [ "Line", 40 ], [ "Text", 10 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1747 } }, { "page_id": 49, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 115 ], [ "Line", 35 ], [ "ListItem", 17 ], [ "PageHeader", 2 ], [ "Text", 2 ], [ "SectionHeader", 1 ], [ "Caption", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3840 } }, { "page_id": 50, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 153 ], [ "Line", 36 ], [ "ListItem", 8 ], [ "Text", 7 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3792 } }, { "page_id": 51, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 78 ], [ "Line", 23 ], [ "Text", 5 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4044 } }, { "page_id": 52, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 75 ], [ "Line", 25 ], [ "Text", 9 ], [ "SectionHeader", 3 ], [ "Code", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 53, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 147 ], [ "Line", 38 ], [ "Text", 15 ], [ "Code", 2 ], [ "PageHeader", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 1, "llm_tokens_used": 0 } }, { "page_id": 54, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 172 ], [ "Line", 41 ], [ "Text", 11 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 55, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 163 ], [ "Line", 39 ], [ "Text", 10 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 56, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 163 ], [ "Line", 42 ], [ "Text", 10 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 57, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 153 ], [ "Line", 43 ], [ "Text", 6 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 58, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 99 ], [ "Line", 35 ], [ "Text", 7 ], [ "ListItem", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2259 } }, { "page_id": 59, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 108 ], [ "Line", 38 ], [ "Text", 7 ], [ "ListItem", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 60, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 119 ], [ "Line", 23 ], [ "Text", 8 ], [ "ListItem", 4 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Figure", 2 ], [ "Caption", 2 ], [ "FigureGroup", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4173 } }, { "page_id": 61, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 61 ], [ "Line", 12 ], [ "Text", 4 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 62, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 116 ], [ "Line", 30 ], [ "Text", 5 ], [ "SectionHeader", 4 ], [ "Code", 3 ], [ "Reference", 3 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 698 } }, { "page_id": 63, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 208 ], [ "Line", 41 ], [ "TableCell", 25 ], [ "Text", 13 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ], [ "Table", 1 ] ], "block_metadata": { "llm_request_count": 3, "llm_error_count": 0, "llm_tokens_used": 9060 } }, { "page_id": 64, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 130 ], [ "Line", 41 ], [ "Text", 6 ], [ "SectionHeader", 3 ], [ "Code", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 65, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 168 ], [ "Line", 43 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 66, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 217 ], [ "Line", 39 ], [ "Text", 15 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 67, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 110 ], [ "Line", 40 ], [ "Text", 6 ], [ "Code", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 5072 } }, { "page_id": 68, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 102 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 69, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 153 ], [ "Line", 39 ], [ "Text", 7 ], [ "ListItem", 7 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3938 } }, { "page_id": 70, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 154 ], [ "Line", 39 ], [ "ListItem", 8 ], [ "Text", 8 ], [ "PageHeader", 2 ], [ "Equation", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7531 } }, { "page_id": 71, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 104 ], [ "Line", 30 ], [ "ListItem", 10 ], [ "Text", 3 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7789 } }, { "page_id": 72, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 79 ], [ "Line", 29 ], [ "Text", 7 ], [ "SectionHeader", 3 ], [ "Code", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 73, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 221 ], [ "Line", 42 ], [ "Text", 13 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Equation", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7941 } }, { "page_id": 74, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 163 ], [ "Line", 45 ], [ "Text", 9 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7820 } }, { "page_id": 75, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 109 ], [ "Line", 38 ], [ "Text", 8 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 76, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 167 ], [ "Line", 42 ], [ "Text", 11 ], [ "TextInlineMath", 3 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Equation", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 77, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 170 ], [ "Line", 40 ], [ "Text", 16 ], [ "Code", 3 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3937 } }, { "page_id": 78, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 186 ], [ "Line", 48 ], [ "Text", 7 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3978 } }, { "page_id": 79, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 131 ], [ "Line", 45 ], [ "Text", 8 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 80, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 116 ], [ "Line", 38 ], [ "Text", 9 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 81, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 95 ], [ "Line", 39 ], [ "ListItem", 6 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "Text", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 82, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 296 ], [ "Line", 45 ], [ "Text", 7 ], [ "Code", 4 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Equation", 1 ], [ "TextInlineMath", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 6226 } }, { "page_id": 83, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 22 ], [ "Line", 4 ], [ "PageHeader", 2 ], [ "Text", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 84, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 138 ], [ "Line", 29 ], [ "Text", 9 ], [ "SectionHeader", 3 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3828 } }, { "page_id": 85, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 161 ], [ "Line", 37 ], [ "Text", 10 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "TextInlineMath", 2 ], [ "Code", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "ListItem", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 86, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 176 ], [ "Line", 40 ], [ "Text", 10 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 87, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 132 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Equation", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 4325 } }, { "page_id": 88, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 155 ], [ "Line", 45 ], [ "Text", 7 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4083 } }, { "page_id": 89, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 105 ], [ "Line", 38 ], [ "Text", 12 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 90, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 168 ], [ "Line", 51 ], [ "Text", 12 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Equation", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 91, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 38 ], [ "Line", 5 ], [ "PageHeader", 2 ], [ "Text", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 92, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 96 ], [ "Line", 26 ], [ "Text", 10 ], [ "SectionHeader", 4 ], [ "Reference", 3 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 93, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 139 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2534 } }, { "page_id": 94, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 115 ], [ "Line", 42 ], [ "Code", 4 ], [ "Text", 4 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 95, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 154 ], [ "Line", 41 ], [ "Text", 12 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 96, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 162 ], [ "Line", 42 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 97, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 166 ], [ "Line", 41 ], [ "Text", 11 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 98, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 150 ], [ "Line", 41 ], [ "Text", 8 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3993 } }, { "page_id": 99, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 123 ], [ "Line", 39 ], [ "Text", 8 ], [ "Code", 4 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Table", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "Figure", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2075 } }, { "page_id": 100, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 119 ], [ "Line", 38 ], [ "Text", 11 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 101, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 73 ], [ "Line", 28 ], [ "Text", 5 ], [ "PageHeader", 2 ], [ "Code", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 102, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 108 ], [ "Line", 32 ], [ "Text", 7 ], [ "SectionHeader", 3 ], [ "Code", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 103, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 161 ], [ "Line", 42 ], [ "Text", 15 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 757 } }, { "page_id": 104, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 139 ], [ "Line", 43 ], [ "Text", 10 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1805 } }, { "page_id": 105, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 138 ], [ "Line", 46 ], [ "Text", 7 ], [ "Code", 4 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 106, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 89 ], [ "Line", 34 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "Code", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 107, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 117 ], [ "Line", 38 ], [ "Text", 12 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 108, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 90 ], [ "Line", 28 ], [ "Text", 10 ], [ "SectionHeader", 4 ], [ "Reference", 3 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 109, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 132 ], [ "Line", 42 ], [ "Text", 6 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 110, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 140 ], [ "Line", 37 ], [ "Text", 10 ], [ "Code", 4 ], [ "SectionHeader", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 738 } }, { "page_id": 111, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 208 ], [ "Line", 40 ], [ "Text", 8 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 4, "llm_error_count": 0, "llm_tokens_used": 11464 } }, { "page_id": 112, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 144 ], [ "Line", 44 ], [ "Text", 12 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 113, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 214 ], [ "Line", 45 ], [ "Text", 12 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 5073 } }, { "page_id": 114, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 184 ], [ "Line", 39 ], [ "Text", 10 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4054 } }, { "page_id": 115, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 123 ], [ "Line", 44 ], [ "Text", 11 ], [ "TableCell", 8 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Figure", 1 ], [ "Table", 1 ], [ "Caption", 1 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "TableGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1599 } }, { "page_id": 116, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 128 ], [ "Line", 45 ], [ "Text", 8 ], [ "TextInlineMath", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Caption", 2 ], [ "Code", 2 ], [ "Equation", 1 ], [ "Figure", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 117, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 114 ], [ "Line", 40 ], [ "Text", 9 ], [ "Code", 3 ], [ "TextInlineMath", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListItem", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 118, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 126 ], [ "Line", 38 ], [ "Text", 11 ], [ "TableCell", 8 ], [ "ListItem", 6 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "Table", 1 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 3321 } }, { "page_id": 119, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 197 ], [ "Line", 39 ], [ "Text", 11 ], [ "ListItem", 6 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 120, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 69 ], [ "Line", 20 ], [ "Text", 6 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 121, "text_extraction_method": "pdftext", "block_counts": [ [ "PageHeader", 2 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 122, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 128 ], [ "Line", 32 ], [ "Text", 10 ], [ "Code", 5 ], [ "SectionHeader", 2 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 8052 } }, { "page_id": 123, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 154 ], [ "Line", 41 ], [ "Text", 9 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 124, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 173 ], [ "Line", 45 ], [ "Text", 10 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "ListItem", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 125, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 132 ], [ "Line", 41 ], [ "Text", 11 ], [ "Code", 3 ], [ "TextInlineMath", 2 ], [ "PageHeader", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 4856 } }, { "page_id": 126, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 137 ], [ "Line", 43 ], [ "Text", 9 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 127, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 166 ], [ "Line", 56 ], [ "Text", 9 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 128, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 180 ], [ "Line", 48 ], [ "Text", 9 ], [ "PageHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 129, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 137 ], [ "Line", 41 ], [ "Text", 10 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 130, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 124 ], [ "Line", 38 ], [ "Text", 10 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 131, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 117 ], [ "Line", 36 ], [ "Text", 14 ], [ "ListItem", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3827 } }, { "page_id": 132, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 149 ], [ "Line", 41 ], [ "Text", 12 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 133, "text_extraction_method": "pdftext", "block_counts": [ [ "PageHeader", 2 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 134, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 110 ], [ "Line", 31 ], [ "Text", 9 ], [ "Code", 5 ], [ "SectionHeader", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4051 } }, { "page_id": 135, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 124 ], [ "Line", 39 ], [ "Text", 10 ], [ "Code", 4 ], [ "TextInlineMath", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 6291 } }, { "page_id": 136, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 142 ], [ "Line", 43 ], [ "Text", 11 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3681 } }, { "page_id": 137, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 156 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "TextInlineMath", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 3, "llm_error_count": 0, "llm_tokens_used": 6124 } }, { "page_id": 138, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 136 ], [ "Line", 41 ], [ "Text", 13 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4148 } }, { "page_id": 139, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 113 ], [ "Line", 43 ], [ "TableCell", 37 ], [ "Text", 9 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Table", 2 ], [ "Caption", 2 ], [ "Code", 2 ], [ "TableGroup", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 3, "llm_error_count": 0, "llm_tokens_used": 5526 } }, { "page_id": 140, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 111 ], [ "Line", 40 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Code", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 141, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 131 ], [ "Line", 45 ], [ "Text", 5 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 142, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 124 ], [ "Line", 37 ], [ "ListItem", 9 ], [ "Text", 7 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListGroup", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 143, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 81 ], [ "Line", 30 ], [ "Text", 8 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 144, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 91 ], [ "Line", 27 ], [ "Text", 9 ], [ "SectionHeader", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 145, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 154 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2477 } }, { "page_id": 146, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 127 ], [ "Line", 40 ], [ "Text", 12 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 147, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 104 ], [ "Line", 41 ], [ "Text", 9 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 741 } }, { "page_id": 148, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 137 ], [ "Line", 42 ], [ "Text", 10 ], [ "Code", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2529 } }, { "page_id": 149, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 110 ], [ "Line", 38 ], [ "Text", 11 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Code", 1 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 150, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 91 ], [ "Line", 40 ], [ "Text", 11 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 151, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 114 ], [ "Line", 45 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Code", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 152, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 89 ], [ "Line", 42 ], [ "Text", 9 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 153, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 107 ], [ "Line", 27 ], [ "Text", 8 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ], [ "Equation", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7672 } }, { "page_id": 154, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 76 ], [ "Line", 27 ], [ "Text", 9 ], [ "SectionHeader", 4 ], [ "Reference", 3 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 155, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 163 ], [ "Line", 41 ], [ "Text", 13 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4133 } }, { "page_id": 156, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 136 ], [ "Line", 40 ], [ "Text", 13 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 157, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 162 ], [ "Line", 44 ], [ "Text", 11 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 158, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 136 ], [ "Line", 37 ], [ "Text", 13 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 2787 } }, { "page_id": 159, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 176 ], [ "Line", 45 ], [ "Text", 10 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "Footnote", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 160, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 134 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 3 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 161, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 125 ], [ "Line", 40 ], [ "Text", 12 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 162, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 128 ], [ "Line", 37 ], [ "ListItem", 11 ], [ "Text", 5 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 163, "text_extraction_method": "pdftext", "block_counts": [ [ "PageHeader", 2 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 164, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 108 ], [ "Line", 26 ], [ "Text", 9 ], [ "SectionHeader", 3 ], [ "ListItem", 3 ], [ "Reference", 2 ], [ "Code", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 165, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 150 ], [ "Line", 43 ], [ "Text", 12 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Caption", 1 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3947 } }, { "page_id": 166, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 121 ], [ "Line", 39 ], [ "Text", 10 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "TextInlineMath", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 167, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 144 ], [ "Line", 44 ], [ "Text", 6 ], [ "Code", 5 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 168, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 175 ], [ "Line", 42 ], [ "Text", 7 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 169, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 160 ], [ "Line", 53 ], [ "Text", 8 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 170, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 130 ], [ "Line", 38 ], [ "Text", 14 ], [ "ListItem", 5 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "TextInlineMath", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 4, "llm_error_count": 0, "llm_tokens_used": 13603 } }, { "page_id": 171, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 64 ], [ "Line", 20 ], [ "Text", 5 ], [ "ListItem", 5 ], [ "PageHeader", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 172, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 117 ], [ "Line", 28 ], [ "Text", 8 ], [ "Reference", 5 ], [ "SectionHeader", 4 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 1742 } }, { "page_id": 173, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 123 ], [ "Line", 46 ], [ "Text", 6 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 174, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 116 ], [ "Line", 40 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 175, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 142 ], [ "Line", 45 ], [ "Text", 12 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 176, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 121 ], [ "Line", 41 ], [ "Text", 9 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 177, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 102 ], [ "Line", 29 ], [ "ListItem", 8 ], [ "Text", 4 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 178, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 85 ], [ "Line", 29 ], [ "Text", 8 ], [ "SectionHeader", 3 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 179, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 143 ], [ "Line", 42 ], [ "Text", 9 ], [ "Code", 6 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 180, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 143 ], [ "Line", 40 ], [ "Text", 10 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 181, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 144 ], [ "Line", 42 ], [ "Text", 13 ], [ "Code", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 1, "llm_tokens_used": 0 } }, { "page_id": 182, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 150 ], [ "Line", 36 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 183, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 137 ], [ "Line", 43 ], [ "Text", 8 ], [ "Code", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3832 } }, { "page_id": 184, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 124 ], [ "Line", 42 ], [ "Text", 7 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3848 } }, { "page_id": 185, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 120 ], [ "Line", 41 ], [ "Text", 13 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4030 } }, { "page_id": 186, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 147 ], [ "Line", 36 ], [ "ListItem", 11 ], [ "Text", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListGroup", 2 ], [ "Reference", 2 ], [ "TextInlineMath", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 187, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 102 ], [ "Line", 35 ], [ "Text", 9 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "TextInlineMath", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 188, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 98 ], [ "Line", 29 ], [ "TableCell", 24 ], [ "Text", 7 ], [ "SectionHeader", 3 ], [ "Reference", 2 ], [ "Table", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 830 } }, { "page_id": 189, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 189 ], [ "Line", 39 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 190, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 165 ], [ "Line", 42 ], [ "Text", 9 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "Code", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 191, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 138 ], [ "Line", 40 ], [ "Text", 8 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 3, "llm_error_count": 0, "llm_tokens_used": 11008 } }, { "page_id": 192, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 126 ], [ "Line", 40 ], [ "Text", 10 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3916 } }, { "page_id": 193, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 155 ], [ "Line", 39 ], [ "Text", 16 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 194, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 128 ], [ "Line", 43 ], [ "Text", 11 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 195, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 126 ], [ "Line", 35 ], [ "Text", 10 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 196, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 127 ], [ "Line", 41 ], [ "Text", 12 ], [ "PageHeader", 2 ], [ "TextInlineMath", 2 ], [ "Code", 1 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 197, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 103 ], [ "Line", 38 ], [ "ListItem", 9 ], [ "Text", 4 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 198, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 152 ], [ "Line", 37 ], [ "Text", 12 ], [ "ListItem", 10 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3828 } }, { "page_id": 199, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 233 ], [ "Line", 37 ], [ "ListItem", 9 ], [ "Text", 5 ], [ "ListGroup", 3 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 200, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 77 ], [ "Line", 26 ], [ "Text", 12 ], [ "SectionHeader", 3 ], [ "Reference", 2 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 201, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 111 ], [ "Line", 36 ], [ "Text", 19 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 202, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 163 ], [ "Line", 42 ], [ "Text", 20 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3853 } }, { "page_id": 203, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 120 ], [ "Line", 36 ], [ "Text", 18 ], [ "Code", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 204, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 125 ], [ "Line", 42 ], [ "Text", 14 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "Reference", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 205, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 93 ], [ "Line", 28 ], [ "Text", 6 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 7820 } }, { "page_id": 206, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 139 ], [ "Line", 40 ], [ "Text", 8 ], [ "Code", 5 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 207, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 136 ], [ "Line", 41 ], [ "Text", 11 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 208, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 143 ], [ "Line", 44 ], [ "Text", 9 ], [ "Code", 6 ], [ "PageHeader", 2 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3947 } }, { "page_id": 209, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 110 ], [ "Line", 40 ], [ "Text", 10 ], [ "Code", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 210, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 101 ], [ "Line", 37 ], [ "ListItem", 17 ], [ "Text", 4 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 211, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 156 ], [ "Line", 42 ], [ "Text", 10 ], [ "Code", 3 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 212, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 63 ], [ "Line", 17 ], [ "Text", 5 ], [ "PageHeader", 2 ], [ "ListItem", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 213, "text_extraction_method": "pdftext", "block_counts": [ [ "Text", 1 ], [ "PageHeader", 1 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 214, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 63 ], [ "Line", 27 ], [ "Text", 4 ], [ "SectionHeader", 3 ], [ "ListItem", 3 ], [ "Reference", 2 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 215, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 106 ], [ "Line", 37 ], [ "ListItem", 10 ], [ "Text", 7 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 216, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 84 ], [ "Line", 36 ], [ "Text", 7 ], [ "ListItem", 6 ], [ "SectionHeader", 3 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 217, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 114 ], [ "Line", 38 ], [ "Text", 10 ], [ "SectionHeader", 4 ], [ "PageHeader", 2 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4025 } }, { "page_id": 218, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 133 ], [ "Line", 40 ], [ "Text", 7 ], [ "ListItem", 7 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 219, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 81 ], [ "Line", 37 ], [ "Text", 9 ], [ "ListItem", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 220, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 106 ], [ "Line", 43 ], [ "Text", 12 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "TextInlineMath", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 221, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 68 ], [ "Line", 33 ], [ "Text", 8 ], [ "ListItem", 6 ], [ "PageHeader", 2 ], [ "SectionHeader", 2 ], [ "ListGroup", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 222, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 82 ], [ "Line", 33 ], [ "Text", 6 ], [ "SectionHeader", 2 ], [ "ListItem", 2 ], [ "Reference", 2 ], [ "Footnote", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 223, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 223 ], [ "Line", 46 ], [ "TableCell", 33 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "ListItem", 1 ], [ "SectionHeader", 1 ], [ "Table", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 6180 } }, { "page_id": 224, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 402 ], [ "Line", 53 ], [ "TableCell", 36 ], [ "ListItem", 6 ], [ "Text", 4 ], [ "TextInlineMath", 3 ], [ "PageHeader", 2 ], [ "Table", 1 ], [ "ListGroup", 1 ] ], "block_metadata": { "llm_request_count": 2, "llm_error_count": 0, "llm_tokens_used": 6657 } }, { "page_id": 225, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 237 ], [ "Line", 39 ], [ "Text", 12 ], [ "ListItem", 4 ], [ "PageHeader", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 4070 } }, { "page_id": 226, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 144 ], [ "Line", 40 ], [ "ListItem", 9 ], [ "Text", 7 ], [ "PageHeader", 2 ], [ "ListGroup", 2 ], [ "SectionHeader", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 227, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 161 ], [ "Line", 38 ], [ "Text", 11 ], [ "PageHeader", 2 ], [ "ListItem", 2 ], [ "SectionHeader", 1 ], [ "Code", 1 ], [ "ListGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3961 } }, { "page_id": 228, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 145 ], [ "Line", 43 ], [ "Text", 10 ], [ "PageHeader", 2 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 229, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 136 ], [ "Line", 40 ], [ "Text", 7 ], [ "PageHeader", 2 ], [ "Code", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 230, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 102 ], [ "Line", 21 ], [ "Text", 6 ], [ "PageHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 231, "text_extraction_method": "pdftext", "block_counts": [ [ "Text", 1 ], [ "PageHeader", 1 ], [ "Line", 1 ], [ "Span", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 232, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 86 ], [ "Line", 29 ], [ "Text", 10 ], [ "SectionHeader", 3 ], [ "Reference", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 233, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 113 ], [ "Line", 40 ], [ "Text", 10 ], [ "Code", 3 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Figure", 2 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3868 } }, { "page_id": 234, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 103 ], [ "Line", 39 ], [ "Text", 6 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 235, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 103 ], [ "Line", 38 ], [ "Text", 9 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 236, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 117 ], [ "Line", 44 ], [ "Reference", 3 ], [ "PageHeader", 2 ], [ "Figure", 2 ], [ "Caption", 2 ], [ "Code", 2 ], [ "Text", 2 ], [ "FigureGroup", 2 ], [ "SectionHeader", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3794 } }, { "page_id": 237, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 109 ], [ "Line", 37 ], [ "Text", 5 ], [ "PageHeader", 2 ], [ "Code", 2 ], [ "Reference", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "SectionHeader", 1 ], [ "FigureGroup", 1 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } }, { "page_id": 238, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 140 ], [ "Line", 51 ], [ "Text", 5 ], [ "Code", 3 ], [ "PageHeader", 2 ], [ "Figure", 1 ], [ "Caption", 1 ], [ "FigureGroup", 1 ], [ "Reference", 1 ] ], "block_metadata": { "llm_request_count": 1, "llm_error_count": 0, "llm_tokens_used": 3419 } }, { "page_id": 239, "text_extraction_method": "pdftext", "block_counts": [ [ "Span", 63 ], [ "Line", 17 ], [ "Text", 3 ], [ "PageHeader", 2 ], [ "Code", 2 ] ], "block_metadata": { "llm_request_count": 0, "llm_error_count": 0, "llm_tokens_used": 0 } } ], "debug_data_path": "debug_data/thinkpython" } ```