Module ImportFrom alias Expr Str Expr Str Assign NameStore Str Import alias Import alias Import alias Import alias Import alias ClassDef bases body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num decorator_list Assign NameStore Num Assign NameStore Num Assign NameStore Num FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareEq NameLoad NameLoad body If CompareLtE AttributeLoad NameLoad attr Num body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpOr CompareEq NameLoad NameLoad CompareEq NameLoad NameLoad body Raise Call NameLoad Str If CompareEq NameLoad NameLoad body If NameLoad body Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad Return ListLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareEq NameLoad Num body Assign NameStore Str orelse Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad If NameLoad body Assign SubscriptStore NameLoad Slice Num ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad If CompareGt Call NameLoad NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad orelse Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad Num body Assign NameStore ListLoad TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad TupleLoad AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice BinOpAdd NameLoad Call NameLoad NameLoad If CompareGt Call NameLoad NameLoad Call NameLoad NameLoad body Assign SubscriptStore NameLoad Index Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign SubscriptStore NameLoad Index Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Return NameLoad If CompareEq Call NameLoad NameLoad Num body Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Return BinOpAdd BinOpAdd NameLoad ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad If BoolOpAnd NameLoad CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr Str Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Str Assign NameStore Str While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body AugAssignAdd NameStore Num AugAssignAdd NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body AugAssignAdd NameStore Num AugAssignAdd NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body If BoolOpAnd CompareGtE NameLoad Num CompareGtE NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Slice BinOpSub BinOpSub NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore BinOpAdd BinOpSub BinOpSub NameLoad NameLoad NameLoad Call NameLoad NameLoad Assign NameStore Num Assign NameStore Num Assign NameStore Str Assign NameStore Str AugAssignAdd NameStore Num Expr Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpFloorDiv BinOpAdd BinOpAdd NameLoad NameLoad Num Num Assign NameStore NameLoad Assign NameStore BinOpMult Num NameLoad Assign NameStore BinOpMult ListLoad Num NameLoad Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num Num Assign NameStore SubscriptLoad NameLoad Slice Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore CompareNotEq BinOpMod NameLoad Num Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num For NameStore Call NameLoad NameLoad body If CompareGt Call AttributeLoad NameLoad attr NameLoad body Break For NameStore Call NameLoad BinOpAdd UnaryOpUSub NameLoad NameLoad BinOpSub BinOpAdd NameLoad Num NameLoad Num body Assign NameStore BinOpAdd NameLoad NameLoad If BoolOpOr CompareEq NameLoad UnaryOpUSub NameLoad BoolOpAnd CompareNotEq NameLoad NameLoad CompareLt SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpAdd NameLoad Num body Assign NameStore SubscriptLoad NameLoad Index BinOpAdd NameLoad Num orelse Assign NameStore BinOpAdd SubscriptLoad NameLoad Index BinOpSub NameLoad Num Num Assign NameStore BinOpSub NameLoad NameLoad While BoolOpAnd CompareLt NameLoad NameLoad CompareLt NameLoad NameLoad CompareEq SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad body AugAssignAdd NameStore Num AugAssignAdd NameStore Num Assign SubscriptStore NameLoad Index NameLoad NameLoad If CompareGt NameLoad NameLoad body AugAssignAdd NameStore Num orelse If CompareGt NameLoad NameLoad body AugAssignAdd NameStore Num orelse If NameLoad body Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad If BoolOpAnd CompareGtE NameLoad Num CompareLt NameLoad NameLoad CompareNotEq SubscriptLoad NameLoad Index NameLoad Num body Assign NameStore BinOpSub NameLoad SubscriptLoad NameLoad Index NameLoad If CompareGtE NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad For NameStore Call NameLoad BinOpAdd UnaryOpUSub NameLoad NameLoad BinOpSub BinOpAdd NameLoad Num NameLoad Num body Assign NameStore BinOpAdd NameLoad NameLoad If BoolOpOr CompareEq NameLoad UnaryOpUSub NameLoad BoolOpAnd CompareNotEq NameLoad NameLoad CompareLt SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpAdd NameLoad Num body Assign NameStore SubscriptLoad NameLoad Index BinOpAdd NameLoad Num orelse Assign NameStore BinOpAdd SubscriptLoad NameLoad Index BinOpSub NameLoad Num Num Assign NameStore BinOpSub NameLoad NameLoad While BoolOpAnd CompareLt NameLoad NameLoad CompareLt NameLoad NameLoad CompareEq SubscriptLoad NameLoad Index BinOpSub UnaryOpUSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub UnaryOpUSub NameLoad Num body AugAssignAdd NameStore Num AugAssignAdd NameStore Num Assign SubscriptStore NameLoad Index NameLoad NameLoad If CompareGt NameLoad NameLoad body AugAssignAdd NameStore Num orelse If CompareGt NameLoad NameLoad body AugAssignAdd NameStore Num orelse If UnaryOpNot NameLoad body Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad If BoolOpAnd CompareGtE NameLoad Num CompareLt NameLoad NameLoad CompareNotEq SubscriptLoad NameLoad Index NameLoad Num body Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad Assign NameStore BinOpSub NameLoad NameLoad If CompareGtE NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Return BinOpAdd NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Dict Expr Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Num Assign NameStore Num While CompareLt NameLoad BinOpSub Call NameLoad NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad If CompareEq NameLoad Num body Assign NameStore BinOpSub Call NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad Num Assign NameStore BinOpAdd NameLoad Num If CompareIn NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Assign SubscriptStore NameLoad Index NameLoad BinOpSub Call NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr Call NameLoad BinOpSub Call NameLoad NameLoad Num Return Call AttributeLoad Str attr NameLoad decorator_list Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str For NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore ListLoad For NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Call NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If BoolOpOr UnaryOpNot NameLoad UnaryOpNot NameLoad CompareNotEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Return Num Assign NameStore Num Assign NameStore Call NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore NameLoad Assign NameStore Num While CompareLt NameLoad NameLoad body If CompareEq SubscriptLoad NameLoad Slice NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore BinOpAdd BinOpFloorDiv BinOpSub NameLoad NameLoad Num NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If BoolOpOr UnaryOpNot NameLoad UnaryOpNot NameLoad CompareNotEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Return Num Assign NameStore Num Assign NameStore Call NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore NameLoad Assign NameStore Num While CompareLt NameLoad NameLoad body If CompareEq SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad BinOpSub Call NameLoad NameLoad NameLoad SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad BinOpSub Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore BinOpAdd BinOpFloorDiv BinOpSub NameLoad NameLoad Num NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If BoolOpOr CompareEq NameLoad Num CompareEq NameLoad Num body Return Num If CompareGt NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad orelse If CompareLt NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If CompareEq NameLoad NameLoad body Return NameLoad Assign NameStore Num Assign NameStore Num While NameLoad body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Return NameLoad AugAssignAdd NameStore NameLoad If BoolOpOr CompareEq NameLoad Num CompareEq SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad SubscriptLoad NameLoad Slice NameLoad body Assign NameStore NameLoad AugAssignAdd NameStore Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareLtE AttributeLoad NameLoad attr Num body Return NameLoad If CompareGt Call NameLoad NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad orelse Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad If BoolOpOr CompareLt Call NameLoad NameLoad Num CompareLt BinOpMult Call NameLoad NameLoad Num Call NameLoad NameLoad body Return NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad BinOpFloorDiv Call NameLoad NameLoad Num Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad While CompareNotEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice NameLoad If CompareLt Call NameLoad NameLoad BinOpAdd NameLoad NameLoad body Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice BinOpSub NameLoad NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice BinOpSub NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice BinOpAdd NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice BinOpSub NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice BinOpAdd NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad Num If CompareGtE BinOpMult Call NameLoad NameLoad Num Call NameLoad NameLoad body Return TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad orelse Return NameLoad decorator_list Assign NameStore Call NameLoad NameLoad NameLoad BinOpFloorDiv BinOpAdd Call NameLoad NameLoad Num Num Assign NameStore Call NameLoad NameLoad NameLoad BinOpFloorDiv BinOpAdd Call NameLoad NameLoad Num Num If BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad body Return NameLoad orelse If UnaryOpNot NameLoad body Assign NameStore NameLoad orelse If UnaryOpNot NameLoad body Assign NameStore NameLoad orelse If CompareGt Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num body Assign NameStore NameLoad orelse Assign NameStore NameLoad If CompareGt Call NameLoad NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameLoad orelse Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameLoad Return TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore NameLoad Assign NameStore ListLoad Assign NameStore NameLoad Assign NameStore Num Assign TupleStore NameStore NameStore TupleLoad Num Num Assign TupleStore NameStore NameStore TupleLoad Num Num While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore TupleLoad NameLoad Num Assign TupleStore NameStore NameStore TupleLoad NameLoad Num Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num orelse AugAssignAdd NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num If BoolOpAnd NameLoad CompareLtE Call NameLoad NameLoad Call NameLoad NameLoad NameLoad CompareLtE Call NameLoad NameLoad Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num TupleLoad AttributeLoad NameLoad attr NameLoad Assign SubscriptStore NameLoad Index BinOpAdd SubscriptLoad NameLoad Index Num Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd SubscriptLoad NameLoad Index Num Num Index Num Expr Call AttributeLoad NameLoad attr If Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr If Call NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num orelse Assign NameStore Num Assign TupleStore NameStore NameStore TupleLoad Num Num Assign TupleStore NameStore NameStore TupleLoad Num Num Assign NameStore NameLoad Assign NameStore NameLoad AugAssignAdd NameStore Num If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Num While CompareLt NameLoad Call NameLoad NameLoad body If BoolOpAnd CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num AttributeLoad NameLoad attr CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareGtE NameLoad NameLoad body If BoolOpOr CompareGtE NameLoad BinOpDiv Call NameLoad NameLoad Num CompareGtE NameLoad BinOpDiv Call NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad Assign SubscriptStore NameLoad Index BinOpSub NameLoad Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice BinOpSub Call NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad AugAssignAdd NameStore Num orelse If BoolOpOr CompareGtE NameLoad BinOpDiv Call NameLoad NameLoad Num CompareGtE NameLoad BinOpDiv Call NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad Assign SubscriptStore NameLoad Index BinOpSub NameLoad Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice BinOpSub Call NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad AugAssignAdd NameStore Num AugAssignAdd NameStore Num AugAssignAdd NameStore Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpOr UnaryOpNot NameLoad UnaryOpNot NameLoad body Return Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore UnaryOpNot Call AttributeLoad NameLoad attr Assign NameStore UnaryOpNot Call AttributeLoad NameLoad attr Assign NameStore BoolOpAnd NameLoad Call AttributeLoad NameLoad attr Assign NameStore BoolOpAnd NameLoad Call AttributeLoad NameLoad attr Assign NameStore BoolOpAnd NameLoad BoolOpOr CompareEq NameLoad Str CompareEq NameLoad Str Assign NameStore BoolOpAnd NameLoad BoolOpOr CompareEq NameLoad Str CompareEq NameLoad Str Assign NameStore BoolOpAnd NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BoolOpAnd NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If BoolOpOr NameLoad NameLoad body Return Num orelse If BoolOpOr NameLoad NameLoad body Return Num orelse If BoolOpAnd NameLoad UnaryOpNot NameLoad NameLoad body Return Num orelse If BoolOpOr NameLoad NameLoad body Return Num orelse If BoolOpOr NameLoad NameLoad body Return Num Return Num decorator_list Assign NameStore Num While CompareLt NameLoad BinOpSub Call NameLoad NameLoad Num body If BoolOpAnd CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num AttributeLoad NameLoad attr CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore BinOpAdd NameLoad SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore BinOpAdd NameLoad NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore BinOpAdd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad While BoolOpAnd NameLoad NameLoad CompareEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body AugAssignAdd NameStore SubscriptLoad NameLoad Index Num Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Slice Num Assign NameStore BinOpAdd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad If CompareGtE NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad If CompareNotEq SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num NameLoad body If NameLoad body Assign SubscriptStore NameLoad Index BinOpSub NameLoad Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num NameLoad orelse Delete SubscriptDel NameLoad Index BinOpSub NameLoad Num AugAssignSub NameStore Num Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num NameLoad If NameLoad body Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num NameLoad orelse Delete SubscriptDel NameLoad Index BinOpAdd NameLoad Num AugAssignSub NameStore Num AugAssignAdd NameStore Num decorator_list Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore NameLoad Assign NameStore ListLoad Assign NameStore NameLoad Assign NameStore Num Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body If BoolOpAnd CompareLt Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr BoolOpOr NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num orelse Assign NameStore ListLoad Assign NameStore NameLoad Assign NameStore NameStore NameLoad orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body Assign NameStore NameLoad orelse Assign NameStore NameLoad If BoolOpAnd NameLoad BoolOpOr BoolOpAnd NameLoad NameLoad NameLoad NameLoad BoolOpAnd CompareLt Call NameLoad NameLoad BinOpDiv AttributeLoad NameLoad attr Num CompareEq BinOpAdd BinOpAdd BinOpAdd NameLoad NameLoad NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num TupleLoad AttributeLoad NameLoad attr NameLoad Assign SubscriptStore NameLoad Index BinOpAdd SubscriptLoad NameLoad Index Num Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd SubscriptLoad NameLoad Index Num Num Index Num Expr Call AttributeLoad NameLoad attr Assign NameStore NameLoad If BoolOpAnd NameLoad NameLoad body Assign NameStore NameStore NameLoad Assign NameStore ListLoad orelse If Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr If Call NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num orelse Assign NameStore Num Assign NameStore NameStore NameLoad Assign NameStore NameLoad AugAssignAdd NameStore Num If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr Str Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Str Assign NameStore Str While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body AugAssignAdd NameStore Num AugAssignAdd NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AugAssignAdd NameStore Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body AugAssignAdd NameStore Num AugAssignAdd NameStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AugAssignAdd NameStore Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body If CompareGt BinOpAdd NameLoad NameLoad Num body If BoolOpAnd CompareNotEq NameLoad Num CompareNotEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad Num body Assign NameStore BinOpSub BinOpSub BinOpSub NameLoad NameLoad NameLoad Num If BoolOpAnd CompareGtE NameLoad Num CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad NameLoad Slice NameLoad orelse Expr Call AttributeLoad NameLoad attr Num TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad AugAssignAdd NameStore Num Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad Num body Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num BinOpAdd SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Slice BinOpSub NameLoad NameLoad NameLoad ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Slice BinOpSub NameLoad NameLoad NameLoad ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad orelse Assign SubscriptStore NameLoad Slice BinOpSub BinOpSub NameLoad NameLoad NameLoad NameLoad ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpAdd BinOpSub BinOpSub NameLoad NameLoad NameLoad Num If CompareNotEq NameLoad Num body AugAssignAdd NameStore Num If CompareNotEq NameLoad Num body AugAssignAdd NameStore Num orelse If BoolOpAnd CompareNotEq NameLoad Num CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index BinOpSub NameLoad Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Delete SubscriptDel NameLoad Index NameLoad orelse AugAssignAdd NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Str Assign NameStore Str If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str body Expr Call AttributeLoad NameLoad attr Assign NameStore NameLoad Assign NameStore Num While CompareLt NameLoad BinOpSub Call NameLoad NameLoad Num body If BoolOpAnd CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num AttributeLoad NameLoad attr CompareEq SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num AttributeLoad NameLoad attr body If Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num attr SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num body Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Slice UnaryOpUSub Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num Delete SubscriptDel NameLoad Index BinOpSub NameLoad Num Assign NameStore NameLoad orelse If Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num attr SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num body Assign SubscriptStore NameLoad Index BinOpSub NameLoad Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Index Num SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num BinOpAdd SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Slice Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num SubscriptLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Index Num Delete SubscriptDel NameLoad Index BinOpAdd NameLoad Num Assign NameStore NameLoad AugAssignAdd NameStore Num If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num For NameStore Call NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore SubscriptLoad NameLoad Index NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad If CompareGt NameLoad NameLoad body Break Assign NameStore NameLoad Assign NameStore NameLoad If BoolOpAnd CompareNotEq Call NameLoad NameLoad NameLoad CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num AttributeLoad NameLoad attr body Return NameLoad Return BinOpAdd NameLoad BinOpSub NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr Str Str attr Str Str attr Str Str attr Str Str If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body If CompareNotEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body If CompareNotEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Num Assign NameStore Num For TupleStore NameStore NameStore NameLoad body If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad NameLoad Assign NameStore Num Assign NameStore Num AugAssignAdd NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body If CompareEq NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr NameLoad Str orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareEq Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListLoad Assign NameStore Num Assign NameStore Call AttributeLoad NameLoad attr Str For NameStore NameLoad body If CompareEq NameLoad Str body Continue Assign NameStore SubscriptLoad NameLoad Slice Num If CompareEq SubscriptLoad NameLoad Index Num Str body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Str Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse If BoolOpOr CompareEq SubscriptLoad NameLoad Index Num Str CompareEq SubscriptLoad NameLoad Index Num Str body TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad If CompareLt NameLoad Num body Raise Call NameLoad BinOpAdd Str NameLoad Assign NameStore SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad NameLoad AugAssignAdd NameStore NameLoad If CompareEq SubscriptLoad NameLoad Index Num Str body Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse Raise Call NameLoad BinOpAdd Str SubscriptLoad NameLoad Index Num If CompareNotEq NameLoad Call NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareEq NameLoad NameLoad CompareEq NameLoad NameLoad body Raise Call NameLoad Str Assign NameStore Call NameLoad Num Call NameLoad NameLoad Call NameLoad NameLoad If CompareEq NameLoad NameLoad body Return Num orelse If UnaryOpNot NameLoad body Return Num orelse If CompareEq SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad Call NameLoad NameLoad NameLoad body Return NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore BinOpDiv Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub NameLoad NameLoad If UnaryOpNot AttributeLoad NameLoad attr body Return BoolOpOr BoolOpAnd NameLoad Num NameLoad Return BinOpAdd NameLoad BinOpDiv NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad Num body Assign NameStore Call NameLoad Call NameLoad Num NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad Call NameLoad NameLoad If CompareNotEq NameLoad Num body Assign NameStore Call NameLoad Call NameLoad Num NameLoad NameLoad Assign NameStore BinOpLShift Num BinOpSub Call NameLoad NameLoad Num Assign NameStore Num Assign NameStore BinOpAdd Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore NameLoad For NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore Num Assign NameStore NameLoad While CompareLt NameLoad NameLoad body If CompareLtE Call NameLoad NameLoad BinOpAdd NameLoad NameLoad NameLoad body Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore BinOpAdd BinOpFloorDiv BinOpSub NameLoad NameLoad Num NameLoad Assign NameStore NameLoad Assign NameStore Call NameLoad Num BinOpAdd BinOpSub NameLoad NameLoad Num Assign NameStore BinOpAdd Call NameLoad BinOpAdd NameLoad NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore BinOpMult ListLoad Num BinOpAdd NameLoad Num Assign SubscriptStore NameLoad Index BinOpAdd NameLoad Num BinOpSub BinOpLShift Num NameLoad Num For NameStore Call NameLoad NameLoad BinOpSub NameLoad Num Num body If CompareLtE Call NameLoad NameLoad BinOpSub NameLoad Num body Assign NameStore Num orelse Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index BinOpSub NameLoad Num Num If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Index NameLoad BinOpBitAnd BinOpBitOr BinOpLShift SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Num Num NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad BinOpBitOr BinOpBitOr BinOpBitAnd BinOpBitOr BinOpLShift SubscriptLoad NameLoad Index BinOpAdd NameLoad Num Num Num NameLoad BinOpBitOr BinOpLShift BinOpBitOr SubscriptLoad NameLoad Index BinOpAdd NameLoad Num SubscriptLoad NameLoad Index NameLoad Num Num SubscriptLoad NameLoad Index BinOpAdd NameLoad Num If BinOpBitAnd SubscriptLoad NameLoad Index NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad BinOpSub NameLoad Num If CompareLtE NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore BinOpSub NameLoad Num If CompareGt NameLoad NameLoad body Assign NameStore Call NameLoad Num BinOpSub BinOpMult Num NameLoad NameLoad orelse Break If CompareGt Call NameLoad BinOpAdd NameLoad Num NameLoad NameLoad body Break Assign NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Dict For NameStore NameLoad body Assign SubscriptStore NameLoad Index NameLoad Num For NameStore Call NameLoad Call NameLoad NameLoad body AugAssignBitOr SubscriptStore NameLoad Index SubscriptLoad NameLoad Index NameLoad BinOpLShift Num BinOpSub BinOpSub Call NameLoad NameLoad NameLoad Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareEq Call NameLoad NameLoad Num body Return Assign NameStore SubscriptLoad NameLoad Slice AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num While BoolOpAnd CompareNotEq Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad BoolOpOr CompareEq AttributeLoad NameLoad attr Num CompareLt Call NameLoad NameLoad BinOpSub BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignAdd NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad Num BinOpSub AttributeLoad NameLoad attr NameLoad BinOpAdd BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad Num BinOpSub AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr If NameLoad body Assign SubscriptStore AttributeLoad NameLoad attr Slice Num ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore SubscriptLoad NameLoad Slice BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpAdd BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad AugAssignSub AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignSub AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd AttributeStore NameLoad attr BinOpAdd Call NameLoad NameLoad Call NameLoad NameLoad AugAssignAdd AttributeStore NameLoad attr BinOpAdd Call NameLoad NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore NameLoad Assign NameStore NameLoad If BoolOpAnd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad CompareIs NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If CompareGt Call NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad orelse If BoolOpAnd Call NameLoad NameLoad NameLoad CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad orelse If BoolOpAnd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad CompareIs NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse If BoolOpAnd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse Raise Call NameLoad Str If UnaryOpNot NameLoad body Return ListLoad Assign NameStore ListLoad Assign NameStore Call NameLoad Assign NameStore Num Assign NameStore Num Assign NameStore NameLoad Assign NameStore NameLoad For NameStore Call NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore SubscriptLoad NameLoad Index NameLoad If BoolOpAnd CompareEq Call NameLoad AttributeLoad NameLoad attr Num CompareNotEq NameLoad AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index NameLoad AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad Assign NameStore BinOpAdd BinOpAdd SubscriptLoad NameLoad Slice NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice BinOpAdd NameLoad Call NameLoad NameLoad orelse If BoolOpAnd CompareEq NameLoad AttributeLoad NameLoad attr CompareLtE Call NameLoad NameLoad BinOpMult Num AttributeLoad NameLoad attr CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num CompareNotEq Call NameLoad NameLoad BinOpAdd NameLoad Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index NameLoad AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad If BoolOpAnd CompareEq NameLoad AttributeLoad NameLoad attr CompareGtE Call NameLoad NameLoad BinOpMult Num AttributeLoad NameLoad attr body If CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Assign NameStore NameLoad Assign NameStore NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad If CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return TupleLoad NameLoad ListLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Num Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore BinOpAdd AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num If CompareGt Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Slice AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Slice UnaryOpUSub AttributeLoad NameLoad attr BinOpSub BinOpAdd NameLoad Call NameLoad NameLoad AttributeLoad NameLoad attr If BoolOpOr CompareEq NameLoad Num CompareGtE NameLoad NameLoad body Assign NameStore Num orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If CompareEq NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad AugAssignSub NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpSub NameLoad NameLoad If CompareEq NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad Call NameLoad NameLoad orelse Assign NameStore SubscriptLoad NameLoad Slice NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body Assign NameStore BinOpAdd BinOpAdd SubscriptLoad NameLoad Slice NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice BinOpAdd NameLoad Call NameLoad NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If BoolOpAnd CompareGt Call NameLoad NameLoad AttributeLoad NameLoad attr CompareGt BinOpDiv Call AttributeLoad NameLoad attr NameLoad Call NameLoad Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index Num NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Num For TupleStore NameStore NameStore AttributeLoad NameLoad attr body If CompareNotEq NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareEq NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpAdd BinOpAdd SubscriptLoad NameLoad Slice BinOpAdd NameLoad NameLoad NameLoad SubscriptLoad NameLoad Slice BinOpAdd NameLoad NameLoad orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice BinOpAdd NameLoad NameLoad SubscriptLoad NameLoad Slice BinOpAdd NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad Call NameLoad NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad NameLoad UnaryOpUSub Call NameLoad NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Assign NameStore Str For NameStore Call NameLoad Num BinOpAdd NameLoad Num body AugAssignAdd NameStore Call NameLoad NameLoad For NameStore NameLoad body AugAssignAdd AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot NameLoad CompareNotEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Num TupleLoad AttributeLoad NameLoad attr NameLoad AugAssignSub AttributeStore NameLoad attr NameLoad AugAssignSub AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad orelse If CompareGt NameLoad Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num body Assign NameStore BinOpSub NameLoad Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign SubscriptStore NameLoad Index Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num NameLoad AugAssignSub AttributeStore NameLoad attr NameLoad AugAssignSub AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot NameLoad CompareNotEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad orelse If CompareGt NameLoad Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num body Assign NameStore BinOpSub NameLoad Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign NameStore BinOpAdd SubscriptLoad SubscriptLoad NameLoad Index Num Index Num SubscriptLoad NameLoad Slice NameLoad Assign SubscriptStore NameLoad Index Num TupleLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr If CompareEq NameLoad Num body Return For NameStore Call NameLoad Call NameLoad NameLoad body If CompareLtE AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad body Continue Assign NameStore SubscriptLoad NameLoad Index NameLoad Delete SubscriptDel NameLoad Index NameLoad AugAssignSub NameStore Num Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Str While CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num body Assign NameStore Call NameLoad Assign NameStore NameLoad Assign AttributeStore NameLoad attr BinOpSub NameLoad Call NameLoad NameLoad Assign AttributeStore NameLoad attr BinOpSub NameLoad Call NameLoad NameLoad If NameLoad body Assign AttributeStore NameLoad attr AttributeStore NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad While BoolOpAnd CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num CompareLt AttributeLoad NameLoad attr BinOpSub NameLoad AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd NameStore Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Num Assign NameStore NameLoad orelse If BoolOpAnd CompareEq NameLoad AttributeLoad NameLoad attr CompareEq Call NameLoad AttributeLoad NameLoad attr Num CompareEq SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num AttributeLoad NameLoad attr CompareGt Call NameLoad NameLoad BinOpMult Num NameLoad body AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd NameStore Call NameLoad NameLoad Assign NameStore NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad NameLoad Delete SubscriptDel AttributeLoad NameLoad attr Index Num orelse Assign NameStore SubscriptLoad NameLoad Slice BinOpSub BinOpSub NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd NameStore Call NameLoad NameLoad If CompareEq NameLoad AttributeLoad NameLoad attr body AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd NameStore Call NameLoad NameLoad orelse Assign NameStore NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad NameLoad If CompareEq NameLoad SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num body Delete SubscriptDel AttributeLoad NameLoad attr Index Num orelse Assign SubscriptStore AttributeLoad NameLoad attr Index Num TupleLoad SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num SubscriptLoad SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num Slice Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub AttributeLoad NameLoad attr Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Slice AttributeLoad NameLoad attr If NameLoad body AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad AugAssignAdd AttributeStore NameLoad attr Call NameLoad NameLoad If BoolOpAnd CompareNotEq Call NameLoad AttributeLoad NameLoad attr Num CompareEq SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num AttributeLoad NameLoad attr body Assign SubscriptStore AttributeLoad NameLoad attr Index Num TupleLoad AttributeLoad NameLoad attr BinOpAdd SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num NameLoad orelse Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body AugAssignAdd NameStore Num Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareEq Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListLoad If UnaryOpNot NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str While CompareNotEq Call NameLoad NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad Index Num If UnaryOpNot NameLoad body Raise Call NameLoad BinOpAdd Str SubscriptLoad NameLoad Index Num Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Num If CompareEq Call AttributeLoad NameLoad attr Num Str body AugAssignSub AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num orelse If CompareEq Call AttributeLoad NameLoad attr Num Str body Assign AttributeStore NameLoad attr Num orelse AugAssignSub AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Num If CompareEq Call AttributeLoad NameLoad attr Num Str body AugAssignSub AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num orelse If CompareEq Call AttributeLoad NameLoad attr Num Str body Assign AttributeStore NameLoad attr Num orelse AugAssignSub AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Num Delete SubscriptDel NameLoad Index Num While CompareNotEq Call NameLoad NameLoad Num body If SubscriptLoad NameLoad Index Num body Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index Num Index Num orelse Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num Assign NameStore Call AttributeLoad NameLoad attr Str If CompareEq NameLoad Str body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Break orelse If CompareEq NameLoad Str body Pass orelse Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad Delete SubscriptDel NameLoad Index Num Return NameLoad decorator_list decorator_list ClassDef bases body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore BinOpAdd Call NameLoad AttributeLoad NameLoad attr Str orelse If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore Call NameLoad BinOpAdd AttributeLoad NameLoad attr Num orelse Assign NameStore BinOpAdd BinOpAdd Call NameLoad BinOpAdd AttributeLoad NameLoad attr Num Str Call NameLoad AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore BinOpAdd Call NameLoad AttributeLoad NameLoad attr Str orelse If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore Call NameLoad BinOpAdd AttributeLoad NameLoad attr Num orelse Assign NameStore BinOpAdd BinOpAdd Call NameLoad BinOpAdd AttributeLoad NameLoad attr Num Str Call NameLoad AttributeLoad NameLoad attr Assign NameStore ListLoad Str NameLoad Str NameLoad Str For TupleStore NameStore NameStore AttributeLoad NameLoad attr body If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd Call AttributeLoad NameLoad attr NameLoad Str Str Return Call AttributeLoad Str attr NameLoad decorator_list decorator_list
N/A __future__ division N/A Diff Match and Patch

