(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('NativeYtTypeFlags '0))
(let $3 '('StrictSchema '1))
(let $4 '('UniqueKeys '0))
(let $5 (Bool 'true))
(let $6 '('SortDirections '($5 $5)))
(let $7 (DataType 'String))
(let $8 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0)))
(let $9 '('ChunkCount '1))
(let $10 '('ModifyTime '0))
(let $11 '('Revision '0))
(let $12 '('('"_logical_id" '3681) '('"_id" '"83f5539a-328c5a31-9cd385fd-5d84c8ec") '('"_wide_channels" (StructType '('"k2" $7) '('"v2" $7)))))
(let $13 (DqPhyStage '() (lambda '() (block '(
  (let $57 '@@["StructType";[["k2";["DataType";"String"]];["v2";["DataType";"String"]];["u2";["DataType";"String"]]]]@@)
  (let $58 '('"k2" '"v2"))
  (let $59 (YqlRowSpec $2 $3 $4 '('Type $57) $6 '('SortMembers $58) '('SortedBy $58) '('SortedByTypes '($7 $7))))
  (let $60 (YtStat '('Id '"Input2") '('RecordsCount '"16") '('DataSize '"518") $9 $10 $11))
  (let $61 (YtTable '"Input2" $59 $8 $60 '() (Void) (Void) '"/Root/plato"))
  (let $62 (YtReadTable! world $1 '((YtSection '((YtPath $61 $58 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $62 '())))
))) $12))
(let $14 (DqCnBroadcast (TDqOutput $13 '0)))
(let $15 '('One 'Hashed 'Compact))
(let $16 (OptionalType $7))
(let $17 '('SortedByTypes '($7 $16)))
(let $18 (lambda '($77 $78 $79) (Exists $79)))
(let $19 '('2 '0))
(let $20 '('0 '0 '1 '1 '2 '2))
(let $21 '('"a.v1" '"a.k1"))
(let $22 (StructType '('"a.k1" $7) '('"a.u1" $7) '('"a.v1" $16)))
(let $23 '('('"_logical_id" '4023) '('"_id" '"4c6fbb6e-1029a3e8-487e1b1e-feffb261") '('"_wide_channels" $22)))
(let $24 (DqPhyStage '($14) (lambda '($63) (block '(
  (let $64 (NarrowSqueezeToDict (ToFlow $63) (lambda '($65 $66) '($66 $65)) (lambda '($67 $68) (Void)) $15))
  (return (FromFlow (FlatMap $64 (lambda '($69) (block '(
    (let $70 '@@["StructType";[["k1";["DataType";"String"]];["v1";["OptionalType";["DataType";"String"]]];["u1";["DataType";"String"]]]]@@)
    (let $71 '('"k1" '"v1"))
    (let $72 (YqlRowSpec $2 $3 $4 '('Type $70) $6 '('SortMembers $71) '('SortedBy $71) $17))
    (let $73 (YtStat '('Id '"Input1") '('RecordsCount '"23") '('DataSize '"745") $9 $10 $11))
    (let $74 (YtTable '"Input1" $72 $8 $73 '() (Void) (Void) '"/Root/plato"))
    (let $75 '('"k1" '"u1" '"v1"))
    (let $76 (YtReadTable! world $1 '((YtSection '((YtPath $74 $75 (Void) (Void))) '()))))
    (return (MapJoinCore (WideFilter (DqReadWideWrap $76 '()) $18) $69 '"LeftSemi" $19 '('"v2" '"k2") $20 '() '('"b.v2" '"b.k2") $21))
  ))))))
))) $23))
(let $25 '('"k3" '"v3"))
(let $26 '('SortedByTypes '($16 $7)))
(let $27 '('('"_logical_id" '3731) '('"_id" '"4b694427-90f8f31d-df5b5618-35e50a77") '('"_wide_channels" (StructType '('"k3" $16) '('"v3" $7)))))
(let $28 (DqPhyStage '() (lambda '() (block '(
  (let $80 '@@["StructType";[["k3";["OptionalType";["DataType";"String"]]];["v3";["DataType";"String"]];["u3";["DataType";"String"]]]]@@)
  (let $81 (YqlRowSpec $2 $3 $4 '('Type $80) $6 '('SortMembers $25) '('SortedBy $25) $26))
  (let $82 (YtStat '('Id '"Input3") '('RecordsCount '6) '('DataSize '"194") $9 $10 $11))
  (let $83 (YtTable '"Input3" $81 $8 $82 '() (Void) (Void) '"/Root/plato"))
  (let $84 (YtReadTable! world $1 '((YtSection '((YtPath $83 $25 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $84 '())))
))) $27))
(let $29 '('"v4" $16))
(let $30 (StructType '('"k4" $7) '('"u4" $7) $29))
(let $31 '('('"_logical_id" '3658) '('"_id" '"ae62509e-5a0ae687-ccd44881-e4fead46") '('"_wide_channels" $30)))
(let $32 (DqPhyStage '() (lambda '() (block '(
  (let $85 '@@["StructType";[["k4";["DataType";"String"]];["v4";["OptionalType";["DataType";"String"]]];["u4";["DataType";"String"]]]]@@)
  (let $86 '('"k4" '"v4"))
  (let $87 (YqlRowSpec $2 $3 '('UniqueKeys '1) '('Type $85) $6 '('SortMembers $86) '('SortedBy $86) $17))
  (let $88 (YtStat '('Id '"Input4") '('RecordsCount '"13") '('DataSize '"421") $9 $10 $11))
  (let $89 (YtTable '"Input4" $87 $8 $88 '() (Void) (Void) '"/Root/plato"))
  (let $90 '('"k4" '"u4" '"v4"))
  (let $91 (YtReadTable! world $1 '((YtSection '((YtPath $89 $90 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $91 '())))
))) $31))
(let $33 '('"k5" '"v5"))
(let $34 '('"k5" $16))
(let $35 '('"u5" $7))
(let $36 '('"v5" $7))
(let $37 (StructType $34 $35 $36))
(let $38 '('"_wide_channels" $37))
(let $39 '('('"_logical_id" '3759) '('"_id" '"304fe18f-d987b68f-5241e22a-bb761f1a") $38))
(let $40 (DqPhyStage '() (lambda '() (block '(
  (let $92 '@@["StructType";[["k5";["OptionalType";["DataType";"String"]]];["v5";["DataType";"String"]];["u5";["DataType";"String"]]]]@@)
  (let $93 (YqlRowSpec $2 $3 $4 '('Type $92) $6 '('SortMembers $33) '('SortedBy $33) $26))
  (let $94 (YtStat '('Id '"Input5") '('RecordsCount '"10") '('DataSize '"323") $9 $10 $11))
  (let $95 (YtTable '"Input5" $93 $8 $94 '() (Void) (Void) '"/Root/plato"))
  (let $96 '('"k5" '"u5" '"v5"))
  (let $97 (YtReadTable! world $1 '((YtSection '((YtPath $95 $96 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $97 '())))
))) $39))
(let $41 '('0 '2))
(let $42 (DqCnHashShuffle (TDqOutput $40 '0) $41 '0 '"HashV2"))
(let $43 '('('"_logical_id" '3872) '('"_id" '"76db8ee7-3ea9934-f70eb5f4-7e7648bc") '('"_partition_mode" '"aggregate") $38))
(let $44 (DqPhyStage '($42) (lambda '($98) (block '(
  (let $99 (NarrowSqueezeToDict (ToFlow $98) (lambda '($102 $103 $104) '($102 $104)) (lambda '($105 $106 $107) (AsStruct '('"k5" $105) '('"u5" $106) '('"v5" $107))) '('Auto 'Many)))
  (let $100 (Condense1 (OrderedFlatMap $99 (lambda '($108) (OrderedFlatMap (DictPayloads $108) (lambda '($109) $109)))) (lambda '($110) $110) (lambda '($111 $112) (Or (AggrNotEquals (Member $111 '"k5") (Member $112 '"k5")) (AggrNotEquals (Member $111 '"v5") (Member $112 '"v5")))) (lambda '($113 $114) $114)))
  (let $101 (lambda '($115) (Member $115 '"k5") (Member $115 '"u5") (Member $115 '"v5")))
  (return (FromFlow (ExpandMap $100 $101)))
))) $43))
(let $45 (DqCnMap (TDqOutput $24 '0)))
(let $46 (DqCnBroadcast (TDqOutput $28 '0)))
(let $47 (DqCnBroadcast (TDqOutput $32 '0)))
(let $48 (DqCnBroadcast (TDqOutput $44 '0)))
(let $49 '($45 $46 $47 $48))
(let $50 (StructType '('"k1" $7) '('"k4" $16) $34 '('"u1" $7) '('"u4" $16) $35 '('"v1" $16) $29 $36))
(let $51 '('('"_logical_id" '4384) '('"_id" '"2f64376c-ec58f6c2-ce45575d-a740e84b") '('"_wide_channels" $50)))
(let $52 (DqPhyStage $49 (lambda '($116 $117 $118 $119) (block '(
  (let $120 '('0))
  (let $121 (TupleType $7 $7))
  (let $122 '('Many 'Hashed 'Compact))
  (let $123 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $119) (lambda '($125 $126 $127) (Exists $125))) (lambda '($128 $129 $130) (IfPresent (FilterNullElements (Just '($128 $130)) $120) (lambda '($131) (block '(
    (let $132 (AsStruct '('"k5" $128) '('"u5" $129) '('"v5" $130)))
    (return (Just '($131 $132)))
  ))) (Nothing (OptionalType (TupleType $121 $37)))))) (lambda '($133) (Nth $133 '0)) (lambda '($134) (Nth $134 '1)) $122))
  (let $124 (lambda '($163 $164 $165 $166 $167 $168 $169 $170 $171) $163 $166 $169 $164 $167 $170 $165 $168 $171))
  (return (FromFlow (WideMap (WideSort (FlatMap $123 (lambda '($135) (block '(
    (let $136 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $118) $18) (lambda '($140 $141 $142) (IfPresent (FilterNullElements (Just '($142 $140)) $120) (lambda '($143) (block '(
      (let $144 (AsStruct '('"k4" $140) '('"u4" $141) '('"v4" $142)))
      (return (Just '($143 $144)))
    ))) (Nothing (OptionalType (TupleType $121 $30)))))) (lambda '($145) (Nth $145 '0)) (lambda '($146) (Nth $146 '1)) $122))
    (let $137 '('"a.k1" '"a.v1"))
    (let $138 '('0 '0 '1 '1 '2 '2 '3 '3 '4 '4 '5 '5))
    (let $139 '('"k5" '6 '"u5" '7 '"v5" '8))
    (return (MapJoinCore (WideFilter (FlatMap $136 (lambda '($147) (block '(
      (let $148 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $117) (lambda '($150 $151) (Exists $150))) (lambda '($152 $153) (FilterNullElements (Just '($152 $153)) $120))) (lambda '($154) $154) (lambda '($155) (Void)) $15))
      (let $149 '('"k4" '3 '"u4" '4 '"v4" '5))
      (return (MapJoinCore (FlatMap $148 (lambda '($156) (MapJoinCore (ToFlow $116) $156 'LeftOnly $41 $25 $20 '() $137 '('"c.k3" '"c.v3")))) $147 '"Left" $19 '('"v4" '"k4") $20 $149 '('"d.v4" '"d.k4") $21))
    )))) (lambda '($157 $158 $159 $160 $161 $162) (Exists $159))) $135 'Inner $41 $33 $138 $139 $137 '('"e.k5" '"e.v5")))
  )))) '('('1 $5) '('7 $5))) $124)))
))) $51))
(let $53 (DqCnMerge (TDqOutput $52 '0) '('('3 '"Asc") '('5 '"Asc"))))
(let $54 (DqPhyStage '($53) (lambda '($172) (FromFlow (NarrowMap (ToFlow $172) (lambda '($173 $174 $175 $176 $177 $178 $179 $180 $181) (AsStruct '('"k1" $173) '('"k4" $174) '('"k5" $175) '('"u1" $176) '('"u4" $177) '('"u5" $178) '('"v1" $179) '('"v4" $180) '('"v5" $181)))))) '('('"_logical_id" '4396) '('"_id" '"faf6ae39-fdff846c-ecf16ec1-1e5bc500"))))
(let $55 '($13 $24 $28 $32 $40 $44 $52 $54))
(let $56 (DqCnResult (TDqOutput $54 '0) '()))
(return (KqpPhysicalQuery '((KqpPhysicalTx $55 '($56) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $50) '0 '0)) '('('"type" '"query"))))
)
