%%{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
    Object13{{"Object[13∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access11{{"Access[11∈0]<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access12{{"Access[12∈0]<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access11 & Access12 --> Object13
    PgSelect20[["PgSelect[20∈0]<br />ᐸconstructorᐳ"]]:::plan
    Constant148{{"Constant[148∈0]<br />ᐸ'Copper Wire'ᐳ"}}:::plan
    Object13 & Constant148 --> PgSelect20
    PgSelect29[["PgSelect[29∈0]<br />ᐸconstructorᐳ"]]:::plan
    Constant149{{"Constant[149∈0]<br />ᐸ2ᐳ"}}:::plan
    Object13 & Constant149 --> PgSelect29
    PgSelect38[["PgSelect[38∈0]<br />ᐸconstructorᐳ"]]:::plan
    Constant150{{"Constant[150∈0]<br />ᐸ'Iron Mine'ᐳ"}}:::plan
    Object13 & Constant150 --> PgSelect38
    PgSelect60[["PgSelect[60∈0]<br />ᐸyieldᐳ"]]:::plan
    Constant151{{"Constant[151∈0]<br />ᐸ'UK'ᐳ"}}:::plan
    Object13 & Constant151 --> PgSelect60
    PgSelect69[["PgSelect[69∈0]<br />ᐸyieldᐳ"]]:::plan
    Object13 & Constant149 --> PgSelect69
    PgSelect91[["PgSelect[91∈0]<br />ᐸ__proto__ᐳ"]]:::plan
    Constant153{{"Constant[153∈0]<br />ᐸ1ᐳ"}}:::plan
    Object13 & Constant153 --> PgSelect91
    PgSelect100[["PgSelect[100∈0]<br />ᐸ__proto__ᐳ"]]:::plan
    Constant154{{"Constant[154∈0]<br />ᐸ'VCS'ᐳ"}}:::plan
    Object13 & Constant154 --> PgSelect100
    PgSelect122[["PgSelect[122∈0]<br />ᐸnullᐳ"]]:::plan
    Constant155{{"Constant[155∈0]<br />ᐸ'10 am'ᐳ"}}:::plan
    Object13 & Constant155 --> PgSelect122
    PgSelect131[["PgSelect[131∈0]<br />ᐸnullᐳ"]]:::plan
    Constant156{{"Constant[156∈0]<br />ᐸ'flat'ᐳ"}}:::plan
    Object13 & Constant156 --> PgSelect131
    PgSelect140[["PgSelect[140∈0]<br />ᐸnullᐳ"]]:::plan
    Constant157{{"Constant[157∈0]<br />ᐸ3ᐳ"}}:::plan
    Object13 & Constant157 --> PgSelect140
    PgSelect10[["PgSelect[10∈0]<br />ᐸconstructorᐳ"]]:::plan
    Object13 --> PgSelect10
    __Value2["__Value[2∈0]<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access11
    __Value2 --> Access12
    First24{{"First[24∈0]"}}:::plan
    PgSelect20 --> First24
    PgSelectSingle25{{"PgSelectSingle[25∈0]<br />ᐸconstructorᐳ"}}:::plan
    First24 --> PgSelectSingle25
    First33{{"First[33∈0]"}}:::plan
    PgSelect29 --> First33
    PgSelectSingle34{{"PgSelectSingle[34∈0]<br />ᐸconstructorᐳ"}}:::plan
    First33 --> PgSelectSingle34
    First42{{"First[42∈0]"}}:::plan
    PgSelect38 --> First42
    PgSelectSingle43{{"PgSelectSingle[43∈0]<br />ᐸconstructorᐳ"}}:::plan
    First42 --> PgSelectSingle43
    PgSelect50[["PgSelect[50∈0]<br />ᐸyieldᐳ"]]:::plan
    Object13 --> PgSelect50
    First64{{"First[64∈0]"}}:::plan
    PgSelect60 --> First64
    PgSelectSingle65{{"PgSelectSingle[65∈0]<br />ᐸyieldᐳ"}}:::plan
    First64 --> PgSelectSingle65
    First73{{"First[73∈0]"}}:::plan
    PgSelect69 --> First73
    PgSelectSingle74{{"PgSelectSingle[74∈0]<br />ᐸyieldᐳ"}}:::plan
    First73 --> PgSelectSingle74
    PgSelect81[["PgSelect[81∈0]<br />ᐸ__proto__ᐳ"]]:::plan
    Object13 --> PgSelect81
    First95{{"First[95∈0]"}}:::plan
    PgSelect91 --> First95
    PgSelectSingle96{{"PgSelectSingle[96∈0]<br />ᐸ__proto__ᐳ"}}:::plan
    First95 --> PgSelectSingle96
    First104{{"First[104∈0]"}}:::plan
    PgSelect100 --> First104
    PgSelectSingle105{{"PgSelectSingle[105∈0]<br />ᐸ__proto__ᐳ"}}:::plan
    First104 --> PgSelectSingle105
    PgSelect112[["PgSelect[112∈0]<br />ᐸnullᐳ"]]:::plan
    Object13 --> PgSelect112
    First126{{"First[126∈0]"}}:::plan
    PgSelect122 --> First126
    PgSelectSingle127{{"PgSelectSingle[127∈0]<br />ᐸnullᐳ"}}:::plan
    First126 --> PgSelectSingle127
    First135{{"First[135∈0]"}}:::plan
    PgSelect131 --> First135
    PgSelectSingle136{{"PgSelectSingle[136∈0]<br />ᐸnullᐳ"}}:::plan
    First135 --> PgSelectSingle136
    First144{{"First[144∈0]"}}:::plan
    PgSelect140 --> First144
    PgSelectSingle145{{"PgSelectSingle[145∈0]<br />ᐸnullᐳ"}}:::plan
    First144 --> PgSelectSingle145
    __Value4["__Value[4∈0]<br />ᐸrootValueᐳ"]:::plan
    __Item14[/"__Item[14∈1]<br />ᐸ10ᐳ"\]:::itemplan
    PgSelect10 ==> __Item14
    PgSelectSingle15{{"PgSelectSingle[15∈1]<br />ᐸconstructorᐳ"}}:::plan
    __Item14 --> PgSelectSingle15
    PgClassExpression16{{"PgClassExpression[16∈1]<br />ᐸ__constructor__.”name”ᐳ"}}:::plan
    PgSelectSingle15 --> PgClassExpression16
    PgClassExpression17{{"PgClassExpression[17∈1]<br />ᐸ__construc..._.”export”ᐳ"}}:::plan
    PgSelectSingle15 --> PgClassExpression17
    PgClassExpression18{{"PgClassExpression[18∈1]<br />ᐸ__constructor__.”id”ᐳ"}}:::plan
    PgSelectSingle15 --> PgClassExpression18
    PgClassExpression26{{"PgClassExpression[26∈2]<br />ᐸ__constructor__.”name”ᐳ"}}:::plan
    PgSelectSingle25 --> PgClassExpression26
    PgClassExpression27{{"PgClassExpression[27∈2]<br />ᐸ__constructor__.”id”ᐳ"}}:::plan
    PgSelectSingle25 --> PgClassExpression27
    PgClassExpression35{{"PgClassExpression[35∈3]<br />ᐸ__construc..._.”export”ᐳ"}}:::plan
    PgSelectSingle34 --> PgClassExpression35
    PgClassExpression36{{"PgClassExpression[36∈3]<br />ᐸ__constructor__.”name”ᐳ"}}:::plan
    PgSelectSingle34 --> PgClassExpression36
    PgClassExpression44{{"PgClassExpression[44∈4]<br />ᐸ__construc..._.”export”ᐳ"}}:::plan
    PgSelectSingle43 --> PgClassExpression44
    PgClassExpression45{{"PgClassExpression[45∈4]<br />ᐸ__constructor__.”id”ᐳ"}}:::plan
    PgSelectSingle43 --> PgClassExpression45
    __Item54[/"__Item[54∈5]<br />ᐸ50ᐳ"\]:::itemplan
    PgSelect50 ==> __Item54
    PgSelectSingle55{{"PgSelectSingle[55∈5]<br />ᐸyieldᐳ"}}:::plan
    __Item54 --> PgSelectSingle55
    PgClassExpression56{{"PgClassExpression[56∈5]<br />ᐸ__yield__.”crop”ᐳ"}}:::plan
    PgSelectSingle55 --> PgClassExpression56
    PgClassExpression57{{"PgClassExpression[57∈5]<br />ᐸ__yield__.”export”ᐳ"}}:::plan
    PgSelectSingle55 --> PgClassExpression57
    PgClassExpression58{{"PgClassExpression[58∈5]<br />ᐸ__yield__.”id”ᐳ"}}:::plan
    PgSelectSingle55 --> PgClassExpression58
    PgClassExpression66{{"PgClassExpression[66∈6]<br />ᐸ__yield__.”crop”ᐳ"}}:::plan
    PgSelectSingle65 --> PgClassExpression66
    PgClassExpression67{{"PgClassExpression[67∈6]<br />ᐸ__yield__.”id”ᐳ"}}:::plan
    PgSelectSingle65 --> PgClassExpression67
    PgClassExpression75{{"PgClassExpression[75∈7]<br />ᐸ__yield__.”crop”ᐳ"}}:::plan
    PgSelectSingle74 --> PgClassExpression75
    PgClassExpression76{{"PgClassExpression[76∈7]<br />ᐸ__yield__.”export”ᐳ"}}:::plan
    PgSelectSingle74 --> PgClassExpression76
    __Item85[/"__Item[85∈8]<br />ᐸ81ᐳ"\]:::itemplan
    PgSelect81 ==> __Item85
    PgSelectSingle86{{"PgSelectSingle[86∈8]<br />ᐸ__proto__ᐳ"}}:::plan
    __Item85 --> PgSelectSingle86
    PgClassExpression87{{"PgClassExpression[87∈8]<br />ᐸ__proto__.”id”ᐳ"}}:::plan
    PgSelectSingle86 --> PgClassExpression87
    PgClassExpression88{{"PgClassExpression[88∈8]<br />ᐸ__proto__.”name”ᐳ"}}:::plan
    PgSelectSingle86 --> PgClassExpression88
    PgClassExpression89{{"PgClassExpression[89∈8]<br />ᐸ__proto__.”brand”ᐳ"}}:::plan
    PgSelectSingle86 --> PgClassExpression89
    PgClassExpression97{{"PgClassExpression[97∈9]<br />ᐸ__proto__.”brand”ᐳ"}}:::plan
    PgSelectSingle96 --> PgClassExpression97
    PgClassExpression98{{"PgClassExpression[98∈9]<br />ᐸ__proto__.”name”ᐳ"}}:::plan
    PgSelectSingle96 --> PgClassExpression98
    PgClassExpression106{{"PgClassExpression[106∈10]<br />ᐸ__proto__.”brand”ᐳ"}}:::plan
    PgSelectSingle105 --> PgClassExpression106
    PgClassExpression107{{"PgClassExpression[107∈10]<br />ᐸ__proto__.”id”ᐳ"}}:::plan
    PgSelectSingle105 --> PgClassExpression107
    __Item116[/"__Item[116∈11]<br />ᐸ112ᐳ"\]:::itemplan
    PgSelect112 ==> __Item116
    PgSelectSingle117{{"PgSelectSingle[117∈11]<br />ᐸnullᐳ"}}:::plan
    __Item116 --> PgSelectSingle117
    PgClassExpression118{{"PgClassExpression[118∈11]<br />ᐸ__null__.”break”ᐳ"}}:::plan
    PgSelectSingle117 --> PgClassExpression118
    PgClassExpression119{{"PgClassExpression[119∈11]<br />ᐸ__null__.”...nProperty”ᐳ"}}:::plan
    PgSelectSingle117 --> PgClassExpression119
    PgClassExpression120{{"PgClassExpression[120∈11]<br />ᐸ__null__.”id”ᐳ"}}:::plan
    PgSelectSingle117 --> PgClassExpression120
    PgClassExpression128{{"PgClassExpression[128∈12]<br />ᐸ__null__.”...nProperty”ᐳ"}}:::plan
    PgSelectSingle127 --> PgClassExpression128
    PgClassExpression129{{"PgClassExpression[129∈12]<br />ᐸ__null__.”id”ᐳ"}}:::plan
    PgSelectSingle127 --> PgClassExpression129
    PgClassExpression137{{"PgClassExpression[137∈13]<br />ᐸ__null__.”break”ᐳ"}}:::plan
    PgSelectSingle136 --> PgClassExpression137
    PgClassExpression138{{"PgClassExpression[138∈13]<br />ᐸ__null__.”id”ᐳ"}}:::plan
    PgSelectSingle136 --> PgClassExpression138
    PgClassExpression146{{"PgClassExpression[146∈14]<br />ᐸ__null__.”break”ᐳ"}}:::plan
    PgSelectSingle145 --> PgClassExpression146
    PgClassExpression147{{"PgClassExpression[147∈14]<br />ᐸ__null__.”...nProperty”ᐳ"}}:::plan
    PgSelectSingle145 --> PgClassExpression147

    %% define steps

    subgraph "Buckets for queries/v4/js-reserved-table-names"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: 11, 12, 148, 149, 150, 151, 153, 154, 155, 156, 157, 13<br />2: 10, 20, 29, 38, 50, 60, 69, 81, 91, 100, 112, 122, 131, 140<br />ᐳ: 24, 25, 33, 34, 42, 43, 64, 65, 73, 74, 95, 96, 104, 105, 126, 127, 135, 136, 144, 145"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,PgSelect10,Access11,Access12,Object13,PgSelect20,First24,PgSelectSingle25,PgSelect29,First33,PgSelectSingle34,PgSelect38,First42,PgSelectSingle43,PgSelect50,PgSelect60,First64,PgSelectSingle65,PgSelect69,First73,PgSelectSingle74,PgSelect81,PgSelect91,First95,PgSelectSingle96,PgSelect100,First104,PgSelectSingle105,PgSelect112,PgSelect122,First126,PgSelectSingle127,PgSelect131,First135,PgSelectSingle136,PgSelect140,First144,PgSelectSingle145,Constant148,Constant149,Constant150,Constant151,Constant153,Constant154,Constant155,Constant156,Constant157 bucket0
    Bucket1("Bucket 1 (listItem)<br /><br />ROOT __Item{1}ᐸ10ᐳ[14]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,__Item14,PgSelectSingle15,PgClassExpression16,PgClassExpression17,PgClassExpression18 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 25<br /><br />ROOT PgSelectSingleᐸconstructorᐳ[25]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,PgClassExpression26,PgClassExpression27 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 34<br /><br />ROOT PgSelectSingleᐸconstructorᐳ[34]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression35,PgClassExpression36 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 43<br /><br />ROOT PgSelectSingleᐸconstructorᐳ[43]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgClassExpression44,PgClassExpression45 bucket4
    Bucket5("Bucket 5 (listItem)<br /><br />ROOT __Item{5}ᐸ50ᐳ[54]"):::bucket
    classDef bucket5 stroke:#7fff00
    class Bucket5,__Item54,PgSelectSingle55,PgClassExpression56,PgClassExpression57,PgClassExpression58 bucket5
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 65<br /><br />ROOT PgSelectSingleᐸyieldᐳ[65]"):::bucket
    classDef bucket6 stroke:#ff1493
    class Bucket6,PgClassExpression66,PgClassExpression67 bucket6
    Bucket7("Bucket 7 (nullableBoundary)<br />Deps: 74<br /><br />ROOT PgSelectSingleᐸyieldᐳ[74]"):::bucket
    classDef bucket7 stroke:#808000
    class Bucket7,PgClassExpression75,PgClassExpression76 bucket7
    Bucket8("Bucket 8 (listItem)<br /><br />ROOT __Item{8}ᐸ81ᐳ[85]"):::bucket
    classDef bucket8 stroke:#dda0dd
    class Bucket8,__Item85,PgSelectSingle86,PgClassExpression87,PgClassExpression88,PgClassExpression89 bucket8
    Bucket9("Bucket 9 (nullableBoundary)<br />Deps: 96<br /><br />ROOT PgSelectSingleᐸ__proto__ᐳ[96]"):::bucket
    classDef bucket9 stroke:#ff0000
    class Bucket9,PgClassExpression97,PgClassExpression98 bucket9
    Bucket10("Bucket 10 (nullableBoundary)<br />Deps: 105<br /><br />ROOT PgSelectSingleᐸ__proto__ᐳ[105]"):::bucket
    classDef bucket10 stroke:#ffff00
    class Bucket10,PgClassExpression106,PgClassExpression107 bucket10
    Bucket11("Bucket 11 (listItem)<br /><br />ROOT __Item{11}ᐸ112ᐳ[116]"):::bucket
    classDef bucket11 stroke:#00ffff
    class Bucket11,__Item116,PgSelectSingle117,PgClassExpression118,PgClassExpression119,PgClassExpression120 bucket11
    Bucket12("Bucket 12 (nullableBoundary)<br />Deps: 127<br /><br />ROOT PgSelectSingleᐸnullᐳ[127]"):::bucket
    classDef bucket12 stroke:#4169e1
    class Bucket12,PgClassExpression128,PgClassExpression129 bucket12
    Bucket13("Bucket 13 (nullableBoundary)<br />Deps: 136<br /><br />ROOT PgSelectSingleᐸnullᐳ[136]"):::bucket
    classDef bucket13 stroke:#3cb371
    class Bucket13,PgClassExpression137,PgClassExpression138 bucket13
    Bucket14("Bucket 14 (nullableBoundary)<br />Deps: 145<br /><br />ROOT PgSelectSingleᐸnullᐳ[145]"):::bucket
    classDef bucket14 stroke:#a52a2a
    class Bucket14,PgClassExpression146,PgClassExpression147 bucket14
    Bucket0 --> Bucket1 & Bucket2 & Bucket3 & Bucket4 & Bucket5 & Bucket6 & Bucket7 & Bucket8 & Bucket9 & Bucket10 & Bucket11 & Bucket12 & Bucket13 & Bucket14
    classDef unary fill:#fafffa,borderWidth:8px
    class Object13,PgSelect20,PgSelect29,PgSelect38,PgSelect60,PgSelect69,PgSelect91,PgSelect100,PgSelect122,PgSelect131,PgSelect140,PgSelect10,Access11,Access12,First24,PgSelectSingle25,First33,PgSelectSingle34,First42,PgSelectSingle43,PgSelect50,First64,PgSelectSingle65,First73,PgSelectSingle74,PgSelect81,First95,PgSelectSingle96,First104,PgSelectSingle105,PgSelect112,First126,PgSelectSingle127,First135,PgSelectSingle136,First144,PgSelectSingle145,__Value2,__Value4,Constant148,Constant149,Constant150,Constant151,Constant153,Constant154,Constant155,Constant156,Constant157,PgClassExpression26,PgClassExpression27,PgClassExpression35,PgClassExpression36,PgClassExpression44,PgClassExpression45,PgClassExpression66,PgClassExpression67,PgClassExpression75,PgClassExpression76,PgClassExpression97,PgClassExpression98,PgClassExpression106,PgClassExpression107,PgClassExpression128,PgClassExpression129,PgClassExpression137,PgClassExpression138,PgClassExpression146,PgClassExpression147 unary
    end
