(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('NativeYtTypeFlags '0))
(let $3 '('StrictSchema '1))
(let $4 '('UniqueKeys '0))
(let $5 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" 'false)))))
(let $6 '('ChunkCount '1))
(let $7 '('ModifyTime '0))
(let $8 '('Revision '0))
(let $9 (DataType 'String))
(let $10 '('"subkey" $9))
(let $11 (StructType $10))
(let $12 '('('"_logical_id" '14030) '('"_id" '"64ed44d0-f7d10cd4-670d2f5d-7a7826a0") '('"_wide_channels" $11)))
(let $13 (DqPhyStage '() (lambda '() (block '(
  (let $59 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $60 (YqlRowSpec $2 $3 $4 '('Type $59)))
  (let $61 (YtStat '('Id '"Input") '('RecordsCount '"4") '('DataSize '"166") $6 $7 $8))
  (let $62 (YtTable '"Input" $60 $5 $61 '() (Void) (Void) '"/Root/plato"))
  (let $63 (YtReadTable! world $1 '((YtSection '((YtPath $62 '('"subkey") (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $63 '())))
))) $12))
(let $14 (DqCnUnionAll (TDqOutput $13 '0)))
(let $15 (Uint64 '"4"))
(let $16 (Uint64 '1))
(let $17 (Uint64 '0))
(let $18 (OptionalType $9))
(let $19 (Uint64 '2))
(let $20 '('_yql_Lead0 (Void)))
(let $21 (AsStruct '('_yql_Lag0 (Void)) '('_yql_Lag1 (Void)) $20 '('_yql_Lead1 (Void))))
(let $22 (Bool 'true))
(let $23 (StructType '('"lag0" $18) '('"lead0" $18) '('"opt_lag" $18) '('"opt_lead" $18) $10))
(let $24 '('('"_logical_id" '15131) '('"_id" '"848522e0-d6fcbabf-dbcfa9ca-f17f83dc") '('"_wide_channels" $23)))
(let $25 (DqPhyStage '($14) (lambda '($64) (block '(
  (let $65 (FromFlow (NarrowMap (ToFlow $64) (lambda '($72) (AsStruct '('"subkey" $72))))))
  (let $66 (QueueCreate $11 $15 $16 (DependsOn $65)))
  (let $67 (lambda '($82) (Just (Member $82 '"subkey"))))
  (let $68 (Nothing $18))
  (let $69 (Chain1Map (ToFlow (PreserveStream $65 $66 $16)) (lambda '($73) (block '(
    (let $74 (DependsOn $73))
    (let $75 (QueuePeek $66 $17 $74))
    (let $76 (IfPresent $75 $67 $68))
    (let $77 (Member $73 '"subkey"))
    (let $78 (Just $77))
    (let $79 (QueuePeek $66 $19 $74))
    (let $80 (IfPresent $79 $67 $68))
    (let $81 (AsStruct '('_yql_Lag0 $76) '('_yql_Lag1 $78) '('_yql_Lead0 $80) '('_yql_Lead1 $78) '('"subkey" $77)))
    (return '($81 $21))
  ))) (lambda '($83 $84) (block '(
    (let $85 (DependsOn $83))
    (let $86 (QueuePeek $66 $17 $85))
    (let $87 (IfPresent $86 $67 $68))
    (let $88 (Member $83 '"subkey"))
    (let $89 (Just $88))
    (let $90 (QueuePeek $66 $19 $85))
    (let $91 (IfPresent $90 $67 $68))
    (let $92 (AsStruct '('_yql_Lag0 $87) '('_yql_Lag1 $89) '('_yql_Lead0 $91) '('_yql_Lead1 $89) '('"subkey" $88)))
    (return '($92 (Nth $84 '1)))
  )))))
  (let $70 (Sort (Map $69 (lambda '($93) (block '(
    (let $94 (Nth $93 '0))
    (return (AsStruct '('"lag0" (Member $94 '_yql_Lag1)) '('"lead0" (Member $94 '_yql_Lead1)) '('"opt_lag" (Member $94 '_yql_Lag0)) '('"opt_lead" (Member $94 '_yql_Lead0)) '('"subkey" (Member $94 '"subkey"))))
  )))) $22 (lambda '($95) (Member $95 '"subkey"))))
  (let $71 (lambda '($96) (Member $96 '"lag0") (Member $96 '"lead0") (Member $96 '"opt_lag") (Member $96 '"opt_lead") (Member $96 '"subkey")))
  (return (FromFlow (ExpandMap $70 $71)))
))) $24))
(let $26 (DqCnMerge (TDqOutput $25 '0) '('('"4" '"Asc"))))
(let $27 (DqPhyStage '($26) (lambda '($97) (FromFlow (NarrowMap (ToFlow $97) (lambda '($98 $99 $100 $101 $102) (AsStruct '('"lag0" $98) '('"lead0" $99) '('"opt_lag" $100) '('"opt_lead" $101) '('"subkey" $102)))))) '('('"_logical_id" '15143) '('"_id" '"36dc12c6-68c01584-3d96f5b1-bea11224"))))
(let $28 '($13 $25 $27))
(let $29 '('"subkey" '"opt_lag" '"opt_lead" '"lag0" '"lead0"))
(let $30 (DqCnResult (TDqOutput $27 '0) $29))
(let $31 '('('"type" '"generic")))
(let $32 (KqpPhysicalTx $28 '($30) '() $31))
(let $33 (DataType 'Int32))
(let $34 '('"key" $33))
(let $35 (OptionalType $33))
(let $36 (StructType $34 '('"optkey" $35)))
(let $37 '('('"_logical_id" '15182) '('"_id" '"77e3aead-d7512eaa-c5a1fe5f-abaa0959") '('"_wide_channels" $36)))
(let $38 (DqPhyStage '() (lambda '() (block '(
  (let $103 '@@["StructType";[["key";["DataType";"Int32"]];["optkey";["OptionalType";["DataType";"Int32"]]];["value";["DataType";"String"]]]]@@)
  (let $104 (YqlRowSpec $2 $3 $4 '('Type $103)))
  (let $105 (YtStat '('Id '"InputOpt") '('RecordsCount '"5") '('DataSize '"177") $6 $7 $8))
  (let $106 (YtTable '"InputOpt" $104 $5 $105 '() (Void) (Void) '"/Root/plato"))
  (let $107 (YtReadTable! world $1 '((YtSection '((YtPath $106 '('"key" '"optkey") (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $107 '())))
))) $37))
(let $39 (DqCnUnionAll (TDqOutput $38 '0)))
(let $40 (OptionalType $35))
(let $41 (StructType $34 '('"lag0" $40) '('"lead0" $35) '('"opt_lag" $35) '('"opt_lead" $40)))
(let $42 '('('"_logical_id" '16664) '('"_id" '"72c3e6b6-b8f13cb8-26083751-37700ecc") '('"_wide_channels" $41)))
(let $43 (DqPhyStage '($39) (lambda '($108) (block '(
  (let $109 (FromFlow (NarrowMap (ToFlow $108) (lambda '($118 $119) (AsStruct '('"key" $118) '('"optkey" $119))))))
  (let $110 (QueueCreate $36 $15 $16 (DependsOn $109)))
  (let $111 (lambda '($128) (Member $128 '"optkey")))
  (let $112 (Nothing $35))
  (let $113 (lambda '($129) (Just (Member $129 '"optkey"))))
  (let $114 (Nothing $40))
  (let $115 (Chain1Map (ToFlow (PreserveStream $109 $110 $16)) (lambda '($120) (block '(
    (let $121 (DependsOn $120))
    (let $122 (QueuePeek $110 $17 $121))
    (let $123 (IfPresent $122 $111 $112))
    (let $124 (Member $120 '"optkey"))
    (let $125 (QueuePeek $110 $19 $121))
    (let $126 (IfPresent $125 $113 $114))
    (let $127 (AsStruct '('_yql_Lag0 $123) '('_yql_Lag1 (Just $124)) '('_yql_Lead0 $126) '('_yql_Lead1 $124) '('"key" (Member $120 '"key")) '('"optkey" $124)))
    (return '($127 $21))
  ))) (lambda '($130 $131) (block '(
    (let $132 (DependsOn $130))
    (let $133 (QueuePeek $110 $17 $132))
    (let $134 (IfPresent $133 $111 $112))
    (let $135 (Member $130 '"optkey"))
    (let $136 (QueuePeek $110 $19 $132))
    (let $137 (IfPresent $136 $113 $114))
    (let $138 (AsStruct '('_yql_Lag0 $134) '('_yql_Lag1 (Just $135)) '('_yql_Lead0 $137) '('_yql_Lead1 $135) '('"key" (Member $130 '"key")) '('"optkey" $135)))
    (return '($138 (Nth $131 '1)))
  )))))
  (let $116 (Sort (Map $115 (lambda '($139) (block '(
    (let $140 (Nth $139 '0))
    (return (AsStruct '('"key" (Member $140 '"key")) '('"lag0" (Member $140 '_yql_Lag1)) '('"lead0" (Member $140 '_yql_Lead1)) '('"opt_lag" (Member $140 '_yql_Lag0)) '('"opt_lead" (Member $140 '_yql_Lead0))))
  )))) $22 (lambda '($141) (Member $141 '"key"))))
  (let $117 (lambda '($142) (Member $142 '"key") (Member $142 '"lag0") (Member $142 '"lead0") (Member $142 '"opt_lag") (Member $142 '"opt_lead")))
  (return (FromFlow (ExpandMap $116 $117)))
))) $42))
(let $44 (DqCnMerge (TDqOutput $43 '0) '('('0 '"Asc"))))
(let $45 (DqPhyStage '($44) (lambda '($143) (FromFlow (NarrowMap (ToFlow $143) (lambda '($144 $145 $146 $147 $148) (AsStruct '('"key" $144) '('"lag0" $145) '('"lead0" $146) '('"opt_lag" $147) '('"opt_lead" $148)))))) '('('"_logical_id" '16676) '('"_id" '"210c86e4-b3a7a1b1-2ca8fe61-72bced4b"))))
(let $46 '($38 $43 $45))
(let $47 '('"key" '"opt_lag" '"opt_lead" '"lag0" '"lead0"))
(let $48 (DqCnResult (TDqOutput $45 '0) $47))
(let $49 (KqpPhysicalTx $46 '($48) '() $31))
(let $50 '('('"_logical_id" '18904) '('"_id" '"2763b540-698b2239-441d660a-bfa1184e") '('"_partition_mode" '"single")))
(let $51 (DqPhyStage '() (lambda '() (block '(
  (let $149 (Iterator (AsList (AsStruct))))
  (let $150 (QueueCreate (StructType) (Uint64 '"3") $17 (DependsOn $149)))
  (let $151 (PreserveStream $149 $150 $16))
  (let $152 (AsStruct '('_yql_Lead0 (Null))))
  (let $153 (Chain1Map $151 (lambda '($154) '($152 (AsStruct $20))) (lambda '($155 $156) '($152 (Nth $156 '1)))))
  (return (Map $153 (lambda '($157) (AsStruct '('"column0" (Member (Nth $157 '0) '_yql_Lead0))))))
))) $50))
(let $52 (DqCnResult (TDqOutput $51 '0) '('"column0")))
(let $53 (KqpPhysicalTx '($51) '($52) '() $31))
(let $54 '($32 $49 $53))
(let $55 (KqpTxResultBinding (ListType $23) '0 '0))
(let $56 (KqpTxResultBinding (ListType $41) '1 '0))
(let $57 (KqpTxResultBinding (ListType (StructType '('"column0" (NullType)))) '2 '0))
(let $58 '($55 $56 $57))
(return (KqpPhysicalQuery $54 $58 '('('"type" '"query"))))
)
