(module (expression_statement (string (string_start) (string_content) (string_end))) (future_import_statement name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier))) name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier))) name: (dotted_name (identifier))) (expression_statement (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (class_definition name: (identifier) body: (block (function_definition name: (identifier) parameters: (parameters (identifier) (typed_parameter (identifier) type: (type (identifier)))) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary_comprehension body: (pair key: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary_comprehension body: (pair key: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (tuple (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (comment) (comment) (comment) (comment) (expression_statement (assignment left: (identifier) right: (parenthesized_expression (binary_operator left: (binary_operator left: (float) right: (attribute object: (identifier) attribute: (identifier))) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (float) right: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (if_statement condition: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none))) (comment) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (identifier) (attribute object: (identifier) attribute: (identifier)) (float))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (list (tuple (attribute object: (identifier) attribute: (identifier)) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (attribute object: (identifier) attribute: (identifier))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (unary_operator argument: (integer)))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))) (for_statement left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (unary_operator argument: (attribute object: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (unary_operator argument: (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (unary_operator argument: (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (list (tuple (attribute object: (identifier) attribute: (identifier)) (identifier)) (tuple (attribute object: (identifier) attribute: (identifier)) (identifier))))))) (comment) (if_statement condition: (comparison_operator (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)) (attribute object: (identifier) attribute: (identifier))) consequence: (block (continue_statement))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (attribute object: (identifier) attribute: (identifier))) (attribute object: (identifier) attribute: (identifier)))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (identifier))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier)))))) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) alternative: (elif_clause condition: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none))) (comment) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (integer) (integer))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (return_statement))) (comment) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (integer))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (integer))) (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (integer))) (integer))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (identifier) subscript: (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (float))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))) alternative: (else_clause body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (binary_operator left: (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (integer))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (unary_operator argument: (attribute object: (identifier) attribute: (identifier))) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer))))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (float) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)) right: (identifier)) right: (integer))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (string (string_start) (string_end)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (typed_parameter (identifier) type: (type (identifier))) (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (integer)) (attribute object: (identifier) attribute: (identifier)))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (float))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (continue_statement))) (expression_statement (assignment left: (identifier) right: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) attribute: (identifier)) arguments: (argument_list)))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (typed_parameter (identifier) type: (type (identifier)))) return_type: (type (generic_type (identifier) (type_parameter (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)))))))) body: (block (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (unary_operator argument: (attribute object: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) attribute: (identifier)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (integer)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (unary_operator argument: (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (unary_operator argument: (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (return_statement (list (tuple (attribute object: (identifier) attribute: (identifier)) (identifier)) (tuple (attribute object: (identifier) attribute: (identifier)) (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)))))))))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (unary_operator argument: (attribute object: (identifier) attribute: (identifier))) (identifier))))) (expression_statement (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier))))) (return_statement (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) return_type: (type (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (binary_operator left: (parenthesized_expression (binary_operator left: (identifier) right: (identifier))) right: (float))))) (function_definition name: (identifier) parameters: (parameters (identifier) (typed_parameter (identifier) type: (type (identifier)))) return_type: (type (identifier)) (comment) (comment) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (subscript value: (identifier) subscript: (slice (identifier))) right: (identifier))) right: (float)))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier)))) return_type: (type (identifier)) body: (block (return_statement (parenthesized_expression (binary_operator left: (binary_operator left: (parenthesized_expression (binary_operator left: (identifier) right: (identifier))) right: (identifier)) right: (parenthesized_expression (binary_operator left: (float) right: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (identifier))))))) return_type: (type (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (boolean_operator left: (comparison_operator (identifier) (none)) right: (comparison_operator (identifier) (float))) consequence: (block (return_statement (float)))) (return_statement (parenthesized_expression (binary_operator left: (binary_operator left: (float) right: (parenthesized_expression (binary_operator left: (float) right: (identifier)))) right: (float)))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier)))) return_type: (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)) (type (identifier))))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (binary_operator left: (unary_operator argument: (identifier)) right: (identifier)) right: (identifier))) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)) right: (binary_operator left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (parenthesized_expression (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)))))) (return_statement (expression_list (binary_operator left: (identifier) right: (identifier)) (binary_operator left: (identifier) right: (identifier)) (binary_operator left: (identifier) right: (identifier)))))) (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)))))))))) body: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier) (identifier)) right: (generator_expression body: (call function: (identifier) arguments: (argument_list (identifier))) (for_in_clause left: (identifier) right: (tuple (identifier) (identifier) (identifier)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (identifier))) (expression_statement (assignment left: (identifier) right: (integer))) (for_statement left: (pattern_list (identifier) (identifier)) right: (identifier) body: (block (expression_statement (augmented_assignment left: (identifier) right: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (integer))) (for_statement left: (pattern_list (identifier) (identifier)) right: (identifier) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (augmented_assignment left: (identifier) right: (integer))) (expression_statement (assignment left: (pattern_list (identifier) (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (expression_statement (augmented_assignment left: (identifier) right: (integer))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (return_statement (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (binary_operator left: (identifier) right: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (attribute object: (identifier) attribute: (identifier)))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (identifier))))))) return_type: (type (attribute object: (identifier) attribute: (identifier))) body: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (dictionary_splat (dictionary_comprehension body: (pair key: (identifier) value: (subscript value: (identifier) subscript: (identifier))) (for_in_clause left: (identifier) right: (identifier)))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (attribute object: (identifier) attribute: (identifier))) (pair key: (string (string_start) (string_content) (string_end)) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (dictionary_comprehension body: (pair key: (binary_operator left: (identifier) right: (identifier)) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (identifier)))))) (for_in_clause left: (identifier) right: (identifier)))))))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)))))) (typed_parameter (identifier) type: (type (identifier)))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (binary_operator left: (string (string_start) (string_content) (string_end)) right: (identifier))) right: (binary_operator left: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (binary_operator left: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (identifier)) right: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (binary_operator left: (string (string_start) (string_content) (string_end)) right: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (integer)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (slice (integer))) right: (binary_operator left: (subscript value: (identifier) subscript: (slice (integer))) right: (subscript value: (identifier) subscript: (slice (unary_operator argument: (integer))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (binary_operator left: (string (string_start) (string_content) (string_end)) right: (identifier))) right: (identifier))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier))))))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) subscript: (integer)))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (identifier)))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (slice (binary_operator left: (identifier) right: (integer)))) right: (float))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (slice (binary_operator left: (identifier) right: (integer)))) right: (call function: (attribute object: (subscript value: (subscript value: (identifier) subscript: (binary_operator left: (string (string_start) (string_content) (string_end)) right: (identifier))) subscript: (slice (integer))) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (slice (identifier))) right: (subscript value: (identifier) subscript: (slice (unary_operator argument: (identifier))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (binary_operator left: (string (string_start) (string_content) (string_end)) right: (identifier))) right: (identifier))))))))