%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left


    %% plan dependencies
    Object12{{"Object[12∈0] ➊<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access10{{"Access[10∈0] ➊<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access11{{"Access[11∈0] ➊<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access10 & Access11 --> Object12
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access10
    __Value2 --> Access11
    Connection13{{"Connection[13∈0] ➊<br />ᐸ9ᐳ"}}:::plan
    Constant66{{"Constant[66∈0] ➊<br />ᐸ3ᐳ"}}:::plan
    Constant66 --> Connection13
    Lambda15{{"Lambda[15∈0] ➊<br />ᐸincludeArchivedConditionᐳ"}}:::plan
    Constant65{{"Constant[65∈0] ➊<br />ᐸ[ undefined, 'INHERIT' ]ᐳ"}}:::plan
    Constant65 --> Lambda15
    __Value4["__Value[4∈0] ➊<br />ᐸrootValueᐳ"]:::plan
    PgSelectInlineApply61["PgSelectInlineApply[61∈0] ➊"]:::plan
    PgSelect16[["PgSelect[16∈1] ➊<br />ᐸmessages+1ᐳ"]]:::plan
    Object12 & Lambda15 & Connection13 & Constant66 & PgSelectInlineApply61 --> PgSelect16
    Object36{{"Object[36∈1] ➊<br />ᐸ{first,last,offset,hasMore}ᐳ"}}:::plan
    Access31{{"Access[31∈1] ➊<br />ᐸ16.hasMoreᐳ"}}:::plan
    Constant66 & Access31 --> Object36
    PgSelect22[["PgSelect[22∈1] ➊<br />ᐸmessages(aggregate)ᐳ"]]:::plan
    Object12 & Lambda15 & Connection13 --> PgSelect22
    Object32{{"Object[32∈1] ➊<br />ᐸ{first,last,hasMore}ᐳ"}}:::plan
    Constant66 & Access31 --> Object32
    PgCursor43{{"PgCursor[43∈1] ➊"}}:::plan
    PgSelectSingle41{{"PgSelectSingle[41∈1] ➊<br />ᐸmessagesᐳ"}}:::plan
    Access27{{"Access[27∈1] ➊<br />ᐸ16.cursorDetailsᐳ"}}:::plan
    PgSelectSingle41 & Access27 --> PgCursor43
    PgCursor49{{"PgCursor[49∈1] ➊"}}:::plan
    PgSelectSingle47{{"PgSelectSingle[47∈1] ➊<br />ᐸmessagesᐳ"}}:::plan
    PgSelectSingle47 & Access27 --> PgCursor49
    PgSelectRows17[["PgSelectRows[17∈1] ➊"]]:::plan
    PgSelect16 --> PgSelectRows17
    PgPageInfo21{{"PgPageInfo[21∈1] ➊"}}:::plan
    Connection13 --> PgPageInfo21
    First23{{"First[23∈1] ➊"}}:::plan
    PgSelectRows24[["PgSelectRows[24∈1] ➊"]]:::plan
    PgSelectRows24 --> First23
    PgSelect22 --> PgSelectRows24
    PgSelectSingle25{{"PgSelectSingle[25∈1] ➊<br />ᐸmessagesᐳ"}}:::plan
    First23 --> PgSelectSingle25
    PgClassExpression26{{"PgClassExpression[26∈1] ➊<br />ᐸcount(*)ᐳ"}}:::plan
    PgSelectSingle25 --> PgClassExpression26
    PgSelect16 --> Access27
    PgSelect16 --> Access31
    Lambda33{{"Lambda[33∈1] ➊<br />ᐸhasNextPageCbᐳ"}}:::plan
    Object32 --> Lambda33
    Lambda37{{"Lambda[37∈1] ➊<br />ᐸhasPreviousPageCbᐳ"}}:::plan
    Object36 --> Lambda37
    First39{{"First[39∈1] ➊"}}:::plan
    PgSelectRows17 --> First39
    First39 --> PgSelectSingle41
    Last45{{"Last[45∈1] ➊"}}:::plan
    PgSelectRows17 --> Last45
    Last45 --> PgSelectSingle47
    Access62{{"Access[62∈1] ➊<br />ᐸ16.m.joinDetailsFor52ᐳ"}}:::plan
    PgSelect16 --> Access62
    __Item18[/"__Item[18∈2]<br />ᐸ17ᐳ"\]:::itemplan
    PgSelectRows17 ==> __Item18
    PgSelectSingle19{{"PgSelectSingle[19∈2]<br />ᐸmessagesᐳ"}}:::plan
    __Item18 --> PgSelectSingle19
    PgCursor28{{"PgCursor[28∈3]"}}:::plan
    PgSelectSingle19 & Access27 --> PgCursor28
    List63{{"List[63∈3]<br />ᐸ62,19ᐳ"}}:::plan
    Access62 & PgSelectSingle19 --> List63
    PgClassExpression50{{"PgClassExpression[50∈3]<br />ᐸ__messages__.”body”ᐳ"}}:::plan
    PgSelectSingle19 --> PgClassExpression50
    First56{{"First[56∈3]"}}:::plan
    PgSelectRows57[["PgSelectRows[57∈3]"]]:::plan
    PgSelectRows57 --> First56
    Lambda64{{"Lambda[64∈3]<br />ᐸpgInlineViaJoinTransformᐳ"}}:::plan
    Lambda64 --> PgSelectRows57
    PgSelectSingle58{{"PgSelectSingle[58∈3]<br />ᐸusersᐳ"}}:::plan
    First56 --> PgSelectSingle58
    List63 --> Lambda64
    PgClassExpression59{{"PgClassExpression[59∈4]<br />ᐸ__users__.”username”ᐳ"}}:::plan
    PgSelectSingle58 --> PgClassExpression59
    PgClassExpression60{{"PgClassExpression[60∈4]<br />ᐸ__users__....vatar_url”ᐳ"}}:::plan
    PgSelectSingle58 --> PgClassExpression60

    %% define steps

    subgraph "Buckets for queries/connections/basics-limit3"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,Access10,Access11,Object12,Connection13,Lambda15,PgSelectInlineApply61,Constant65,Constant66 bucket0
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 12, 15, 13, 66, 61, 6<br /><br />ROOT Connectionᐸ9ᐳ[13]<br />1: PgSelect[16], PgSelect[22]<br />ᐳ: 21, 27, 31, 32, 33, 36, 37, 62<br />2: PgSelectRows[17], PgSelectRows[24]<br />ᐳ: 23, 25, 26, 39, 41, 43, 45, 47, 49"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,PgSelect16,PgSelectRows17,PgPageInfo21,PgSelect22,First23,PgSelectRows24,PgSelectSingle25,PgClassExpression26,Access27,Access31,Object32,Lambda33,Object36,Lambda37,First39,PgSelectSingle41,PgCursor43,Last45,PgSelectSingle47,PgCursor49,Access62 bucket1
    Bucket2("Bucket 2 (listItem)<br />Deps: 27, 62<br /><br />ROOT __Item{2}ᐸ17ᐳ[18]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,__Item18,PgSelectSingle19 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 19, 27, 62<br /><br />ROOT PgSelectSingle{2}ᐸmessagesᐳ[19]<br />1: <br />ᐳ: 28, 50, 63, 64<br />2: PgSelectRows[57]<br />ᐳ: First[56], PgSelectSingle[58]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgCursor28,PgClassExpression50,First56,PgSelectRows57,PgSelectSingle58,List63,Lambda64 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 58<br /><br />ROOT PgSelectSingle{3}ᐸusersᐳ[58]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgClassExpression59,PgClassExpression60 bucket4
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    Bucket3 --> Bucket4
    end
