(
(let $1 (DataType 'String))
(let $2 '('"key" $1))
(let $3 '('"subkey" $1))
(let $4 '('"value" $1))
(let $5 (StructType $2 $3 $4))
(let $6 '('('"_logical_id" '13576) '('"_id" '"dd98123d-f928907a-fca6c5a5-50e94598") '('"_wide_channels" $5)))
(let $7 (DqPhyStage '() (lambda '() (block '(
  (let $29 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $30 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $29)))
  (let $31 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" 'false)))))
  (let $32 (YtStat '('Id '"Input") '('RecordsCount '"30") '('DataSize '"1170") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $33 (YtTable '"Input" $30 $31 $32 '() (Void) (Void) '"/Root/plato"))
  (let $34 '('"key" '"subkey" '"value"))
  (let $35 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $33 $34 (Void) (Void))) '()))))
  (return (FromFlow (WideFilter (DqReadWideWrap $35 '()) (lambda '($36 $37 $38) (== $36 (String '1))))))
))) $6))
(let $8 (DqCnUnionAll (TDqOutput $7 '0)))
(let $9 (Bool 'true))
(let $10 (Uint64 '0))
(let $11 (Uint64 '"18446744073709551615"))
(let $12 (Uint64 '1))
(let $13 (OptionalType (DataType 'Uint32)))
(let $14 (DataType 'Uint64))
(let $15 (OptionalType $1))
(let $16 (StructType '('Sum0 $14) '('_yql_Lead0 $15) $2 $3 $4))
(let $17 '('('"_logical_id" '13729) '('"_id" '"78ecd074-db49c0d4-52c9db3b-44c1ffdf") '('"_partition_mode" '"aggregate") '('"_wide_channels" $16)))
(let $18 (DqPhyStage '($8) (lambda '($39) (block '(
  (let $40 (FromFlow (NarrowMap (WideSort (ToFlow $39) '('('2 $9))) (lambda '($47 $48 $49) (AsStruct '('"key" $47) '('"subkey" $48) '('"value" $49))))))
  (let $41 (QueueCreate $5 (Void) $10 (DependsOn $40)))
  (let $42 (Uint64 '"3"))
  (let $43 (lambda '($62) (block '(
    (let $63 (Member $62 '"value"))
    (return (Just (Concat $63 $63)))
  ))))
  (let $44 (Nothing $15))
  (let $45 (Chain1Map (ToFlow (PreserveStream $40 $41 $11)) (lambda '($50) (block '(
    (let $51 (DependsOn $50))
    (let $52 (QueueRange $41 $12 $11 $51))
    (let $53 (Member $50 '"subkey"))
    (let $54 (Fold (FlatMap $52 (lambda '($59) $59)) (SafeCast (Unwrap (SafeCast $53 $13)) $14) (lambda '($60 $61) (AggrAdd (SafeCast (Unwrap (SafeCast (Member $60 '"subkey") $13)) $14) $61))))
    (let $55 '('Sum0 $54))
    (let $56 (QueuePeek $41 $42 $51))
    (let $57 (IfPresent $56 $43 $44))
    (let $58 (AsStruct $55 '('_yql_Lead0 $57) '('"key" (Member $50 '"key")) '('"subkey" $53) '('"value" (Member $50 '"value"))))
    (return '($58 (AsStruct $55 '('_yql_Lead0 (Void)))))
  ))) (lambda '($64 $65) (block '(
    (let $66 (Nth $65 '1))
    (let $67 (QueuePeek $41 $42 (DependsOn $64)))
    (let $68 (IfPresent $67 $43 $44))
    (let $69 (AsStruct '('Sum0 (Member $66 'Sum0)) '('_yql_Lead0 $68) '('"key" (Member $64 '"key")) '('"subkey" (Member $64 '"subkey")) '('"value" (Member $64 '"value"))))
    (return '($69 $66))
  )))))
  (let $46 (lambda '($70) (block '(
    (let $71 (Nth $70 '0))
    (return (Member $71 'Sum0) (Member $71 '_yql_Lead0) (Member $71 '"key") (Member $71 '"subkey") (Member $71 '"value"))
  ))))
  (return (FromFlow (ExpandMap $45 $46)))
))) $17))
(let $19 (DqCnHashShuffle (TDqOutput $18 '0) '('2) '0 '"HashV2"))
(let $20 (OptionalType $14))
(let $21 (StructType '('"dvalue_lead1" $15) '('"sum1" $14) '('"sum2" $20) $4 '('"value_lag2" $13)))
(let $22 '('('"_logical_id" '16123) '('"_id" '"f0fbce0d-ecac032-16e177cc-f837cf73") '('"_wide_channels" $21)))
(let $23 (DqPhyStage '($19) (lambda '($72) (block '(
  (let $73 (NarrowSqueezeToDict (ToFlow $72) (lambda '($77 $78 $79 $80 $81) $79) (lambda '($82 $83 $84 $85 $86) (AsStruct '('Sum0 $82) '('_yql_Lead0 $83) '('"key" $84) '('"subkey" $85) '('"value" $86))) '('Auto 'Many)))
  (let $74 (Chopper (OrderedFlatMap $73 (lambda '($87) (OrderedFlatMap (DictPayloads $87) (lambda '($88) (Sort $88 (Bool 'false) (lambda '($89) (Member $89 '"value"))))))) (lambda '($90) (Member $90 '"key")) (lambda '($91 $92) (AggrNotEquals $91 (Member $92 '"key"))) (lambda '($93 $94) (block '(
    (let $95 (FromFlow $94))
    (let $96 (QueueCreate $16 (Void) $12 (DependsOn $95)))
    (let $97 (lambda '($117) (SafeCast (Member $117 '"value") $13)))
    (let $98 (Nothing $13))
    (let $99 (Chain1Map (ToFlow (PreserveStream $95 $96 $11)) (lambda '($100) (block '(
      (let $101 (DependsOn $100))
      (let $102 (QueueRange $96 (Uint64 '2) $11 $101))
      (let $103 (Member $100 '"subkey"))
      (let $104 (lambda '($113) (Just (SafeCast $113 $14))))
      (let $105 (Nothing $20))
      (let $106 (IfPresent (SafeCast $103 $13) $104 $105))
      (let $107 (Fold (FlatMap $102 (lambda '($112) $112)) $106 (lambda '($114 $115) (block '(
        (let $116 (IfPresent (SafeCast (Member $114 '"subkey") $13) $104 $105))
        (return (AggrAdd $116 $115))
      )))))
      (let $108 '('Sum1 $107))
      (let $109 (QueuePeek $96 $10 $101))
      (let $110 (IfPresent $109 $97 $98))
      (let $111 (AsStruct '('Sum0 (Member $100 'Sum0)) $108 '('_yql_Lag0 $110) '('_yql_Lead0 (Member $100 '_yql_Lead0)) '('"key" (Member $100 '"key")) '('"subkey" $103) '('"value" (Member $100 '"value"))))
      (return '($111 (AsStruct $108 '('_yql_Lag0 (Void)))))
    ))) (lambda '($118 $119) (block '(
      (let $120 (Nth $119 '1))
      (let $121 (QueuePeek $96 $10 (DependsOn $118)))
      (let $122 (IfPresent $121 $97 $98))
      (let $123 (AsStruct '('Sum0 (Member $118 'Sum0)) '('Sum1 (Member $120 'Sum1)) '('_yql_Lag0 $122) '('_yql_Lead0 (Member $118 '_yql_Lead0)) '('"key" (Member $118 '"key")) '('"subkey" (Member $118 '"subkey")) '('"value" (Member $118 '"value"))))
      (return '($123 $120))
    )))))
    (return (OrderedMap $99 (lambda '($124) (block '(
      (let $125 (Nth $124 '0))
      (return (AsStruct '('Sum0 (Member $125 'Sum0)) '('Sum1 (Member $125 'Sum1)) '('_yql_Lag0 (Member $125 '_yql_Lag0)) '('_yql_Lead0 (Member $125 '_yql_Lead0)) '('"value" (Member $125 '"value"))))
    )))))
  )))))
  (let $75 (Sort (Map $74 (lambda '($126) (AsStruct '('"dvalue_lead1" (Member $126 '_yql_Lead0)) '('"sum1" (Member $126 'Sum0)) '('"sum2" (Member $126 'Sum1)) '('"value" (Member $126 '"value")) '('"value_lag2" (Member $126 '_yql_Lag0))))) $9 (lambda '($127) (Member $127 '"value"))))
  (let $76 (lambda '($128) (Member $128 '"dvalue_lead1") (Member $128 '"sum1") (Member $128 '"sum2") (Member $128 '"value") (Member $128 '"value_lag2")))
  (return (FromFlow (ExpandMap $75 $76)))
))) $22))
(let $24 (DqCnMerge (TDqOutput $23 '0) '('('"3" '"Asc"))))
(let $25 (DqPhyStage '($24) (lambda '($129) (FromFlow (NarrowMap (ToFlow $129) (lambda '($130 $131 $132 $133 $134) (AsStruct '('"dvalue_lead1" $130) '('"sum1" $131) '('"sum2" $132) '('"value" $133) '('"value_lag2" $134)))))) '('('"_logical_id" '16135) '('"_id" '"6e8aa26-75d70ea8-637326a9-887b2bf"))))
(let $26 '($7 $18 $23 $25))
(let $27 '('"value" '"sum1" '"dvalue_lead1" '"sum2" '"value_lag2"))
(let $28 (DqCnResult (TDqOutput $25 '0) $27))
(return (KqpPhysicalQuery '((KqpPhysicalTx $26 '($28) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $21) '0 '0)) '('('"type" '"query"))))
)
