<mxfile host="Electron" modified="2023-10-24T18:05:59.655Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.0.2 Chrome/114.0.5735.289 Electron/25.8.4 Safari/537.36" etag="k26cYTekuvP0_SzdJTuV" version="22.0.2" type="device">
  <diagram id="R2lEEEUBdFMjLlhIrx00" name="Page-1">
    <mxGraphModel dx="1669" dy="479" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0" extFonts="Permanent Marker^https://fonts.googleapis.com/css?family=Permanent+Marker">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-13" value="media" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="-80" y="250" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-14" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="C-vyLk0tnHw3VtMMgP7b-13" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-15" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="C-vyLk0tnHw3VtMMgP7b-14" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-16" value="media_id string NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="C-vyLk0tnHw3VtMMgP7b-14" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-23" value="boards" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="30" y="60" width="250" height="130" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-24" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="C-vyLk0tnHw3VtMMgP7b-23" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-25" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="C-vyLk0tnHw3VtMMgP7b-24" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-26" value="board_id varchar(5) NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="C-vyLk0tnHw3VtMMgP7b-24" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-27" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="C-vyLk0tnHw3VtMMgP7b-23" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-28" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="C-vyLk0tnHw3VtMMgP7b-27" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-29" value="board_name varchar(32) NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="C-vyLk0tnHw3VtMMgP7b-27" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-12" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="C-vyLk0tnHw3VtMMgP7b-23" vertex="1">
          <mxGeometry y="90" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-13" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-12" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-14" value="threads_ids int[] NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-12" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-16" value="post" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="470" y="290" width="250" height="240" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-17" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-18" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-17" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-19" value="post_id int NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="IqcACfFecUyFIL0cjSVW-17" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-20" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-21" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-20" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-22" value="content text NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-20" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-25" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="90" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-26" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-25" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-27" value="media_ids string[]" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-25" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-31" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="120" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-32" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-31" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-33" value="is_root bool NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-31" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-34" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="150" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-35" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-34" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-36" value="date date NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-34" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-43" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="180" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-44" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-43" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-45" value="internal_id int NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-43" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-50" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="IqcACfFecUyFIL0cjSVW-16" vertex="1">
          <mxGeometry y="210" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-51" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-50" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-52" value="user_ip string NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-50" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-23" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;exitX=0.998;exitY=0.676;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="IqcACfFecUyFIL0cjSVW-12" target="C-vyLk0tnHw3VtMMgP7b-3" edge="1">
          <mxGeometry width="100" height="100" relative="1" as="geometry">
            <mxPoint x="440" y="270" as="sourcePoint" />
            <mxPoint x="540" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-49" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;entryX=-0.006;entryY=0.676;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="C-vyLk0tnHw3VtMMgP7b-14" target="IqcACfFecUyFIL0cjSVW-25" edge="1">
          <mxGeometry width="100" height="100" relative="1" as="geometry">
            <mxPoint x="400" y="430" as="sourcePoint" />
            <mxPoint x="500" y="330" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-53" value="bans" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="-290" y="380" width="250" height="210" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-54" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-55" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-54" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-56" value="ban_id int NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="IqcACfFecUyFIL0cjSVW-54" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-57" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-58" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-57" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-59" value="user_ip string NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;strokeColor=inherit;" parent="IqcACfFecUyFIL0cjSVW-57" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-60" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="90" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-61" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-60" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-62" value="duration int" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-60" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-63" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="120" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-64" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-63" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-65" value="reason string" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-63" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-66" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="150" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-67" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-66" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-68" value="date date NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-66" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-94" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-53" vertex="1">
          <mxGeometry y="180" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-95" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-94" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-96" value="admin_issued string NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-94" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-2" value="threads" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="425" y="30" width="250" height="210" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-3" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="C-vyLk0tnHw3VtMMgP7b-2" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-4" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="C-vyLk0tnHw3VtMMgP7b-3" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-5" value="thread_id int NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="C-vyLk0tnHw3VtMMgP7b-3" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-69" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="C-vyLk0tnHw3VtMMgP7b-2" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-70" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-69" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-71" value="thread_name string" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-69" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-6" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="C-vyLk0tnHw3VtMMgP7b-2" vertex="1">
          <mxGeometry y="90" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-7" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="C-vyLk0tnHw3VtMMgP7b-6" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="C-vyLk0tnHw3VtMMgP7b-8" value="root_post_id int NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="C-vyLk0tnHw3VtMMgP7b-6" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-37" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="C-vyLk0tnHw3VtMMgP7b-2" vertex="1">
          <mxGeometry y="120" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-38" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" parent="IqcACfFecUyFIL0cjSVW-37" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-39" value="posts_ids int[]" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" parent="IqcACfFecUyFIL0cjSVW-37" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-1" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="C-vyLk0tnHw3VtMMgP7b-2">
          <mxGeometry y="150" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-2" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" vertex="1" parent="x74P35Y3yzVWP2ge3KBl-1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-3" value="is_locked boolean NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" vertex="1" parent="x74P35Y3yzVWP2ge3KBl-1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-4" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="C-vyLk0tnHw3VtMMgP7b-2">
          <mxGeometry y="180" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-5" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;" vertex="1" parent="x74P35Y3yzVWP2ge3KBl-4">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="x74P35Y3yzVWP2ge3KBl-6" value="is_pinned boolean NOT NULL" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;" vertex="1" parent="x74P35Y3yzVWP2ge3KBl-4">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.001;entryY=0.366;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=ERmany;endFill=0;startArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="C-vyLk0tnHw3VtMMgP7b-6" target="IqcACfFecUyFIL0cjSVW-17" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="684.53" y="298.69999999999993" as="targetPoint" />
            <Array as="points">
              <mxPoint x="780" y="135" />
              <mxPoint x="780" y="269" />
              <mxPoint x="750" y="269" />
              <mxPoint x="750" y="331" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.667;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="C-vyLk0tnHw3VtMMgP7b-3" target="IqcACfFecUyFIL0cjSVW-17" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-74" value="admins" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="140" y="400" width="250" height="120" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-75" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-74" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-76" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-75" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-77" value="login string NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="IqcACfFecUyFIL0cjSVW-75" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-78" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-74" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-79" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-78" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-80" value="password_hash string NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-78" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-88" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-74" vertex="1">
          <mxGeometry y="90" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-89" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-88" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-90" value="privilege_name string NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-88" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-81" value="priveleges" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;align=center;resizeLast=1;" parent="1" vertex="1">
          <mxGeometry x="140" y="610" width="250" height="90" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-82" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-81" vertex="1">
          <mxGeometry y="30" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-83" value="PK" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-82" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-84" value="privilege_name int NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;" parent="IqcACfFecUyFIL0cjSVW-82" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-85" value="" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="IqcACfFecUyFIL0cjSVW-81" vertex="1">
          <mxGeometry y="60" width="250" height="30" as="geometry" />
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-86" value="" style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;" parent="IqcACfFecUyFIL0cjSVW-85" vertex="1">
          <mxGeometry width="30" height="30" as="geometry">
            <mxRectangle width="30" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-87" value="access_level int NOT NULL " style="shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=0;" parent="IqcACfFecUyFIL0cjSVW-85" vertex="1">
          <mxGeometry x="30" width="220" height="30" as="geometry">
            <mxRectangle width="220" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-92" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="IqcACfFecUyFIL0cjSVW-82" target="IqcACfFecUyFIL0cjSVW-88" edge="1">
          <mxGeometry width="100" height="100" relative="1" as="geometry">
            <mxPoint x="240" y="540" as="sourcePoint" />
            <mxPoint x="340" y="440" as="targetPoint" />
            <Array as="points">
              <mxPoint x="420" y="550" />
              <mxPoint x="400" y="530" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="IqcACfFecUyFIL0cjSVW-97" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="IqcACfFecUyFIL0cjSVW-75" target="IqcACfFecUyFIL0cjSVW-94" edge="1">
          <mxGeometry width="100" height="100" relative="1" as="geometry">
            <mxPoint x="100" y="570" as="sourcePoint" />
            <mxPoint x="200" y="470" as="targetPoint" />
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