Copyright 2006 Google Inc.
http://code.google.com/p/google-diff-match-patch/

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 N/A Functions for diff, match and patch.

Computes the difference between two texts to create a patch.
Applies the patch onto another text, allowing for errors.
 N/A __author__ fraser@google.com (Neil Fraser) N/A math N/A re N/A sys N/A time N/A urllib diff_match_patch N/A N/A N/A Class containing the diff, match and patch methods.

  Also contains the behaviour settings.
   __init__ N/A N/A self N/A N/A N/A Inits a diff_match_patch object with default settings.
    Redefine these in your program to override the defaults.
     N/A N/A self Diff_Timeout 1.0 N/A N/A self Diff_EditCost 4 N/A N/A self Match_Threshold 0.5 N/A N/A self Match_Distance 1000 N/A N/A self Patch_DeleteThreshold 0.5 N/A N/A self Patch_Margin 4 N/A N/A self Match_MaxBits 32 N/A N/A DIFF_DELETE -1 N/A DIFF_INSERT 1 N/A DIFF_EQUAL 0 diff_main N/A N/A self text1 text2 checklines deadline N/A True None N/A N/A Find the differences between two texts.  Simplifies the problem by
      stripping any common prefix or suffix off the texts before diffing.

    Args:
      text1: Old string to be diffed.
      text2: New string to be diffed.
      checklines: Optional speedup flag.  If present and false, then don't run
        a line-level diff first to identify the changed areas.
        Defaults to true, which does a faster, slightly less optimal diff.
      deadline: Optional time when the diff should be complete by.  Used
        internally for recursive calls.  Users should set DiffTimeout instead.

    Returns:
      Array of changes.
     N/A N/A deadline None N/A N/A N/A N/A self Diff_Timeout 0 N/A N/A deadline N/A sys maxint N/A N/A deadline N/A N/A N/A time time N/A self Diff_Timeout N/A N/A N/A text1 None N/A text2 None N/A N/A N/A ValueError Null inputs. (diff_main) N/A N/A text1 text2 N/A N/A text1 N/A N/A N/A N/A N/A self DIFF_EQUAL text1 N/A N/A N/A commonlength N/A N/A self diff_commonPrefix text1 text2 N/A commonprefix N/A text1 N/A commonlength N/A text1 N/A text1 N/A commonlength N/A text2 N/A text2 N/A commonlength N/A commonlength N/A N/A self diff_commonSuffix text1 text2 N/A N/A commonlength 0 N/A N/A commonsuffix N/A N/A commonsuffix N/A text1 N/A N/A commonlength N/A text1 N/A text1 N/A N/A commonlength N/A text2 N/A text2 N/A N/A commonlength N/A diffs N/A N/A self diff_compute text1 text2 checklines deadline N/A commonprefix N/A N/A N/A diffs N/A 0 N/A N/A N/A self DIFF_EQUAL commonprefix N/A commonsuffix N/A N/A N/A N/A diffs append N/A N/A self DIFF_EQUAL commonsuffix N/A N/A N/A self diff_cleanupMerge diffs N/A diffs N/A diff_compute N/A N/A self text1 text2 checklines deadline N/A N/A N/A Find the differences between two texts.  Assumes that the texts do not
      have any common prefix or suffix.

    Args:
      text1: Old string to be diffed.
      text2: New string to be diffed.
      checklines: Speedup flag.  If false, then don't run a line-level diff
        first to identify the changed areas.
        If true, then run a faster, slightly less optimal diff.
      deadline: Time when the diff should be complete by.

    Returns:
      Array of changes.
     N/A N/A text1 N/A N/A N/A N/A N/A self DIFF_INSERT text2 N/A N/A text2 N/A N/A N/A N/A N/A self DIFF_DELETE text1 N/A N/A N/A len text1 N/A len text2 N/A N/A N/A longtext shorttext N/A text1 text2 N/A N/A N/A shorttext longtext N/A text1 text2 N/A i N/A N/A longtext find shorttext N/A N/A i -1 N/A N/A diffs N/A N/A N/A self DIFF_INSERT N/A longtext N/A i N/A N/A self DIFF_EQUAL shorttext N/A N/A self DIFF_INSERT N/A longtext N/A N/A i N/A len shorttext N/A N/A N/A len text1 N/A len text2 N/A N/A N/A diffs N/A 0 N/A N/A self DIFF_DELETE N/A N/A diffs N/A 0 N/A 1 N/A N/A diffs N/A 2 N/A N/A self DIFF_DELETE N/A N/A diffs N/A 2 N/A 1 N/A diffs N/A N/A N/A len shorttext 1 N/A N/A N/A N/A N/A self DIFF_DELETE text1 N/A N/A self DIFF_INSERT text2 N/A hm N/A N/A self diff_halfMatch text1 text2 N/A hm N/A N/A N/A text1_a text1_b text2_a text2_b mid_common hm N/A diffs_a N/A N/A self diff_main text1_a text2_a checklines deadline N/A diffs_b N/A N/A self diff_main text1_b text2_b checklines deadline N/A N/A N/A diffs_a N/A N/A N/A self DIFF_EQUAL mid_common diffs_b N/A N/A checklines N/A N/A len text1 100 N/A N/A len text2 100 N/A N/A N/A N/A self diff_lineMode text1 text2 deadline N/A N/A N/A self diff_bisect text1 text2 deadline N/A diff_lineMode N/A N/A self text1 text2 deadline N/A N/A N/A Do a quick line-level diff on both strings, then rediff the parts for
      greater accuracy.
      This speedup can produce non-minimal diffs.

    Args:
      text1: Old string to be diffed.
      text2: New string to be diffed.
      deadline: Time when the diff should be complete by.

    Returns:
      Array of changes.
     N/A N/A text1 text2 linearray N/A N/A self diff_linesToChars text1 text2 N/A diffs N/A N/A self diff_main text1 text2 False deadline N/A N/A N/A self diff_charsToLines diffs linearray N/A N/A N/A self diff_cleanupSemantic diffs N/A N/A N/A diffs append N/A N/A self DIFF_EQUAL N/A pointer 0 N/A count_delete 0 N/A count_insert 0 N/A text_delete N/A text_insert N/A N/A pointer N/A len diffs N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_INSERT N/A N/A count_insert 1 N/A text_insert N/A N/A diffs N/A pointer N/A 1 N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_DELETE N/A N/A count_delete 1 N/A text_delete N/A N/A diffs N/A pointer N/A 1 N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A count_delete 1 N/A count_insert 1 N/A N/A a N/A N/A self diff_main text_delete text_insert False deadline N/A N/A diffs N/A N/A N/A pointer count_delete count_insert pointer a N/A pointer N/A N/A N/A pointer count_delete count_insert N/A len a N/A count_insert 0 N/A count_delete 0 N/A text_delete N/A text_insert N/A pointer 1 N/A N/A N/A diffs pop N/A diffs N/A diff_bisect N/A N/A self text1 text2 deadline N/A N/A N/A Find the 'middle snake' of a diff, split the problem in two
      and return the recursively constructed diff.
      See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.

    Args:
      text1: Old string to be diffed.
      text2: New string to be diffed.
      deadline: Time at which to bail if not yet complete.

    Returns:
      Array of diff tuples.
     N/A text1_length N/A len text1 N/A text2_length N/A len text2 N/A max_d N/A N/A N/A text1_length text2_length 1 2 N/A v_offset max_d N/A v_length N/A 2 max_d N/A v1 N/A N/A -1 v_length N/A N/A v1 N/A N/A v_offset 1 0 N/A v2 N/A v1 N/A N/A delta N/A text1_length text2_length N/A front N/A N/A delta 2 0 N/A k1start 0 N/A k1end 0 N/A k2start 0 N/A k2end 0 N/A d N/A xrange max_d N/A N/A N/A N/A N/A time time deadline N/A N/A N/A k1 N/A xrange N/A N/A d k1start N/A N/A d 1 k1end 2 N/A N/A k1_offset N/A v_offset k1 N/A N/A N/A k1 N/A d N/A N/A k1 d N/A N/A v1 N/A N/A k1_offset 1 N/A v1 N/A N/A k1_offset 1 N/A N/A x1 N/A v1 N/A N/A k1_offset 1 N/A N/A x1 N/A N/A v1 N/A N/A k1_offset 1 1 N/A y1 N/A x1 k1 N/A N/A N/A x1 text1_length N/A y1 text2_length N/A N/A text1 N/A x1 N/A text2 N/A y1 N/A N/A x1 1 N/A y1 1 N/A N/A v1 N/A k1_offset x1 N/A N/A x1 text1_length N/A N/A k1end 2 N/A N/A N/A y1 text2_length N/A N/A k1start 2 N/A N/A front N/A N/A k2_offset N/A N/A v_offset delta k1 N/A N/A N/A k2_offset 0 N/A k2_offset v_length N/A N/A v2 N/A k2_offset -1 N/A N/A x2 N/A text1_length N/A v2 N/A k2_offset N/A N/A x1 x2 N/A N/A N/A N/A self diff_bisectSplit text1 text2 x1 y1 deadline N/A k2 N/A xrange N/A N/A d k2start N/A N/A d 1 k2end 2 N/A N/A k2_offset N/A v_offset k2 N/A N/A N/A k2 N/A d N/A N/A k2 d N/A N/A v2 N/A N/A k2_offset 1 N/A v2 N/A N/A k2_offset 1 N/A N/A x2 N/A v2 N/A N/A k2_offset 1 N/A N/A x2 N/A N/A v2 N/A N/A k2_offset 1 1 N/A y2 N/A x2 k2 N/A N/A N/A x2 text1_length N/A y2 text2_length N/A N/A text1 N/A N/A N/A x2 1 N/A text2 N/A N/A N/A y2 1 N/A N/A x2 1 N/A y2 1 N/A N/A v2 N/A k2_offset x2 N/A N/A x2 text1_length N/A N/A k2end 2 N/A N/A N/A y2 text2_length N/A N/A k2start 2 N/A N/A N/A front N/A N/A k1_offset N/A N/A v_offset delta k2 N/A N/A N/A k1_offset 0 N/A k1_offset v_length N/A N/A v1 N/A k1_offset -1 N/A N/A x1 N/A v1 N/A k1_offset N/A y1 N/A N/A v_offset x1 k1_offset N/A x2 N/A text1_length x2 N/A N/A x1 x2 N/A N/A N/A N/A self diff_bisectSplit text1 text2 x1 y1 deadline N/A N/A N/A N/A self DIFF_DELETE text1 N/A N/A self DIFF_INSERT text2 N/A diff_bisectSplit N/A N/A self text1 text2 x y deadline N/A N/A N/A Given the location of the 'middle snake', split the diff in two parts
    and recurse.

    Args:
      text1: Old string to be diffed.
      text2: New string to be diffed.
      x: Index of split point in text1.
      y: Index of split point in text2.
      deadline: Time at which to bail if not yet complete.

    Returns:
      Array of diff tuples.
     N/A text1a N/A text1 N/A x N/A text2a N/A text2 N/A y N/A text1b N/A text1 N/A x N/A text2b N/A text2 N/A y N/A diffs N/A N/A self diff_main text1a text2a False deadline N/A diffsb N/A N/A self diff_main text1b text2b False deadline N/A N/A diffs diffsb N/A diff_linesToChars N/A N/A self text1 text2 N/A N/A N/A Split two texts into an array of strings.  Reduce the texts to a string
    of hashes where each Unicode character represents one line.

    Args:
      text1: First string.
      text2: Second string.

    Returns:
      Three element tuple, containing the encoded text1, the encoded text2 and
      the array of unique strings.  The zeroth element of the array of unique
      strings is intentionally blank.
     N/A lineArray N/A N/A lineHash N/A N/A N/A N/A lineArray append diff_linesToCharsMunge N/A N/A text N/A N/A N/A Split a text into an array of strings.  Reduce the texts to a string
      of hashes where each Unicode character represents one line.
      Modifies linearray and linehash through being a closure.

      Args:
        text: String to encode.

      Returns:
        Encoded string.
       N/A chars N/A N/A lineStart 0 N/A lineEnd -1 N/A N/A lineEnd N/A N/A len text 1 N/A N/A lineEnd N/A N/A text find lineStart N/A N/A lineEnd -1 N/A N/A lineEnd N/A N/A len text 1 N/A line N/A text N/A lineStart N/A lineEnd 1 N/A lineStart N/A lineEnd 1 N/A N/A line lineHash N/A N/A N/A N/A chars append N/A unichr N/A lineHash N/A line N/A N/A N/A N/A lineArray append line N/A N/A lineHash N/A line N/A N/A len lineArray 1 N/A N/A N/A chars append N/A unichr N/A N/A len lineArray 1 N/A N/A N/A join chars N/A N/A chars1 N/A diff_linesToCharsMunge text1 N/A chars2 N/A diff_linesToCharsMunge text2 N/A N/A chars1 chars2 lineArray N/A diff_charsToLines N/A N/A self diffs lineArray N/A N/A N/A Rehydrate the text in a diff from a string of line hashes to real lines
    of text.

    Args:
      diffs: Array of diff tuples.
      lineArray: Array of unique strings.
     N/A x N/A xrange N/A len diffs N/A N/A text N/A N/A char N/A N/A diffs N/A x N/A 1 N/A N/A N/A N/A text append N/A lineArray N/A N/A ord char N/A N/A diffs N/A x N/A N/A N/A diffs N/A x N/A 0 N/A N/A join text N/A diff_commonPrefix N/A N/A self text1 text2 N/A N/A N/A Determine the common prefix of two strings.

    Args:
      text1: First string.
      text2: Second string.

    Returns:
      The number of characters common to the start of each string.
     N/A N/A N/A text1 N/A text2 N/A N/A text1 N/A 0 N/A text2 N/A 0 N/A N/A 0 N/A pointermin 0 N/A pointermax N/A min N/A len text1 N/A len text2 N/A pointermid pointermax N/A pointerstart 0 N/A N/A pointermin pointermid N/A N/A N/A N/A text1 N/A pointerstart pointermid N/A text2 N/A pointerstart pointermid N/A N/A pointermin pointermid N/A pointerstart pointermin N/A N/A pointermax pointermid N/A pointermid N/A N/A N/A pointermax pointermin 2 pointermin N/A pointermid N/A diff_commonSuffix N/A N/A self text1 text2 N/A N/A N/A Determine the common suffix of two strings.

    Args:
      text1: First string.
      text2: Second string.

    Returns:
      The number of characters common to the end of each string.
     N/A N/A N/A text1 N/A text2 N/A N/A text1 N/A -1 N/A text2 N/A -1 N/A N/A 0 N/A pointermin 0 N/A pointermax N/A min N/A len text1 N/A len text2 N/A pointermid pointermax N/A pointerend 0 N/A N/A pointermin pointermid N/A N/A N/A N/A text1 N/A N/A pointermid N/A N/A len text1 pointerend N/A text2 N/A N/A pointermid N/A N/A len text2 pointerend N/A N/A pointermin pointermid N/A pointerend pointermin N/A N/A pointermax pointermid N/A pointermid N/A N/A N/A pointermax pointermin 2 pointermin N/A pointermid N/A diff_commonOverlap N/A N/A self text1 text2 N/A N/A N/A Determine if the suffix of one string is the prefix of another.

    Args:
      text1 First string.
      text2 Second string.

    Returns:
      The number of characters common to the end of the first
      string and the start of the second string.
     N/A text1_length N/A len text1 N/A text2_length N/A len text2 N/A N/A N/A text1_length 0 N/A text2_length 0 N/A N/A 0 N/A N/A text1_length text2_length N/A N/A text1 N/A text1 N/A N/A text2_length N/A N/A N/A text1_length text2_length N/A N/A text2 N/A text2 N/A text1_length N/A text_length N/A min text1_length text2_length N/A N/A text1 text2 N/A N/A text_length N/A best 0 N/A length 1 N/A True N/A N/A pattern N/A text1 N/A N/A length N/A found N/A N/A text2 find pattern N/A N/A found -1 N/A N/A best N/A length found N/A N/A N/A found 0 N/A N/A text1 N/A N/A length N/A text2 N/A length N/A N/A best length N/A length 1 N/A diff_halfMatch N/A N/A self text1 text2 N/A N/A N/A Do the two texts share a substring which is at least half the length of
    the longer text?
    This speedup can produce non-minimal diffs.

    Args:
      text1: First string.
      text2: Second string.

    Returns:
      Five element Array, containing the prefix of text1, the suffix of text1,
      the prefix of text2, the suffix of text2 and the common middle.  Or None
      if there was no match.
     N/A N/A N/A self Diff_Timeout 0 N/A N/A None N/A N/A N/A len text1 N/A len text2 N/A N/A N/A longtext shorttext N/A text1 text2 N/A N/A N/A shorttext longtext N/A text1 text2 N/A N/A N/A N/A len longtext 4 N/A N/A N/A len shorttext 2 N/A len longtext N/A N/A None diff_halfMatchI N/A N/A longtext shorttext i N/A N/A N/A Does a substring of shorttext exist within longtext such that the
      substring is at least half the length of longtext?
      Closure, but does not reference any external variables.

      Args:
        longtext: Longer string.
        shorttext: Shorter string.
        i: Start index of quarter length substring within longtext.

      Returns:
        Five element Array, containing the prefix of longtext, the suffix of
        longtext, the prefix of shorttext, the suffix of shorttext and the
        common middle.  Or None if there was no match.
       N/A seed N/A longtext N/A i N/A i N/A N/A len longtext 4 N/A best_common N/A j N/A N/A shorttext find seed N/A N/A j -1 N/A N/A prefixLength N/A N/A self diff_commonPrefix N/A longtext N/A i N/A shorttext N/A j N/A suffixLength N/A N/A self diff_commonSuffix N/A longtext N/A i N/A shorttext N/A j N/A N/A N/A len best_common N/A suffixLength prefixLength N/A N/A best_common N/A N/A shorttext N/A N/A j suffixLength j N/A shorttext N/A j N/A j prefixLength N/A best_longtext_a N/A longtext N/A N/A i suffixLength N/A best_longtext_b N/A longtext N/A N/A i prefixLength N/A best_shorttext_a N/A shorttext N/A N/A j suffixLength N/A best_shorttext_b N/A shorttext N/A N/A j prefixLength N/A j N/A N/A shorttext find seed N/A j 1 N/A N/A N/A N/A len best_common 2 N/A len longtext N/A N/A N/A best_longtext_a best_longtext_b best_shorttext_a best_shorttext_b best_common N/A N/A None N/A N/A hm1 N/A diff_halfMatchI longtext shorttext N/A N/A N/A len longtext 3 4 N/A hm2 N/A diff_halfMatchI longtext shorttext N/A N/A N/A len longtext 1 2 N/A N/A N/A hm1 N/A hm2 N/A N/A None N/A N/A N/A hm2 N/A N/A hm hm1 N/A N/A N/A hm1 N/A N/A hm hm2 N/A N/A N/A N/A len N/A hm1 N/A 4 N/A len N/A hm2 N/A 4 N/A N/A hm hm1 N/A N/A hm hm2 N/A N/A N/A len text1 N/A len text2 N/A N/A N/A text1_a text1_b text2_a text2_b mid_common hm N/A N/A N/A text2_a text2_b text1_a text1_b mid_common hm N/A N/A text1_a text1_b text2_a text2_b mid_common N/A diff_cleanupSemantic N/A N/A self diffs N/A N/A N/A Reduce the number of edits by eliminating semantically trivial
    equalities.

    Args:
      diffs: Array of diff tuples.
     N/A changes False N/A equalities N/A N/A lastequality None N/A pointer 0 N/A N/A length_insertions1 length_deletions1 N/A 0 0 N/A N/A length_insertions2 length_deletions2 N/A 0 0 N/A N/A pointer N/A len diffs N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A equalities append pointer N/A N/A length_insertions1 length_insertions2 N/A length_insertions2 0 N/A N/A length_deletions1 length_deletions2 N/A length_deletions2 0 N/A lastequality N/A N/A diffs N/A pointer N/A 1 N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_INSERT N/A N/A length_insertions2 N/A len N/A N/A diffs N/A pointer N/A 1 N/A N/A length_deletions2 N/A len N/A N/A diffs N/A pointer N/A 1 N/A N/A lastequality N/A N/A len lastequality N/A max length_insertions1 length_deletions1 N/A N/A len lastequality N/A max length_insertions2 length_deletions2 N/A N/A N/A N/A diffs insert N/A equalities N/A -1 N/A N/A self DIFF_DELETE lastequality N/A N/A diffs N/A N/A N/A equalities N/A -1 1 N/A N/A self DIFF_INSERT N/A N/A diffs N/A N/A N/A equalities N/A -1 1 N/A 1 N/A N/A N/A equalities pop N/A N/A len equalities N/A N/A N/A N/A equalities pop N/A N/A len equalities N/A N/A pointer N/A equalities N/A -1 N/A N/A pointer -1 N/A N/A length_insertions1 length_deletions1 N/A 0 0 N/A N/A length_insertions2 length_deletions2 N/A 0 0 N/A lastequality None N/A changes True N/A pointer 1 N/A changes N/A N/A N/A N/A self diff_cleanupMerge diffs N/A N/A N/A self diff_cleanupSemanticLossless diffs N/A pointer 1 N/A N/A pointer N/A len diffs N/A N/A N/A N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_DELETE N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_INSERT N/A N/A deletion N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A insertion N/A N/A diffs N/A pointer N/A 1 N/A overlap_length1 N/A N/A self diff_commonOverlap deletion insertion N/A overlap_length2 N/A N/A self diff_commonOverlap insertion deletion N/A N/A overlap_length1 overlap_length2 N/A N/A N/A N/A overlap_length1 N/A N/A len deletion 2.0 N/A overlap_length1 N/A N/A len insertion 2.0 N/A N/A N/A N/A diffs insert pointer N/A N/A self DIFF_EQUAL N/A insertion N/A overlap_length1 N/A N/A diffs N/A N/A pointer 1 N/A N/A self DIFF_DELETE N/A deletion N/A N/A N/A len deletion overlap_length1 N/A N/A diffs N/A N/A pointer 1 N/A N/A self DIFF_INSERT N/A insertion N/A overlap_length1 N/A pointer 1 N/A N/A N/A N/A overlap_length2 N/A N/A len deletion 2.0 N/A overlap_length2 N/A N/A len insertion 2.0 N/A N/A N/A N/A diffs insert pointer N/A N/A self DIFF_EQUAL N/A deletion N/A overlap_length2 N/A N/A diffs N/A N/A pointer 1 N/A N/A self DIFF_INSERT N/A insertion N/A N/A N/A len insertion overlap_length2 N/A N/A diffs N/A N/A pointer 1 N/A N/A self DIFF_DELETE N/A deletion N/A overlap_length2 N/A pointer 1 N/A pointer 1 N/A pointer 1 N/A diff_cleanupSemanticLossless N/A N/A self diffs N/A N/A N/A Look for single edits surrounded on both sides by equalities
    which can be shifted sideways to align the edit to a word boundary.
    e.g: The c<ins>at c</ins>ame. -> The <ins>cat </ins>came.

    Args:
      diffs: Array of diff tuples.
     diff_cleanupSemanticScore N/A N/A one two N/A N/A N/A Given two strings, compute a score representing whether the
      internal boundary falls on logical boundaries.
      Scores range from 6 (best) to 0 (worst).
      Closure, but does not reference any external variables.

      Args:
        one: First string.
        two: Second string.

      Returns:
        The score.
       N/A N/A N/A one N/A two N/A N/A 6 N/A char1 N/A one N/A -1 N/A char2 N/A two N/A 0 N/A nonAlphaNumeric1 N/A N/A N/A char1 isalnum N/A nonAlphaNumeric2 N/A N/A N/A char2 isalnum N/A whitespace1 N/A nonAlphaNumeric1 N/A N/A char1 isspace N/A whitespace2 N/A nonAlphaNumeric2 N/A N/A char2 isspace N/A lineBreak1 N/A whitespace1 N/A N/A char1 N/A char1 N/A lineBreak2 N/A whitespace2 N/A N/A char2 N/A char2 N/A blankLine1 N/A lineBreak1 N/A N/A N/A self BLANKLINEEND search one N/A blankLine2 N/A lineBreak2 N/A N/A N/A self BLANKLINESTART match two N/A N/A blankLine1 blankLine2 N/A N/A 5 N/A N/A N/A lineBreak1 lineBreak2 N/A N/A 4 N/A N/A N/A nonAlphaNumeric1 N/A whitespace1 whitespace2 N/A N/A 3 N/A N/A N/A whitespace1 whitespace2 N/A N/A 2 N/A N/A N/A nonAlphaNumeric1 nonAlphaNumeric2 N/A N/A 1 N/A 0 N/A N/A pointer 1 N/A N/A pointer N/A N/A len diffs 1 N/A N/A N/A N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_EQUAL N/A N/A equality1 N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A edit N/A N/A diffs N/A pointer N/A 1 N/A equality2 N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A commonOffset N/A N/A self diff_commonSuffix equality1 edit N/A commonOffset N/A N/A commonString N/A edit N/A N/A commonOffset N/A equality1 N/A equality1 N/A N/A commonOffset N/A edit N/A commonString N/A edit N/A N/A commonOffset N/A equality2 N/A commonString equality2 N/A bestEquality1 equality1 N/A bestEdit edit N/A bestEquality2 equality2 N/A bestScore N/A N/A diff_cleanupSemanticScore equality1 edit N/A diff_cleanupSemanticScore edit equality2 N/A N/A edit equality2 N/A N/A edit N/A 0 N/A equality2 N/A 0 N/A N/A equality1 N/A edit N/A 0 N/A edit N/A N/A edit N/A 1 N/A equality2 N/A 0 N/A equality2 N/A equality2 N/A 1 N/A score N/A N/A diff_cleanupSemanticScore equality1 edit N/A diff_cleanupSemanticScore edit equality2 N/A N/A score bestScore N/A N/A bestScore score N/A bestEquality1 equality1 N/A bestEdit edit N/A bestEquality2 equality2 N/A N/A N/A N/A diffs N/A N/A pointer 1 N/A 1 bestEquality1 N/A N/A bestEquality1 N/A N/A N/A diffs N/A N/A pointer 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 bestEquality1 N/A N/A N/A diffs N/A N/A pointer 1 N/A pointer 1 N/A N/A diffs N/A pointer N/A N/A N/A diffs N/A pointer N/A 0 bestEdit N/A bestEquality2 N/A N/A N/A diffs N/A N/A pointer 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 bestEquality2 N/A N/A N/A diffs N/A N/A pointer 1 N/A pointer 1 N/A pointer 1 N/A N/A BLANKLINEEND N/A N/A re compile \n\r?\n$ N/A BLANKLINESTART N/A N/A re compile ^\r?\n\r?\n diff_cleanupEfficiency N/A N/A self diffs N/A N/A N/A Reduce the number of edits by eliminating operationally trivial
    equalities.

    Args:
      diffs: Array of diff tuples.
     N/A changes False N/A equalities N/A N/A lastequality None N/A pointer 0 N/A pre_ins False N/A pre_del False N/A post_ins False N/A post_del False N/A N/A pointer N/A len diffs N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A N/A len N/A N/A diffs N/A pointer N/A 1 N/A self Diff_EditCost N/A post_ins post_del N/A N/A N/A N/A equalities append pointer N/A pre_ins post_ins N/A pre_del post_del N/A lastequality N/A N/A diffs N/A pointer N/A 1 N/A N/A equalities N/A N/A lastequality None N/A post_ins post_del False N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_DELETE N/A N/A post_del True N/A N/A post_ins True N/A N/A lastequality N/A N/A pre_ins pre_del post_ins post_del N/A N/A N/A len lastequality N/A N/A self Diff_EditCost 2 N/A N/A N/A N/A pre_ins pre_del post_ins post_del 3 N/A N/A N/A N/A diffs insert N/A equalities N/A -1 N/A N/A self DIFF_DELETE lastequality N/A N/A diffs N/A N/A N/A equalities N/A -1 1 N/A N/A self DIFF_INSERT N/A N/A diffs N/A N/A N/A equalities N/A -1 1 N/A 1 N/A N/A N/A equalities pop N/A lastequality None N/A N/A pre_ins pre_del N/A N/A post_ins post_del True N/A equalities N/A N/A N/A N/A len equalities N/A N/A N/A N/A equalities pop N/A N/A len equalities N/A N/A pointer N/A equalities N/A -1 N/A N/A pointer -1 N/A post_ins post_del False N/A changes True N/A pointer 1 N/A changes N/A N/A N/A N/A self diff_cleanupMerge diffs N/A diff_cleanupMerge N/A N/A self diffs N/A N/A N/A Reorder and merge like edit sections.  Merge equalities.
    Any edit section can move as long as it doesn't cross an equality.

    Args:
      diffs: Array of diff tuples.
     N/A N/A N/A diffs append N/A N/A self DIFF_EQUAL N/A pointer 0 N/A count_delete 0 N/A count_insert 0 N/A text_delete N/A text_insert N/A N/A pointer N/A len diffs N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_INSERT N/A N/A count_insert 1 N/A text_insert N/A N/A diffs N/A pointer N/A 1 N/A pointer 1 N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_DELETE N/A N/A count_delete 1 N/A text_delete N/A N/A diffs N/A pointer N/A 1 N/A pointer 1 N/A N/A N/A N/A N/A diffs N/A pointer N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A count_delete count_insert 1 N/A N/A N/A N/A count_delete 0 N/A count_insert 0 N/A N/A commonlength N/A N/A self diff_commonPrefix text_insert text_delete N/A N/A commonlength 0 N/A N/A x N/A N/A N/A pointer count_delete count_insert 1 N/A N/A N/A x 0 N/A N/A N/A diffs N/A x N/A 0 N/A self DIFF_EQUAL N/A N/A N/A diffs N/A x N/A N/A N/A diffs N/A x N/A 0 N/A N/A N/A diffs N/A x N/A 1 N/A text_insert N/A commonlength N/A N/A N/A N/A diffs insert 0 N/A N/A self DIFF_EQUAL N/A text_insert N/A commonlength N/A pointer 1 N/A text_insert N/A text_insert N/A commonlength N/A text_delete N/A text_delete N/A commonlength N/A commonlength N/A N/A self diff_commonSuffix text_insert text_delete N/A N/A commonlength 0 N/A N/A N/A diffs N/A pointer N/A N/A N/A diffs N/A pointer N/A 0 N/A N/A text_insert N/A N/A commonlength N/A N/A diffs N/A pointer N/A 1 N/A text_insert N/A text_insert N/A N/A commonlength N/A text_delete N/A text_delete N/A N/A commonlength N/A N/A count_delete 0 N/A N/A N/A diffs N/A N/A pointer count_insert pointer N/A N/A N/A self DIFF_INSERT text_insert N/A N/A N/A count_insert 0 N/A N/A N/A diffs N/A N/A pointer count_delete pointer N/A N/A N/A self DIFF_DELETE text_delete N/A N/A N/A diffs N/A N/A N/A pointer count_delete count_insert pointer N/A N/A N/A self DIFF_DELETE text_delete N/A N/A self DIFF_INSERT text_insert N/A pointer N/A N/A N/A pointer count_delete count_insert 1 N/A N/A count_delete 0 N/A N/A pointer 1 N/A N/A count_insert 0 N/A N/A pointer 1 N/A N/A N/A N/A pointer 0 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A diffs N/A N/A pointer 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A pointer N/A 1 N/A N/A diffs N/A pointer N/A N/A pointer 1 N/A count_insert 0 N/A count_delete 0 N/A text_delete N/A text_insert N/A N/A N/A N/A diffs N/A -1 N/A 1 N/A N/A N/A N/A diffs pop N/A changes False N/A pointer 1 N/A N/A pointer N/A N/A len diffs 1 N/A N/A N/A N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A N/A N/A diffs N/A pointer N/A 1 endswith N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A N/A diffs N/A pointer N/A N/A N/A diffs N/A pointer N/A 0 N/A N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A N/A diffs N/A pointer N/A 1 N/A N/A N/A len N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A changes True N/A N/A N/A N/A N/A N/A diffs N/A pointer N/A 1 startswith N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A N/A N/A diffs N/A N/A pointer 1 N/A 0 N/A N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A pointer N/A N/A N/A diffs N/A pointer N/A 0 N/A N/A N/A N/A diffs N/A pointer N/A 1 N/A N/A len N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A 1 N/A N/A diffs N/A N/A pointer 1 N/A changes True N/A pointer 1 N/A changes N/A N/A N/A N/A self diff_cleanupMerge diffs N/A diff_xIndex N/A N/A self diffs loc N/A N/A N/A loc is a location in text1, compute and return the equivalent location
    in text2.  e.g. "The cat" vs "The big cat", 1->1, 5->8

    Args:
      diffs: Array of diff tuples.
      loc: Location within text1.

    Returns:
      Location within text2.
     N/A chars1 0 N/A chars2 0 N/A last_chars1 0 N/A last_chars2 0 N/A x N/A xrange N/A len diffs N/A N/A N/A op text N/A diffs N/A x N/A N/A op N/A self DIFF_INSERT N/A N/A chars1 N/A len text N/A N/A op N/A self DIFF_DELETE N/A N/A chars2 N/A len text N/A N/A chars1 loc N/A N/A N/A last_chars1 chars1 N/A last_chars2 chars2 N/A N/A N/A N/A len diffs x N/A N/A N/A diffs N/A x N/A 0 N/A self DIFF_DELETE N/A N/A last_chars2 N/A N/A last_chars2 N/A loc last_chars1 N/A diff_prettyHtml N/A N/A self diffs N/A N/A N/A Convert a diff array into a pretty HTML report.

    Args:
      diffs: Array of diff tuples.

    Returns:
      HTML representation.
     N/A html N/A N/A N/A op data diffs N/A N/A text N/A N/A N/A N/A N/A N/A N/A N/A data replace & &amp; replace < &lt; replace > &gt; replace &para;<br> N/A N/A op N/A self DIFF_INSERT N/A N/A N/A N/A html append N/A <ins style="background:#e6ffe6;">%s</ins> text N/A N/A N/A op N/A self DIFF_DELETE N/A N/A N/A N/A html append N/A <del style="background:#ffe6e6;">%s</del> text N/A N/A N/A op N/A self DIFF_EQUAL N/A N/A N/A N/A html append N/A <span>%s</span> text N/A N/A N/A join html N/A diff_text1 N/A N/A self diffs N/A N/A N/A Compute and return the source text (all equalities and deletions).

    Args:
      diffs: Array of diff tuples.

    Returns:
      Source text.
     N/A text N/A N/A N/A op data diffs N/A N/A N/A op N/A self DIFF_INSERT N/A N/A N/A N/A text append data N/A N/A N/A join text N/A diff_text2 N/A N/A self diffs N/A N/A N/A Compute and return the destination text (all equalities and insertions).

    Args:
      diffs: Array of diff tuples.

    Returns:
      Destination text.
     N/A text N/A N/A N/A op data diffs N/A N/A N/A op N/A self DIFF_DELETE N/A N/A N/A N/A text append data N/A N/A N/A join text N/A diff_levenshtein N/A N/A self diffs N/A N/A N/A Compute the Levenshtein distance; the number of inserted, deleted or
    substituted characters.

    Args:
      diffs: Array of diff tuples.

    Returns:
      Number of changes.
     N/A levenshtein 0 N/A insertions 0 N/A deletions 0 N/A N/A op data diffs N/A N/A N/A op N/A self DIFF_INSERT N/A N/A insertions N/A len data N/A N/A N/A op N/A self DIFF_DELETE N/A N/A deletions N/A len data N/A N/A N/A op N/A self DIFF_EQUAL N/A N/A levenshtein N/A max insertions deletions N/A insertions 0 N/A deletions 0 N/A levenshtein N/A max insertions deletions N/A levenshtein N/A diff_toDelta N/A N/A self diffs N/A N/A N/A Crush the diff into an encoded string which describes the operations
    required to transform text1 into text2.
    E.g. =3	-2	+ing  -> Keep 3 chars, delete 2 chars, insert 'ing'.
    Operations are tab-separated.  Inserted text is escaped using %xx notation.

    Args:
      diffs: Array of diff tuples.

    Returns:
      Delta text.
     N/A text N/A N/A N/A op data diffs N/A N/A N/A op N/A self DIFF_INSERT N/A N/A data N/A N/A data encode utf-8 N/A N/A N/A text append N/A + N/A N/A urllib quote data !~*'();/?:@&=+$,#  N/A N/A N/A op N/A self DIFF_DELETE N/A N/A N/A N/A text append N/A -%d N/A len data N/A N/A N/A op N/A self DIFF_EQUAL N/A N/A N/A N/A text append N/A =%d N/A len data N/A N/A N/A join text N/A diff_fromDelta N/A N/A self text1 delta N/A N/A N/A Given the original text1, and an encoded string which describes the
    operations required to transform text1 into text2, compute the full diff.

    Args:
      text1: Source string for the diff.
      delta: Delta text.

    Returns:
      Array of diff tuples.

    Raises:
      ValueError: If invalid input.
     N/A N/A N/A type delta unicode N/A N/A delta N/A N/A delta encode ascii N/A diffs N/A N/A pointer 0 N/A tokens N/A N/A delta split N/A token tokens N/A N/A N/A token N/A N/A N/A param N/A token N/A 1 N/A N/A N/A token N/A 0 + N/A N/A param N/A N/A N/A N/A urllib unquote param decode utf-8 N/A N/A N/A diffs append N/A N/A self DIFF_INSERT param N/A N/A N/A N/A N/A token N/A 0 - N/A N/A token N/A 0 = N/A N/A N/A N/A n N/A int param N/A N/A N/A ValueError N/A N/A N/A ValueError N/A Invalid number in diff_fromDelta:  param N/A N/A n 0 N/A N/A N/A ValueError N/A Negative number in diff_fromDelta:  param N/A text N/A text1 N/A pointer N/A pointer n N/A pointer n N/A N/A N/A token N/A 0 = N/A N/A N/A N/A diffs append N/A N/A self DIFF_EQUAL text N/A N/A N/A N/A diffs append N/A N/A self DIFF_DELETE text N/A N/A N/A ValueError N/A Invalid diff operation in diff_fromDelta:  N/A token N/A 0 N/A N/A pointer N/A len text1 N/A N/A N/A ValueError N/A Delta length (%d) does not equal source text length (%d). N/A pointer N/A len text1 N/A diffs N/A match_main N/A N/A self text pattern loc N/A N/A N/A Locate the best instance of 'pattern' in 'text' near 'loc'.

    Args:
      text: The text to search.
      pattern: The pattern to search for.
      loc: The location to search around.

    Returns:
      Best match index or -1.
     N/A N/A N/A text None N/A pattern None N/A N/A N/A ValueError Null inputs. (match_main) N/A loc N/A max 0 N/A min loc N/A len text N/A N/A text pattern N/A N/A 0 N/A N/A N/A text N/A N/A -1 N/A N/A N/A N/A text N/A loc N/A loc N/A len pattern pattern N/A N/A loc N/A N/A match N/A N/A self match_bitap text pattern loc N/A match N/A match_bitap N/A N/A self text pattern loc N/A N/A N/A Locate the best instance of 'pattern' in 'text' near 'loc' using the
    Bitap algorithm.

    Args:
      text: The text to search.
      pattern: The pattern to search for.
      loc: The location to search around.

    Returns:
      Best match index or -1.
     N/A s N/A N/A self match_alphabet pattern match_bitapScore N/A N/A e x N/A N/A N/A Compute and return the score for a match with e errors and x location.
      Accesses loc and pattern through being a closure.

      Args:
        e: Number of errors in match.
        x: Location of match.

      Returns:
        Overall score for match (0.0 = good, 1.0 = bad).
       N/A accuracy N/A N/A float e N/A len pattern N/A proximity N/A abs N/A loc x N/A N/A N/A self Match_Distance N/A N/A N/A N/A proximity 1.0 accuracy N/A N/A accuracy N/A proximity N/A float N/A self Match_Distance N/A N/A score_threshold N/A self Match_Threshold N/A best_loc N/A N/A text find pattern loc N/A N/A best_loc -1 N/A N/A score_threshold N/A min N/A match_bitapScore 0 best_loc score_threshold N/A best_loc N/A N/A text rfind pattern N/A loc N/A len pattern N/A N/A best_loc -1 N/A N/A score_threshold N/A min N/A match_bitapScore 0 best_loc score_threshold N/A matchmask N/A 1 N/A N/A len pattern 1 N/A best_loc -1 N/A bin_max N/A N/A len pattern N/A len text N/A last_rd None N/A d N/A xrange N/A len pattern N/A N/A bin_min 0 N/A bin_mid bin_max N/A N/A bin_min bin_mid N/A N/A N/A N/A match_bitapScore d N/A loc bin_mid score_threshold N/A N/A bin_min bin_mid N/A N/A bin_max bin_mid N/A bin_mid N/A N/A N/A bin_max bin_min 2 bin_min N/A bin_max bin_mid N/A start N/A max 1 N/A N/A loc bin_mid 1 N/A finish N/A N/A min N/A loc bin_mid N/A len text N/A len pattern N/A rd N/A N/A 0 N/A finish 2 N/A N/A rd N/A N/A finish 1 N/A N/A 1 d 1 N/A j N/A xrange finish N/A start 1 -1 N/A N/A N/A N/A len text N/A j 1 N/A N/A charMatch 0 N/A N/A charMatch N/A N/A s get N/A text N/A N/A j 1 0 N/A N/A d 0 N/A N/A N/A rd N/A j N/A N/A N/A N/A rd N/A N/A j 1 1 1 charMatch N/A N/A N/A rd N/A j N/A N/A N/A N/A N/A N/A rd N/A N/A j 1 1 1 charMatch N/A N/A N/A N/A last_rd N/A N/A j 1 N/A last_rd N/A j 1 1 N/A last_rd N/A N/A j 1 N/A N/A N/A rd N/A j matchmask N/A N/A score N/A match_bitapScore d N/A j 1 N/A N/A score score_threshold N/A N/A score_threshold score N/A best_loc N/A j 1 N/A N/A best_loc loc N/A N/A start N/A max 1 N/A N/A 2 loc best_loc N/A N/A N/A N/A N/A match_bitapScore N/A d 1 loc score_threshold N/A N/A N/A last_rd rd N/A best_loc N/A match_alphabet N/A N/A self pattern N/A N/A N/A Initialise the alphabet for the Bitap algorithm.

    Args:
      pattern: The text to encode.

    Returns:
      Hash of character locations.
     N/A s N/A N/A char pattern N/A N/A N/A s N/A char 0 N/A i N/A xrange N/A len pattern N/A N/A N/A s N/A N/A pattern N/A i N/A 1 N/A N/A N/A len pattern i 1 N/A s N/A patch_addContext N/A N/A self patch text N/A N/A N/A Increase the context until it is unique,
    but don't let the pattern expand beyond Match_MaxBits.

    Args:
      patch: The patch to grow.
      text: Source text.
     N/A N/A N/A len text 0 N/A N/A N/A pattern N/A text N/A N/A patch start2 N/A N/A patch start2 N/A patch length1 N/A padding 0 N/A N/A N/A N/A N/A text find pattern N/A N/A text rfind pattern N/A N/A N/A self Match_MaxBits 0 N/A N/A len pattern N/A N/A N/A self Match_MaxBits N/A self Patch_Margin N/A self Patch_Margin N/A N/A padding N/A self Patch_Margin N/A pattern N/A text N/A N/A max 0 N/A N/A patch start2 padding N/A N/A N/A patch start2 N/A patch length1 padding N/A padding N/A self Patch_Margin N/A prefix N/A text N/A N/A max 0 N/A N/A patch start2 padding N/A patch start2 N/A prefix N/A N/A N/A N/A patch diffs N/A 0 N/A N/A N/A self DIFF_EQUAL prefix N/A suffix N/A text N/A N/A N/A patch start2 N/A patch length1 N/A N/A N/A patch start2 N/A patch length1 padding N/A suffix N/A N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_EQUAL suffix N/A N/A patch start1 N/A len prefix N/A N/A patch start2 N/A len prefix N/A N/A patch length1 N/A N/A len prefix N/A len suffix N/A N/A patch length2 N/A N/A len prefix N/A len suffix N/A patch_make N/A N/A self a b c N/A None None N/A N/A Compute a list of patches to turn text1 into text2.
    Use diffs if provided, otherwise compute it ourselves.
    There are four ways to call this function, depending on what data is
    available to the caller:
    Method 1:
    a = text1, b = text2
    Method 2:
    a = diffs
    Method 3 (optimal):
    a = text1, b = diffs
    Method 4 (deprecated, use method 3):
    a = text1, b = text2, c = diffs

    Args:
      a: text1 (methods 1,3,4) or Array of diff tuples for text1 to
          text2 (method 2).
      b: text2 (methods 1,4) or Array of diff tuples for text1 to
          text2 (method 3) or undefined (method 2).
      c: Array of diff tuples for text1 to text2 (method 4) or
          undefined (methods 1,2,3).

    Returns:
      Array of Patch objects.
     N/A text1 None N/A diffs None N/A N/A N/A isinstance a basestring N/A isinstance b basestring N/A c None N/A N/A text1 a N/A diffs N/A N/A self diff_main text1 b True N/A N/A N/A len diffs 2 N/A N/A N/A N/A self diff_cleanupSemantic diffs N/A N/A N/A self diff_cleanupEfficiency diffs N/A N/A N/A N/A isinstance a list N/A b None N/A c None N/A N/A diffs a N/A text1 N/A N/A self diff_text1 diffs N/A N/A N/A N/A isinstance a basestring N/A isinstance b list N/A c None N/A N/A text1 a N/A diffs b N/A N/A N/A N/A isinstance a basestring N/A isinstance b basestring N/A isinstance c list N/A N/A text1 a N/A diffs c N/A N/A N/A ValueError Unknown call format to patch_make. N/A N/A diffs N/A N/A N/A N/A patches N/A N/A patch N/A patch_obj N/A char_count1 0 N/A char_count2 0 N/A prepatch_text text1 N/A postpatch_text text1 N/A x N/A xrange N/A len diffs N/A N/A N/A diff_type diff_text N/A diffs N/A x N/A N/A N/A N/A len N/A patch diffs 0 N/A diff_type N/A self DIFF_EQUAL N/A N/A N/A patch start1 char_count1 N/A N/A patch start2 char_count2 N/A N/A diff_type N/A self DIFF_INSERT N/A N/A N/A N/A N/A patch diffs append N/A diffs N/A x N/A N/A patch length2 N/A len diff_text N/A postpatch_text N/A N/A N/A postpatch_text N/A char_count2 diff_text N/A postpatch_text N/A char_count2 N/A N/A N/A diff_type N/A self DIFF_DELETE N/A N/A N/A patch length1 N/A len diff_text N/A N/A N/A N/A patch diffs append N/A diffs N/A x N/A postpatch_text N/A N/A postpatch_text N/A char_count2 N/A postpatch_text N/A N/A char_count2 N/A len diff_text N/A N/A N/A N/A diff_type N/A self DIFF_EQUAL N/A N/A len diff_text N/A 2 N/A self Patch_Margin N/A N/A len N/A patch diffs 0 N/A N/A len diffs N/A x 1 N/A N/A N/A N/A N/A patch diffs append N/A diffs N/A x N/A N/A patch length1 N/A len diff_text N/A N/A patch length2 N/A len diff_text N/A N/A N/A diff_type N/A self DIFF_EQUAL N/A N/A len diff_text N/A 2 N/A self Patch_Margin N/A N/A N/A N/A len N/A patch diffs 0 N/A N/A N/A N/A self patch_addContext patch prepatch_text N/A N/A N/A patches append patch N/A patch N/A patch_obj N/A prepatch_text postpatch_text N/A char_count1 char_count2 N/A N/A diff_type N/A self DIFF_INSERT N/A N/A char_count1 N/A len diff_text N/A N/A diff_type N/A self DIFF_DELETE N/A N/A char_count2 N/A len diff_text N/A N/A N/A len N/A patch diffs 0 N/A N/A N/A N/A self patch_addContext patch prepatch_text N/A N/A N/A patches append patch N/A patches N/A patch_deepCopy N/A N/A self patches N/A N/A N/A Given an array of patches, return another array that is identical.

    Args:
      patches: Array of Patch objects.

    Returns:
      Array of Patch objects.
     N/A patchesCopy N/A N/A patch patches N/A N/A patchCopy N/A patch_obj N/A N/A patchCopy diffs N/A N/A patch diffs N/A N/A N/A patchCopy start1 N/A patch start1 N/A N/A patchCopy start2 N/A patch start2 N/A N/A patchCopy length1 N/A patch length1 N/A N/A patchCopy length2 N/A patch length2 N/A N/A N/A patchesCopy append patchCopy N/A patchesCopy N/A patch_apply N/A N/A self patches text N/A N/A N/A Merge a set of patches onto the text.  Return a patched text, as well
    as a list of true/false values indicating which patches were applied.

    Args:
      patches: Array of Patch objects.
      text: Old text.

    Returns:
      Two element Array, containing the new text and an array of boolean values.
     N/A N/A patches N/A N/A N/A text N/A N/A patches N/A N/A self patch_deepCopy patches N/A nullPadding N/A N/A self patch_addPadding patches N/A text N/A N/A nullPadding text nullPadding N/A N/A N/A self patch_splitMax patches N/A delta 0 N/A results N/A N/A patch patches N/A N/A expected_loc N/A N/A patch start2 delta N/A text1 N/A N/A self diff_text1 N/A patch diffs N/A end_loc -1 N/A N/A N/A len text1 N/A self Match_MaxBits N/A N/A start_loc N/A N/A self match_main text N/A text1 N/A N/A self Match_MaxBits expected_loc N/A N/A start_loc -1 N/A N/A end_loc N/A N/A self match_main text N/A text1 N/A N/A N/A self Match_MaxBits N/A N/A expected_loc N/A len text1 N/A self Match_MaxBits N/A N/A N/A end_loc -1 N/A start_loc end_loc N/A N/A start_loc -1 N/A N/A start_loc N/A N/A self match_main text text1 expected_loc N/A N/A start_loc -1 N/A N/A N/A N/A results append False N/A delta N/A N/A patch length2 N/A patch length1 N/A N/A N/A N/A results append True N/A delta N/A start_loc expected_loc N/A N/A end_loc -1 N/A N/A text2 N/A text N/A start_loc N/A start_loc N/A len text1 N/A N/A text2 N/A text N/A start_loc N/A end_loc N/A self Match_MaxBits N/A N/A text1 text2 N/A N/A text N/A N/A N/A text N/A start_loc N/A N/A self diff_text2 N/A patch diffs N/A text N/A N/A start_loc N/A len text1 N/A N/A diffs N/A N/A self diff_main text1 text2 False N/A N/A N/A N/A len text1 N/A self Match_MaxBits N/A N/A N/A N/A self diff_levenshtein diffs N/A float N/A len text1 N/A self Patch_DeleteThreshold N/A N/A N/A results N/A -1 False N/A N/A N/A N/A self diff_cleanupSemanticLossless diffs N/A index1 0 N/A N/A op data N/A patch diffs N/A N/A N/A op N/A self DIFF_EQUAL N/A N/A index2 N/A N/A self diff_xIndex diffs index1 N/A N/A op N/A self DIFF_INSERT N/A N/A text N/A N/A N/A text N/A N/A start_loc index2 data N/A text N/A N/A start_loc index2 N/A N/A N/A op N/A self DIFF_DELETE N/A N/A text N/A N/A text N/A N/A start_loc index2 N/A text N/A N/A start_loc N/A N/A self diff_xIndex diffs N/A index1 N/A len data N/A N/A op N/A self DIFF_DELETE N/A N/A index1 N/A len data N/A text N/A text N/A N/A len nullPadding N/A N/A len nullPadding N/A N/A text results N/A patch_addPadding N/A N/A self patches N/A N/A N/A Add some padding on text start and end so that edges can match
    something.  Intended to be called only from within patch_apply.

    Args:
      patches: Array of Patch objects.

    Returns:
      The padding string added to each side.
     N/A paddingLength N/A self Patch_Margin N/A nullPadding N/A x N/A xrange 1 N/A paddingLength 1 N/A N/A nullPadding N/A chr x N/A patch patches N/A N/A N/A patch start1 paddingLength N/A N/A patch start2 paddingLength N/A patch N/A patches N/A 0 N/A diffs N/A patch diffs N/A N/A N/A diffs N/A N/A N/A diffs N/A 0 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A diffs insert 0 N/A N/A self DIFF_EQUAL nullPadding N/A N/A patch start1 paddingLength N/A N/A patch start2 paddingLength N/A N/A patch length1 paddingLength N/A N/A patch length2 paddingLength N/A N/A N/A paddingLength N/A len N/A N/A diffs N/A 0 N/A 1 N/A N/A extraLength N/A paddingLength N/A len N/A N/A diffs N/A 0 N/A 1 N/A newText N/A N/A nullPadding N/A N/A len N/A N/A diffs N/A 0 N/A 1 N/A N/A diffs N/A 0 N/A 1 N/A N/A diffs N/A 0 N/A N/A N/A diffs N/A 0 N/A 0 newText N/A N/A patch start1 extraLength N/A N/A patch start2 extraLength N/A N/A patch length1 extraLength N/A N/A patch length2 extraLength N/A patch N/A patches N/A -1 N/A diffs N/A patch diffs N/A N/A N/A diffs N/A N/A N/A diffs N/A -1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A diffs append N/A N/A self DIFF_EQUAL nullPadding N/A N/A patch length1 paddingLength N/A N/A patch length2 paddingLength N/A N/A N/A paddingLength N/A len N/A N/A diffs N/A -1 N/A 1 N/A N/A extraLength N/A paddingLength N/A len N/A N/A diffs N/A -1 N/A 1 N/A newText N/A N/A N/A diffs N/A -1 N/A 1 N/A nullPadding N/A extraLength N/A N/A diffs N/A -1 N/A N/A N/A diffs N/A -1 N/A 0 newText N/A N/A patch length1 extraLength N/A N/A patch length2 extraLength N/A nullPadding N/A patch_splitMax N/A N/A self patches N/A N/A N/A Look through the patches and break up any which are longer than the
    maximum limit of the match algorithm.
    Intended to be called only from within patch_apply.

    Args:
      patches: Array of Patch objects.
     N/A patch_size N/A self Match_MaxBits N/A N/A patch_size 0 N/A N/A N/A x N/A xrange N/A len patches N/A N/A N/A N/A N/A patches N/A x length1 patch_size N/A N/A N/A bigpatch N/A patches N/A x N/A N/A patches N/A x N/A x 1 N/A start1 N/A bigpatch start1 N/A start2 N/A bigpatch start2 N/A precontext N/A N/A N/A len N/A bigpatch diffs 0 N/A N/A patch N/A patch_obj N/A empty True N/A N/A patch start1 N/A start1 N/A len precontext N/A N/A patch start2 N/A start2 N/A len precontext N/A precontext N/A N/A N/A patch length1 N/A patch length2 N/A len precontext N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_EQUAL precontext N/A N/A N/A N/A len N/A bigpatch diffs 0 N/A N/A patch length1 N/A patch_size N/A self Patch_Margin N/A N/A N/A diff_type diff_text N/A N/A bigpatch diffs N/A 0 N/A N/A diff_type N/A self DIFF_INSERT N/A N/A N/A patch length2 N/A len diff_text N/A start2 N/A len diff_text N/A N/A N/A N/A patch diffs append N/A N/A N/A bigpatch diffs pop 0 N/A empty False N/A N/A N/A N/A diff_type N/A self DIFF_DELETE N/A N/A len N/A patch diffs 1 N/A N/A N/A N/A patch diffs N/A 0 N/A 0 N/A self DIFF_EQUAL N/A N/A len diff_text N/A 2 patch_size N/A N/A N/A patch length1 N/A len diff_text N/A start1 N/A len diff_text N/A empty False N/A N/A N/A N/A patch diffs append N/A diff_type diff_text N/A N/A N/A bigpatch diffs N/A 0 N/A N/A diff_text N/A diff_text N/A N/A N/A patch_size N/A patch length1 N/A self Patch_Margin N/A N/A patch length1 N/A len diff_text N/A start1 N/A len diff_text N/A N/A diff_type N/A self DIFF_EQUAL N/A N/A N/A patch length2 N/A len diff_text N/A start2 N/A len diff_text N/A N/A empty False N/A N/A N/A N/A patch diffs append N/A diff_type diff_text N/A N/A diff_text N/A N/A N/A bigpatch diffs N/A 0 N/A 1 N/A N/A N/A N/A bigpatch diffs N/A 0 N/A N/A N/A N/A bigpatch diffs N/A 0 N/A N/A N/A N/A bigpatch diffs N/A 0 N/A 0 N/A N/A N/A N/A bigpatch diffs N/A 0 N/A 1 N/A N/A len diff_text N/A precontext N/A N/A self diff_text2 N/A patch diffs N/A precontext N/A precontext N/A N/A N/A self Patch_Margin N/A postcontext N/A N/A N/A self diff_text1 N/A bigpatch diffs N/A N/A self Patch_Margin N/A postcontext N/A N/A N/A patch length1 N/A len postcontext N/A N/A patch length2 N/A len postcontext N/A N/A N/A N/A len N/A patch diffs 0 N/A N/A N/A N/A patch diffs N/A -1 N/A 0 N/A self DIFF_EQUAL N/A N/A N/A N/A patch diffs N/A -1 N/A N/A self DIFF_EQUAL N/A N/A N/A N/A patch diffs N/A -1 N/A 1 postcontext N/A N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_EQUAL postcontext N/A N/A empty N/A N/A x 1 N/A N/A N/A patches insert x patch N/A patch_toText N/A N/A self patches N/A N/A N/A Take a list of patches and return a textual representation.

    Args:
      patches: Array of Patch objects.

    Returns:
      Text representation of patches.
     N/A text N/A N/A patch patches N/A N/A N/A N/A text append N/A str patch N/A N/A N/A join text N/A patch_fromText N/A N/A self textline N/A N/A N/A Parse a textual representation of patches and return a list of patch
    objects.

    Args:
      textline: Text representation of patches.

    Returns:
      Array of Patch objects.

    Raises:
      ValueError: If invalid input.
     N/A N/A N/A type textline unicode N/A N/A textline N/A N/A textline encode ascii N/A patches N/A N/A N/A textline N/A N/A patches N/A text N/A N/A textline split N/A N/A N/A len text 0 N/A N/A m N/A N/A re match ^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$ N/A text N/A 0 N/A N/A m N/A N/A N/A ValueError N/A Invalid patch string:  N/A text N/A 0 N/A patch N/A patch_obj N/A N/A N/A patches append patch N/A N/A patch start1 N/A int N/A N/A m group 1 N/A N/A N/A N/A m group 2 N/A N/A N/A patch start1 1 N/A N/A patch length1 1 N/A N/A N/A N/A N/A m group 2 0 N/A N/A N/A patch length1 0 N/A N/A N/A patch start1 1 N/A N/A patch length1 N/A int N/A N/A m group 2 N/A N/A patch start2 N/A int N/A N/A m group 3 N/A N/A N/A N/A m group 4 N/A N/A N/A patch start2 1 N/A N/A patch length2 1 N/A N/A N/A N/A N/A m group 4 0 N/A N/A N/A patch length2 0 N/A N/A N/A patch start2 1 N/A N/A patch length2 N/A int N/A N/A m group 4 N/A N/A text N/A 0 N/A N/A N/A len text 0 N/A N/A N/A text N/A 0 N/A N/A sign N/A N/A text N/A 0 N/A 0 N/A N/A sign N/A line N/A N/A urllib unquote N/A N/A text N/A 0 N/A 1 N/A line N/A N/A line decode utf-8 N/A N/A sign + N/A N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_INSERT line N/A N/A N/A sign - N/A N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_DELETE line N/A N/A N/A sign N/A N/A N/A N/A N/A patch diffs append N/A N/A self DIFF_EQUAL line N/A N/A N/A sign @ N/A N/A N/A N/A N/A sign N/A N/A N/A N/A N/A ValueError N/A Invalid patch mode: '%s'
