layer at (0,0) size 785x1066
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1066
  RenderBlock {HTML} at (0,0) size 785x1066
    RenderBody {BODY} at (8,8) size 769x584
      RenderBlock (floating) {DIV} at (4,0) size 202x498 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x496
          text run at (1,1) width 200: "also the division of"
          text run at (1,32) width 200: "the mind into the"
          text run at (1,63) width 200: "rational, concupis" + hyphen string "-"
          text run at (1,94) width 112: "cent, and "
          text run at (112,94) width 89: "irascible"
          text run at (1,125) width 200: "elements, or of"
          text run at (1,156) width 200: "pleasures and de" + hyphen string "-"
          text run at (1,187) width 200: "sires into neces" + hyphen string "-"
          text run at (1,218) width 108: "sary and "
          text run at (108,218) width 93: "unneces" + hyphen string "-"
          text run at (1,249) width 200: "sary\x{2014}these and"
          text run at (1,280) width 200: "other great forms"
          text run at (1,311) width 200: "of thought are all"
          text run at (1,342) width 129: "of them "
          text run at (129,342) width 72: "to be"
          text run at (1,373) width 200: "found in the Re" + hyphen string "-"
          text run at (1,404) width 200: "public, and were"
          text run at (1,435) width 200: "probably first in" + hyphen string "-"
          text run at (1,466) width 109: "vented by "
          text run at (109,466) width 61: "Plato."
      RenderBlock (floating) {DIV} at (214,0) size 202x498 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x496
          text run at (1,1) width 200: "also the division of"
          text run at (1,32) width 200: "the mind into the"
          text run at (1,63) width 200: "rational, concupis" + hyphen string "-"
          text run at (1,94) width 112: "cent, and "
          text run at (112,94) width 89: "irascible"
          text run at (1,125) width 200: "elements, or of"
          text run at (1,156) width 200: "pleasures and de" + hyphen string "-"
          text run at (1,187) width 200: "sires into neces" + hyphen string "-"
          text run at (1,218) width 108: "sary and "
          text run at (108,218) width 93: "unneces" + hyphen string "-"
          text run at (1,249) width 200: "sary\x{2014}these and"
          text run at (1,280) width 200: "other great forms"
          text run at (1,311) width 200: "of thought are all"
          text run at (1,342) width 129: "of them "
          text run at (129,342) width 72: "to be"
          text run at (1,373) width 200: "found in the Re" + hyphen string "-"
          text run at (1,404) width 200: "public, and were"
          text run at (1,435) width 200: "probably first in" + hyphen string "-"
          text run at (1,466) width 109: "vented by "
          text run at (109,466) width 61: "Plato."
      RenderBlock (floating) {DIV} at (424,0) size 202x529 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x527
          text run at (1,1) width 200: "also the division of"
          text run at (1,32) width 200: "the mind into the"
          text run at (1,63) width 200: "rational, concupis" + hyphen string "-"
          text run at (1,94) width 112: "cent, and "
          text run at (112,94) width 89: "irascible"
          text run at (1,125) width 200: "elements, or of"
          text run at (1,156) width 200: "pleasures and de" + hyphen string "-"
          text run at (1,187) width 200: "sires into neces" + hyphen string "-"
          text run at (1,218) width 200: "sary and"
          text run at (1,249) width 200: "unnecessary\x{2014}"
          text run at (1,280) width 200: "these and other"
          text run at (1,311) width 200: "great forms of"
          text run at (1,342) width 200: "thought are all of"
          text run at (1,373) width 67: "them "
          text run at (67,373) width 134: "to be found"
          text run at (1,404) width 200: "in the Republic,"
          text run at (1,435) width 200: "and were probably"
          text run at (1,466) width 200: "first invented by"
          text run at (1,497) width 60: "Plato."
      RenderBlock (floating) {DIV} at (4,529) size 202x498 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x496
          text run at (1,1) width 200: "also the division of"
          text run at (1,32) width 200: "the mind into the"
          text run at (1,63) width 200: "rational, concupis" + hyphen string "-"
          text run at (1,94) width 112: "cent, and "
          text run at (112,94) width 89: "irascible"
          text run at (1,125) width 200: "elements, or of"
          text run at (1,156) width 200: "pleasures and de" + hyphen string "-"
          text run at (1,187) width 200: "sires into"
          text run at (1,218) width 166: "necessary and "
          text run at (166,218) width 35: "un" + hyphen string "-"
          text run at (1,249) width 200: "necessary\x{2014}these"
          text run at (1,280) width 200: "and other great"
          text run at (1,311) width 200: "forms of thought"
          text run at (1,342) width 180: "are all of them "
          text run at (180,342) width 21: "to"
          text run at (1,373) width 200: "be found in the"
          text run at (1,404) width 200: "Republic, and"
          text run at (1,435) width 200: "were probably first"
          text run at (1,466) width 129: "invented by "
          text run at (129,466) width 61: "Plato."
      RenderBlock (floating) {DIV} at (214,529) size 202x529 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x527
          text run at (1,1) width 200: "also the division of"
          text run at (1,32) width 200: "the mind into the"
          text run at (1,63) width 86: "rational,"
          text run at (1,94) width 200: "concupiscent, and"
          text run at (1,125) width 200: "irascible elements,"
          text run at (1,156) width 200: "or of pleasures and"
          text run at (1,187) width 200: "desires into"
          text run at (1,218) width 200: "necessary and"
          text run at (1,249) width 200: "unnecessary\x{2014}"
          text run at (1,280) width 200: "these and other"
          text run at (1,311) width 200: "great forms of"
          text run at (1,342) width 200: "thought are all of"
          text run at (1,373) width 67: "them "
          text run at (67,373) width 134: "to be found"
          text run at (1,404) width 200: "in the Republic,"
          text run at (1,435) width 200: "and were probably"
          text run at (1,466) width 200: "first invented by"
          text run at (1,497) width 60: "Plato."