%s N/A sign line N/A N/A text N/A 0 N/A patches N/A N/A patch_obj N/A N/A N/A Class representing one patch operation.
   __init__ N/A N/A self N/A N/A N/A Initializes with an empty list of diffs.
     N/A N/A self diffs N/A N/A N/A self start1 None N/A N/A self start2 None N/A N/A self length1 0 N/A N/A self length2 0 N/A __str__ N/A N/A self N/A N/A N/A Emmulate GNU diff's format.
    Header: @@ -382,8 +481,9 @@
    Indicies are printed as 1-based, not 0-based.

    Returns:
      The GNU diff string.
     N/A N/A N/A self length1 0 N/A N/A coords1 N/A N/A str N/A self start1 ,0 N/A N/A N/A N/A self length1 1 N/A N/A coords1 N/A str N/A N/A self start1 1 N/A N/A coords1 N/A N/A N/A str N/A N/A self start1 1 , N/A str N/A self length1 N/A N/A N/A self length2 0 N/A N/A coords2 N/A N/A str N/A self start2 ,0 N/A N/A N/A N/A self length2 1 N/A N/A coords2 N/A str N/A N/A self start2 1 N/A N/A coords2 N/A N/A N/A str N/A N/A self start2 1 , N/A str N/A self length2 N/A text N/A @@ - coords1  + coords2  @@
 N/A N/A op data N/A self diffs N/A N/A N/A op N/A diff_match_patch DIFF_INSERT N/A N/A N/A N/A text append + N/A N/A N/A op N/A diff_match_patch DIFF_DELETE N/A N/A N/A N/A text append - N/A N/A N/A op N/A diff_match_patch DIFF_EQUAL N/A N/A N/A N/A text append N/A data N/A N/A data encode utf-8 N/A N/A N/A text append N/A N/A N/A urllib quote data !~*'();/?:@&=+$,#  N/A N/A N/A join text N/A N/A