



  

<!DOCTYPE html>
<html
  lang="en"
  
  data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
  data-a11y-animated-images="system" data-a11y-link-underlines="true"
  
  >




  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://github.githubassets.com">
  <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
  <link rel="preconnect" href="https://avatars.githubusercontent.com">

<script type="importmap">{"imports":{"react":"https://github.githubassets.com/assets/react-e27d1b3e03961e68.js","react-dom":"https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js","react-dom/client":"https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js","react-is":"https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js","react-reconciler":"https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js","react/compiler-runtime":"https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js","react/jsx-dev-runtime":"https://github.githubassets.com/assets/react-jsx-dev-runtime-ea55d68667d559e5.js","react/jsx-runtime":"https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js","scheduler":"https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js"}}</script>
<meta name="react-profiling" content="0" data-turbo-transient="true" />
<meta name="react-import-map" content="react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@777f63f87cd0" data-turbo-track="reload" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-e27d1b3e03961e68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js" />

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f4bf1142976e4bbf.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-f661b49995ba0bd8.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-0b38d22346321c92.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-f1c62c9e70259b9f.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-f50cacf0a86b9929.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e61d4f4ca17852c2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-39c10993d5603fac.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-73236c840c0c7d90.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-0de76f07cc035b10.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-fd1500c8744e40d6.css" />

  <style type="text/css">
    :root {
      --tab-size-preference: 4;
    }

    pre, code {
      tab-size: var(--tab-size-preference);
    }
  </style>

    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-ed9ca172356fd545.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-1d2c7f7b52a6068b.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-54ba76e934a49d7c.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-456bd5deb85c7ecd.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-11ee8a031c040c1a.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-2d56bdb0166c0238.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","activity_diff_file_tree","activity_repos_file_tree","activity_repos_overview_header","activity_repos_overview_sidebar","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","alternate_user_config_repo","async_conversion_coverage_enabled","billing_billable_licenses_cost_center_bucket_fix","billing_budget_expiration","billing_cost_center_list_assigned_resources","billing_discount_threshold_notification","code_quality_enablement_banner_targeting","code_quality_remove_preview","code_view_raf_sticky_lines","codespaces_prebuild_region_target_update","coding_agent_third_party_model_ui","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_automation_repo_mcp_servers","copilot_automations_pagination","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_header_reorder","copilot_chat_max_upsell","copilot_chat_models_browser_cache","copilot_chat_vision_dotcom_chat_ga_gate","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_fix_failed_workflows_all_skus","copilot_hide_hovercard","copilot_immersive_embedded_header_button","copilot_immersive_file_preview_keep_mounted","copilot_immersive_task_hyperlinking","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_merge_fix_ci","copilot_mission_control_agent_merge_resolve_conflicts","copilot_mission_control_early_stop","copilot_mission_control_environment_list_icons","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_sandbox_client_side_clone","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_session_filters","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_task_scoped_alive_channel","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_workbench_sunset","copilot_workbench_sunset_redirect","copilot_workbench_ubb","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","glc_code_quality_repo_settings_workflow_config","hide_github_models_ui","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_optimistic_updates","issue_relative_time_micro","issues_dashboard_sso_structured_errors","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_lazy_load_comment_box_suggestions","issues_optimistic_linked_branch_create","issues_react_chrome_container_query_fix","labels_archiving","labels_archiving_info","landing_pages_ninetailed","lifecycle_label_name_updates","marketing_cookie_consent_banner","marketing_pages_search_explore_provider","memex_client_env_github_domain","memex_default_issue_create_repository","memex_lazy_hydrate_agent_tasks","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_checks_refetch_dedupe","merge_status_header_feedback","oauth_authorize_clickjacking_protection","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_commit_checks_dialog","pull_request_copilot_attribution_header","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_feedback_dialog","pull_request_virtualization_image_estimate","pull_request_virtualization_scroll_compensation","pull_request_virtualization_scroll_intent","quick_search_lazy_suggestions","react_blob_isolate_code_lines","react_blob_ssr_content_visibility","react_data_router_tanstack_allowed","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_persistence","repo_pulls_dashboard_sidebar_links","repos_contributors_limited_default_range","review_involves_filter","rule_ignored_file_paths","rulesets_actor_list_editor","sample_network_conn_type","security_center_artifact_filters_popover","see_who_reacted","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","set_sha256_on_repo_creation_form","site_banner_desktop_copilot_app","site_ghca_pixel_mona","site_github_app_ga_page","site_github_app_ga_page_highlight","site_github_app_mobile_native_share","site_global_banner_dev_days_attendee","site_global_banner_learn_copilot_sdk","site_global_nav_spark_models_removed","spark_prompt_secret_scanning","spark_server_connection_status","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","ui_service_compute_proxy_control","ui_service_referrer_metrics","ui_service_staleness_detection","update_issue_suggestions","user_code_paste_ux","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workbench_store_readonly","workstream_plugin_bootstrap"],"githubDomain":"https://github.com","copilotApiOverrideUrl":"https://api.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/high-contrast-cookie-e3d808ee18eb9784.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-5bc0f436d2c9dafb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-74e9766bd696d26a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-ecf766ea8a2c7fd6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-8e3d9c5d57d50312.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-cd1b421ad0ad7ed5.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-f939419e0137def3.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.b6099d51b9e67b57.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-86a8f5de995615f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e88088f989b27670.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-7cdf4e0db98b997c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-6b3c07383371bf58.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-36f036c13c2e3a4c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kw-866fd9513ae95106.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/r1-b075aab3204f32f9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-7c5d1669717041f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-5126390ff433704d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j05-dce4d588268f0f7e.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-1c9590dd2961cd41.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-64719bf3e11350ad.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-f3f5d71440009c48.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-76b18916d0c8ec4d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-5109c77d7ac61078.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-fbb00aaa3ab9abdf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/04n-51c49ba758739f13.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ur-024971cb63acad59.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t-364e19c63d726e9a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6ny-c969fbae697a356f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/yhq-3a209035a30b1a09.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z1v-da5b33b877bfa358.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wo-09f85d22a6c8931b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9y-81cfe57dc9040f3e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-41a4cf04cbd99503.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0p-81491ed0d9d666e2.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-968961d067db6e6c.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.5858534b1c27f133.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-e2e81b0ae80ade29.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-12ebdc24dcff1ecc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-9a860680a5f230b9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-363f0ebf4f62f310.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-bf6f21d7e7a43c35.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fe-7576d9b281e2106a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wsr-5fd3071e5a9061ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0n-ecadb2ffe6b01ba2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xv-51cb34754bda73a9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4u-6317ce1c31aed1db.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8s-d90ce3a169b741ed.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-de176c4ee471f2b3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/eag-d9eea130fa716df9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y2-87df441f1bc5a264.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kcz-607e36c8a3751cf0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/x4-65dba777efd828f3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gzu-1a09248f686325f6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bi0-e2f78de823e39ca9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/on-95be29ba1ef725d9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b1-1dbc371cef78c3c1.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0l5-c4edb8ab48c5846d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/c2z-c92998400310b94b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/f9-038758dcbfe08dab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0k-b7df0a74912a42bf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sp-915c6643cc0d7d44.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/og-93ae8b358505d372.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b9-69d9b60a1b1fcd59.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ec-8ea7978d3fcd114e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/du-a401e69a37d95bcc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ql0-1c18210f6b9e2263.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/20-0a2e46387735f1f4.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dsj-cb1e4ddbce4f007b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-9f5235d335ab624b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ko6-9e80f7ac359e3c43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/uw-8c275f7ac25b7cf6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bsb-4f4ac8c20da73fac.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/w5-13e3a7548bb20af9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fm-c00a7677663ba326.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z-45022d3da7b8817e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/h0-010921512138e12f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/5p-ae5db0820116fb43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8vq-b2af216e992e11ef.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/g5-b399ce875f8bd326.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xc-f5d51b571cd317cb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/arw-51e8918a1b75a80f.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-9ee8a539c5565d44.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.de7a55ca73db5693.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/z.812a998e1961b84d.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/xc.13e027137438fd9f.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.50fa1e1cb544354f.module.css" />

  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hu-1fc0b2a167afc025.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fbr-9cd34ba01ef26edb.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-6f353c828b1a6b9d.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.0685c8a553bac0af.module.css" />


  <title>cpython/Python/flowgraph.c at main · python/cpython · GitHub</title>



  <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
  <meta name="route-controller" content="blob" data-turbo-transient>
  <meta name="route-action" content="show" data-turbo-transient>
  <meta name="fetch-nonce" content="v2:b48487ff-7085-a4f9-7e30-00379c55ba0e">

    
  <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">


  <meta name="request-id" content="82EC:28FDE8:10420454:F1A2DAF:6AAC7242" data-pjax-transient="true"/><meta name="html-safe-nonce" content="4cb4a9b0032b1e8744bd2a5c7a1432d1dfa47a3e8c9c8d52fb9509fd1f083918" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MkVDOjI4RkRFODoxMDQyMDQ1NDpGMUEyREFGOjZBQUM3MjQyIiwidmlzaXRvcl9pZCI6IjQ2OTA1OTg4MDcyNjExODA0ODIiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="0338f4a47380527777ca00ede8d200c4b1de70d96f7fb6846bbe94597794fd77" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:81598961" data-turbo-transient>


  <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
  

  <meta name="selected-link" value="repo_source" data-turbo-transient>
  <link rel="assets" href="https://github.githubassets.com/">

    <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">

<meta name="octolytics-url" content="https://collector.github.com/github/collect" />





  <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />

  




    <meta name="user-login" content="">

  

    <meta name="viewport" content="width=device-width">

    

      <meta name="description" content="The Python programming language. Contribute to python/cpython development by creating an account on GitHub.">

      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/python/cpython/blob/main/Python/flowgraph.c" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/2bba37e907836189a3aca4b86fcf593bf31dadc857e9a27179f1fc87e618b609/python/cpython" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="cpython/Python/flowgraph.c at main · python/cpython" /><meta name="twitter:description" content="The Python programming language. Contribute to python/cpython development by creating an account on GitHub." />
  <meta property="og:image" content="https://opengraph.githubassets.com/2bba37e907836189a3aca4b86fcf593bf31dadc857e9a27179f1fc87e618b609/python/cpython" /><meta property="og:image:alt" content="The Python programming language. Contribute to python/cpython development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="cpython/Python/flowgraph.c at main · python/cpython" /><meta property="og:url" content="https://github.com/python/cpython/blob/main/Python/flowgraph.c" /><meta property="og:description" content="The Python programming language. Contribute to python/cpython development by creating an account on GitHub." />
  




      <meta name="hostname" content="github.com">



        <meta name="expected-hostname" content="github.com">


  <meta http-equiv="x-pjax-version" content="6efc4c05745774da02fb827b884dcf238e0894a708545b519154f23d2ce927dd" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="0c5c6e5334a905d8f9521e09eadcffba484d422e0d262e07ff922e6bc18b2ac6" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="ec4c7b86d7b57240253150b827ea48b04e08d8760dc6553d2a04f62000f3fe0c" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="215426445e052dc31d84381ee6c478377c56994947e54de39ab079b87831b861" data-turbo-track="reload">

  <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">

      <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>

    <meta data-hydrostats="publish">

  <meta name="go-import" content="github.com/python/cpython git https://github.com/python/cpython.git">

  <meta name="octolytics-dimension-user_id" content="1525981" /><meta name="octolytics-dimension-user_login" content="python" /><meta name="octolytics-dimension-repository_id" content="81598961" /><meta name="octolytics-dimension-repository_nwo" content="python/cpython" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="81598961" /><meta name="octolytics-dimension-repository_network_root_nwo" content="python/cpython" />
  



    

    <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
  <meta name="disable-turbo" content="false">


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">


  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <meta name="release" content="5308c65c8aacf9b53339f960e02aa736a037da7c" data-turbo-track="reload">
  <meta name="ui-target" content="full">

  <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
  <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
  <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">

<meta name="theme-color" content="#1e2327">
<meta name="color-scheme" content="light dark" />


  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
    <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
      <div id="__primerPortalRoot__" style="z-index: 1000; position: absolute; width: 100%;" data-turbo-permanent></div>
      

    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

      <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
    <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>      
      <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/l7j-2ddd8b435dadae28.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-5b8b005cc405ab57.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.64175aad57da207f.module.css" />

<react-partial
  partial-name="keyboard-shortcuts-dialog"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>





      

          
          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2l-8671acba87bc0dcb.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/i26-f2ae65b837c90ae7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz5-23f28c0f388769c9.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/lht-26506ea833dda5be.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p1-76a75a6081059b19.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3d-82c347d20a13fb90.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tua-c4ca62c5e0e0318e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4s-c22d880230690e1f.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-edf5e205232f86df.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.6a01c236ff527e7e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/4s.e3d02f110161be52.module.css" />

<react-partial
  partial-name="marketing-header"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fblob%2Fmain%2FPython%2Fflowgraph.c","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow\u0026source=header-repo\u0026source_repo=python%2Fcpython","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://github.com/python/cpython/blob/main/Python/flowgraph.c\",\"user_id\":null}}","auth_hydro_click_hmac":"22fc46f3d5c9021d956f8f6c1f900a1773bab8066ad0939d84d3b2db2125a4e2","overlay":false,"fixed":false}}</script>
  <div data-target="react-partial.reactRoot"><div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"><header class="MarketingHeader-module__root__Tk7n3 HeaderMktg header-logged-out" role="banner" data-marketing-header="true" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark" data-is-top="true"><h2 class="MarketingHeader-module__visuallyHidden__sqKsl">Navigation Menu</h2><button type="button" class="MarketingHeader-module__backdrop__sw4RU" aria-label="Close navigation menu"></button><div class="MarketingHeader-module__bar__mBSyE"><div class="MarketingHeader-module__topRow__yeury"><div class="MarketingHeader-module__toggleSlot__hDxbh"><button type="button" class="HeaderMenuToggle-module__toggle__i8EiC" aria-label="Toggle navigation" aria-expanded="false"><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span></button></div><a href="/" aria-label="Homepage" class="HeaderLogo-module__logo__UFyHI" data-analytics-event="{&quot;action&quot;:&quot;homepage&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;logo&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;homepage_link_logo_header&quot;}"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="AuthCTAs-module__mobileActions__NNzeV"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fblob%2Fmain%2FPython%2Fflowgraph.c" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="22fc46f3d5c9021d956f8f6c1f900a1773bab8066ad0939d84d3b2db2125a4e2"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_3dd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_3dd_">Appearance settings</div></div></div><div class="MarketingHeader-module__menu__GIy3y"><div class="MarketingHeader-module__menuWrapper__owstH"><nav class="MarketingNavigation-module__nav__W0KYY" aria-label="Global"><ul class="MarketingNavigation-module__list__tFbMb"><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_nd_">Platform<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5knd_">AI CODE CREATION</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot" data-analytics-event="{&quot;action&quot;:&quot;github_copilot&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>GitHub Copilot</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Write better code with AI</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/ai/github-app" data-analytics-event="{&quot;action&quot;:&quot;github_copilot_app&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_app_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656"></path></svg>GitHub Copilot app</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Direct agents from issue to merge</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/mcp" data-analytics-event="{&quot;action&quot;:&quot;mcp_registry&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mcp NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.52 1.12a3.578 3.578 0 0 1 6.078 2.98 3.578 3.578 0 0 1 2.982 6.08l-3.292 3.293a.252.252 0 0 0 0 .354l.843.843a.749.749 0 1 1-1.06 1.06l-.844-.843a1.75 1.75 0 0 1 0-2.474L13.52 9.12a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0L7.731 9.03A.75.75 0 0 1 6.67 7.97l2.85-2.85a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0l-4.799 4.8A.75.75 0 0 1 .72 5.92Z"></path><path d="M7.52 3.12a.749.749 0 1 1 1.06 1.06L5.731 7.03A2.079 2.079 0 0 0 8.67 9.97l2.85-2.85a.749.749 0 1 1 1.06 1.06l-2.849 2.85A3.578 3.578 0 0 1 4.67 5.97Z"></path></svg>MCP Registry</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Integrate external tools</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9knd_">DEVELOPER WORKFLOWS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/actions" data-analytics-event="{&quot;action&quot;:&quot;actions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-workflow NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg>Actions</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Automate any workflow</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/codespaces" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codespaces NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Instant dev environments</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/issues" data-analytics-event="{&quot;action&quot;:&quot;issues&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>Issues</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Plan and track work</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-review" data-analytics-event="{&quot;action&quot;:&quot;code_review&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>Code Review</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Manage code changes</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-quality" data-analytics-event="{&quot;action&quot;:&quot;code_quality&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_quality_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codescan-checkmark NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z"></path><path d="M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z"></path></svg>Code Quality</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enforce quality at merge</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dknd_">APPLICATION SECURITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Find and fix vulnerabilities</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/code-security" data-analytics-event="{&quot;action&quot;:&quot;code_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>Code security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Secure your code as you build</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/secret-protection" data-analytics-event="{&quot;action&quot;:&quot;secret_protection&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;secret_protection_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-lock NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>Secret protection</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Stop leaks before they start</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ NavGroup-module__hasSeparator__FnMrN"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_hknd_">EXPLORE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_hknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/why-github" data-analytics-event="{&quot;action&quot;:&quot;why_github&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Why GitHub</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog" data-analytics-event="{&quot;action&quot;:&quot;blog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Blog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog/changelog" data-analytics-event="{&quot;action&quot;:&quot;changelog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;changelog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Changelog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/marketplace" data-analytics-event="{&quot;action&quot;:&quot;marketplace&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;marketplace_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Marketplace</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/features" data-analytics-event="{&quot;action&quot;:&quot;view_all_features&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all features</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_17d_">Solutions<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_17d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5l7d_">BY COMPANY SIZE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprises&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Enterprises</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/team" data-analytics-event="{&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Small and medium teams</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise/startups" data-analytics-event="{&quot;action&quot;:&quot;startups&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Startups</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/nonprofits" data-analytics-event="{&quot;action&quot;:&quot;nonprofits&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Nonprofits</span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9l7d_">BY USE CASE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/app-modernization" data-analytics-event="{&quot;action&quot;:&quot;app_modernization&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">App Modernization</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devsecops" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevSecOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/ci-cd" data-analytics-event="{&quot;action&quot;:&quot;ci/cd&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ci/cd_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">CI/CD</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/use-case" data-analytics-event="{&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all use cases</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dl7d_">BY INDUSTRY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dl7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/healthcare" data-analytics-event="{&quot;action&quot;:&quot;healthcare&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Healthcare</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/financial-services" data-analytics-event="{&quot;action&quot;:&quot;financial_services&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Financial services</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/manufacturing" data-analytics-event="{&quot;action&quot;:&quot;manufacturing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Manufacturing</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/government" data-analytics-event="{&quot;action&quot;:&quot;government&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Government</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/industry" data-analytics-event="{&quot;action&quot;:&quot;view_all_industries&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all industries</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions" data-analytics-event="{&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all solutions</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_1nd_">Resources<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_1nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5lnd_">EXPLORE BY TOPIC</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=ai" data-analytics-event="{&quot;action&quot;:&quot;ai&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">AI</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=software-development" data-analytics-event="{&quot;action&quot;:&quot;software_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Software Development</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=security" data-analytics-event="{&quot;action&quot;:&quot;security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources/articles" data-analytics-event="{&quot;action&quot;:&quot;view_all_topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_topics_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all topics</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9lnd_">EXPLORE BY TYPE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/customer-stories" data-analytics-event="{&quot;action&quot;:&quot;customer_stories&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer stories</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/events" data-analytics-event="{&quot;action&quot;:&quot;events__webinars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;events__webinars_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Events &amp; webinars</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/whitepapers" data-analytics-event="{&quot;action&quot;:&quot;ebooks__reports&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ebooks__reports_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Ebooks &amp; reports</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/executive-insights" data-analytics-event="{&quot;action&quot;:&quot;business_insights&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;business_insights_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Business insights</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://skills.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_skills&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_skills_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Skills</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dlnd_">SUPPORT &amp; SERVICES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dlnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://support.github.com" data-analytics-event="{&quot;action&quot;:&quot;customer_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_support_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer support</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/orgs/community/discussions" data-analytics-event="{&quot;action&quot;:&quot;community_forum&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;community_forum_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Community forum</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trust-center" data-analytics-event="{&quot;action&quot;:&quot;trust_center&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trust_center_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trust center</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/partners" data-analytics-event="{&quot;action&quot;:&quot;partners&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Partners</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources" data-analytics-event="{&quot;action&quot;:&quot;view_all_resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_resources_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all resources</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_27d_">Open Source<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_27d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5m7d_">COMMUNITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/open-source/sponsors" data-analytics-event="{&quot;action&quot;:&quot;github_sponsors&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sponsor-tiers NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z"></path></svg>GitHub Sponsors</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Fund open source developers</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9m7d_">PROGRAMS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://securitylab.github.com" data-analytics-event="{&quot;action&quot;:&quot;security_lab&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_lab_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security Lab</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://maintainers.github.com" data-analytics-event="{&quot;action&quot;:&quot;maintainer_community&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;maintainer_community_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Maintainer Community</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://stars.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_stars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_stars_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Stars</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://archiveprogram.github.com" data-analytics-event="{&quot;action&quot;:&quot;archive_program&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;archive_program_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Archive Program</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dm7d_">REPOSITORIES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dm7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/topics" data-analytics-event="{&quot;action&quot;:&quot;topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Topics</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trending" data-analytics-event="{&quot;action&quot;:&quot;trending&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trending</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/collections" data-analytics-event="{&quot;action&quot;:&quot;collections&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Collections</span></a></li></ul></div></li></ul></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_2nd_">Enterprise<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_2nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5mnd_">ENTERPRISE SOLUTIONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-stack NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>Enterprise platform</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">AI-powered developer platform</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9mnd_">AVAILABLE ADD-ONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade security features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot/copilot-business" data-analytics-event="{&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>Copilot for Business</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade AI features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise/premium-support" data-analytics-event="{&quot;action&quot;:&quot;premium_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Premium Support</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade 24/7 support</span></span></a></li></ul></div></li></ul></div></div></li><li><a href="https://github.com/pricing" data-analytics-event="{&quot;action&quot;:&quot;pricing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;pricing&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;pricing_link_pricing_navbar&quot;}" class="MarketingNavigation-module__navLink__hUomM">Pricing</a></li></ul></nav><div class="MarketingHeader-module__ctaContainer__tBmPz"><div class="HeaderSearch-module__searchSlot__oVOUS"><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderSearch-module__trigger__zsF9q" type="button" aria-haspopup="dialog" aria-expanded="false" aria-label="Search or jump to, type / to search" data-analytics-event="{&quot;action&quot;:&quot;searchbar&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;context&quot;:&quot;global&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"><span class="HeaderSearch-module__content__kMpxU"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search HeaderSearch-module__icon__wcrHX" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><span class="HeaderSearch-module__label__d1iWG">Search</span><kbd class="HeaderSearch-module__kbd__HNG0o" aria-hidden="true">/</kbd></span></span></span></button><div class="d-none"></div></div><div class="AuthCTAs-module__signInWrap__q2P60"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq AuthCTAs-module__desktopActionGap__UZuXT AuthCTAs-module__hiddenBelowLg__BfKBw" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fblob%2Fmain%2FPython%2Fflowgraph.c" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="22fc46f3d5c9021d956f8f6c1f900a1773bab8066ad0939d84d3b2db2125a4e2"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a></div><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--secondary___gHnw_ Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=python%2Fcpython" data-analytics-event="{&quot;action&quot;:&quot;sign_up&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_up_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="22fc46f3d5c9021d956f8f6c1f900a1773bab8066ad0939d84d3b2db2125a4e2"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-secondary___eJ0_a">Sign up</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_fbd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_fbd_">Appearance settings</div></div></div></div></div><div class="MarketingHeader-module__bottomBorder__uZT38" aria-hidden="true"></div></header></div></div>
</react-partial>



      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>

    <button id="icon-button-dc5d2adb-f959-4aa0-8115-d8f36611404b" aria-labelledby="tooltip-ba8eedf7-12c0-4ad7-a29b-73f155c3756c" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</button><tool-tip id="tooltip-ba8eedf7-12c0-4ad7-a29b-73f155c3756c" for="icon-button-dc5d2adb-f959-4aa0-8115-d8f36611404b" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>


  
</div>
    </div>

  <div id="start-of-content" class="show-on-focus"></div>








    <div id="js-flash-container" class="flash-container" data-turbo-replace>





  <template class="js-flash-template">
    
<div class="flash flash-full   {{ className }}">
  <div >
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    <div aria-atomic="true" role="alert" class="js-flash-alert">
      
      <div>{{ message }}</div>

    </div>
  </div>
</div>
  </template>
</div>


    






  <div
    class="application-main "
    data-commit-hovercards-enabled
    data-discussion-hovercards-enabled
    data-issue-and-pr-hovercards-enabled
    data-project-hovercards-enabled
  >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <main id="js-repo-pjax-container" >
      
      
    


    








  

    <div id="repository-container-header"  class="tmp-pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>

        <div class="d-flex flex-nowrap flex-justify-end tmp-mb-3  tmp-px-3 tmp-px-lg-5" style="gap: 1rem;">

          <div class="flex-auto min-width-0 width-fit">
              
  <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2 tmp-mr-2">
    <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
</svg>
    
    <span class="author flex-self-stretch" itemprop="author">
      <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/python/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/python">
        python
</a>    </span>
    <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
    <strong itemprop="name" class="mr-2 flex-self-stretch">
      <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/python/cpython">cpython</a>
    </strong>

    <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
  </div>


          </div>

          <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;">
              <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
    
        <li>
          <include-fragment src="/python/cpython/sponsor_button" data-nonce="v2:b48487ff-7085-a4f9-7e30-00379c55ba0e" data-view-component="true">
  
  <div data-show-on-forbidden-error hidden>
    <div class="Box">
  <div class="blankslate-container">
    <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2">
      

      <h3 data-view-component="true" class="blankslate-heading">        Uh oh!
</h3>
      <p data-view-component="true" class="blankslate-description">        <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p>
</p>

</div>  </div>
</div>  </div>
</include-fragment>
        </li>

      

  <li>
            <a href="/login?return_to=%2Fpython%2Fcpython" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6744a418eff20d0d7bb11d88bf1355a13d2c05d08aaf579d9db966785fe233b9" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2 tmp-mr-2">
    <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path>
</svg>Notifications
</a>    <tool-tip id="tooltip-4a66e349-c411-40cd-9d7c-c09f20e3a25f" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip>

  </li>

  <li>
          <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fpython%2Fcpython" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:81598961,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4a47d2ed2f7e69e536850d03c85968f8f8b39fe1f6d67d8f2e8dbc41b9673c0c" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2 tmp-mr-2">
    <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
</svg>Fork
    <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="35,717" data-view-component="true" class="Counter">35.7k</span>
</a>
  </li>

  <li>
        <div data-view-component="true" class="BtnGroup d-flex">
        <a href="/login?return_to=%2Fpython%2Fcpython" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:81598961,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/python/cpython/blob/main/Python/flowgraph.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9a19e22023823dfbbb5b99e8f551d44c929a04ba7b33a3dffdfc2100bb4869d4" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2 tmp-mr-2">
    <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
</svg><span data-view-component="true" class="d-inline">
          Star
</span>          <span id="repo-stars-counter-star" aria-label="77205 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="77,205" data-view-component="true" class="Counter js-social-count">77.2k</span>
</a></div>
  </li>

</ul>

          </div>
        </div>

          <div id="responsive-meta-container" data-turbo-replace>
</div>


            <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 tmp-px-3 px-md-4 tmp-px-md-4 px-lg-5 tmp-px-lg-5">

  <ul data-view-component="true" class="UnderlineNav-body list-style-none">
      <li data-view-component="true" class="d-inline-flex">
  <a id="code-tab" href="/python/cpython" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /python/cpython" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-command-id="repositories:go-to-code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        <span data-content="Code">Code</span>
          <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="issues-tab" href="/python/cpython/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /python/cpython/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-command-id="repositories:go-to-issues" data-react-nav="issues-react" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
    <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
</svg>
        <span data-content="Issues">Issues</span>
          <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="5,000+" data-view-component="true" class="Counter">5k+</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="pull-requests-tab" href="/python/cpython/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /python/cpython/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-command-id="repositories:go-to-pull-requests" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        <span data-content="Pull requests">Pull requests</span>
          <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="2,662" data-view-component="true" class="Counter">2.7k</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="actions-tab" href="/python/cpython/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /python/cpython/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-command-id="repositories:go-to-actions" data-react-nav="actions-workflows" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        <span data-content="Actions">Actions</span>
          <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="projects-tab" href="/python/cpython/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /python/cpython/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-command-id="repositories:go-to-projects" data-react-nav="repo" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        <span data-content="Projects">Projects</span>
          <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="security-and-quality-tab" href="/python/cpython/security" data-tab-item="i5security-and-quality-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /python/cpython/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-command-id="repositories:go-to-security" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security and quality&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span data-content="Security and quality">Security and quality</span>
          <span id="security-and-quality-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="insights-tab" href="/python/cpython/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /python/cpython/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-command-id="repositories:go-to-insights" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        <span data-content="Insights">Insights</span>
          <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
</ul>
    <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 tmp-pr-3 pr-md-4 tmp-pr-md-4 pr-lg-5 tmp-pr-lg-5 right-0">      <action-menu data-select-variant="none" data-view-component="true">
  <focus-group direction="vertical" mnemonics retain>
    <button id="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-button" popovertarget="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-overlay" aria-controls="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-list" aria-haspopup="true" aria-labelledby="tooltip-809e188d-7e49-4864-a090-3cf200995c2e" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
    <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
</svg>
</button><tool-tip id="tooltip-809e188d-7e49-4864-a090-3cf200995c2e" for="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip>


<anchored-position data-target="action-menu.overlay" id="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-overlay" anchor="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true">
  <div data-view-component="true" class="Overlay Overlay--size-auto">
    
      <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone">          <action-list>
  <div data-view-component="true">
    <ul aria-labelledby="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-button" id="action-menu-aaa6c08c-9969-4b62-a696-2596e68e1acf-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap">
        <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-5a2f2c35-0440-4591-ae58-82077f5066a7" href="/python/cpython" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Code
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-e0fb9773-8c29-4789-8acd-9a64db2266b0" href="/python/cpython/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
    <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Issues
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-df7a8b24-f11b-4880-bcbc-d2f55c771282" href="/python/cpython/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Pull requests
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-81c2e057-cb70-4a63-8602-444531e9215b" href="/python/cpython/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Actions
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-c40d70a1-a5fa-421e-9761-08b1ec98edcd" href="/python/cpython/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Projects
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i5security-and-quality-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-26513f74-263a-408e-a7d2-d0a85c19c456" href="/python/cpython/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Security and quality
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-fbb58242-b484-4120-890c-31f1db159cde" href="/python/cpython/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Insights
</span>      
</a>
  
</li>
</ul>    
</div></action-list>


</div>
      
</div></anchored-position>  </focus-group>
</action-menu></div>
</nav>

    </div>
  



<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    <div id="repo-content-pjax-container" class="repository-content " >
    



    
      
    








<react-app
  app-name="code-view"
  initial-path="/python/cpython/blob/main/Python/flowgraph.c"
  style="display: block; min-height: calc(100vh - 64px);"
  data-attempted-ssr="true"
  data-ssr="true"
  data-lazy="false"
  data-alternate="false"
  data-data-router-enabled="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":null},"issueTemplate":null,"discussionTemplate":null,"richText":null,"richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"SUCCESS","fully_qualified_name":"SUCCESS","kind":"macro","ident_start":645,"ident_end":652,"extent_start":637,"extent_end":655,"ident_utf16":{"start":{"line_number":20,"utf16_col":8},"end":{"line_number":20,"utf16_col":15}},"extent_utf16":{"start":{"line_number":20,"utf16_col":0},"end":{"line_number":21,"utf16_col":0}}},{"name":"ERROR","fully_qualified_name":"ERROR","kind":"macro","ident_start":663,"ident_end":668,"extent_start":655,"extent_end":672,"ident_utf16":{"start":{"line_number":21,"utf16_col":8},"end":{"line_number":21,"utf16_col":13}},"extent_utf16":{"start":{"line_number":21,"utf16_col":0},"end":{"line_number":22,"utf16_col":0}}},{"name":"DEFAULT_BLOCK_SIZE","fully_qualified_name":"DEFAULT_BLOCK_SIZE","kind":"macro","ident_start":778,"ident_end":796,"extent_start":770,"extent_end":800,"ident_utf16":{"start":{"line_number":28,"utf16_col":8},"end":{"line_number":28,"utf16_col":26}},"extent_utf16":{"start":{"line_number":28,"utf16_col":0},"end":{"line_number":29,"utf16_col":0}}},{"name":"location","fully_qualified_name":"location","kind":"type","ident_start":828,"ident_end":836,"extent_start":801,"extent_end":837,"ident_utf16":{"start":{"line_number":30,"utf16_col":27},"end":{"line_number":30,"utf16_col":35}},"extent_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":30,"utf16_col":36}}},{"name":"jump_target_label","fully_qualified_name":"jump_target_label","kind":"type","ident_start":865,"ident_end":882,"extent_start":838,"extent_end":883,"ident_utf16":{"start":{"line_number":31,"utf16_col":27},"end":{"line_number":31,"utf16_col":44}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":31,"utf16_col":45}}},{"name":"_PyCfgInstruction","fully_qualified_name":"_PyCfgInstruction","kind":"class","ident_start":900,"ident_end":917,"extent_start":893,"extent_end":1149,"ident_utf16":{"start":{"line_number":33,"utf16_col":15},"end":{"line_number":33,"utf16_col":32}},"extent_utf16":{"start":{"line_number":33,"utf16_col":8},"end":{"line_number":39,"utf16_col":1}}},{"name":"cfg_instr","fully_qualified_name":"cfg_instr","kind":"type","ident_start":1150,"ident_end":1159,"extent_start":885,"extent_end":1160,"ident_utf16":{"start":{"line_number":39,"utf16_col":2},"end":{"line_number":39,"utf16_col":11}},"extent_utf16":{"start":{"line_number":33,"utf16_col":0},"end":{"line_number":39,"utf16_col":12}}},{"name":"_PyCfgBasicblock","fully_qualified_name":"_PyCfgBasicblock","kind":"class","ident_start":1177,"ident_end":1193,"extent_start":1170,"extent_end":2929,"ident_utf16":{"start":{"line_number":41,"utf16_col":15},"end":{"line_number":41,"utf16_col":31}},"extent_utf16":{"start":{"line_number":41,"utf16_col":8},"end":{"line_number":76,"utf16_col":1}}},{"name":"basicblock","fully_qualified_name":"basicblock","kind":"type","ident_start":2930,"ident_end":2940,"extent_start":1162,"extent_end":2941,"ident_utf16":{"start":{"line_number":76,"utf16_col":2},"end":{"line_number":76,"utf16_col":12}},"extent_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":76,"utf16_col":13}}},{"name":"_PyCfgBuilder","fully_qualified_name":"_PyCfgBuilder","kind":"class","ident_start":2951,"ident_end":2964,"extent_start":2944,"extent_end":3499,"ident_utf16":{"start":{"line_number":79,"utf16_col":7},"end":{"line_number":79,"utf16_col":20}},"extent_utf16":{"start":{"line_number":79,"utf16_col":0},"end":{"line_number":90,"utf16_col":1}}},{"name":"cfg_builder","fully_qualified_name":"cfg_builder","kind":"type","ident_start":3531,"ident_end":3542,"extent_start":3502,"extent_end":3543,"ident_utf16":{"start":{"line_number":92,"utf16_col":29},"end":{"line_number":92,"utf16_col":40}},"extent_utf16":{"start":{"line_number":92,"utf16_col":0},"end":{"line_number":92,"utf16_col":41}}},{"name":"is_block_push","fully_qualified_name":"is_block_push","kind":"function","ident_start":3780,"ident_end":3793,"extent_start":3780,"extent_end":3807,"ident_utf16":{"start":{"line_number":101,"utf16_col":0},"end":{"line_number":101,"utf16_col":13}},"extent_utf16":{"start":{"line_number":101,"utf16_col":0},"end":{"line_number":101,"utf16_col":27}}},{"name":"is_jump","fully_qualified_name":"is_jump","kind":"function","ident_start":3956,"ident_end":3963,"extent_start":3956,"extent_end":3977,"ident_utf16":{"start":{"line_number":108,"utf16_col":0},"end":{"line_number":108,"utf16_col":7}},"extent_utf16":{"start":{"line_number":108,"utf16_col":0},"end":{"line_number":108,"utf16_col":21}}},{"name":"basicblock_next_instr","fully_qualified_name":"basicblock_next_instr","kind":"function","ident_start":4819,"ident_end":4840,"extent_start":4819,"extent_end":4855,"ident_utf16":{"start":{"line_number":144,"utf16_col":0},"end":{"line_number":144,"utf16_col":21}},"extent_utf16":{"start":{"line_number":144,"utf16_col":0},"end":{"line_number":144,"utf16_col":36}}},{"name":"basicblock_last_instr","fully_qualified_name":"basicblock_last_instr","kind":"function","ident_start":5278,"ident_end":5299,"extent_start":5278,"extent_end":5320,"ident_utf16":{"start":{"line_number":161,"utf16_col":0},"end":{"line_number":161,"utf16_col":21}},"extent_utf16":{"start":{"line_number":161,"utf16_col":0},"end":{"line_number":161,"utf16_col":42}}},{"name":"cfg_builder_new_block","fully_qualified_name":"cfg_builder_new_block","kind":"function","ident_start":5586,"ident_end":5607,"extent_start":5586,"extent_end":5623,"ident_utf16":{"start":{"line_number":175,"utf16_col":0},"end":{"line_number":175,"utf16_col":21}},"extent_utf16":{"start":{"line_number":175,"utf16_col":0},"end":{"line_number":175,"utf16_col":37}}},{"name":"basicblock_addop","fully_qualified_name":"basicblock_addop","kind":"function","ident_start":5950,"ident_end":5966,"extent_start":5950,"extent_end":6018,"ident_utf16":{"start":{"line_number":190,"utf16_col":0},"end":{"line_number":190,"utf16_col":16}},"extent_utf16":{"start":{"line_number":190,"utf16_col":0},"end":{"line_number":190,"utf16_col":68}}},{"name":"basicblock_add_jump","fully_qualified_name":"basicblock_add_jump","kind":"function","ident_start":6562,"ident_end":6581,"extent_start":6562,"extent_end":6642,"ident_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":213,"utf16_col":19}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":213,"utf16_col":80}}},{"name":"basicblock_append_instructions","fully_qualified_name":"basicblock_append_instructions","kind":"function","ident_start":6992,"ident_end":7022,"extent_start":6992,"extent_end":7056,"ident_utf16":{"start":{"line_number":229,"utf16_col":0},"end":{"line_number":229,"utf16_col":30}},"extent_utf16":{"start":{"line_number":229,"utf16_col":0},"end":{"line_number":229,"utf16_col":64}}},{"name":"basicblock_nofallthrough","fully_qualified_name":"basicblock_nofallthrough","kind":"function","ident_start":7295,"ident_end":7319,"extent_start":7295,"extent_end":7340,"ident_utf16":{"start":{"line_number":242,"utf16_col":0},"end":{"line_number":242,"utf16_col":24}},"extent_utf16":{"start":{"line_number":242,"utf16_col":0},"end":{"line_number":242,"utf16_col":45}}},{"name":"copy_basicblock","fully_qualified_name":"copy_basicblock","kind":"function","ident_start":7669,"ident_end":7684,"extent_start":7669,"extent_end":7719,"ident_utf16":{"start":{"line_number":253,"utf16_col":0},"end":{"line_number":253,"utf16_col":15}},"extent_utf16":{"start":{"line_number":253,"utf16_col":0},"end":{"line_number":253,"utf16_col":50}}},{"name":"basicblock_insert_instruction","fully_qualified_name":"basicblock_insert_instruction","kind":"function","ident_start":8109,"ident_end":8138,"extent_start":8109,"extent_end":8184,"ident_utf16":{"start":{"line_number":270,"utf16_col":0},"end":{"line_number":270,"utf16_col":29}},"extent_utf16":{"start":{"line_number":270,"utf16_col":0},"end":{"line_number":270,"utf16_col":75}}},{"name":"dump_instr","fully_qualified_name":"dump_instr","kind":"function","ident_start":8455,"ident_end":8465,"extent_start":8455,"extent_end":8479,"ident_utf16":{"start":{"line_number":282,"utf16_col":0},"end":{"line_number":282,"utf16_col":10}},"extent_utf16":{"start":{"line_number":282,"utf16_col":0},"end":{"line_number":282,"utf16_col":24}}},{"name":"basicblock_returns","fully_qualified_name":"basicblock_returns","kind":"function","ident_start":8932,"ident_end":8950,"extent_start":8932,"extent_end":8971,"ident_utf16":{"start":{"line_number":300,"utf16_col":0},"end":{"line_number":300,"utf16_col":18}},"extent_utf16":{"start":{"line_number":300,"utf16_col":0},"end":{"line_number":300,"utf16_col":39}}},{"name":"dump_basicblock","fully_qualified_name":"dump_basicblock","kind":"function","ident_start":9090,"ident_end":9105,"extent_start":9090,"extent_end":9142,"ident_utf16":{"start":{"line_number":306,"utf16_col":0},"end":{"line_number":306,"utf16_col":15}},"extent_utf16":{"start":{"line_number":306,"utf16_col":0},"end":{"line_number":306,"utf16_col":52}}},{"name":"_PyCfgBuilder_DumpGraph","fully_qualified_name":"_PyCfgBuilder_DumpGraph","kind":"function","ident_start":9995,"ident_end":10018,"extent_start":9995,"extent_end":10072,"ident_utf16":{"start":{"line_number":330,"utf16_col":0},"end":{"line_number":330,"utf16_col":23}},"extent_utf16":{"start":{"line_number":330,"utf16_col":0},"end":{"line_number":330,"utf16_col":77}}},{"name":"cfg_builder_use_next_block","fully_qualified_name":"cfg_builder_use_next_block","kind":"function","ident_start":10272,"ident_end":10298,"extent_start":10272,"extent_end":10333,"ident_utf16":{"start":{"line_number":343,"utf16_col":0},"end":{"line_number":343,"utf16_col":26}},"extent_utf16":{"start":{"line_number":343,"utf16_col":0},"end":{"line_number":343,"utf16_col":61}}},{"name":"basicblock_exits_scope","fully_qualified_name":"basicblock_exits_scope","kind":"function","ident_start":10464,"ident_end":10486,"extent_start":10464,"extent_end":10507,"ident_utf16":{"start":{"line_number":352,"utf16_col":0},"end":{"line_number":352,"utf16_col":22}},"extent_utf16":{"start":{"line_number":352,"utf16_col":0},"end":{"line_number":352,"utf16_col":43}}},{"name":"basicblock_has_eval_break","fully_qualified_name":"basicblock_has_eval_break","kind":"function","ident_start":10636,"ident_end":10661,"extent_start":10636,"extent_end":10682,"ident_utf16":{"start":{"line_number":358,"utf16_col":0},"end":{"line_number":358,"utf16_col":25}},"extent_utf16":{"start":{"line_number":358,"utf16_col":0},"end":{"line_number":358,"utf16_col":46}}},{"name":"cfg_builder_current_block_is_terminated","fully_qualified_name":"cfg_builder_current_block_is_terminated","kind":"function","ident_start":10863,"ident_end":10902,"extent_start":10863,"extent_end":10918,"ident_utf16":{"start":{"line_number":368,"utf16_col":0},"end":{"line_number":368,"utf16_col":39}},"extent_utf16":{"start":{"line_number":368,"utf16_col":0},"end":{"line_number":368,"utf16_col":55}}},{"name":"cfg_builder_maybe_start_new_block","fully_qualified_name":"cfg_builder_maybe_start_new_block","kind":"function","ident_start":11409,"ident_end":11442,"extent_start":11409,"extent_end":11458,"ident_utf16":{"start":{"line_number":388,"utf16_col":0},"end":{"line_number":388,"utf16_col":33}},"extent_utf16":{"start":{"line_number":388,"utf16_col":0},"end":{"line_number":388,"utf16_col":49}}},{"name":"cfg_builder_check","fully_qualified_name":"cfg_builder_check","kind":"function","ident_start":11804,"ident_end":11821,"extent_start":11804,"extent_end":11837,"ident_utf16":{"start":{"line_number":404,"utf16_col":0},"end":{"line_number":404,"utf16_col":17}},"extent_utf16":{"start":{"line_number":404,"utf16_col":0},"end":{"line_number":404,"utf16_col":33}}},{"name":"init_cfg_builder","fully_qualified_name":"init_cfg_builder","kind":"function","ident_start":12308,"ident_end":12324,"extent_start":12308,"extent_end":12340,"ident_utf16":{"start":{"line_number":423,"utf16_col":0},"end":{"line_number":423,"utf16_col":16}},"extent_utf16":{"start":{"line_number":423,"utf16_col":0},"end":{"line_number":423,"utf16_col":32}}},{"name":"_PyCfgBuilder_New","fully_qualified_name":"_PyCfgBuilder_New","kind":"function","ident_start":12591,"ident_end":12608,"extent_start":12591,"extent_end":12614,"ident_utf16":{"start":{"line_number":436,"utf16_col":0},"end":{"line_number":436,"utf16_col":17}},"extent_utf16":{"start":{"line_number":436,"utf16_col":0},"end":{"line_number":436,"utf16_col":23}}},{"name":"_PyCfgBuilder_Free","fully_qualified_name":"_PyCfgBuilder_Free","kind":"function","ident_start":12893,"ident_end":12911,"extent_start":12893,"extent_end":12927,"ident_utf16":{"start":{"line_number":452,"utf16_col":0},"end":{"line_number":452,"utf16_col":18}},"extent_utf16":{"start":{"line_number":452,"utf16_col":0},"end":{"line_number":452,"utf16_col":34}}},{"name":"_PyCfgBuilder_CheckSize","fully_qualified_name":"_PyCfgBuilder_CheckSize","kind":"function","ident_start":13267,"ident_end":13290,"extent_start":13267,"extent_end":13306,"ident_utf16":{"start":{"line_number":471,"utf16_col":0},"end":{"line_number":471,"utf16_col":23}},"extent_utf16":{"start":{"line_number":471,"utf16_col":0},"end":{"line_number":471,"utf16_col":39}}},{"name":"_PyCfgBuilder_UseLabel","fully_qualified_name":"_PyCfgBuilder_UseLabel","kind":"function","ident_start":13567,"ident_end":13589,"extent_start":13567,"extent_end":13628,"ident_utf16":{"start":{"line_number":485,"utf16_col":0},"end":{"line_number":485,"utf16_col":22}},"extent_utf16":{"start":{"line_number":485,"utf16_col":0},"end":{"line_number":485,"utf16_col":61}}},{"name":"_PyCfgBuilder_Addop","fully_qualified_name":"_PyCfgBuilder_Addop","kind":"function","ident_start":13717,"ident_end":13736,"extent_start":13717,"extent_end":13789,"ident_utf16":{"start":{"line_number":492,"utf16_col":0},"end":{"line_number":492,"utf16_col":19}},"extent_utf16":{"start":{"line_number":492,"utf16_col":0},"end":{"line_number":492,"utf16_col":72}}},{"name":"next_nonempty_block","fully_qualified_name":"next_nonempty_block","kind":"function","ident_start":13939,"ident_end":13958,"extent_start":13939,"extent_end":13973,"ident_utf16":{"start":{"line_number":500,"utf16_col":0},"end":{"line_number":500,"utf16_col":19}},"extent_utf16":{"start":{"line_number":500,"utf16_col":0},"end":{"line_number":500,"utf16_col":34}}},{"name":"remove_redundant_nops","fully_qualified_name":"remove_redundant_nops","kind":"function","ident_start":14116,"ident_end":14137,"extent_start":14116,"extent_end":14153,"ident_utf16":{"start":{"line_number":511,"utf16_col":11},"end":{"line_number":511,"utf16_col":32}},"extent_utf16":{"start":{"line_number":511,"utf16_col":11},"end":{"line_number":511,"utf16_col":48}}},{"name":"no_redundant_nops","fully_qualified_name":"no_redundant_nops","kind":"function","ident_start":14168,"ident_end":14185,"extent_start":14168,"extent_end":14201,"ident_utf16":{"start":{"line_number":514,"utf16_col":0},"end":{"line_number":514,"utf16_col":17}},"extent_utf16":{"start":{"line_number":514,"utf16_col":0},"end":{"line_number":514,"utf16_col":33}}},{"name":"no_redundant_jumps","fully_qualified_name":"no_redundant_jumps","kind":"function","ident_start":14305,"ident_end":14323,"extent_start":14305,"extent_end":14339,"ident_utf16":{"start":{"line_number":522,"utf16_col":0},"end":{"line_number":522,"utf16_col":18}},"extent_utf16":{"start":{"line_number":522,"utf16_col":0},"end":{"line_number":522,"utf16_col":34}}},{"name":"normalize_jumps_in_block","fully_qualified_name":"normalize_jumps_in_block","kind":"function","ident_start":15102,"ident_end":15126,"extent_start":15102,"extent_end":15157,"ident_utf16":{"start":{"line_number":546,"utf16_col":0},"end":{"line_number":546,"utf16_col":24}},"extent_utf16":{"start":{"line_number":546,"utf16_col":0},"end":{"line_number":546,"utf16_col":55}}},{"name":"normalize_jumps","fully_qualified_name":"normalize_jumps","kind":"function","ident_start":16752,"ident_end":16767,"extent_start":16752,"extent_end":16783,"ident_utf16":{"start":{"line_number":600,"utf16_col":0},"end":{"line_number":600,"utf16_col":15}},"extent_utf16":{"start":{"line_number":600,"utf16_col":0},"end":{"line_number":600,"utf16_col":31}}},{"name":"check_cfg","fully_qualified_name":"check_cfg","kind":"function","ident_start":17117,"ident_end":17126,"extent_start":17117,"extent_end":17142,"ident_utf16":{"start":{"line_number":614,"utf16_col":0},"end":{"line_number":614,"utf16_col":9}},"extent_utf16":{"start":{"line_number":614,"utf16_col":0},"end":{"line_number":614,"utf16_col":25}}},{"name":"get_max_label","fully_qualified_name":"get_max_label","kind":"function","ident_start":17743,"ident_end":17756,"extent_start":17743,"extent_end":17780,"ident_utf16":{"start":{"line_number":632,"utf16_col":0},"end":{"line_number":632,"utf16_col":13}},"extent_utf16":{"start":{"line_number":632,"utf16_col":0},"end":{"line_number":632,"utf16_col":37}}},{"name":"translate_jump_labels_to_targets","fully_qualified_name":"translate_jump_labels_to_targets","kind":"function","ident_start":18041,"ident_end":18073,"extent_start":18041,"extent_end":18097,"ident_utf16":{"start":{"line_number":645,"utf16_col":0},"end":{"line_number":645,"utf16_col":32}},"extent_utf16":{"start":{"line_number":645,"utf16_col":0},"end":{"line_number":645,"utf16_col":56}}},{"name":"mark_except_handlers","fully_qualified_name":"mark_except_handlers","kind":"function","ident_start":19152,"ident_end":19172,"extent_start":19152,"extent_end":19196,"ident_utf16":{"start":{"line_number":678,"utf16_col":0},"end":{"line_number":678,"utf16_col":20}},"extent_utf16":{"start":{"line_number":678,"utf16_col":0},"end":{"line_number":678,"utf16_col":44}}},{"name":"_PyCfgExceptStack","fully_qualified_name":"_PyCfgExceptStack","kind":"class","ident_start":19643,"ident_end":19660,"extent_start":19636,"extent_end":19721,"ident_utf16":{"start":{"line_number":696,"utf16_col":7},"end":{"line_number":696,"utf16_col":24}},"extent_utf16":{"start":{"line_number":696,"utf16_col":0},"end":{"line_number":699,"utf16_col":1}}},{"name":"push_except_block","fully_qualified_name":"push_except_block","kind":"function","ident_start":19745,"ident_end":19762,"extent_start":19745,"extent_end":19813,"ident_utf16":{"start":{"line_number":703,"utf16_col":0},"end":{"line_number":703,"utf16_col":17}},"extent_utf16":{"start":{"line_number":703,"utf16_col":0},"end":{"line_number":703,"utf16_col":68}}},{"name":"pop_except_block","fully_qualified_name":"pop_except_block","kind":"function","ident_start":20160,"ident_end":20176,"extent_start":20160,"extent_end":20209,"ident_utf16":{"start":{"line_number":716,"utf16_col":0},"end":{"line_number":716,"utf16_col":16}},"extent_utf16":{"start":{"line_number":716,"utf16_col":0},"end":{"line_number":716,"utf16_col":49}}},{"name":"except_stack_top","fully_qualified_name":"except_stack_top","kind":"function","ident_start":20309,"ident_end":20325,"extent_start":20309,"extent_end":20358,"ident_utf16":{"start":{"line_number":722,"utf16_col":0},"end":{"line_number":722,"utf16_col":16}},"extent_utf16":{"start":{"line_number":722,"utf16_col":0},"end":{"line_number":722,"utf16_col":49}}},{"name":"make_except_stack","fully_qualified_name":"make_except_stack","kind":"function","ident_start":20440,"ident_end":20457,"extent_start":20440,"extent_end":20463,"ident_utf16":{"start":{"line_number":727,"utf16_col":0},"end":{"line_number":727,"utf16_col":17}},"extent_utf16":{"start":{"line_number":727,"utf16_col":0},"end":{"line_number":727,"utf16_col":23}}},{"name":"copy_except_stack","fully_qualified_name":"copy_except_stack","kind":"function","ident_start":20728,"ident_end":20745,"extent_start":20728,"extent_end":20778,"ident_utf16":{"start":{"line_number":739,"utf16_col":0},"end":{"line_number":739,"utf16_col":17}},"extent_utf16":{"start":{"line_number":739,"utf16_col":0},"end":{"line_number":739,"utf16_col":50}}},{"name":"make_cfg_traversal_stack","fully_qualified_name":"make_cfg_traversal_stack","kind":"function","ident_start":21042,"ident_end":21066,"extent_start":21042,"extent_end":21090,"ident_utf16":{"start":{"line_number":750,"utf16_col":0},"end":{"line_number":750,"utf16_col":24}},"extent_utf16":{"start":{"line_number":750,"utf16_col":0},"end":{"line_number":750,"utf16_col":48}}},{"name":"stack_effects","fully_qualified_name":"stack_effects","kind":"type","ident_start":21726,"ident_end":21739,"extent_start":21647,"extent_end":21740,"ident_utf16":{"start":{"line_number":775,"utf16_col":2},"end":{"line_number":775,"utf16_col":15}},"extent_utf16":{"start":{"line_number":772,"utf16_col":0},"end":{"line_number":775,"utf16_col":16}}},{"name":"get_stack_effects","fully_qualified_name":"get_stack_effects","kind":"function","ident_start":21756,"ident_end":21773,"extent_start":21756,"extent_end":21830,"ident_utf16":{"start":{"line_number":778,"utf16_col":0},"end":{"line_number":778,"utf16_col":17}},"extent_utf16":{"start":{"line_number":778,"utf16_col":0},"end":{"line_number":778,"utf16_col":74}}},{"name":"stackdepth_push","fully_qualified_name":"stackdepth_push","kind":"function","ident_start":22380,"ident_end":22395,"extent_start":22380,"extent_end":22439,"ident_utf16":{"start":{"line_number":801,"utf16_col":0},"end":{"line_number":801,"utf16_col":15}},"extent_utf16":{"start":{"line_number":801,"utf16_col":0},"end":{"line_number":801,"utf16_col":59}}},{"name":"calculate_stackdepth","fully_qualified_name":"calculate_stackdepth","kind":"function","ident_start":22943,"ident_end":22963,"extent_start":22943,"extent_end":22979,"ident_utf16":{"start":{"line_number":819,"utf16_col":0},"end":{"line_number":819,"utf16_col":20}},"extent_utf16":{"start":{"line_number":819,"utf16_col":0},"end":{"line_number":819,"utf16_col":36}}},{"name":"label_exception_targets","fully_qualified_name":"label_exception_targets","kind":"function","ident_start":25698,"ident_end":25721,"extent_start":25698,"extent_end":25745,"ident_utf16":{"start":{"line_number":896,"utf16_col":0},"end":{"line_number":896,"utf16_col":23}},"extent_utf16":{"start":{"line_number":896,"utf16_col":0},"end":{"line_number":896,"utf16_col":47}}},{"name":"remove_unreachable","fully_qualified_name":"remove_unreachable","kind":"function","ident_start":29772,"ident_end":29790,"extent_start":29772,"extent_end":29814,"ident_utf16":{"start":{"line_number":1009,"utf16_col":0},"end":{"line_number":1009,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1009,"utf16_col":0},"end":{"line_number":1009,"utf16_col":42}}},{"name":"basicblock_remove_redundant_nops","fully_qualified_name":"basicblock_remove_redundant_nops","kind":"function","ident_start":31221,"ident_end":31253,"extent_start":31221,"extent_end":31269,"ident_utf16":{"start":{"line_number":1057,"utf16_col":0},"end":{"line_number":1057,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1057,"utf16_col":0},"end":{"line_number":1057,"utf16_col":48}}},{"name":"remove_redundant_nops","fully_qualified_name":"remove_redundant_nops","kind":"function","ident_start":33488,"ident_end":33509,"extent_start":33488,"extent_end":33525,"ident_utf16":{"start":{"line_number":1118,"utf16_col":0},"end":{"line_number":1118,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1118,"utf16_col":0},"end":{"line_number":1118,"utf16_col":37}}},{"name":"loads_const","fully_qualified_name":"loads_const","kind":"function","ident_start":33777,"ident_end":33788,"extent_start":33777,"extent_end":33800,"ident_utf16":{"start":{"line_number":1128,"utf16_col":11},"end":{"line_number":1128,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1128,"utf16_col":11},"end":{"line_number":1128,"utf16_col":34}}},{"name":"remove_redundant_nops_and_pairs","fully_qualified_name":"remove_redundant_nops_and_pairs","kind":"function","ident_start":33814,"ident_end":33845,"extent_start":33814,"extent_end":33869,"ident_utf16":{"start":{"line_number":1131,"utf16_col":0},"end":{"line_number":1131,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1131,"utf16_col":0},"end":{"line_number":1131,"utf16_col":55}}},{"name":"remove_redundant_jumps","fully_qualified_name":"remove_redundant_jumps","kind":"function","ident_start":35348,"ident_end":35370,"extent_start":35348,"extent_end":35386,"ident_utf16":{"start":{"line_number":1175,"utf16_col":0},"end":{"line_number":1175,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1175,"utf16_col":0},"end":{"line_number":1175,"utf16_col":38}}},{"name":"basicblock_has_no_lineno","fully_qualified_name":"basicblock_has_no_lineno","kind":"function","ident_start":36508,"ident_end":36532,"extent_start":36508,"extent_end":36547,"ident_utf16":{"start":{"line_number":1209,"utf16_col":0},"end":{"line_number":1209,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1209,"utf16_col":0},"end":{"line_number":1209,"utf16_col":39}}},{"name":"MAX_COPY_SIZE","fully_qualified_name":"MAX_COPY_SIZE","kind":"macro","ident_start":36779,"ident_end":36792,"extent_start":36771,"extent_end":36795,"ident_utf16":{"start":{"line_number":1219,"utf16_col":8},"end":{"line_number":1219,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1219,"utf16_col":0},"end":{"line_number":1220,"utf16_col":0}}},{"name":"basicblock_inline_small_or_no_lineno_blocks","fully_qualified_name":"basicblock_inline_small_or_no_lineno_blocks","kind":"function","ident_start":37065,"ident_end":37108,"extent_start":37065,"extent_end":37124,"ident_utf16":{"start":{"line_number":1227,"utf16_col":0},"end":{"line_number":1227,"utf16_col":43}},"extent_utf16":{"start":{"line_number":1227,"utf16_col":0},"end":{"line_number":1227,"utf16_col":59}}},{"name":"inline_small_or_no_lineno_blocks","fully_qualified_name":"inline_small_or_no_lineno_blocks","kind":"function","ident_start":38277,"ident_end":38309,"extent_start":38277,"extent_end":38333,"ident_utf16":{"start":{"line_number":1261,"utf16_col":0},"end":{"line_number":1261,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1261,"utf16_col":0},"end":{"line_number":1261,"utf16_col":56}}},{"name":"jump_thread","fully_qualified_name":"jump_thread","kind":"function","ident_start":38925,"ident_end":38936,"extent_start":38925,"extent_end":39000,"ident_utf16":{"start":{"line_number":1280,"utf16_col":0},"end":{"line_number":1280,"utf16_col":11}},"extent_utf16":{"start":{"line_number":1280,"utf16_col":0},"end":{"line_number":1280,"utf16_col":75}}},{"name":"loads_const","fully_qualified_name":"loads_const","kind":"function","ident_start":39656,"ident_end":39667,"extent_start":39656,"extent_end":39679,"ident_utf16":{"start":{"line_number":1303,"utf16_col":0},"end":{"line_number":1303,"utf16_col":11}},"extent_utf16":{"start":{"line_number":1303,"utf16_col":0},"end":{"line_number":1303,"utf16_col":23}}},{"name":"get_const_value","fully_qualified_name":"get_const_value","kind":"function","ident_start":39845,"ident_end":39860,"extent_start":39845,"extent_end":39904,"ident_utf16":{"start":{"line_number":1312,"utf16_col":0},"end":{"line_number":1312,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1312,"utf16_col":0},"end":{"line_number":1312,"utf16_col":59}}},{"name":"add_const","fully_qualified_name":"add_const","kind":"function","ident_start":40932,"ident_end":40941,"extent_start":40932,"extent_end":41043,"ident_utf16":{"start":{"line_number":1346,"utf16_col":0},"end":{"line_number":1346,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1346,"utf16_col":0},"end":{"line_number":1347,"utf16_col":40}}},{"name":"get_const_loading_instrs","fully_qualified_name":"get_const_loading_instrs","kind":"function","ident_start":42359,"ident_end":42383,"extent_start":42359,"extent_end":42440,"ident_utf16":{"start":{"line_number":1390,"utf16_col":0},"end":{"line_number":1390,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1390,"utf16_col":0},"end":{"line_number":1390,"utf16_col":81}}},{"name":"nop_out","fully_qualified_name":"nop_out","kind":"function","ident_start":43015,"ident_end":43022,"extent_start":43015,"extent_end":43052,"ident_utf16":{"start":{"line_number":1415,"utf16_col":0},"end":{"line_number":1415,"utf16_col":7}},"extent_utf16":{"start":{"line_number":1415,"utf16_col":0},"end":{"line_number":1415,"utf16_col":37}}},{"name":"maybe_instr_make_load_smallint","fully_qualified_name":"maybe_instr_make_load_smallint","kind":"function","ident_start":43454,"ident_end":43484,"extent_start":43454,"extent_end":43594,"ident_utf16":{"start":{"line_number":1431,"utf16_col":0},"end":{"line_number":1431,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1431,"utf16_col":0},"end":{"line_number":1432,"utf16_col":71}}},{"name":"maybe_instr_make_load_common_const","fully_qualified_name":"maybe_instr_make_load_common_const","kind":"function","ident_start":44248,"ident_end":44282,"extent_start":44248,"extent_end":44320,"ident_utf16":{"start":{"line_number":1455,"utf16_col":0},"end":{"line_number":1455,"utf16_col":34}},"extent_utf16":{"start":{"line_number":1455,"utf16_col":0},"end":{"line_number":1455,"utf16_col":72}}},{"name":"instr_make_load_const","fully_qualified_name":"instr_make_load_const","kind":"function","ident_start":45346,"ident_end":45367,"extent_start":45346,"extent_end":45521,"ident_utf16":{"start":{"line_number":1496,"utf16_col":0},"end":{"line_number":1496,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1496,"utf16_col":0},"end":{"line_number":1498,"utf16_col":52}}},{"name":"fold_tuple_of_constants","fully_qualified_name":"fold_tuple_of_constants","kind":"function","ident_start":46382,"ident_end":46405,"extent_start":46382,"extent_end":46524,"ident_utf16":{"start":{"line_number":1529,"utf16_col":0},"end":{"line_number":1529,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1529,"utf16_col":0},"end":{"line_number":1530,"utf16_col":77}}},{"name":"fold_constant_seq_into_load_const","fully_qualified_name":"fold_constant_seq_into_load_const","kind":"function","ident_start":48345,"ident_end":48378,"extent_start":48345,"extent_end":48541,"ident_utf16":{"start":{"line_number":1590,"utf16_col":0},"end":{"line_number":1590,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1590,"utf16_col":0},"end":{"line_number":1592,"utf16_col":64}}},{"name":"MIN_CONST_SEQUENCE_SIZE","fully_qualified_name":"MIN_CONST_SEQUENCE_SIZE","kind":"macro","ident_start":51707,"ident_end":51730,"extent_start":51699,"extent_end":51733,"ident_utf16":{"start":{"line_number":1684,"utf16_col":8},"end":{"line_number":1684,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1684,"utf16_col":0},"end":{"line_number":1685,"utf16_col":0}}},{"name":"optimize_lists_and_sets","fully_qualified_name":"optimize_lists_and_sets","kind":"function","ident_start":52276,"ident_end":52299,"extent_start":52276,"extent_end":52454,"ident_utf16":{"start":{"line_number":1697,"utf16_col":0},"end":{"line_number":1697,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1697,"utf16_col":0},"end":{"line_number":1699,"utf16_col":54}}},{"name":"const_folding_check_complexity","fully_qualified_name":"const_folding_check_complexity","kind":"function","ident_start":54957,"ident_end":54987,"extent_start":54957,"extent_end":55020,"ident_utf16":{"start":{"line_number":1774,"utf16_col":0},"end":{"line_number":1774,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1774,"utf16_col":0},"end":{"line_number":1774,"utf16_col":63}}},{"name":"MAX_INT_SIZE","fully_qualified_name":"MAX_INT_SIZE","kind":"macro","ident_start":55386,"ident_end":55398,"extent_start":55378,"extent_end":55425,"ident_utf16":{"start":{"line_number":1789,"utf16_col":8},"end":{"line_number":1789,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1789,"utf16_col":0},"end":{"line_number":1790,"utf16_col":0}}},{"name":"MAX_COLLECTION_SIZE","fully_qualified_name":"MAX_COLLECTION_SIZE","kind":"macro","ident_start":55433,"ident_end":55452,"extent_start":55425,"extent_end":55473,"ident_utf16":{"start":{"line_number":1790,"utf16_col":8},"end":{"line_number":1790,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1790,"utf16_col":0},"end":{"line_number":1791,"utf16_col":0}}},{"name":"MAX_STR_SIZE","fully_qualified_name":"MAX_STR_SIZE","kind":"macro","ident_start":55481,"ident_end":55493,"extent_start":55473,"extent_end":55526,"ident_utf16":{"start":{"line_number":1791,"utf16_col":8},"end":{"line_number":1791,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1791,"utf16_col":0},"end":{"line_number":1792,"utf16_col":0}}},{"name":"MAX_TOTAL_ITEMS","fully_qualified_name":"MAX_TOTAL_ITEMS","kind":"macro","ident_start":55534,"ident_end":55549,"extent_start":55526,"extent_end":55597,"ident_utf16":{"start":{"line_number":1792,"utf16_col":8},"end":{"line_number":1792,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1792,"utf16_col":0},"end":{"line_number":1793,"utf16_col":0}}},{"name":"const_folding_safe_multiply","fully_qualified_name":"const_folding_safe_multiply","kind":"function","ident_start":55616,"ident_end":55643,"extent_start":55616,"extent_end":55669,"ident_utf16":{"start":{"line_number":1795,"utf16_col":0},"end":{"line_number":1795,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1795,"utf16_col":0},"end":{"line_number":1795,"utf16_col":53}}},{"name":"const_folding_safe_power","fully_qualified_name":"const_folding_safe_power","kind":"function","ident_start":57052,"ident_end":57076,"extent_start":57052,"extent_end":57102,"ident_utf16":{"start":{"line_number":1840,"utf16_col":0},"end":{"line_number":1840,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1840,"utf16_col":0},"end":{"line_number":1840,"utf16_col":50}}},{"name":"const_folding_safe_lshift","fully_qualified_name":"const_folding_safe_lshift","kind":"function","ident_start":57587,"ident_end":57612,"extent_start":57587,"extent_end":57638,"ident_utf16":{"start":{"line_number":1860,"utf16_col":0},"end":{"line_number":1860,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1860,"utf16_col":0},"end":{"line_number":1860,"utf16_col":51}}},{"name":"const_folding_safe_mod","fully_qualified_name":"const_folding_safe_mod","kind":"function","ident_start":58136,"ident_end":58158,"extent_start":58136,"extent_end":58184,"ident_utf16":{"start":{"line_number":1880,"utf16_col":0},"end":{"line_number":1880,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1880,"utf16_col":0},"end":{"line_number":1880,"utf16_col":48}}},{"name":"eval_const_binop","fully_qualified_name":"eval_const_binop","kind":"function","ident_start":58323,"ident_end":58339,"extent_start":58323,"extent_end":58380,"ident_utf16":{"start":{"line_number":1890,"utf16_col":0},"end":{"line_number":1890,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1890,"utf16_col":0},"end":{"line_number":1890,"utf16_col":57}}},{"name":"fold_const_binop","fully_qualified_name":"fold_const_binop","kind":"function","ident_start":59987,"ident_end":60003,"extent_start":59987,"extent_end":60115,"ident_utf16":{"start":{"line_number":1946,"utf16_col":0},"end":{"line_number":1946,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1946,"utf16_col":0},"end":{"line_number":1947,"utf16_col":70}}},{"name":"BINOP_OPERAND_COUNT","fully_qualified_name":"BINOP_OPERAND_COUNT","kind":"macro","ident_start":60130,"ident_end":60149,"extent_start":60122,"extent_end":60152,"ident_utf16":{"start":{"line_number":1949,"utf16_col":12},"end":{"line_number":1949,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1949,"utf16_col":4},"end":{"line_number":1950,"utf16_col":0}}},{"name":"eval_const_unaryop","fully_qualified_name":"eval_const_unaryop","kind":"function","ident_start":61456,"ident_end":61474,"extent_start":61456,"extent_end":61516,"ident_utf16":{"start":{"line_number":1993,"utf16_col":0},"end":{"line_number":1993,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1993,"utf16_col":0},"end":{"line_number":1993,"utf16_col":60}}},{"name":"fold_const_unaryop","fully_qualified_name":"fold_const_unaryop","kind":"function","ident_start":62637,"ident_end":62655,"extent_start":62637,"extent_end":62769,"ident_utf16":{"start":{"line_number":2035,"utf16_col":0},"end":{"line_number":2035,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2035,"utf16_col":0},"end":{"line_number":2036,"utf16_col":72}}},{"name":"UNARYOP_OPERAND_COUNT","fully_qualified_name":"UNARYOP_OPERAND_COUNT","kind":"macro","ident_start":62784,"ident_end":62805,"extent_start":62776,"extent_end":62808,"ident_utf16":{"start":{"line_number":2038,"utf16_col":12},"end":{"line_number":2038,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2038,"utf16_col":4},"end":{"line_number":2039,"utf16_col":0}}},{"name":"VISITED","fully_qualified_name":"VISITED","kind":"macro","ident_start":63875,"ident_end":63882,"extent_start":63867,"extent_end":63888,"ident_utf16":{"start":{"line_number":2076,"utf16_col":8},"end":{"line_number":2076,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2076,"utf16_col":0},"end":{"line_number":2077,"utf16_col":0}}},{"name":"swaptimize","fully_qualified_name":"swaptimize","kind":"function","ident_start":63995,"ident_end":64005,"extent_start":63995,"extent_end":64033,"ident_utf16":{"start":{"line_number":2081,"utf16_col":0},"end":{"line_number":2081,"utf16_col":10}},"extent_utf16":{"start":{"line_number":2081,"utf16_col":0},"end":{"line_number":2081,"utf16_col":38}}},{"name":"next_swappable_instruction","fully_qualified_name":"next_swappable_instruction","kind":"function","ident_start":68136,"ident_end":68162,"extent_start":68136,"extent_end":68200,"ident_utf16":{"start":{"line_number":2192,"utf16_col":0},"end":{"line_number":2192,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2192,"utf16_col":0},"end":{"line_number":2192,"utf16_col":64}}},{"name":"apply_static_swaps","fully_qualified_name":"apply_static_swaps","kind":"function","ident_start":68957,"ident_end":68975,"extent_start":68957,"extent_end":69001,"ident_utf16":{"start":{"line_number":2216,"utf16_col":0},"end":{"line_number":2216,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2216,"utf16_col":0},"end":{"line_number":2216,"utf16_col":44}}},{"name":"basicblock_optimize_load_const","fully_qualified_name":"basicblock_optimize_load_const","kind":"function","ident_start":70793,"ident_end":70823,"extent_start":70793,"extent_end":70942,"ident_utf16":{"start":{"line_number":2268,"utf16_col":0},"end":{"line_number":2268,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2268,"utf16_col":0},"end":{"line_number":2269,"utf16_col":79}}},{"name":"optimize_load_const","fully_qualified_name":"optimize_load_const","kind":"function","ident_start":76405,"ident_end":76424,"extent_start":76405,"extent_end":76532,"ident_utf16":{"start":{"line_number":2412,"utf16_col":0},"end":{"line_number":2412,"utf16_col":19}},"extent_utf16":{"start":{"line_number":2412,"utf16_col":0},"end":{"line_number":2413,"utf16_col":50}}},{"name":"optimize_basic_block","fully_qualified_name":"optimize_basic_block","kind":"function","ident_start":76740,"ident_end":76760,"extent_start":76740,"extent_end":76869,"ident_utf16":{"start":{"line_number":2421,"utf16_col":0},"end":{"line_number":2421,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2421,"utf16_col":0},"end":{"line_number":2422,"utf16_col":51}}},{"name":"resolve_line_numbers","fully_qualified_name":"resolve_line_numbers","kind":"function","ident_start":85602,"ident_end":85622,"extent_start":85602,"extent_end":85655,"ident_utf16":{"start":{"line_number":2641,"utf16_col":11},"end":{"line_number":2641,"utf16_col":31}},"extent_utf16":{"start":{"line_number":2641,"utf16_col":11},"end":{"line_number":2641,"utf16_col":64}}},{"name":"remove_redundant_nops_and_jumps","fully_qualified_name":"remove_redundant_nops_and_jumps","kind":"function","ident_start":85669,"ident_end":85700,"extent_start":85669,"extent_end":85716,"ident_utf16":{"start":{"line_number":2644,"utf16_col":0},"end":{"line_number":2644,"utf16_col":31}},"extent_utf16":{"start":{"line_number":2644,"utf16_col":0},"end":{"line_number":2644,"utf16_col":47}}},{"name":"optimize_cfg","fully_qualified_name":"optimize_cfg","kind":"function","ident_start":86409,"ident_end":86421,"extent_start":86409,"extent_end":86539,"ident_utf16":{"start":{"line_number":2667,"utf16_col":0},"end":{"line_number":2667,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2667,"utf16_col":0},"end":{"line_number":2668,"utf16_col":60}}},{"name":"make_super_instruction","fully_qualified_name":"make_super_instruction","kind":"function","ident_start":87307,"ident_end":87329,"extent_start":87307,"extent_end":87379,"ident_utf16":{"start":{"line_number":2687,"utf16_col":0},"end":{"line_number":2687,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2687,"utf16_col":0},"end":{"line_number":2687,"utf16_col":72}}},{"name":"insert_superinstructions","fully_qualified_name":"insert_superinstructions","kind":"function","ident_start":87793,"ident_end":87817,"extent_start":87793,"extent_end":87833,"ident_utf16":{"start":{"line_number":2703,"utf16_col":0},"end":{"line_number":2703,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2703,"utf16_col":0},"end":{"line_number":2703,"utf16_col":40}}},{"name":"NOT_LOCAL","fully_qualified_name":"NOT_LOCAL","kind":"macro","ident_start":88937,"ident_end":88946,"extent_start":88929,"extent_end":88950,"ident_utf16":{"start":{"line_number":2734,"utf16_col":8},"end":{"line_number":2734,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2734,"utf16_col":0},"end":{"line_number":2735,"utf16_col":0}}},{"name":"DUMMY_INSTR","fully_qualified_name":"DUMMY_INSTR","kind":"macro","ident_start":88958,"ident_end":88969,"extent_start":88950,"extent_end":88973,"ident_utf16":{"start":{"line_number":2735,"utf16_col":8},"end":{"line_number":2735,"utf16_col":19}},"extent_utf16":{"start":{"line_number":2735,"utf16_col":0},"end":{"line_number":2736,"utf16_col":0}}},{"name":"ref","fully_qualified_name":"ref","kind":"type","ident_start":89157,"ident_end":89160,"extent_start":88974,"extent_end":89161,"ident_utf16":{"start":{"line_number":2743,"utf16_col":2},"end":{"line_number":2743,"utf16_col":5}},"extent_utf16":{"start":{"line_number":2737,"utf16_col":0},"end":{"line_number":2743,"utf16_col":6}}},{"name":"ref_stack","fully_qualified_name":"ref_stack","kind":"type","ident_start":89243,"ident_end":89252,"extent_start":89163,"extent_end":89253,"ident_utf16":{"start":{"line_number":2749,"utf16_col":2},"end":{"line_number":2749,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2745,"utf16_col":0},"end":{"line_number":2749,"utf16_col":12}}},{"name":"ref_stack_push","fully_qualified_name":"ref_stack_push","kind":"function","ident_start":89266,"ident_end":89280,"extent_start":89266,"extent_end":89305,"ident_utf16":{"start":{"line_number":2752,"utf16_col":0},"end":{"line_number":2752,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2752,"utf16_col":0},"end":{"line_number":2752,"utf16_col":39}}},{"name":"ref_stack_pop","fully_qualified_name":"ref_stack_pop","kind":"function","ident_start":89733,"ident_end":89746,"extent_start":89733,"extent_end":89764,"ident_utf16":{"start":{"line_number":2770,"utf16_col":0},"end":{"line_number":2770,"utf16_col":13}},"extent_utf16":{"start":{"line_number":2770,"utf16_col":0},"end":{"line_number":2770,"utf16_col":31}}},{"name":"ref_stack_swap_top","fully_qualified_name":"ref_stack_swap_top","kind":"function","ident_start":89882,"ident_end":89900,"extent_start":89882,"extent_end":89934,"ident_utf16":{"start":{"line_number":2779,"utf16_col":0},"end":{"line_number":2779,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2779,"utf16_col":0},"end":{"line_number":2779,"utf16_col":52}}},{"name":"ref_stack_at","fully_qualified_name":"ref_stack_at","kind":"function","ident_start":90159,"ident_end":90171,"extent_start":90159,"extent_end":90205,"ident_utf16":{"start":{"line_number":2789,"utf16_col":0},"end":{"line_number":2789,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2789,"utf16_col":0},"end":{"line_number":2789,"utf16_col":46}}},{"name":"ref_stack_clear","fully_qualified_name":"ref_stack_clear","kind":"function","ident_start":90295,"ident_end":90310,"extent_start":90295,"extent_end":90328,"ident_utf16":{"start":{"line_number":2796,"utf16_col":0},"end":{"line_number":2796,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2796,"utf16_col":0},"end":{"line_number":2796,"utf16_col":33}}},{"name":"ref_stack_fini","fully_qualified_name":"ref_stack_fini","kind":"function","ident_start":90367,"ident_end":90381,"extent_start":90367,"extent_end":90399,"ident_utf16":{"start":{"line_number":2802,"utf16_col":0},"end":{"line_number":2802,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2802,"utf16_col":0},"end":{"line_number":2802,"utf16_col":32}}},{"name":"LoadFastInstrFlag","fully_qualified_name":"LoadFastInstrFlag","kind":"type","ident_start":90843,"ident_end":90860,"extent_start":90545,"extent_end":90861,"ident_utf16":{"start":{"line_number":2819,"utf16_col":2},"end":{"line_number":2819,"utf16_col":19}},"extent_utf16":{"start":{"line_number":2812,"utf16_col":0},"end":{"line_number":2819,"utf16_col":20}}},{"name":"kill_local","fully_qualified_name":"kill_local","kind":"function","ident_start":90875,"ident_end":90885,"extent_start":90875,"extent_end":90935,"ident_utf16":{"start":{"line_number":2822,"utf16_col":0},"end":{"line_number":2822,"utf16_col":10}},"extent_utf16":{"start":{"line_number":2822,"utf16_col":0},"end":{"line_number":2822,"utf16_col":60}}},{"name":"store_local","fully_qualified_name":"store_local","kind":"function","ident_start":91176,"ident_end":91187,"extent_start":91176,"extent_end":91244,"ident_utf16":{"start":{"line_number":2834,"utf16_col":0},"end":{"line_number":2834,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2834,"utf16_col":0},"end":{"line_number":2834,"utf16_col":68}}},{"name":"load_fast_push_block","fully_qualified_name":"load_fast_push_block","kind":"function","ident_start":91393,"ident_end":91413,"extent_start":91393,"extent_end":91496,"ident_utf16":{"start":{"line_number":2843,"utf16_col":0},"end":{"line_number":2843,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2843,"utf16_col":0},"end":{"line_number":2844,"utf16_col":44}}},{"name":"optimize_load_fast","fully_qualified_name":"optimize_load_fast","kind":"function","ident_start":93530,"ident_end":93548,"extent_start":93530,"extent_end":93564,"ident_utf16":{"start":{"line_number":2891,"utf16_col":0},"end":{"line_number":2891,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2891,"utf16_col":0},"end":{"line_number":2891,"utf16_col":34}}},{"name":"maybe_push","fully_qualified_name":"maybe_push","kind":"function","ident_start":104009,"ident_end":104019,"extent_start":104009,"extent_end":104074,"ident_utf16":{"start":{"line_number":3183,"utf16_col":0},"end":{"line_number":3183,"utf16_col":10}},"extent_utf16":{"start":{"line_number":3183,"utf16_col":0},"end":{"line_number":3183,"utf16_col":65}}},{"name":"scan_block_for_locals","fully_qualified_name":"scan_block_for_locals","kind":"function","ident_start":104615,"ident_end":104636,"extent_start":104615,"extent_end":104669,"ident_utf16":{"start":{"line_number":3201,"utf16_col":0},"end":{"line_number":3201,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3201,"utf16_col":0},"end":{"line_number":3201,"utf16_col":54}}},{"name":"fast_scan_many_locals","fully_qualified_name":"fast_scan_many_locals","kind":"function","ident_start":106151,"ident_end":106172,"extent_start":106151,"extent_end":106209,"ident_utf16":{"start":{"line_number":3248,"utf16_col":0},"end":{"line_number":3248,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3248,"utf16_col":0},"end":{"line_number":3248,"utf16_col":58}}},{"name":"remove_unused_consts","fully_qualified_name":"remove_unused_consts","kind":"function","ident_start":107756,"ident_end":107776,"extent_start":107756,"extent_end":107818,"ident_utf16":{"start":{"line_number":3295,"utf16_col":0},"end":{"line_number":3295,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3295,"utf16_col":0},"end":{"line_number":3295,"utf16_col":62}}},{"name":"add_checks_for_loads_of_uninitialized_variables","fully_qualified_name":"add_checks_for_loads_of_uninitialized_variables","kind":"function","ident_start":110863,"ident_end":110910,"extent_start":110863,"extent_end":111056,"ident_utf16":{"start":{"line_number":3396,"utf16_col":0},"end":{"line_number":3396,"utf16_col":47}},"extent_utf16":{"start":{"line_number":3396,"utf16_col":0},"end":{"line_number":3398,"utf16_col":60}}},{"name":"mark_warm","fully_qualified_name":"mark_warm","kind":"function","ident_start":112492,"ident_end":112501,"extent_start":112492,"extent_end":112525,"ident_utf16":{"start":{"line_number":3446,"utf16_col":0},"end":{"line_number":3446,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3446,"utf16_col":0},"end":{"line_number":3446,"utf16_col":33}}},{"name":"mark_cold","fully_qualified_name":"mark_cold","kind":"function","ident_start":113353,"ident_end":113362,"extent_start":113353,"extent_end":113386,"ident_utf16":{"start":{"line_number":3477,"utf16_col":0},"end":{"line_number":3477,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3477,"utf16_col":0},"end":{"line_number":3477,"utf16_col":33}}},{"name":"push_cold_blocks_to_end","fully_qualified_name":"push_cold_blocks_to_end","kind":"function","ident_start":114704,"ident_end":114727,"extent_start":114704,"extent_end":114743,"ident_utf16":{"start":{"line_number":3527,"utf16_col":0},"end":{"line_number":3527,"utf16_col":23}},"extent_utf16":{"start":{"line_number":3527,"utf16_col":0},"end":{"line_number":3527,"utf16_col":39}}},{"name":"convert_pseudo_conditional_jumps","fully_qualified_name":"convert_pseudo_conditional_jumps","kind":"function","ident_start":117307,"ident_end":117339,"extent_start":117307,"extent_end":117355,"ident_utf16":{"start":{"line_number":3608,"utf16_col":0},"end":{"line_number":3608,"utf16_col":32}},"extent_utf16":{"start":{"line_number":3608,"utf16_col":0},"end":{"line_number":3608,"utf16_col":48}}},{"name":"convert_pseudo_ops","fully_qualified_name":"convert_pseudo_ops","kind":"function","ident_start":118730,"ident_end":118748,"extent_start":118730,"extent_end":118764,"ident_utf16":{"start":{"line_number":3643,"utf16_col":0},"end":{"line_number":3643,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3643,"utf16_col":0},"end":{"line_number":3643,"utf16_col":34}}},{"name":"is_exit_or_eval_check_without_lineno","fully_qualified_name":"is_exit_or_eval_check_without_lineno","kind":"function","ident_start":119538,"ident_end":119574,"extent_start":119538,"extent_end":119589,"ident_utf16":{"start":{"line_number":3666,"utf16_col":0},"end":{"line_number":3666,"utf16_col":36}},"extent_utf16":{"start":{"line_number":3666,"utf16_col":0},"end":{"line_number":3666,"utf16_col":51}}},{"name":"duplicate_exits_without_lineno","fully_qualified_name":"duplicate_exits_without_lineno","kind":"function","ident_start":120282,"ident_end":120312,"extent_start":120282,"extent_end":120328,"ident_utf16":{"start":{"line_number":3686,"utf16_col":0},"end":{"line_number":3686,"utf16_col":30}},"extent_utf16":{"start":{"line_number":3686,"utf16_col":0},"end":{"line_number":3686,"utf16_col":46}}},{"name":"maybe_propagate_location","fully_qualified_name":"maybe_propagate_location","kind":"function","ident_start":122416,"ident_end":122440,"extent_start":122416,"extent_end":122476,"ident_utf16":{"start":{"line_number":3740,"utf16_col":0},"end":{"line_number":3740,"utf16_col":24}},"extent_utf16":{"start":{"line_number":3740,"utf16_col":0},"end":{"line_number":3740,"utf16_col":60}}},{"name":"propagate_line_numbers","fully_qualified_name":"propagate_line_numbers","kind":"function","ident_start":122624,"ident_end":122646,"extent_start":122624,"extent_end":122670,"ident_utf16":{"start":{"line_number":3749,"utf16_col":0},"end":{"line_number":3749,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3749,"utf16_col":0},"end":{"line_number":3749,"utf16_col":46}}},{"name":"resolve_line_numbers","fully_qualified_name":"resolve_line_numbers","kind":"function","ident_start":123636,"ident_end":123656,"extent_start":123636,"extent_end":123689,"ident_utf16":{"start":{"line_number":3780,"utf16_col":0},"end":{"line_number":3780,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3780,"utf16_col":0},"end":{"line_number":3780,"utf16_col":53}}},{"name":"_PyCfg_OptimizeCodeUnit","fully_qualified_name":"_PyCfg_OptimizeCodeUnit","kind":"function","ident_start":123820,"ident_end":123843,"extent_start":123820,"extent_end":123967,"ident_utf16":{"start":{"line_number":3788,"utf16_col":0},"end":{"line_number":3788,"utf16_col":23}},"extent_utf16":{"start":{"line_number":3788,"utf16_col":0},"end":{"line_number":3789,"utf16_col":66}}},{"name":"build_cellfixedoffsets","fully_qualified_name":"build_cellfixedoffsets","kind":"function","ident_start":125701,"ident_end":125723,"extent_start":125701,"extent_end":125757,"ident_utf16":{"start":{"line_number":3841,"utf16_col":0},"end":{"line_number":3841,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3841,"utf16_col":0},"end":{"line_number":3841,"utf16_col":56}}},{"name":"insert_prefix_instructions","fully_qualified_name":"insert_prefix_instructions","kind":"function","ident_start":127020,"ident_end":127046,"extent_start":127020,"extent_end":127158,"ident_utf16":{"start":{"line_number":3891,"utf16_col":0},"end":{"line_number":3891,"utf16_col":26}},"extent_utf16":{"start":{"line_number":3891,"utf16_col":0},"end":{"line_number":3892,"utf16_col":53}}},{"name":"fix_cell_offsets","fully_qualified_name":"fix_cell_offsets","kind":"function","ident_start":128962,"ident_end":128978,"extent_start":128962,"extent_end":129051,"ident_utf16":{"start":{"line_number":3948,"utf16_col":0},"end":{"line_number":3948,"utf16_col":16}},"extent_utf16":{"start":{"line_number":3948,"utf16_col":0},"end":{"line_number":3948,"utf16_col":89}}},{"name":"prepare_localsplus","fully_qualified_name":"prepare_localsplus","kind":"function","ident_start":130497,"ident_end":130515,"extent_start":130497,"extent_end":130565,"ident_utf16":{"start":{"line_number":3993,"utf16_col":0},"end":{"line_number":3993,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3993,"utf16_col":0},"end":{"line_number":3993,"utf16_col":68}}},{"name":"_PyCfg_FromInstructionSequence","fully_qualified_name":"_PyCfg_FromInstructionSequence","kind":"function","ident_start":131711,"ident_end":131741,"extent_start":131711,"extent_end":131770,"ident_utf16":{"start":{"line_number":4027,"utf16_col":0},"end":{"line_number":4027,"utf16_col":30}},"extent_utf16":{"start":{"line_number":4027,"utf16_col":0},"end":{"line_number":4027,"utf16_col":59}}},{"name":"_PyCfg_ToInstructionSequence","fully_qualified_name":"_PyCfg_ToInstructionSequence","kind":"function","ident_start":133851,"ident_end":133879,"extent_start":133851,"extent_end":133924,"ident_utf16":{"start":{"line_number":4092,"utf16_col":0},"end":{"line_number":4092,"utf16_col":28}},"extent_utf16":{"start":{"line_number":4092,"utf16_col":0},"end":{"line_number":4092,"utf16_col":73}}},{"name":"_PyCfg_OptimizedCfgToInstructionSequence","fully_qualified_name":"_PyCfg_OptimizedCfgToInstructionSequence","kind":"function","ident_start":135231,"ident_end":135271,"extent_start":135231,"extent_end":135496,"ident_utf16":{"start":{"line_number":4130,"utf16_col":0},"end":{"line_number":4130,"utf16_col":40}},"extent_utf16":{"start":{"line_number":4130,"utf16_col":0},"end":{"line_number":4133,"utf16_col":65}}},{"name":"_PyCfg_JumpLabelsToTargets","fully_qualified_name":"_PyCfg_JumpLabelsToTargets","kind":"function","ident_start":136437,"ident_end":136463,"extent_start":136437,"extent_end":136479,"ident_utf16":{"start":{"line_number":4171,"utf16_col":0},"end":{"line_number":4171,"utf16_col":26}},"extent_utf16":{"start":{"line_number":4171,"utf16_col":0},"end":{"line_number":4171,"utf16_col":42}}},{"name":"PyCompile_OpcodeStackEffectWithJump","fully_qualified_name":"PyCompile_OpcodeStackEffectWithJump","kind":"function","ident_start":136674,"ident_end":136709,"extent_start":136674,"extent_end":136742,"ident_utf16":{"start":{"line_number":4181,"utf16_col":0},"end":{"line_number":4181,"utf16_col":35}},"extent_utf16":{"start":{"line_number":4181,"utf16_col":0},"end":{"line_number":4181,"utf16_col":68}}},{"name":"PyCompile_OpcodeStackEffect","fully_qualified_name":"PyCompile_OpcodeStackEffect","kind":"function","ident_start":136904,"ident_end":136931,"extent_start":136904,"extent_end":136954,"ident_utf16":{"start":{"line_number":4191,"utf16_col":0},"end":{"line_number":4191,"utf16_col":27}},"extent_utf16":{"start":{"line_number":4191,"utf16_col":0},"end":{"line_number":4191,"utf16_col":50}}},{"name":"cfg_to_instruction_sequence","fully_qualified_name":"cfg_to_instruction_sequence","kind":"function","ident_start":137315,"ident_end":137342,"extent_start":137315,"extent_end":137358,"ident_utf16":{"start":{"line_number":4207,"utf16_col":0},"end":{"line_number":4207,"utf16_col":27}},"extent_utf16":{"start":{"line_number":4207,"utf16_col":0},"end":{"line_number":4207,"utf16_col":43}}},{"name":"_PyCompile_OptimizeCfg","fully_qualified_name":"_PyCompile_OptimizeCfg","kind":"function","ident_start":137662,"ident_end":137684,"extent_start":137662,"extent_end":137730,"ident_utf16":{"start":{"line_number":4221,"utf16_col":0},"end":{"line_number":4221,"utf16_col":22}},"extent_utf16":{"start":{"line_number":4221,"utf16_col":0},"end":{"line_number":4221,"utf16_col":68}}}]}},"codeViewLayoutRoute":{"repo":{"id":81598961,"defaultBranch":"main","name":"cpython","ownerLogin":"python","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-10T19:23:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1525981?v=4","public":true,"private":false,"isOrgOwned":true,"isArchived":false},"currentUser":null,"uploadToken":"t3NI0XhzB9dZXOFsfSY-_EoJy5PF9aQ3UW6EcTY7te7603IT3lm7VDLALRpLkMgeisS6Y1vm9WsP9OLNWgzUtg","allShortcutsEnabled":false,"treeExpanded":true,"path":"Python/flowgraph.c","symbolsExpanded":false,"refInfo":{"name":"main","listCacheKey":"v0:1788944050.0","canEdit":false,"currentOid":"5539c2a5437acc4f4719aabac375368e0d310bd9"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"Python":{"items":[{"name":"clinic","path":"Python/clinic","contentType":"directory"},{"name":"frozen_modules","path":"Python/frozen_modules","contentType":"directory"},{"name":"Python-ast.c","path":"Python/Python-ast.c","contentType":"file"},{"name":"Python-tokenize.c","path":"Python/Python-tokenize.c","contentType":"file"},{"name":"README","path":"Python/README","contentType":"file"},{"name":"_contextvars.c","path":"Python/_contextvars.c","contentType":"file"},{"name":"_warnings.c","path":"Python/_warnings.c","contentType":"file"},{"name":"asdl.c","path":"Python/asdl.c","contentType":"file"},{"name":"asm_trampoline_aarch64.S","path":"Python/asm_trampoline_aarch64.S","contentType":"file"},{"name":"asm_trampoline_riscv64.S","path":"Python/asm_trampoline_riscv64.S","contentType":"file"},{"name":"asm_trampoline_x86_64.S","path":"Python/asm_trampoline_x86_64.S","contentType":"file"},{"name":"assemble.c","path":"Python/assemble.c","contentType":"file"},{"name":"ast.c","path":"Python/ast.c","contentType":"file"},{"name":"ast_preprocess.c","path":"Python/ast_preprocess.c","contentType":"file"},{"name":"ast_unparse.c","path":"Python/ast_unparse.c","contentType":"file"},{"name":"bltinmodule.c","path":"Python/bltinmodule.c","contentType":"file"},{"name":"bootstrap_hash.c","path":"Python/bootstrap_hash.c","contentType":"file"},{"name":"brc.c","path":"Python/brc.c","contentType":"file"},{"name":"bytecodes.c","path":"Python/bytecodes.c","contentType":"file"},{"name":"ceval.c","path":"Python/ceval.c","contentType":"file"},{"name":"ceval.h","path":"Python/ceval.h","contentType":"file"},{"name":"ceval_gil.c","path":"Python/ceval_gil.c","contentType":"file"},{"name":"ceval_macros.h","path":"Python/ceval_macros.h","contentType":"file"},{"name":"codecs.c","path":"Python/codecs.c","contentType":"file"},{"name":"codegen.c","path":"Python/codegen.c","contentType":"file"},{"name":"compile.c","path":"Python/compile.c","contentType":"file"},{"name":"condvar.h","path":"Python/condvar.h","contentType":"file"},{"name":"config_common.h","path":"Python/config_common.h","contentType":"file"},{"name":"context.c","path":"Python/context.c","contentType":"file"},{"name":"critical_section.c","path":"Python/critical_section.c","contentType":"file"},{"name":"crossinterp.c","path":"Python/crossinterp.c","contentType":"file"},{"name":"crossinterp_data_lookup.h","path":"Python/crossinterp_data_lookup.h","contentType":"file"},{"name":"crossinterp_exceptions.h","path":"Python/crossinterp_exceptions.h","contentType":"file"},{"name":"dtoa.c","path":"Python/dtoa.c","contentType":"file"},{"name":"dup2.c","path":"Python/dup2.c","contentType":"file"},{"name":"dynamic_annotations.c","path":"Python/dynamic_annotations.c","contentType":"file"},{"name":"dynload_hpux.c","path":"Python/dynload_hpux.c","contentType":"file"},{"name":"dynload_shlib.c","path":"Python/dynload_shlib.c","contentType":"file"},{"name":"dynload_stub.c","path":"Python/dynload_stub.c","contentType":"file"},{"name":"dynload_win.c","path":"Python/dynload_win.c","contentType":"file"},{"name":"emscripten_signal.c","path":"Python/emscripten_signal.c","contentType":"file"},{"name":"emscripten_syscalls.c","path":"Python/emscripten_syscalls.c","contentType":"file"},{"name":"emscripten_trampoline.c","path":"Python/emscripten_trampoline.c","contentType":"file"},{"name":"emscripten_trampoline_inner.c","path":"Python/emscripten_trampoline_inner.c","contentType":"file"},{"name":"errors.c","path":"Python/errors.c","contentType":"file"},{"name":"executor_cases.c.h","path":"Python/executor_cases.c.h","contentType":"file"},{"name":"fileutils.c","path":"Python/fileutils.c","contentType":"file"},{"name":"flowgraph.c","path":"Python/flowgraph.c","contentType":"file"},{"name":"frame.c","path":"Python/frame.c","contentType":"file"},{"name":"frozen.c","path":"Python/frozen.c","contentType":"file"},{"name":"frozenmain.c","path":"Python/frozenmain.c","contentType":"file"},{"name":"future.c","path":"Python/future.c","contentType":"file"},{"name":"gc.c","path":"Python/gc.c","contentType":"file"},{"name":"gc_free_threading.c","path":"Python/gc_free_threading.c","contentType":"file"},{"name":"gc_gil.c","path":"Python/gc_gil.c","contentType":"file"},{"name":"generated_cases.c.h","path":"Python/generated_cases.c.h","contentType":"file"},{"name":"getargs.c","path":"Python/getargs.c","contentType":"file"},{"name":"getcompiler.c","path":"Python/getcompiler.c","contentType":"file"},{"name":"getcopyright.c","path":"Python/getcopyright.c","contentType":"file"},{"name":"getopt.c","path":"Python/getopt.c","contentType":"file"},{"name":"getplatform.c","path":"Python/getplatform.c","contentType":"file"},{"name":"getversion.c","path":"Python/getversion.c","contentType":"file"},{"name":"hamt.c","path":"Python/hamt.c","contentType":"file"},{"name":"hashtable.c","path":"Python/hashtable.c","contentType":"file"},{"name":"import.c","path":"Python/import.c","contentType":"file"},{"name":"importdl.c","path":"Python/importdl.c","contentType":"file"},{"name":"index_pool.c","path":"Python/index_pool.c","contentType":"file"},{"name":"initconfig.c","path":"Python/initconfig.c","contentType":"file"},{"name":"instruction_sequence.c","path":"Python/instruction_sequence.c","contentType":"file"},{"name":"instrumentation.c","path":"Python/instrumentation.c","contentType":"file"},{"name":"interpconfig.c","path":"Python/interpconfig.c","contentType":"file"},{"name":"intrinsics.c","path":"Python/intrinsics.c","contentType":"file"},{"name":"jit.c","path":"Python/jit.c","contentType":"file"},{"name":"jit_publish.c","path":"Python/jit_publish.c","contentType":"file"},{"name":"jit_unwind.c","path":"Python/jit_unwind.c","contentType":"file"},{"name":"legacy_tracing.c","path":"Python/legacy_tracing.c","contentType":"file"},{"name":"lock.c","path":"Python/lock.c","contentType":"file"},{"name":"marshal.c","path":"Python/marshal.c","contentType":"file"},{"name":"modsupport.c","path":"Python/modsupport.c","contentType":"file"},{"name":"mysnprintf.c","path":"Python/mysnprintf.c","contentType":"file"},{"name":"mystrtoul.c","path":"Python/mystrtoul.c","contentType":"file"},{"name":"object_stack.c","path":"Python/object_stack.c","contentType":"file"},{"name":"opcode_targets.h","path":"Python/opcode_targets.h","contentType":"file"},{"name":"optimizer.c","path":"Python/optimizer.c","contentType":"file"},{"name":"optimizer_analysis.c","path":"Python/optimizer_analysis.c","contentType":"file"},{"name":"optimizer_bytecodes.c","path":"Python/optimizer_bytecodes.c","contentType":"file"},{"name":"optimizer_cases.c.h","path":"Python/optimizer_cases.c.h","contentType":"file"},{"name":"optimizer_symbols.c","path":"Python/optimizer_symbols.c","contentType":"file"},{"name":"parking_lot.c","path":"Python/parking_lot.c","contentType":"file"},{"name":"pathconfig.c","path":"Python/pathconfig.c","contentType":"file"},{"name":"perf_jit_trampoline.c","path":"Python/perf_jit_trampoline.c","contentType":"file"},{"name":"perf_trampoline.c","path":"Python/perf_trampoline.c","contentType":"file"},{"name":"preconfig.c","path":"Python/preconfig.c","contentType":"file"},{"name":"pyarena.c","path":"Python/pyarena.c","contentType":"file"},{"name":"pyctype.c","path":"Python/pyctype.c","contentType":"file"},{"name":"pyfpe.c","path":"Python/pyfpe.c","contentType":"file"},{"name":"pyhash.c","path":"Python/pyhash.c","contentType":"file"},{"name":"pylifecycle.c","path":"Python/pylifecycle.c","contentType":"file"},{"name":"pymath.c","path":"Python/pymath.c","contentType":"file"},{"name":"pystate.c","path":"Python/pystate.c","contentType":"file"},{"name":"pystats.c","path":"Python/pystats.c","contentType":"file"},{"name":"pystrcmp.c","path":"Python/pystrcmp.c","contentType":"file"},{"name":"pystrhex.c","path":"Python/pystrhex.c","contentType":"file"},{"name":"pystrtod.c","path":"Python/pystrtod.c","contentType":"file"},{"name":"pythonrun.c","path":"Python/pythonrun.c","contentType":"file"},{"name":"pytime.c","path":"Python/pytime.c","contentType":"file"},{"name":"qsbr.c","path":"Python/qsbr.c","contentType":"file"},{"name":"record_functions.c.h","path":"Python/record_functions.c.h","contentType":"file"},{"name":"remote_debug.h","path":"Python/remote_debug.h","contentType":"file"},{"name":"remote_debugging.c","path":"Python/remote_debugging.c","contentType":"file"},{"name":"slots.c","path":"Python/slots.c","contentType":"file"},{"name":"slots.toml","path":"Python/slots.toml","contentType":"file"},{"name":"slots_generated.c","path":"Python/slots_generated.c","contentType":"file"},{"name":"specialize.c","path":"Python/specialize.c","contentType":"file"},{"name":"stackrefs.c","path":"Python/stackrefs.c","contentType":"file"},{"name":"stdlib_module_names.h","path":"Python/stdlib_module_names.h","contentType":"file"},{"name":"structmember.c","path":"Python/structmember.c","contentType":"file"},{"name":"suggestions.c","path":"Python/suggestions.c","contentType":"file"},{"name":"symtable.c","path":"Python/symtable.c","contentType":"file"},{"name":"sysmodule.c","path":"Python/sysmodule.c","contentType":"file"},{"name":"thread.c","path":"Python/thread.c","contentType":"file"},{"name":"thread_nt.h","path":"Python/thread_nt.h","contentType":"file"},{"name":"thread_pthread.h","path":"Python/thread_pthread.h","contentType":"file"},{"name":"thread_pthread_stubs.h","path":"Python/thread_pthread_stubs.h","contentType":"file"},{"name":"tier2_engine.md","path":"Python/tier2_engine.md","contentType":"file"},{"name":"traceback.c","path":"Python/traceback.c","contentType":"file"},{"name":"tracemalloc.c","path":"Python/tracemalloc.c","contentType":"file"},{"name":"typecache.c","path":"Python/typecache.c","contentType":"file"},{"name":"uniqueid.c","path":"Python/uniqueid.c","contentType":"file"},{"name":"vm-state.md","path":"Python/vm-state.md","contentType":"file"}],"totalCount":130},"":{"items":[{"name":".azure-pipelines","path":".azure-pipelines","contentType":"directory"},{"name":".claude","path":".claude","contentType":"directory"},{"name":".devcontainer","path":".devcontainer","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":".well-known","path":".well-known","contentType":"directory"},{"name":"Doc","path":"Doc","contentType":"directory"},{"name":"Grammar","path":"Grammar","contentType":"directory"},{"name":"Include","path":"Include","contentType":"directory"},{"name":"InternalDocs","path":"InternalDocs","contentType":"directory"},{"name":"Lib","path":"Lib","contentType":"directory"},{"name":"Mac","path":"Mac","contentType":"directory"},{"name":"Misc","path":"Misc","contentType":"directory"},{"name":"Modules","path":"Modules","contentType":"directory"},{"name":"Objects","path":"Objects","contentType":"directory"},{"name":"PC","path":"PC","contentType":"directory"},{"name":"PCbuild","path":"PCbuild","contentType":"directory"},{"name":"Parser","path":"Parser","contentType":"directory"},{"name":"Platforms","path":"Platforms","contentType":"directory"},{"name":"Programs","path":"Programs","contentType":"directory"},{"name":"Python","path":"Python","contentType":"directory"},{"name":"Tools","path":"Tools","contentType":"directory"},{"name":".coveragerc","path":".coveragerc","contentType":"file"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","contentType":"file"},{"name":".readthedocs.yml","path":".readthedocs.yml","contentType":"file"},{"name":".ruff.toml","path":".ruff.toml","contentType":"file"},{"name":"AGENTS.md","path":"AGENTS.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile.pre.in","path":"Makefile.pre.in","contentType":"file"},{"name":"README.rst","path":"README.rst","contentType":"file"},{"name":"aclocal.m4","path":"aclocal.m4","contentType":"file"},{"name":"config.guess","path":"config.guess","contentType":"file"},{"name":"config.sub","path":"config.sub","contentType":"file"},{"name":"configure","path":"configure","contentType":"file"},{"name":"configure.ac","path":"configure.ac","contentType":"file"},{"name":"install-sh","path":"install-sh","contentType":"file"},{"name":"pyconfig.h.in","path":"pyconfig.h.in","contentType":"file"}],"totalCount":40}},"fileTreeProcessingTime":70.77928999999999,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"main","listCacheKey":"v0:1788944050.0","canEdit":false,"refType":"branch","currentOid":"5539c2a5437acc4f4719aabac375368e0d310bd9","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"Python/flowgraph.c","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/python/cpython/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"flowgraph.c","displayUrl":"https://github.com/python/cpython/blob/main/Python/flowgraph.c?raw=true","headerInfo":{"blobSize":"135 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"a5138d1","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fblob%2Fmain%2FPython%2Fflowgraph.c","isCSV":false,"isRichtext":false,"lineInfo":{"truncatedLoc":"4261","truncatedSloc":"3914"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/python/cpython/blob/main/Python/flowgraph.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/python/cpython/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/python/cpython/raw/refs/heads/main/Python/flowgraph.c","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/python/.github/blob/f36091505d63b7007b2234d7545c094d2c85a8f5/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":null,"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["#include \"Python.h\"","#include \"opcode.h\"","#include \"pycore_c_array.h\"       // _Py_CArray_EnsureCapacity","#include \"pycore_flowgraph.h\"","#include \"pycore_compile.h\"","#include \"pycore_intrinsics.h\"","#include \"pycore_pymem.h\"         // _PyMem_IsPtrFreed()","#include \"pycore_long.h\"          // _PY_IS_SMALL_INT()","#include \"pycore_hashtable.h\"     // _Py_hashtable_t","","#include \"pycore_opcode_utils.h\"","#include \"pycore_opcode_metadata.h\" // OPCODE_HAS_ARG, etc","#include \"pycore_pystate.h\"         // _PyInterpreterState_GET()","#include \"pycore_stackref.h\"        // PyStackRef_AsPyObjectBorrow()","","#include \u003cstdbool.h\u003e","","","#undef SUCCESS","#undef ERROR","#define SUCCESS 0","#define ERROR -1","","#define RETURN_IF_ERROR(X)  \\","    if ((X) == -1) {        \\","        return ERROR;       \\","    }","","#define DEFAULT_BLOCK_SIZE 16","","typedef _Py_SourceLocation location;","typedef _PyJumpTargetLabel jump_target_label;","","typedef struct _PyCfgInstruction {","    int i_opcode;","    int i_oparg;","    _Py_SourceLocation i_loc;","    struct _PyCfgBasicblock *i_target; /* target block (if jump instruction) */","    struct _PyCfgBasicblock *i_except; /* target block when exception is raised */","} cfg_instr;","","typedef struct _PyCfgBasicblock {","    /* Each basicblock in a compilation unit is linked via b_list in the","       reverse order that blocks are allocated.  b_list points to the","       previously allocated block, not to be confused with b_next, which is","       next by control flow. */","    struct _PyCfgBasicblock *b_list;","    /* The label of this block if it is a jump target, -1 otherwise */","    _PyJumpTargetLabel b_label;","    /* Exception stack at start of block, used by assembler to create the exception handling table */","    struct _PyCfgExceptStack *b_exceptstack;","    /* pointer to an array of instructions, initially NULL */","    cfg_instr *b_instr;","    /* If b_next is non-NULL, it is a pointer to the next","       block reached by normal control flow. */","    struct _PyCfgBasicblock *b_next;","    /* number of instructions used */","    int b_iused;","    /* length of instruction array (b_instr) */","    int b_ialloc;","    /* Used by add_checks_for_loads_of_unknown_variables */","    uint64_t b_unsafe_locals_mask;","    /* Number of predecessors that a block has. */","    int b_predecessors;","    /* depth of stack upon entry of block, computed by stackdepth() */","    int b_startdepth;","    /* Basic block is an exception handler that preserves lasti */","    unsigned b_preserve_lasti : 1;","    /* Used by compiler passes to mark whether they have visited a basic block. */","    unsigned b_visited : 1;","    /* b_except_handler is used by the cold-detection algorithm to mark exception targets */","    unsigned b_except_handler : 1;","    /* b_cold is true if this block is not perf critical (like an exception handler) */","    unsigned b_cold : 1;","    /* b_warm is used by the cold-detection algorithm to mark blocks which are definitely not cold */","    unsigned b_warm : 1;","} basicblock;","","","struct _PyCfgBuilder {","    /* The entryblock, at which control flow begins. All blocks of the","       CFG are reachable through the b_next links */","    struct _PyCfgBasicblock *g_entryblock;","    /* Pointer to the most recently allocated block.  By following","       b_list links, you can reach all allocated blocks. */","    struct _PyCfgBasicblock *g_block_list;","    /* pointer to the block currently being constructed */","    struct _PyCfgBasicblock *g_curblock;","    /* label for the next instruction to be placed */","    _PyJumpTargetLabel g_current_label;","};","","typedef struct _PyCfgBuilder cfg_builder;","","#define SAME_LABEL(L1, L2) ((L1).id == (L2).id)","#define IS_LABEL(L) (!SAME_LABEL((L), (NO_LABEL)))","","#define LOCATION(LNO, END_LNO, COL, END_COL) \\","    ((const _Py_SourceLocation){(LNO), (END_LNO), (COL), (END_COL)})","","static inline int","is_block_push(cfg_instr *i)","{","    assert(OPCODE_HAS_ARG(i-\u003ei_opcode) || !IS_BLOCK_PUSH_OPCODE(i-\u003ei_opcode));","    return IS_BLOCK_PUSH_OPCODE(i-\u003ei_opcode);","}","","static inline int","is_jump(cfg_instr *i)","{","    return OPCODE_HAS_JUMP(i-\u003ei_opcode);","}","","/* One arg*/","#define INSTR_SET_OP1(I, OP, ARG) \\","    do { \\","        assert(OPCODE_HAS_ARG(OP)); \\","        cfg_instr *_instr__ptr_ = (I); \\","        _instr__ptr_-\u003ei_opcode = (OP); \\","        _instr__ptr_-\u003ei_oparg = (ARG); \\","    } while (0);","","/* No args*/","#define INSTR_SET_OP0(I, OP) \\","    do { \\","        assert(!OPCODE_HAS_ARG(OP)); \\","        cfg_instr *_instr__ptr_ = (I); \\","        _instr__ptr_-\u003ei_opcode = (OP); \\","        _instr__ptr_-\u003ei_oparg = 0; \\","    } while (0);","","#define INSTR_SET_LOC(I, LOC) \\","    do { \\","        cfg_instr *_instr__ptr_ = (I); \\","        _instr__ptr_-\u003ei_loc = (LOC); \\","    } while (0);","","/***** Blocks *****/","","/* Returns the offset of the next instruction in the current block's","   b_instr array.  Resizes the b_instr as necessary.","   Returns -1 on failure.","*/","static int","basicblock_next_instr(basicblock *b)","{","    assert(b != NULL);","    _Py_c_array_t array = {","        .array = (void*)b-\u003eb_instr,","        .allocated_entries = b-\u003eb_ialloc,","        .item_size = sizeof(cfg_instr),","        .initial_num_entries = DEFAULT_BLOCK_SIZE,","    };","","    RETURN_IF_ERROR(_Py_CArray_EnsureCapacity(\u0026array, b-\u003eb_iused + 1));","    b-\u003eb_instr = array.array;","    b-\u003eb_ialloc = array.allocated_entries;","    return b-\u003eb_iused++;","}","","static cfg_instr *","basicblock_last_instr(const basicblock *b) {","    assert(b-\u003eb_iused \u003e= 0);","    if (b-\u003eb_iused \u003e 0) {","        assert(b-\u003eb_instr != NULL);","        return \u0026b-\u003eb_instr[b-\u003eb_iused - 1];","    }","    return NULL;","}","","/* Allocate a new block and return a pointer to it.","   Returns NULL on error.","*/","","static basicblock *","cfg_builder_new_block(cfg_builder *g)","{","    basicblock *b = (basicblock *)PyMem_Calloc(1, sizeof(basicblock));","    if (b == NULL) {","        PyErr_NoMemory();","        return NULL;","    }","    /* Extend the singly linked list of blocks with new block. */","    b-\u003eb_list = g-\u003eg_block_list;","    g-\u003eg_block_list = b;","    b-\u003eb_label = NO_LABEL;","    return b;","}","","static int","basicblock_addop(basicblock *b, int opcode, int oparg, location loc)","{","    assert(IS_WITHIN_OPCODE_RANGE(opcode));","    assert(!IS_ASSEMBLER_OPCODE(opcode));","    assert(OPCODE_HAS_ARG(opcode) || HAS_TARGET(opcode) || oparg == 0);","    assert(0 \u003c= oparg \u0026\u0026 oparg \u003c (1 \u003c\u003c 30));","","    int off = basicblock_next_instr(b);","    if (off \u003c 0) {","        return ERROR;","    }","    cfg_instr *i = \u0026b-\u003eb_instr[off];","    i-\u003ei_opcode = opcode;","    i-\u003ei_oparg = oparg;","    i-\u003ei_loc = loc;","    // memory is already zero initialized","    assert(i-\u003ei_target == NULL);","    assert(i-\u003ei_except == NULL);","","    return SUCCESS;","}","","static int","basicblock_add_jump(basicblock *b, int opcode, basicblock *target, location loc)","{","    cfg_instr *last = basicblock_last_instr(b);","    if (last \u0026\u0026 is_jump(last)) {","        return ERROR;","    }","","    RETURN_IF_ERROR(","        basicblock_addop(b, opcode, target-\u003eb_label.id, loc));","    last = basicblock_last_instr(b);","    assert(last \u0026\u0026 last-\u003ei_opcode == opcode);","    last-\u003ei_target = target;","    return SUCCESS;","}","","static inline int","basicblock_append_instructions(basicblock *to, basicblock *from)","{","    for (int i = 0; i \u003c from-\u003eb_iused; i++) {","        int n = basicblock_next_instr(to);","        if (n \u003c 0) {","            return ERROR;","        }","        to-\u003eb_instr[n] = from-\u003eb_instr[i];","    }","    return SUCCESS;","}","","static inline int","basicblock_nofallthrough(const basicblock *b) {","    cfg_instr *last = basicblock_last_instr(b);","    return (last \u0026\u0026","            (IS_SCOPE_EXIT_OPCODE(last-\u003ei_opcode) ||","             IS_UNCONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode)));","}","","#define BB_NO_FALLTHROUGH(B) (basicblock_nofallthrough(B))","#define BB_HAS_FALLTHROUGH(B) (!basicblock_nofallthrough(B))","","static basicblock *","copy_basicblock(cfg_builder *g, basicblock *block)","{","    /* Cannot copy a block if it has a fallthrough, since","     * a block can only have one fallthrough predecessor.","     */","    assert(BB_NO_FALLTHROUGH(block));","    basicblock *result = cfg_builder_new_block(g);","    if (result == NULL) {","        return NULL;","    }","    if (basicblock_append_instructions(result, block) \u003c 0) {","        return NULL;","    }","    return result;","}","","static int","basicblock_insert_instruction(basicblock *block, int pos, cfg_instr *instr) {","    RETURN_IF_ERROR(basicblock_next_instr(block));","    for (int i = block-\u003eb_iused - 1; i \u003e pos; i--) {","        block-\u003eb_instr[i] = block-\u003eb_instr[i-1];","    }","    block-\u003eb_instr[pos] = *instr;","    return SUCCESS;","}","","/* For debugging purposes only */","#if 0","static void","dump_instr(cfg_instr *i)","{","    const char *jump = is_jump(i) ? \"jump \" : \"\";","","    char arg[128];","","    *arg = '\\0';","    if (OPCODE_HAS_ARG(i-\u003ei_opcode)) {","        sprintf(arg, \"arg: %d \", i-\u003ei_oparg);","    }","    if (HAS_TARGET(i-\u003ei_opcode)) {","        sprintf(arg, \"target: %p [%d] \", i-\u003ei_target, i-\u003ei_oparg);","    }","    fprintf(stderr, \"line: %d, %s (%d)  %s%s\\n\",","                    i-\u003ei_loc.lineno, _PyOpcode_OpName[i-\u003ei_opcode], i-\u003ei_opcode, arg, jump);","}","","static inline int","basicblock_returns(const basicblock *b) {","    cfg_instr *last = basicblock_last_instr(b);","    return last \u0026\u0026 IS_RETURN_OPCODE(last-\u003ei_opcode);","}","","static void","dump_basicblock(const basicblock *b, bool highlight)","{","    const char *b_return = basicblock_returns(b) ? \"return \" : \"\";","    if (highlight) {","        fprintf(stderr, \"\u003e\u003e\u003e \");","    }","    fprintf(stderr, \"%d: [EH=%d CLD=%d WRM=%d NO_FT=%d %p] used: %d, depth: %d, preds: %d %s\\n\",","        b-\u003eb_label.id, b-\u003eb_except_handler, b-\u003eb_cold, b-\u003eb_warm, BB_NO_FALLTHROUGH(b), b, b-\u003eb_iused,","        b-\u003eb_startdepth, b-\u003eb_predecessors, b_return);","    int depth = b-\u003eb_startdepth;","    if (b-\u003eb_instr) {","        int i;","        for (i = 0; i \u003c b-\u003eb_iused; i++) {","            fprintf(stderr, \"  [%02d] depth: %d \", i, depth);","            dump_instr(b-\u003eb_instr + i);","","            int popped = _PyOpcode_num_popped(b-\u003eb_instr[i].i_opcode, b-\u003eb_instr[i].i_oparg);","            int pushed = _PyOpcode_num_pushed(b-\u003eb_instr[i].i_opcode, b-\u003eb_instr[i].i_oparg);","            depth += (pushed - popped);","        }","    }","}","","void","_PyCfgBuilder_DumpGraph(const basicblock *entryblock, const basicblock *mark)","{","    for (const basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        dump_basicblock(b, b == mark);","    }","}","","#endif","","","/***** CFG construction and modification *****/","","static basicblock *","cfg_builder_use_next_block(cfg_builder *g, basicblock *block)","{","    assert(block != NULL);","    g-\u003eg_curblock-\u003eb_next = block;","    g-\u003eg_curblock = block;","    return block;","}","","static inline int","basicblock_exits_scope(const basicblock *b) {","    cfg_instr *last = basicblock_last_instr(b);","    return last \u0026\u0026 IS_SCOPE_EXIT_OPCODE(last-\u003ei_opcode);","}","","static inline int","basicblock_has_eval_break(const basicblock *b) {","    for (int i = 0; i \u003c b-\u003eb_iused; i++) {","        if (OPCODE_HAS_EVAL_BREAK(b-\u003eb_instr[i].i_opcode)) {","            return true;","        }","    }","    return false;","}","","static bool","cfg_builder_current_block_is_terminated(cfg_builder *g)","{","    cfg_instr *last = basicblock_last_instr(g-\u003eg_curblock);","    if (last \u0026\u0026 IS_TERMINATOR_OPCODE(last-\u003ei_opcode)) {","        return true;","    }","    if (IS_LABEL(g-\u003eg_current_label)) {","        if (last || IS_LABEL(g-\u003eg_curblock-\u003eb_label)) {","            return true;","        }","        else {","            /* current block is empty, label it */","            g-\u003eg_curblock-\u003eb_label = g-\u003eg_current_label;","            g-\u003eg_current_label = NO_LABEL;","        }","    }","    return false;","}","","static int","cfg_builder_maybe_start_new_block(cfg_builder *g)","{","    if (cfg_builder_current_block_is_terminated(g)) {","        basicblock *b = cfg_builder_new_block(g);","        if (b == NULL) {","            return ERROR;","        }","        b-\u003eb_label = g-\u003eg_current_label;","        g-\u003eg_current_label = NO_LABEL;","        cfg_builder_use_next_block(g, b);","    }","    return SUCCESS;","}","","#ifndef NDEBUG","static bool","cfg_builder_check(cfg_builder *g)","{","    for (basicblock *block = g-\u003eg_block_list; block != NULL; block = block-\u003eb_list) {","        assert(!_PyMem_IsPtrFreed(block));","        if (block-\u003eb_instr != NULL) {","            assert(block-\u003eb_ialloc \u003e 0);","            assert(block-\u003eb_iused \u003e= 0);","            assert(block-\u003eb_ialloc \u003e= block-\u003eb_iused);","        }","        else {","            assert (block-\u003eb_iused == 0);","            assert (block-\u003eb_ialloc == 0);","        }","    }","    return true;","}","#endif","","static int","init_cfg_builder(cfg_builder *g)","{","    g-\u003eg_block_list = NULL;","    basicblock *block = cfg_builder_new_block(g);","    if (block == NULL) {","        return ERROR;","    }","    g-\u003eg_curblock = g-\u003eg_entryblock = block;","    g-\u003eg_current_label = NO_LABEL;","    return SUCCESS;","}","","cfg_builder *","_PyCfgBuilder_New(void)","{","    cfg_builder *g = PyMem_Malloc(sizeof(cfg_builder));","    if (g == NULL) {","        PyErr_NoMemory();","        return NULL;","    }","    memset(g, 0, sizeof(cfg_builder));","    if (init_cfg_builder(g) \u003c 0) {","        PyMem_Free(g);","        return NULL;","    }","    return g;","}","","void","_PyCfgBuilder_Free(cfg_builder *g)","{","    if (g == NULL) {","        return;","    }","    assert(cfg_builder_check(g));","    basicblock *b = g-\u003eg_block_list;","    while (b != NULL) {","        if (b-\u003eb_instr) {","            PyMem_Free((void *)b-\u003eb_instr);","        }","        basicblock *next = b-\u003eb_list;","        PyMem_Free((void *)b);","        b = next;","    }","    PyMem_Free(g);","}","","int","_PyCfgBuilder_CheckSize(cfg_builder *g)","{","    int nblocks = 0;","    for (basicblock *b = g-\u003eg_block_list; b != NULL; b = b-\u003eb_list) {","        nblocks++;","    }","    if ((size_t)nblocks \u003e SIZE_MAX / sizeof(basicblock *)) {","        PyErr_NoMemory();","        return ERROR;","    }","    return SUCCESS;","}","","int","_PyCfgBuilder_UseLabel(cfg_builder *g, jump_target_label lbl)","{","    g-\u003eg_current_label = lbl;","    return cfg_builder_maybe_start_new_block(g);","}","","int","_PyCfgBuilder_Addop(cfg_builder *g, int opcode, int oparg, location loc)","{","    RETURN_IF_ERROR(cfg_builder_maybe_start_new_block(g));","    return basicblock_addop(g-\u003eg_curblock, opcode, oparg, loc);","}","","","static basicblock *","next_nonempty_block(basicblock *b)","{","    while (b \u0026\u0026 b-\u003eb_iused == 0) {","        b = b-\u003eb_next;","    }","    return b;","}","","/***** debugging helpers *****/","","#ifndef NDEBUG","static int remove_redundant_nops(cfg_builder *g);","","static bool","no_redundant_nops(cfg_builder *g) {","    if (remove_redundant_nops(g) != 0) {","        return false;","    }","    return true;","}","","static bool","no_redundant_jumps(cfg_builder *g) {","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        cfg_instr *last = basicblock_last_instr(b);","        if (last != NULL) {","            if (IS_UNCONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode)) {","                basicblock *next = next_nonempty_block(b-\u003eb_next);","                basicblock *jump_target = next_nonempty_block(last-\u003ei_target);","                if (jump_target == next) {","                    assert(next);","                    if (last-\u003ei_loc.lineno == next-\u003eb_instr[0].i_loc.lineno) {","                        assert(0);","                        return false;","                    }","                }","            }","        }","    }","    return true;","}","#endif","","/***** CFG preprocessing (jump targets and exceptions) *****/","","static int","normalize_jumps_in_block(cfg_builder *g, basicblock *b) {","    cfg_instr *last = basicblock_last_instr(b);","    if (last == NULL || !IS_CONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode)) {","        return SUCCESS;","    }","    assert(!IS_ASSEMBLER_OPCODE(last-\u003ei_opcode));","","    bool is_forward = last-\u003ei_target-\u003eb_visited == 0;","    if (is_forward) {","        RETURN_IF_ERROR(","            basicblock_addop(b, NOT_TAKEN, 0, last-\u003ei_loc));","        return SUCCESS;","    }","","    int reversed_opcode = 0;","    switch(last-\u003ei_opcode) {","        case POP_JUMP_IF_NOT_NONE:","            reversed_opcode = POP_JUMP_IF_NONE;","            break;","        case POP_JUMP_IF_NONE:","            reversed_opcode = POP_JUMP_IF_NOT_NONE;","            break;","        case POP_JUMP_IF_FALSE:","            reversed_opcode = POP_JUMP_IF_TRUE;","            break;","        case POP_JUMP_IF_TRUE:","            reversed_opcode = POP_JUMP_IF_FALSE;","            break;","    }","    /* transform 'conditional jump T' to","     * 'reversed_jump b_next' followed by 'jump_backwards T'","     */","","    basicblock *target = last-\u003ei_target;","    basicblock *backwards_jump = cfg_builder_new_block(g);","    if (backwards_jump == NULL) {","        return ERROR;","    }","    RETURN_IF_ERROR(","        basicblock_addop(backwards_jump, NOT_TAKEN, 0, last-\u003ei_loc));","    RETURN_IF_ERROR(","        basicblock_add_jump(backwards_jump, JUMP, target, last-\u003ei_loc));","    backwards_jump-\u003eb_startdepth = target-\u003eb_startdepth;","    last-\u003ei_opcode = reversed_opcode;","    last-\u003ei_target = b-\u003eb_next;","","    backwards_jump-\u003eb_cold = b-\u003eb_cold;","    backwards_jump-\u003eb_next = b-\u003eb_next;","    b-\u003eb_next = backwards_jump;","    return SUCCESS;","}","","","static int","normalize_jumps(cfg_builder *g)","{","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_visited = 0;","    }","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_visited = 1;","        RETURN_IF_ERROR(normalize_jumps_in_block(g, b));","    }","    return SUCCESS;","}","","static int","check_cfg(cfg_builder *g) {","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        /* Raise SystemError if jump or exit is not last instruction in the block. */","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            int opcode = b-\u003eb_instr[i].i_opcode;","            assert(!IS_ASSEMBLER_OPCODE(opcode));","            if (IS_TERMINATOR_OPCODE(opcode)) {","                if (i != b-\u003eb_iused - 1) {","                    PyErr_SetString(PyExc_SystemError, \"malformed control flow graph.\");","                    return ERROR;","                }","            }","        }","    }","    return SUCCESS;","}","","static int","get_max_label(basicblock *entryblock)","{","    int lbl = -1;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        if (b-\u003eb_label.id \u003e lbl) {","            lbl = b-\u003eb_label.id;","        }","    }","    return lbl;","}","","/* Calculate the actual jump target from the target_label */","static int","translate_jump_labels_to_targets(basicblock *entryblock)","{","    int max_label = get_max_label(entryblock);","    size_t mapsize = sizeof(basicblock *) * (max_label + 1);","    basicblock **label2block = (basicblock **)PyMem_Malloc(mapsize);","    if (!label2block) {","        PyErr_NoMemory();","        return ERROR;","    }","    memset(label2block, 0, mapsize);","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        if (b-\u003eb_label.id \u003e= 0) {","            label2block[b-\u003eb_label.id] = b;","        }","    }","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            assert(instr-\u003ei_target == NULL);","            if (HAS_TARGET(instr-\u003ei_opcode)) {","                int lbl = instr-\u003ei_oparg;","                assert(lbl \u003e= 0 \u0026\u0026 lbl \u003c= max_label);","                instr-\u003ei_target = label2block[lbl];","                assert(instr-\u003ei_target != NULL);","                assert(instr-\u003ei_target-\u003eb_label.id == lbl);","            }","        }","    }","    PyMem_Free(label2block);","    return SUCCESS;","}","","static int","mark_except_handlers(basicblock *entryblock) {","#ifndef NDEBUG","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        assert(!b-\u003eb_except_handler);","    }","#endif","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i=0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_block_push(instr)) {","                instr-\u003ei_target-\u003eb_except_handler = 1;","            }","        }","    }","    return SUCCESS;","}","","","struct _PyCfgExceptStack {","    basicblock *handlers[CO_MAXBLOCKS+2];","    int depth;","};","","","static basicblock *","push_except_block(struct _PyCfgExceptStack *stack, cfg_instr *setup) {","    assert(is_block_push(setup));","    int opcode = setup-\u003ei_opcode;","    basicblock * target = setup-\u003ei_target;","    if (opcode == SETUP_WITH || opcode == SETUP_CLEANUP) {","        target-\u003eb_preserve_lasti = 1;","    }","    assert(stack-\u003edepth \u003c= CO_MAXBLOCKS);","    stack-\u003ehandlers[++stack-\u003edepth] = target;","    return target;","}","","static basicblock *","pop_except_block(struct _PyCfgExceptStack *stack) {","    assert(stack-\u003edepth \u003e 0);","    return stack-\u003ehandlers[--stack-\u003edepth];","}","","static basicblock *","except_stack_top(struct _PyCfgExceptStack *stack) {","    return stack-\u003ehandlers[stack-\u003edepth];","}","","static struct _PyCfgExceptStack *","make_except_stack(void) {","    struct _PyCfgExceptStack *new = PyMem_Malloc(sizeof(struct _PyCfgExceptStack));","    if (new == NULL) {","        PyErr_NoMemory();","        return NULL;","    }","    new-\u003edepth = 0;","    new-\u003ehandlers[0] = NULL;","    return new;","}","","static struct _PyCfgExceptStack *","copy_except_stack(struct _PyCfgExceptStack *stack) {","    struct _PyCfgExceptStack *copy = PyMem_Malloc(sizeof(struct _PyCfgExceptStack));","    if (copy == NULL) {","        PyErr_NoMemory();","        return NULL;","    }","    memcpy(copy, stack, sizeof(struct _PyCfgExceptStack));","    return copy;","}","","static basicblock**","make_cfg_traversal_stack(basicblock *entryblock) {","    int nblocks = 0;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_visited = 0;","        nblocks++;","    }","    basicblock **stack = (basicblock **)PyMem_Malloc(sizeof(basicblock *) * nblocks);","    if (!stack) {","        PyErr_NoMemory();","    }","    return stack;","}","","/* Compute the stack effects of opcode with argument oparg.","","   Some opcodes have different stack effect when jump to the target and","   when not jump. The 'jump' parameter specifies the case:","","   * 0 -- when not jump","   * 1 -- when jump","   * -1 -- maximal"," */","typedef struct {","    /* The stack effect of the instruction. */","    int net;","} stack_effects;","","Py_LOCAL(int)","get_stack_effects(int opcode, int oparg, int jump, stack_effects *effects)","{","    if (opcode \u003c 0) {","        return -1;","    }","    if ((opcode \u003c= MAX_REAL_OPCODE) \u0026\u0026 (_PyOpcode_Deopt[opcode] != opcode)) {","        // Specialized instructions are not supported.","        return -1;","    }","    int popped = _PyOpcode_num_popped(opcode, oparg);","    int pushed = _PyOpcode_num_pushed(opcode, oparg);","    if (popped \u003c 0 || pushed \u003c 0) {","        return -1;","    }","    if (IS_BLOCK_PUSH_OPCODE(opcode) \u0026\u0026 !jump) {","        effects-\u003enet = 0;","        return 0;","    }","    effects-\u003enet = pushed - popped;","    return 0;","}","","Py_LOCAL_INLINE(int)","stackdepth_push(basicblock ***sp, basicblock *b, int depth)","{","    if (!(b-\u003eb_startdepth \u003c 0 || b-\u003eb_startdepth == depth)) {","        PyErr_Format(PyExc_ValueError, \"Invalid CFG, inconsistent stackdepth\");","        return ERROR;","    }","    if (b-\u003eb_startdepth \u003c depth \u0026\u0026 b-\u003eb_startdepth \u003c 100) {","        assert(b-\u003eb_startdepth \u003c 0);","        b-\u003eb_startdepth = depth;","        *(*sp)++ = b;","    }","    return SUCCESS;","}","","/* Find the flow path that needs the largest stack.  We assume that"," * cycles in the flow graph have no net effect on the stack depth."," */","static int","calculate_stackdepth(cfg_builder *g)","{","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_startdepth = INT_MIN;","    }","    basicblock **stack = make_cfg_traversal_stack(entryblock);","    if (!stack) {","        return ERROR;","    }","","","    int stackdepth = -1;","    int maxdepth = 0;","    basicblock **sp = stack;","    if (stackdepth_push(\u0026sp, entryblock, 0) \u003c 0) {","        goto error;","    }","    while (sp != stack) {","        basicblock *b = *--sp;","        int depth = b-\u003eb_startdepth;","        assert(depth \u003e= 0);","        basicblock *next = b-\u003eb_next;","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            stack_effects effects;","            if (get_stack_effects(instr-\u003ei_opcode, instr-\u003ei_oparg, 0, \u0026effects) \u003c 0) {","                PyErr_Format(PyExc_SystemError,","                             \"Invalid stack effect for opcode=%d, arg=%i\",","                             instr-\u003ei_opcode, instr-\u003ei_oparg);","                goto error;","            }","            int new_depth = depth + effects.net;","            if (new_depth \u003c 0) {","                PyErr_Format(PyExc_ValueError,","                             \"Invalid CFG, stack underflow at line %d\", instr-\u003ei_loc.lineno);","                goto error;","            }","            maxdepth = Py_MAX(maxdepth, depth);","            if (HAS_TARGET(instr-\u003ei_opcode) \u0026\u0026 instr-\u003ei_opcode != END_ASYNC_FOR) {","                if (get_stack_effects(instr-\u003ei_opcode, instr-\u003ei_oparg, 1, \u0026effects) \u003c 0) {","                    PyErr_Format(PyExc_SystemError,","                                 \"Invalid stack effect for opcode=%d, arg=%i\",","                                 instr-\u003ei_opcode, instr-\u003ei_oparg);","                    goto error;","                }","                int target_depth = depth + effects.net;","                assert(target_depth \u003e= 0); /* invalid code or bug in stackdepth() */","                maxdepth = Py_MAX(maxdepth, depth);","                if (stackdepth_push(\u0026sp, instr-\u003ei_target, target_depth) \u003c 0) {","                    goto error;","                }","            }","            depth = new_depth;","            assert(!IS_ASSEMBLER_OPCODE(instr-\u003ei_opcode));","            if (IS_UNCONDITIONAL_JUMP_OPCODE(instr-\u003ei_opcode) ||","                IS_SCOPE_EXIT_OPCODE(instr-\u003ei_opcode))","            {","                /* remaining code is dead */","                next = NULL;","                break;","            }","        }","        if (next != NULL) {","            assert(BB_HAS_FALLTHROUGH(b));","            if (stackdepth_push(\u0026sp, next, depth) \u003c 0) {","                goto error;","            }","        }","    }","    stackdepth = maxdepth;","error:","    PyMem_Free(stack);","    return stackdepth;","}","","static int","label_exception_targets(basicblock *entryblock) {","    basicblock **todo_stack = make_cfg_traversal_stack(entryblock);","    if (todo_stack == NULL) {","        return ERROR;","    }","    struct _PyCfgExceptStack *except_stack = make_except_stack();","    if (except_stack == NULL) {","        PyMem_Free(todo_stack);","        PyErr_NoMemory();","        return ERROR;","    }","    except_stack-\u003edepth = 0;","    todo_stack[0] = entryblock;","    entryblock-\u003eb_visited = 1;","    entryblock-\u003eb_exceptstack = except_stack;","    basicblock **todo = \u0026todo_stack[1];","    basicblock *handler = NULL;","    while (todo \u003e todo_stack) {","        todo--;","        basicblock *b = todo[0];","        assert(b-\u003eb_visited == 1);","        except_stack = b-\u003eb_exceptstack;","        assert(except_stack != NULL);","        b-\u003eb_exceptstack = NULL;","        handler = except_stack_top(except_stack);","        int last_yield_except_depth = -1;","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_block_push(instr)) {","                if (!instr-\u003ei_target-\u003eb_visited) {","                    struct _PyCfgExceptStack *copy = copy_except_stack(except_stack);","                    if (copy == NULL) {","                        goto error;","                    }","                    instr-\u003ei_target-\u003eb_exceptstack = copy;","                    todo[0] = instr-\u003ei_target;","                    instr-\u003ei_target-\u003eb_visited = 1;","                    todo++;","                }","                handler = push_except_block(except_stack, instr);","            }","            else if (instr-\u003ei_opcode == POP_BLOCK) {","                handler = pop_except_block(except_stack);","                INSTR_SET_OP0(instr, NOP);","            }","            else if (is_jump(instr)) {","                instr-\u003ei_except = handler;","                assert(i == b-\u003eb_iused -1);","                if (!instr-\u003ei_target-\u003eb_visited) {","                    if (BB_HAS_FALLTHROUGH(b)) {","                        struct _PyCfgExceptStack *copy = copy_except_stack(except_stack);","                        if (copy == NULL) {","                            goto error;","                        }","                        instr-\u003ei_target-\u003eb_exceptstack = copy;","                    }","                    else {","                        instr-\u003ei_target-\u003eb_exceptstack = except_stack;","                        except_stack = NULL;","                    }","                    todo[0] = instr-\u003ei_target;","                    instr-\u003ei_target-\u003eb_visited = 1;","                    todo++;","                }","            }","            else if (instr-\u003ei_opcode == YIELD_VALUE) {","                instr-\u003ei_except = handler;","                last_yield_except_depth = except_stack-\u003edepth;","            }","            else if (instr-\u003ei_opcode == RESUME) {","                instr-\u003ei_except = handler;","                if (instr-\u003ei_oparg != RESUME_AT_FUNC_START \u0026\u0026 instr-\u003ei_oparg != RESUME_AT_GEN_EXPR_START) {","                    assert(last_yield_except_depth \u003e= 0);","                    if (last_yield_except_depth == 1) {","                        instr-\u003ei_oparg |= RESUME_OPARG_DEPTH1_MASK;","                    }","                    last_yield_except_depth = -1;","                }","            }","            else if (instr-\u003ei_opcode == RETURN_GENERATOR) {","                instr-\u003ei_except = NULL;","            }","            else {","                instr-\u003ei_except = handler;","            }","        }","        if (BB_HAS_FALLTHROUGH(b) \u0026\u0026 !b-\u003eb_next-\u003eb_visited) {","            assert(except_stack != NULL);","            b-\u003eb_next-\u003eb_exceptstack = except_stack;","            todo[0] = b-\u003eb_next;","            b-\u003eb_next-\u003eb_visited = 1;","            todo++;","        }","        else if (except_stack != NULL) {","           PyMem_Free(except_stack);","        }","    }","#ifdef Py_DEBUG","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        assert(b-\u003eb_exceptstack == NULL);","    }","#endif","    PyMem_Free(todo_stack);","    return SUCCESS;","error:","    PyMem_Free(todo_stack);","    PyMem_Free(except_stack);","    return ERROR;","}","","/***** CFG optimizations *****/","","static int","remove_unreachable(basicblock *entryblock) {","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_predecessors = 0;","    }","    basicblock **stack = make_cfg_traversal_stack(entryblock);","    if (stack == NULL) {","        return ERROR;","    }","    basicblock **sp = stack;","    entryblock-\u003eb_predecessors = 1;","    *sp++ = entryblock;","    entryblock-\u003eb_visited = 1;","    while (sp \u003e stack) {","        basicblock *b = *(--sp);","        if (b-\u003eb_next \u0026\u0026 BB_HAS_FALLTHROUGH(b)) {","            if (!b-\u003eb_next-\u003eb_visited) {","                assert(b-\u003eb_next-\u003eb_predecessors == 0);","                *sp++ = b-\u003eb_next;","                b-\u003eb_next-\u003eb_visited = 1;","            }","            b-\u003eb_next-\u003eb_predecessors++;","        }","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            basicblock *target;","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_jump(instr) || is_block_push(instr)) {","                target = instr-\u003ei_target;","                if (!target-\u003eb_visited) {","                    *sp++ = target;","                    target-\u003eb_visited = 1;","                }","                target-\u003eb_predecessors++;","            }","        }","    }","    PyMem_Free(stack);","","    /* Delete unreachable instructions */","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","       if (b-\u003eb_predecessors == 0) {","            b-\u003eb_iused = 0;","            b-\u003eb_except_handler = 0;","       }","    }","    return SUCCESS;","}","","static int","basicblock_remove_redundant_nops(basicblock *bb) {","    /* Remove NOPs when legal to do so. */","    int dest = 0;","    int prev_lineno = -1;","    for (int src = 0; src \u003c bb-\u003eb_iused; src++) {","        int lineno = bb-\u003eb_instr[src].i_loc.lineno;","        if (bb-\u003eb_instr[src].i_opcode == NOP) {","            /* Eliminate no-op if it doesn't have a line number */","            if (lineno \u003c 0) {","                continue;","            }","            /* or, if the previous instruction had the same line number. */","            if (prev_lineno == lineno) {","                continue;","            }","            /* or, if the next instruction has same line number or no line number */","            if (src \u003c bb-\u003eb_iused - 1) {","                int next_lineno = bb-\u003eb_instr[src+1].i_loc.lineno;","                if (next_lineno == lineno) {","                    continue;","                }","                if (next_lineno \u003c 0) {","                    bb-\u003eb_instr[src+1].i_loc = bb-\u003eb_instr[src].i_loc;","                    continue;","                }","            }","            else {","                basicblock *next = next_nonempty_block(bb-\u003eb_next);","                /* or if last instruction in BB and next BB has same line number */","                if (next) {","                    location next_loc = NO_LOCATION;","                    for (int next_i=0; next_i \u003c next-\u003eb_iused; next_i++) {","                        cfg_instr *instr = \u0026next-\u003eb_instr[next_i];","                        if (instr-\u003ei_opcode == NOP \u0026\u0026 instr-\u003ei_loc.lineno \u003c 0) {","                            /* Skip over NOPs without a location, they will be removed */","                            continue;","                        }","                        next_loc = instr-\u003ei_loc;","                        break;","                    }","                    if (lineno == next_loc.lineno) {","                        continue;","                    }","                }","            }","","        }","        if (dest != src) {","            bb-\u003eb_instr[dest] = bb-\u003eb_instr[src];","        }","        dest++;","        prev_lineno = lineno;","    }","    assert(dest \u003c= bb-\u003eb_iused);","    int num_removed = bb-\u003eb_iused - dest;","    bb-\u003eb_iused = dest;","    memset(\u0026bb-\u003eb_instr[dest], 0, sizeof(cfg_instr) * num_removed);","    return num_removed;","}","","static int","remove_redundant_nops(cfg_builder *g) {","    int changes = 0;","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        int change = basicblock_remove_redundant_nops(b);","        RETURN_IF_ERROR(change);","        changes += change;","    }","    return changes;","}","","static int loads_const(int opcode);","","static int","remove_redundant_nops_and_pairs(basicblock *entryblock)","{","    bool done = false;","","    while (! done) {","        done = true;","        cfg_instr *prev_instr = NULL;","        cfg_instr *instr = NULL;","        for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","            RETURN_IF_ERROR(basicblock_remove_redundant_nops(b));","            if (IS_LABEL(b-\u003eb_label)) {","                /* this block is a jump target, forget instr */","                instr = NULL;","            }","            for (int i = 0; i \u003c b-\u003eb_iused; i++) {","                prev_instr = instr;","                instr = \u0026b-\u003eb_instr[i];","                int prev_opcode = prev_instr ? prev_instr-\u003ei_opcode : 0;","                int prev_oparg = prev_instr ? prev_instr-\u003ei_oparg : 0;","                int opcode = instr-\u003ei_opcode;","                bool is_redundant_pair = false;","                if (opcode == POP_TOP) {","                   if (loads_const(prev_opcode)) {","                       is_redundant_pair = true;","                   }","                   else if (prev_opcode == COPY \u0026\u0026 prev_oparg == 1) {","                       is_redundant_pair = true;","                   }","                }","                if (is_redundant_pair) {","                    INSTR_SET_OP0(prev_instr, NOP);","                    INSTR_SET_OP0(instr, NOP);","                    done = false;","                }","            }","            if ((instr \u0026\u0026 is_jump(instr)) || !BB_HAS_FALLTHROUGH(b)) {","                instr = NULL;","            }","        }","    }","    return SUCCESS;","}","","static int","remove_redundant_jumps(cfg_builder *g) {","    /* If a non-empty block ends with a jump instruction, check if the next","     * non-empty block reached through normal flow control is the target","     * of that jump. If it is, then the jump instruction is redundant and","     * can be deleted.","     *","     * Return the number of changes applied, or -1 on error.","     */","","    int changes = 0;","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        cfg_instr *last = basicblock_last_instr(b);","        if (last == NULL) {","            continue;","        }","        assert(!IS_ASSEMBLER_OPCODE(last-\u003ei_opcode));","        if (IS_UNCONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode)) {","            basicblock* jump_target = next_nonempty_block(last-\u003ei_target);","            if (jump_target == NULL) {","                PyErr_SetString(PyExc_SystemError, \"jump with NULL target\");","                return ERROR;","            }","            basicblock *next = next_nonempty_block(b-\u003eb_next);","            if (jump_target == next) {","                changes++;","                INSTR_SET_OP0(last, NOP);","            }","        }","    }","","    return changes;","}","","static inline bool","basicblock_has_no_lineno(basicblock *b) {","    for (int i = 0; i \u003c b-\u003eb_iused; i++) {","        if (b-\u003eb_instr[i].i_loc.lineno \u003e= 0) {","            return false;","        }","    }","    return true;","}","","/* Maximum size of basic block that should be copied in optimizer */","#define MAX_COPY_SIZE 4","","/* If this block ends with an unconditional jump to a small exit block or"," * a block that has no line numbers (and no fallthrough), then"," * remove the jump and extend this block with the target."," * Returns 1 if extended, 0 if no change, and -1 on error."," */","static int","basicblock_inline_small_or_no_lineno_blocks(basicblock *bb) {","    cfg_instr *last = basicblock_last_instr(bb);","    if (last == NULL) {","        return 0;","    }","    if (!IS_UNCONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode)) {","        return 0;","    }","    basicblock *target = last-\u003ei_target;","    bool small_exit_block = (basicblock_exits_scope(target) \u0026\u0026","                             target-\u003eb_iused \u003c= MAX_COPY_SIZE);","    bool no_lineno_no_fallthrough = (basicblock_has_no_lineno(target) \u0026\u0026","                                     !BB_HAS_FALLTHROUGH(target));","    if (small_exit_block || no_lineno_no_fallthrough) {","        assert(is_jump(last));","        int removed_jump_opcode = last-\u003ei_opcode;","        INSTR_SET_OP0(last, NOP);","        RETURN_IF_ERROR(basicblock_append_instructions(bb, target));","        if (no_lineno_no_fallthrough) {","            last = basicblock_last_instr(bb);","            if (IS_UNCONDITIONAL_JUMP_OPCODE(last-\u003ei_opcode) \u0026\u0026","                removed_jump_opcode == JUMP)","            {","                /* Make sure we don't lose eval breaker checks */","                last-\u003ei_opcode = JUMP;","            }","        }","        target-\u003eb_predecessors--;","        return 1;","    }","    return 0;","}","","static int","inline_small_or_no_lineno_blocks(basicblock *entryblock) {","    bool changes;","    do {","        changes = false;","        for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","            int res = basicblock_inline_small_or_no_lineno_blocks(b);","            RETURN_IF_ERROR(res);","            if (res) {","                changes = true;","            }","        }","    } while(changes); /* every change removes a jump, ensuring convergence */","    return changes;","}","","// Attempt to eliminate jumps to jumps by updating inst to jump to","// target-\u003ei_target using the provided opcode. Return whether or not the","// optimization was successful.","static bool","jump_thread(basicblock *bb, cfg_instr *inst, cfg_instr *target, int opcode)","{","    assert(is_jump(inst));","    assert(is_jump(target));","    assert(inst == basicblock_last_instr(bb));","    // bpo-45773: If inst-\u003ei_target == target-\u003ei_target, then nothing actually","    // changes (and we fall into an infinite loop):","    if (inst-\u003ei_target != target-\u003ei_target) {","        /* Change inst to NOP and append a jump to target-\u003ei_target. The","         * NOP will be removed later if it's not needed for the lineno.","         */","        INSTR_SET_OP0(inst, NOP);","","        RETURN_IF_ERROR(","            basicblock_add_jump(","                bb, opcode, target-\u003ei_target, target-\u003ei_loc));","","        return true;","    }","    return false;","}","","static int","loads_const(int opcode)","{","    return OPCODE_HAS_CONST(opcode)","        || opcode == LOAD_SMALL_INT","        || opcode == LOAD_COMMON_CONSTANT;","}","","/* Returns new reference */","static PyObject*","get_const_value(int opcode, int oparg, PyObject *co_consts)","{","    PyObject *constant = NULL;","    assert(loads_const(opcode));","    if (opcode == LOAD_CONST) {","        assert(PyList_Check(co_consts));","        Py_ssize_t n = PyList_GET_SIZE(co_consts);","        if (oparg \u003c 0 || oparg \u003e= n) {","            PyErr_Format(PyExc_ValueError,","                         \"LOAD_CONST index %d is out of range for consts (len=%zd)\",","                         oparg, n);","            return NULL;","        }","        constant = PyList_GET_ITEM(co_consts, oparg);","    }","    if (opcode == LOAD_SMALL_INT) {","        return PyLong_FromLong(oparg);","    }","    if (opcode == LOAD_COMMON_CONSTANT) {","        assert(oparg \u003c NUM_COMMON_CONSTANTS);","        return PyStackRef_AsPyObjectBorrow(","            _PyInterpreterState_GET()-\u003ecommon_consts[oparg]);","    }","","    if (constant == NULL) {","        PyErr_SetString(PyExc_SystemError,","                        \"Internal error: failed to get value of a constant\");","        return NULL;","    }","    return Py_NewRef(constant);","}","","// Steals a reference to newconst.","static int","add_const(PyObject *newconst, PyObject *consts, PyObject *const_cache,","          _Py_hashtable_t *consts_index)","{","    if (_PyCompile_ConstCacheMergeOne(const_cache, \u0026newconst) \u003c 0) {","        Py_DECREF(newconst);","        return -1;","    }","","    _Py_hashtable_entry_t *entry = _Py_hashtable_get_entry(consts_index, (void *)newconst);","    if (entry != NULL) {","        Py_DECREF(newconst);","        return (int)(uintptr_t)entry-\u003evalue;","    }","","    Py_ssize_t index = PyList_GET_SIZE(consts);","    if ((size_t)index \u003e= (size_t)INT_MAX - 1) {","        PyErr_SetString(PyExc_OverflowError, \"too many constants\");","        Py_DECREF(newconst);","        return -1;","    }","    if (PyList_Append(consts, newconst)) {","        Py_DECREF(newconst);","        return -1;","    }","","    if (_Py_hashtable_set(consts_index, (void *)newconst, (void *)(uintptr_t)index) \u003c 0) {","        PyList_SetSlice(consts, index, index + 1, NULL);","        Py_DECREF(newconst);","        PyErr_NoMemory();","        return -1;","    }","","    Py_DECREF(newconst);","    return (int)index;","}","","/*","  Traverse the instructions of the basic block backwards from index \"start\", skipping over NOPs.","  Try to collect \"size\" number of consecutive instructions that load constants into the array \"instrs\".","  Caller must make sure that length of \"instrs\" is sufficient to fit in at least \"size\" instructions.","","  Return boolean indicating whether \"size\" such instructions were found.","*/","static bool","get_const_loading_instrs(basicblock *bb, int start, cfg_instr **instrs, int size)","{","    assert(start \u003c bb-\u003eb_iused);","    assert(size \u003e= 0);","    assert(size \u003c= _PY_STACK_USE_GUIDELINE);","","    for (; start \u003e= 0 \u0026\u0026 size \u003e 0; start--) {","        cfg_instr *instr = \u0026bb-\u003eb_instr[start];","        if (instr-\u003ei_opcode == NOP) {","            continue;","        }","        if (!loads_const(instr-\u003ei_opcode)) {","            return false;","        }","        instrs[--size] = instr;","    }","","    return size == 0;","}","","/*","  Change every instruction in \"instrs\" NOP and set its location to NO_LOCATION.","  Caller must make sure \"instrs\" has at least \"size\" elements.","*/","static void","nop_out(cfg_instr **instrs, int size)","{","    for (int i = 0; i \u003c size; i++) {","        cfg_instr *instr = instrs[i];","        assert(instr-\u003ei_opcode != NOP);","        INSTR_SET_OP0(instr, NOP);","        INSTR_SET_LOC(instr, NO_LOCATION);","    }","}","","/* Does not steal reference to \"newconst\".","   Return 1 if changed instruction to LOAD_SMALL_INT.","   Return 0 if could not change instruction to LOAD_SMALL_INT.","   Return -1 on error.","*/","static int","maybe_instr_make_load_smallint(cfg_instr *instr, PyObject *newconst,","                               PyObject *consts, PyObject *const_cache)","{","    if (PyLong_CheckExact(newconst)) {","        int overflow;","        long val = PyLong_AsLongAndOverflow(newconst, \u0026overflow);","        if (val == -1 \u0026\u0026 PyErr_Occurred()) {","            return -1;","        }","        if (!overflow \u0026\u0026 _PY_IS_SMALL_INT(val) \u0026\u0026 0 \u003c= val \u0026\u0026 val \u003c= 255) {","            assert(_Py_IsImmortal(newconst));","            INSTR_SET_OP1(instr, LOAD_SMALL_INT, (int)val);","            return 1;","        }","    }","    return 0;","}","","/* Does not steal reference to \"newconst\".","   Return 1 if changed instruction to LOAD_COMMON_CONSTANT.","   Return 0 if could not change instruction to LOAD_COMMON_CONSTANT.","   Return -1 on error.","*/","static int","maybe_instr_make_load_common_const(cfg_instr *instr, PyObject *newconst)","{","    int oparg;","    if (newconst == Py_None) {","        oparg = CONSTANT_NONE;","    }","    else if (newconst == Py_True) {","        oparg = CONSTANT_TRUE;","    }","    else if (newconst == Py_False) {","        oparg = CONSTANT_FALSE;","    }","    else if (PyUnicode_CheckExact(newconst)","             \u0026\u0026 PyUnicode_GET_LENGTH(newconst) == 0) {","        oparg = CONSTANT_EMPTY_STR;","    }","    else if (PyTuple_CheckExact(newconst)","             \u0026\u0026 PyTuple_GET_SIZE(newconst) == 0) {","        oparg = CONSTANT_EMPTY_TUPLE;","    }","    else if (PyLong_CheckExact(newconst)) {","        int overflow;","        long val = PyLong_AsLongAndOverflow(newconst, \u0026overflow);","        if (val == -1 \u0026\u0026 PyErr_Occurred()) {","            return -1;","        }","        if (overflow || val != -1) {","            return 0;","        }","        oparg = CONSTANT_MINUS_ONE;","    }","    else {","        return 0;","    }","    assert(_Py_IsImmortal(newconst));","    INSTR_SET_OP1(instr, LOAD_COMMON_CONSTANT, oparg);","    return 1;","}","","/* Steals reference to \"newconst\" */","static int","instr_make_load_const(cfg_instr *instr, PyObject *newconst,","                      PyObject *consts, PyObject *const_cache,","                      _Py_hashtable_t *consts_index)","{","    int res = maybe_instr_make_load_smallint(instr, newconst, consts, const_cache);","    if (res \u003c 0) {","        Py_DECREF(newconst);","        return ERROR;","    }","    if (res \u003e 0) {","        return SUCCESS;","    }","    res = maybe_instr_make_load_common_const(instr, newconst);","    if (res \u003c 0) {","        Py_DECREF(newconst);","        return ERROR;","    }","    if (res \u003e 0) {","        return SUCCESS;","    }","    int oparg = add_const(newconst, consts, const_cache, consts_index);","    RETURN_IF_ERROR(oparg);","    INSTR_SET_OP1(instr, LOAD_CONST, oparg);","    return SUCCESS;","}","","/* Replace LOAD_CONST c1, LOAD_CONST c2 ... LOAD_CONST cn, BUILD_TUPLE n","   with    LOAD_CONST (c1, c2, ... cn).","   The consts table must still be in list form so that the","   new constant (c1, c2, ... cn) can be appended.","   Called with codestr pointing to the first LOAD_CONST.","*/","static int","fold_tuple_of_constants(basicblock *bb, int i, PyObject *consts,","                        PyObject *const_cache, _Py_hashtable_t *consts_index)","{","    /* Pre-conditions */","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","","    cfg_instr *instr = \u0026bb-\u003eb_instr[i];","    assert(instr-\u003ei_opcode == BUILD_TUPLE);","","    int seq_size = instr-\u003ei_oparg;","    if (seq_size \u003e _PY_STACK_USE_GUIDELINE) {","        return SUCCESS;","    }","","    cfg_instr *const_instrs[_PY_STACK_USE_GUIDELINE];","    if (!get_const_loading_instrs(bb, i-1, const_instrs, seq_size)) {","        /* not a const sequence */","        return SUCCESS;","    }","","    PyObject *const_tuple = PyTuple_New((Py_ssize_t)seq_size);","    if (const_tuple == NULL) {","        return ERROR;","    }","","    for (int i = 0; i \u003c seq_size; i++) {","        cfg_instr *inst = const_instrs[i];","        assert(loads_const(inst-\u003ei_opcode));","        PyObject *element = get_const_value(inst-\u003ei_opcode, inst-\u003ei_oparg, consts);","        if (element == NULL) {","            Py_DECREF(const_tuple);","            return ERROR;","        }","        PyTuple_SET_ITEM(const_tuple, i, element);","    }","","    nop_out(const_instrs, seq_size);","    return instr_make_load_const(instr, const_tuple, consts, const_cache, consts_index);","}","","/* Replace:","    BUILD_LIST/BUILD_SET 0","    LOAD_CONST c1","    LIST_APPEND/SET_ADD 1","    LOAD_CONST c2","    LIST_APPEND/SET_ADD 1","    ...","    LOAD_CONST cN","    LIST_APPEND/SET_ADD 1","    [CALL_INTRINSIC_1 INTRINSIC_LIST_TO_TUPLE]   \u003c-- optional","   with:","    LOAD_CONST (c1, c2, ... cN)","   The instruction at `i` is either the LIST_TO_TUPLE intrinsic (so the","   immediately preceding non-NOP instruction is expected to be a","   LIST_APPEND, and only the BUILD_LIST/LIST_APPEND form is considered),","   or the trailing LIST_APPEND or SET_ADD itself, in which case the","   matching BUILD_LIST/BUILD_SET start is selected from its opcode, and","   for sets the result is wrapped in a frozenset.","*/","static int","fold_constant_seq_into_load_const(basicblock *bb, int i,","                                  PyObject *consts, PyObject *const_cache,","                                  _Py_hashtable_t *consts_index)","{","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","    assert(i \u003e= 0);","    assert(i \u003c bb-\u003eb_iused);","","    cfg_instr *target = \u0026bb-\u003eb_instr[i];","    assert(target-\u003ei_opcode == LIST_APPEND || target-\u003ei_opcode == SET_ADD ||","           (target-\u003ei_opcode == CALL_INTRINSIC_1 \u0026\u0026","            target-\u003ei_oparg == INTRINSIC_LIST_TO_TUPLE));","    bool expected_append = target-\u003ei_opcode == CALL_INTRINSIC_1;","    int append_op = expected_append ? LIST_APPEND : target-\u003ei_opcode;","    assert(append_op == LIST_APPEND || append_op == SET_ADD);","    int build_op = append_op == LIST_APPEND ? BUILD_LIST : BUILD_SET;","    int consts_found = 0;","    /* Walking backward from `i`, we expect LIST_APPEND/SET_ADD and","       LOAD_CONST to alternate. If `i` is the trailing LIST_TO_TUPLE","       intrinsic, the next instruction back is an APPEND. If `i` is the","       trailing APPEND itself, the next instruction back is a LOAD_CONST. */","    bool expect_append = expected_append;","","    for (int pos = i - 1; pos \u003e= 0; pos--) {","        cfg_instr *instr = \u0026bb-\u003eb_instr[pos];","        int opcode = instr-\u003ei_opcode;","        int oparg = instr-\u003ei_oparg;","","        if (opcode == NOP) {","            continue;","        }","","        if (opcode == build_op \u0026\u0026 oparg == 0) {","            if (!expect_append) {","                /* Not a sequence start. */","                return SUCCESS;","            }","","            /* Sequence start, we are done. */","            PyObject *newconst = PyTuple_New((Py_ssize_t)consts_found);","            if (newconst == NULL) {","                return ERROR;","            }","","            int newpos_start = expected_append ? i - 1 : i;","            for (int newpos = newpos_start; newpos \u003e= pos; newpos--) {","                instr = \u0026bb-\u003eb_instr[newpos];","                if (instr-\u003ei_opcode == NOP) {","                    continue;","                }","                if (loads_const(instr-\u003ei_opcode)) {","                    PyObject *constant = get_const_value(instr-\u003ei_opcode, instr-\u003ei_oparg, consts);","                    if (constant == NULL) {","                        Py_DECREF(newconst);","                        return ERROR;","                    }","                    assert(consts_found \u003e 0);","                    PyTuple_SET_ITEM(newconst, --consts_found, constant);","                }","                nop_out(\u0026instr, 1);","            }","            assert(consts_found == 0);","","            if (build_op == BUILD_SET) {","                PyObject *frozen = PyFrozenSet_New(newconst);","                Py_DECREF(newconst);","                if (frozen == NULL) {","                    return ERROR;","                }","                newconst = frozen;","            }","            return instr_make_load_const(target, newconst, consts, const_cache, consts_index);","        }","","        if (expect_append) {","            if (opcode != append_op || oparg != 1) {","                return SUCCESS;","            }","        }","        else {","            if (!loads_const(opcode)) {","                return SUCCESS;","            }","            consts_found++;","        }","","        expect_append = !expect_append;","    }","","    /* Did not find sequence start. */","    return SUCCESS;","}","","#define MIN_CONST_SEQUENCE_SIZE 3","/*","Optimize lists and sets for:","    1. \"for\" loop, comprehension or \"in\"/\"not in\" tests:","           Change literal list or set of constants into constant","           tuple or frozenset respectively. Change list of","           non-constants into tuple.","    2. Constant literal lists/set with length \u003e= MIN_CONST_SEQUENCE_SIZE:","           Replace LOAD_CONST c1, LOAD_CONST c2 ... LOAD_CONST cN, BUILD_LIST N","           with BUILD_LIST 0, LOAD_CONST (c1, c2, ... cN), LIST_EXTEND 1,","           or BUILD_SET \u0026 SET_UPDATE respectively.","*/","static int","optimize_lists_and_sets(basicblock *bb, int i, int nextop,","                        PyObject *consts, PyObject *const_cache,","                        _Py_hashtable_t *consts_index)","{","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","","    cfg_instr *instr = \u0026bb-\u003eb_instr[i];","    assert(instr-\u003ei_opcode == BUILD_LIST || instr-\u003ei_opcode == BUILD_SET);","","    bool contains_or_iter = nextop == GET_ITER || nextop == CONTAINS_OP;","    int seq_size = instr-\u003ei_oparg;","    if (seq_size \u003e _PY_STACK_USE_GUIDELINE ||","        (seq_size \u003c MIN_CONST_SEQUENCE_SIZE \u0026\u0026 !contains_or_iter))","    {","        return SUCCESS;","    }","","    cfg_instr *const_instrs[_PY_STACK_USE_GUIDELINE];","    if (!get_const_loading_instrs(bb, i-1, const_instrs, seq_size)) {  /* not a const sequence */","        if (contains_or_iter \u0026\u0026 instr-\u003ei_opcode == BUILD_LIST) {","            /* iterate over a tuple instead of list */","            INSTR_SET_OP1(instr, BUILD_TUPLE, instr-\u003ei_oparg);","        }","        return SUCCESS;","    }","","    PyObject *const_result = PyTuple_New((Py_ssize_t)seq_size);","    if (const_result == NULL) {","        return ERROR;","    }","","    for (int i = 0; i \u003c seq_size; i++) {","        cfg_instr *inst = const_instrs[i];","        assert(loads_const(inst-\u003ei_opcode));","        PyObject *element = get_const_value(inst-\u003ei_opcode, inst-\u003ei_oparg, consts);","        if (element == NULL) {","            Py_DECREF(const_result);","            return ERROR;","        }","        PyTuple_SET_ITEM(const_result, i, element);","    }","","    if (instr-\u003ei_opcode == BUILD_SET) {","        PyObject *frozenset = PyFrozenSet_New(const_result);","        if (frozenset == NULL) {","            Py_DECREF(const_result);","            return ERROR;","        }","        Py_SETREF(const_result, frozenset);","    }","","    int index = add_const(const_result, consts, const_cache, consts_index);","    RETURN_IF_ERROR(index);","    nop_out(const_instrs, seq_size);","","    if (contains_or_iter) {","        INSTR_SET_OP1(instr, LOAD_CONST, index);","    }","    else {","        assert(i \u003e= 2);","        assert(instr-\u003ei_opcode == BUILD_LIST || instr-\u003ei_opcode == BUILD_SET);","","        INSTR_SET_LOC(\u0026bb-\u003eb_instr[i-2], instr-\u003ei_loc);","","        INSTR_SET_OP1(\u0026bb-\u003eb_instr[i-2], instr-\u003ei_opcode, 0);","        INSTR_SET_OP1(\u0026bb-\u003eb_instr[i-1], LOAD_CONST, index);","        INSTR_SET_OP1(\u0026bb-\u003eb_instr[i], instr-\u003ei_opcode == BUILD_LIST ? LIST_EXTEND : SET_UPDATE, 1);","    }","    return SUCCESS;","}","","/* Check whether the total number of items in the (possibly nested) collection obj exceeds"," * limit. Return a negative number if it does, and a non-negative number otherwise."," * Used to avoid creating constants which are slow to hash."," */","static Py_ssize_t","const_folding_check_complexity(PyObject *obj, Py_ssize_t limit)","{","    if (PyTuple_Check(obj)) {","        Py_ssize_t i;","        limit -= PyTuple_GET_SIZE(obj);","        for (i = 0; limit \u003e= 0 \u0026\u0026 i \u003c PyTuple_GET_SIZE(obj); i++) {","            limit = const_folding_check_complexity(PyTuple_GET_ITEM(obj, i), limit);","            if (limit \u003c 0) {","                return limit;","            }","        }","    }","    return limit;","}","","#define MAX_INT_SIZE           128  /* bits */","#define MAX_COLLECTION_SIZE    256  /* items */","#define MAX_STR_SIZE          4096  /* characters */","#define MAX_TOTAL_ITEMS       1024  /* including nested collections */","","static PyObject *","const_folding_safe_multiply(PyObject *v, PyObject *w)","{","    if (PyLong_Check(v) \u0026\u0026 PyLong_Check(w) \u0026\u0026","        !_PyLong_IsZero((PyLongObject *)v) \u0026\u0026 !_PyLong_IsZero((PyLongObject *)w)","    ) {","        int64_t vbits = _PyLong_NumBits(v);","        int64_t wbits = _PyLong_NumBits(w);","        assert(vbits \u003e= 0);","        assert(wbits \u003e= 0);","        if (vbits + wbits \u003e MAX_INT_SIZE) {","            return NULL;","        }","    }","    else if (PyLong_Check(v) \u0026\u0026 PyTuple_Check(w)) {","        Py_ssize_t size = PyTuple_GET_SIZE(w);","        if (size) {","            long n = PyLong_AsLong(v);","            if (n \u003c 0 || n \u003e MAX_COLLECTION_SIZE / size) {","                return NULL;","            }","            if (n \u0026\u0026 const_folding_check_complexity(w, MAX_TOTAL_ITEMS / n) \u003c 0) {","                return NULL;","            }","        }","    }","    else if (PyLong_Check(v) \u0026\u0026 (PyUnicode_Check(w) || PyBytes_Check(w))) {","        Py_ssize_t size = PyUnicode_Check(w) ? PyUnicode_GET_LENGTH(w) :","                                               PyBytes_GET_SIZE(w);","        if (size) {","            long n = PyLong_AsLong(v);","            if (n \u003c 0 || n \u003e MAX_STR_SIZE / size) {","                return NULL;","            }","        }","    }","    else if (PyLong_Check(w) \u0026\u0026","             (PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v)))","    {","        return const_folding_safe_multiply(w, v);","    }","","    return PyNumber_Multiply(v, w);","}","","static PyObject *","const_folding_safe_power(PyObject *v, PyObject *w)","{","    if (PyLong_Check(v) \u0026\u0026 PyLong_Check(w) \u0026\u0026","        !_PyLong_IsZero((PyLongObject *)v) \u0026\u0026 _PyLong_IsPositive((PyLongObject *)w)","    ) {","        int64_t vbits = _PyLong_NumBits(v);","        size_t wbits = PyLong_AsSize_t(w);","        assert(vbits \u003e= 0);","        if (wbits == (size_t)-1) {","            return NULL;","        }","        if ((uint64_t)vbits \u003e MAX_INT_SIZE / wbits) {","            return NULL;","        }","    }","","    return PyNumber_Power(v, w, Py_None);","}","","static PyObject *","const_folding_safe_lshift(PyObject *v, PyObject *w)","{","    if (PyLong_Check(v) \u0026\u0026 PyLong_Check(w) \u0026\u0026","        !_PyLong_IsZero((PyLongObject *)v) \u0026\u0026 !_PyLong_IsZero((PyLongObject *)w)","    ) {","        int64_t vbits = _PyLong_NumBits(v);","        size_t wbits = PyLong_AsSize_t(w);","        assert(vbits \u003e= 0);","        if (wbits == (size_t)-1) {","            return NULL;","        }","        if (wbits \u003e MAX_INT_SIZE || (uint64_t)vbits \u003e MAX_INT_SIZE - wbits) {","            return NULL;","        }","    }","","    return PyNumber_Lshift(v, w);","}","","static PyObject *","const_folding_safe_mod(PyObject *v, PyObject *w)","{","    if (PyUnicode_Check(v) || PyBytes_Check(v)) {","        return NULL;","    }","","    return PyNumber_Remainder(v, w);","}","","static PyObject *","eval_const_binop(PyObject *left, int op, PyObject *right)","{","    assert(left != NULL \u0026\u0026 right != NULL);","    assert(op \u003e= 0 \u0026\u0026 op \u003c= NB_OPARG_LAST);","","    PyObject *result = NULL;","    switch (op) {","        case NB_ADD:","            result = PyNumber_Add(left, right);","            break;","        case NB_SUBTRACT:","            result = PyNumber_Subtract(left, right);","            break;","        case NB_MULTIPLY:","            result = const_folding_safe_multiply(left, right);","            break;","        case NB_TRUE_DIVIDE:","            result = PyNumber_TrueDivide(left, right);","            break;","        case NB_FLOOR_DIVIDE:","            result = PyNumber_FloorDivide(left, right);","            break;","        case NB_REMAINDER:","            result = const_folding_safe_mod(left, right);","            break;","        case NB_POWER:","            result = const_folding_safe_power(left, right);","            break;","        case NB_LSHIFT:","            result = const_folding_safe_lshift(left, right);","            break;","        case NB_RSHIFT:","            result = PyNumber_Rshift(left, right);","            break;","        case NB_OR:","            result = PyNumber_Or(left, right);","            break;","        case NB_XOR:","            result = PyNumber_Xor(left, right);","            break;","        case NB_AND:","            result = PyNumber_And(left, right);","            break;","        case NB_SUBSCR:","            result = PyObject_GetItem(left, right);","            break;","        case NB_MATRIX_MULTIPLY:","            // No builtin constants implement matrix multiplication","            break;","        default:","            Py_UNREACHABLE();","    }","    return result;","}","","static int","fold_const_binop(basicblock *bb, int i, PyObject *consts,","                 PyObject *const_cache, _Py_hashtable_t *consts_index)","{","    #define BINOP_OPERAND_COUNT 2","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","","    cfg_instr *binop = \u0026bb-\u003eb_instr[i];","    assert(binop-\u003ei_opcode == BINARY_OP);","","    cfg_instr *operands_instrs[BINOP_OPERAND_COUNT];","    if (!get_const_loading_instrs(bb, i-1, operands_instrs, BINOP_OPERAND_COUNT)) {","        /* not a const sequence */","        return SUCCESS;","    }","","    cfg_instr *lhs_instr = operands_instrs[0];","    assert(loads_const(lhs_instr-\u003ei_opcode));","    PyObject *lhs = get_const_value(lhs_instr-\u003ei_opcode, lhs_instr-\u003ei_oparg, consts);","    if (lhs == NULL) {","        return ERROR;","    }","","    cfg_instr *rhs_instr = operands_instrs[1];","    assert(loads_const(rhs_instr-\u003ei_opcode));","    PyObject *rhs = get_const_value(rhs_instr-\u003ei_opcode, rhs_instr-\u003ei_oparg, consts);","    if (rhs == NULL) {","        Py_DECREF(lhs);","        return ERROR;","    }","","    PyObject *newconst = eval_const_binop(lhs, binop-\u003ei_oparg, rhs);","    Py_DECREF(lhs);","    Py_DECREF(rhs);","    if (newconst == NULL) {","        if (PyErr_ExceptionMatches(PyExc_KeyboardInterrupt)) {","            return ERROR;","        }","        PyErr_Clear();","        return SUCCESS;","    }","","    nop_out(operands_instrs, BINOP_OPERAND_COUNT);","    return instr_make_load_const(binop, newconst, consts, const_cache, consts_index);","}","","static PyObject *","eval_const_unaryop(PyObject *operand, int opcode, int oparg)","{","    assert(operand != NULL);","    assert(","        opcode == UNARY_NEGATIVE ||","        opcode == UNARY_INVERT ||","        opcode == UNARY_NOT ||","        (opcode == CALL_INTRINSIC_1 \u0026\u0026 oparg == INTRINSIC_UNARY_POSITIVE)","    );","    PyObject *result;","    switch (opcode) {","        case UNARY_NEGATIVE:","            result = PyNumber_Negative(operand);","            break;","        case UNARY_INVERT:","            // XXX: This should be removed once the ~bool depreciation expires.","            if (PyBool_Check(operand)) {","                return NULL;","            }","            result = PyNumber_Invert(operand);","            break;","        case UNARY_NOT: {","            int r = PyObject_IsTrue(operand);","            if (r \u003c 0) {","                return NULL;","            }","            result = PyBool_FromLong(!r);","            break;","        }","        case CALL_INTRINSIC_1:","            if (oparg != INTRINSIC_UNARY_POSITIVE) {","                Py_UNREACHABLE();","            }","            result = PyNumber_Positive(operand);","            break;","        default:","            Py_UNREACHABLE();","    }","    return result;","}","","static int","fold_const_unaryop(basicblock *bb, int i, PyObject *consts,","                   PyObject *const_cache, _Py_hashtable_t *consts_index)","{","    #define UNARYOP_OPERAND_COUNT 1","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","    cfg_instr *unaryop = \u0026bb-\u003eb_instr[i];","","    cfg_instr *operand_instr;","    if (!get_const_loading_instrs(bb, i-1, \u0026operand_instr, UNARYOP_OPERAND_COUNT)) {","        /* not a const */","        return SUCCESS;","    }","","    assert(loads_const(operand_instr-\u003ei_opcode));","    PyObject *operand = get_const_value(","        operand_instr-\u003ei_opcode,","        operand_instr-\u003ei_oparg,","        consts","    );","    if (operand == NULL) {","        return ERROR;","    }","","    PyObject *newconst = eval_const_unaryop(operand, unaryop-\u003ei_opcode, unaryop-\u003ei_oparg);","    Py_DECREF(operand);","    if (newconst == NULL) {","        if (PyErr_ExceptionMatches(PyExc_KeyboardInterrupt)) {","            return ERROR;","        }","        PyErr_Clear();","        return SUCCESS;","    }","","    if (unaryop-\u003ei_opcode == UNARY_NOT) {","        assert(PyBool_Check(newconst));","    }","    nop_out(\u0026operand_instr, UNARYOP_OPERAND_COUNT);","    return instr_make_load_const(unaryop, newconst, consts, const_cache, consts_index);","}","","#define VISITED (-1)","","// Replace an arbitrary run of SWAPs and NOPs with an optimal one that has the","// same effect.","static int","swaptimize(basicblock *block, int *ix)","{","    // NOTE: \"./python -m test test_patma\" serves as a good, quick stress test","    // for this function. Make sure to blow away cached *.pyc files first!","    assert(*ix \u003c block-\u003eb_iused);","    cfg_instr *instructions = \u0026block-\u003eb_instr[*ix];","    // Find the length of the current sequence of SWAPs and NOPs, and record the","    // maximum depth of the stack manipulations:","    assert(instructions[0].i_opcode == SWAP);","    int depth = instructions[0].i_oparg;","    int len = 0;","    int more = false;","    int limit = block-\u003eb_iused - *ix;","    while (++len \u003c limit) {","        int opcode = instructions[len].i_opcode;","        if (opcode == SWAP) {","            depth = Py_MAX(depth, instructions[len].i_oparg);","            more = true;","        }","        else if (opcode != NOP) {","            break;","        }","    }","    // It's already optimal if there's only one SWAP:","    if (!more) {","        return SUCCESS;","    }","    // Create an array with elements {0, 1, 2, ..., depth - 1}:","    int *stack = PyMem_Malloc(depth * sizeof(int));","    if (stack == NULL) {","        PyErr_NoMemory();","        return ERROR;","    }","    for (int i = 0; i \u003c depth; i++) {","        stack[i] = i;","    }","    // Simulate the combined effect of these instructions by \"running\" them on","    // our \"stack\":","    for (int i = 0; i \u003c len; i++) {","        if (instructions[i].i_opcode == SWAP) {","            int oparg = instructions[i].i_oparg;","            int top = stack[0];","            // SWAPs are 1-indexed:","            stack[0] = stack[oparg - 1];","            stack[oparg - 1] = top;","        }","    }","    // Now we can begin! Our approach here is based on a solution to a closely","    // related problem (https://cs.stackexchange.com/a/13938). It's easiest to","    // think of this algorithm as determining the steps needed to efficiently","    // \"un-shuffle\" our stack. By performing the moves in *reverse* order,","    // though, we can efficiently *shuffle* it! For this reason, we will be","    // replacing instructions starting from the *end* of the run. Since the","    // solution is optimal, we don't need to worry about running out of space:","    int current = len - 1;","    for (int i = 0; i \u003c depth; i++) {","        // Skip items that have already been visited, or just happen to be in","        // the correct location:","        if (stack[i] == VISITED || stack[i] == i) {","            continue;","        }","        // Okay, we've found an item that hasn't been visited. It forms a cycle","        // with other items; traversing the cycle and swapping each item with","        // the next will put them all in the correct place. The weird","        // loop-and-a-half is necessary to insert 0 into every cycle, since we","        // can only swap from that position:","        int j = i;","        while (true) {","            // Skip the actual swap if our item is zero, since swapping the top","            // item with itself is pointless:","            if (j) {","                assert(0 \u003c= current);","                // SWAPs are 1-indexed:","                instructions[current].i_opcode = SWAP;","                instructions[current--].i_oparg = j + 1;","            }","            if (stack[j] == VISITED) {","                // Completed the cycle:","                assert(j == i);","                break;","            }","            int next_j = stack[j];","            stack[j] = VISITED;","            j = next_j;","        }","    }","    // NOP out any unused instructions:","    while (0 \u003c= current) {","        INSTR_SET_OP0(\u0026instructions[current--], NOP);","    }","    PyMem_Free(stack);","    *ix += len - 1;","    return SUCCESS;","}","","","// This list is pretty small, since it's only okay to reorder opcodes that:","// - can't affect control flow (like jumping or raising exceptions)","// - can't invoke arbitrary code (besides finalizers)","// - only touch the TOS (and pop it when finished)","#define SWAPPABLE(opcode) \\","    ((opcode) == STORE_FAST || \\","     (opcode) == STORE_FAST_MAYBE_NULL || \\","     (opcode) == POP_TOP)","","#define STORES_TO(instr) \\","    (((instr).i_opcode == STORE_FAST || \\","      (instr).i_opcode == STORE_FAST_MAYBE_NULL) \\","     ? (instr).i_oparg : -1)","","static int","next_swappable_instruction(basicblock *block, int i, int lineno)","{","    while (++i \u003c block-\u003eb_iused) {","        cfg_instr *instruction = \u0026block-\u003eb_instr[i];","        if (0 \u003c= lineno \u0026\u0026 instruction-\u003ei_loc.lineno != lineno) {","            // Optimizing across this instruction could cause user-visible","            // changes in the names bound between line tracing events!","            return -1;","        }","        if (instruction-\u003ei_opcode == NOP) {","            continue;","        }","        if (SWAPPABLE(instruction-\u003ei_opcode)) {","            return i;","        }","        return -1;","    }","    return -1;","}","","// Attempt to apply SWAPs statically by swapping *instructions* rather than","// stack items. For example, we can replace SWAP(2), POP_TOP, STORE_FAST(42)","// with the more efficient NOP, STORE_FAST(42), POP_TOP.","static void","apply_static_swaps(basicblock *block, int i)","{","    // SWAPs are to our left, and potential swaperands are to our right:","    for (; 0 \u003c= i; i--) {","        assert(i \u003c block-\u003eb_iused);","        cfg_instr *swap = \u0026block-\u003eb_instr[i];","        if (swap-\u003ei_opcode != SWAP) {","            if (swap-\u003ei_opcode == NOP || SWAPPABLE(swap-\u003ei_opcode)) {","                // Nope, but we know how to handle these. Keep looking:","                continue;","            }","            // We can't reason about what this instruction does. Bail:","            return;","        }","        int j = next_swappable_instruction(block, i, -1);","        if (j \u003c 0) {","            return;","        }","        int k = j;","        int lineno = block-\u003eb_instr[j].i_loc.lineno;","        for (int count = swap-\u003ei_oparg - 1; 0 \u003c count; count--) {","            k = next_swappable_instruction(block, k, lineno);","            if (k \u003c 0) {","                return;","            }","        }","        // The reordering is not safe if the two instructions to be swapped","        // store to the same location, or if any intervening instruction stores","        // to the same location as either of them.","        int store_j = STORES_TO(block-\u003eb_instr[j]);","        int store_k = STORES_TO(block-\u003eb_instr[k]);","        if (store_j \u003e= 0 || store_k \u003e= 0) {","            if (store_j == store_k) {","                return;","            }","            for (int idx = j + 1; idx \u003c k; idx++) {","                int store_idx = STORES_TO(block-\u003eb_instr[idx]);","                if (store_idx \u003e= 0 \u0026\u0026 (store_idx == store_j || store_idx == store_k)) {","                    return;","                }","            }","        }","","        // Success!","        INSTR_SET_OP0(swap, NOP);","        cfg_instr temp = block-\u003eb_instr[j];","        block-\u003eb_instr[j] = block-\u003eb_instr[k];","        block-\u003eb_instr[k] = temp;","    }","}","","static int","basicblock_optimize_load_const(PyObject *const_cache, basicblock *bb,","                               PyObject *consts, _Py_hashtable_t *consts_index)","{","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","    int opcode = 0;","    int oparg = 0;","    for (int i = 0; i \u003c bb-\u003eb_iused; i++) {","        cfg_instr *inst = \u0026bb-\u003eb_instr[i];","        if (inst-\u003ei_opcode == LOAD_CONST) {","            PyObject *constant = get_const_value(inst-\u003ei_opcode, inst-\u003ei_oparg, consts);","            if (constant == NULL) {","                return ERROR;","            }","            int res = maybe_instr_make_load_smallint(inst, constant, consts, const_cache);","            Py_DECREF(constant);","            if (res \u003c 0) {","                return ERROR;","            }","        }","        bool is_copy_of_load_const = (opcode == LOAD_CONST \u0026\u0026","                                      inst-\u003ei_opcode == COPY \u0026\u0026","                                      inst-\u003ei_oparg == 1);","        if (! is_copy_of_load_const) {","            opcode = inst-\u003ei_opcode;","            oparg = inst-\u003ei_oparg;","        }","        assert(!IS_ASSEMBLER_OPCODE(opcode));","        if (!loads_const(opcode)) {","            continue;","        }","        int nextop = i+1 \u003c bb-\u003eb_iused ? bb-\u003eb_instr[i+1].i_opcode : 0;","        switch(nextop) {","            case POP_JUMP_IF_FALSE:","            case POP_JUMP_IF_TRUE:","            case JUMP_IF_FALSE:","            case JUMP_IF_TRUE:","            {","                /* Remove LOAD_CONST const; conditional jump */","                PyObject* cnt = get_const_value(opcode, oparg, consts);","                if (cnt == NULL) {","                    return ERROR;","                }","                int is_true = PyObject_IsTrue(cnt);","                Py_DECREF(cnt);","                if (is_true == -1) {","                    return ERROR;","                }","                if (PyCompile_OpcodeStackEffect(nextop, 0) == -1) {","                    /* POP_JUMP_IF_FALSE or POP_JUMP_IF_TRUE */","                    INSTR_SET_OP0(inst, NOP);","                }","                int jump_if_true = (nextop == POP_JUMP_IF_TRUE || nextop == JUMP_IF_TRUE);","                if (is_true == jump_if_true) {","                    bb-\u003eb_instr[i+1].i_opcode = JUMP;","                }","                else {","                    INSTR_SET_OP0(\u0026bb-\u003eb_instr[i + 1], NOP);","                }","                break;","            }","            case IS_OP:","            {","                // Fold to POP_JUMP_IF_NONE:","                // - LOAD_CONST(None) IS_OP(0) POP_JUMP_IF_TRUE","                // - LOAD_CONST(None) IS_OP(1) POP_JUMP_IF_FALSE","                // - LOAD_CONST(None) IS_OP(0) TO_BOOL POP_JUMP_IF_TRUE","                // - LOAD_CONST(None) IS_OP(1) TO_BOOL POP_JUMP_IF_FALSE","                // Fold to POP_JUMP_IF_NOT_NONE:","                // - LOAD_CONST(None) IS_OP(0) POP_JUMP_IF_FALSE","                // - LOAD_CONST(None) IS_OP(1) POP_JUMP_IF_TRUE","                // - LOAD_CONST(None) IS_OP(0) TO_BOOL POP_JUMP_IF_FALSE","                // - LOAD_CONST(None) IS_OP(1) TO_BOOL POP_JUMP_IF_TRUE","                PyObject *cnt = get_const_value(opcode, oparg, consts);","                if (cnt == NULL) {","                    return ERROR;","                }","                if (!Py_IsNone(cnt)) {","                    Py_DECREF(cnt);","                    break;","                }","                if (bb-\u003eb_iused \u003c= i + 2) {","                    break;","                }","                cfg_instr *is_instr = \u0026bb-\u003eb_instr[i + 1];","                cfg_instr *jump_instr = \u0026bb-\u003eb_instr[i + 2];","                // Get rid of TO_BOOL regardless:","                if (jump_instr-\u003ei_opcode == TO_BOOL) {","                    INSTR_SET_OP0(jump_instr, NOP);","                    if (bb-\u003eb_iused \u003c= i + 3) {","                        break;","                    }","                    jump_instr = \u0026bb-\u003eb_instr[i + 3];","                }","                bool invert = is_instr-\u003ei_oparg;","                if (jump_instr-\u003ei_opcode == POP_JUMP_IF_FALSE) {","                    invert = !invert;","                }","                else if (jump_instr-\u003ei_opcode != POP_JUMP_IF_TRUE) {","                    break;","                }","                INSTR_SET_OP0(inst, NOP);","                INSTR_SET_OP0(is_instr, NOP);","                jump_instr-\u003ei_opcode = invert ? POP_JUMP_IF_NOT_NONE","                                              : POP_JUMP_IF_NONE;","                break;","            }","            case TO_BOOL:","            {","                PyObject *cnt = get_const_value(opcode, oparg, consts);","                if (cnt == NULL) {","                    return ERROR;","                }","                int is_true = PyObject_IsTrue(cnt);","                Py_DECREF(cnt);","                if (is_true == -1) {","                    return ERROR;","                }","                cnt = PyBool_FromLong(is_true);","                int index = add_const(cnt, consts, const_cache, consts_index);","                if (index \u003c 0) {","                    return ERROR;","                }","                INSTR_SET_OP0(inst, NOP);","                INSTR_SET_OP1(\u0026bb-\u003eb_instr[i + 1], LOAD_CONST, index);","                break;","            }","        }","        if (inst-\u003ei_opcode == LOAD_CONST) {","            PyObject *constant = get_const_value(inst-\u003ei_opcode, inst-\u003ei_oparg, consts);","            if (constant == NULL) {","                return ERROR;","            }","            int res = maybe_instr_make_load_common_const(inst, constant);","            Py_DECREF(constant);","            if (res \u003c 0) {","                return ERROR;","            }","        }","    }","    return SUCCESS;","}","","static int","optimize_load_const(PyObject *const_cache, cfg_builder *g, PyObject *consts,","                    _Py_hashtable_t *consts_index) {","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        RETURN_IF_ERROR(basicblock_optimize_load_const(const_cache, b, consts, consts_index));","    }","    return SUCCESS;","}","","static int","optimize_basic_block(PyObject *const_cache, basicblock *bb, PyObject *consts,","                     _Py_hashtable_t *consts_index)","{","    assert(PyDict_CheckExact(const_cache));","    assert(PyList_CheckExact(consts));","    cfg_instr nop;","    INSTR_SET_OP0(\u0026nop, NOP);","    for (int i = 0; i \u003c bb-\u003eb_iused; i++) {","        cfg_instr *inst = \u0026bb-\u003eb_instr[i];","        cfg_instr *target;","        int opcode = inst-\u003ei_opcode;","        int oparg = inst-\u003ei_oparg;","        if (HAS_TARGET(opcode)) {","            assert(inst-\u003ei_target-\u003eb_iused \u003e 0);","            target = \u0026inst-\u003ei_target-\u003eb_instr[0];","            assert(!IS_ASSEMBLER_OPCODE(target-\u003ei_opcode));","        }","        else {","            target = \u0026nop;","        }","        int nextop = i+1 \u003c bb-\u003eb_iused ? bb-\u003eb_instr[i+1].i_opcode : 0;","        assert(!IS_ASSEMBLER_OPCODE(opcode));","        switch (opcode) {","            /* Try to fold tuples of constants.","               Skip over BUILD_TUPLE(1) UNPACK_SEQUENCE(1).","               Replace BUILD_TUPLE(2) UNPACK_SEQUENCE(2) with SWAP(2).","               Replace BUILD_TUPLE(3) UNPACK_SEQUENCE(3) with SWAP(3). */","            case BUILD_TUPLE:","                if (nextop == UNPACK_SEQUENCE \u0026\u0026 oparg == bb-\u003eb_instr[i+1].i_oparg) {","                    switch(oparg) {","                        case 1:","                            INSTR_SET_OP0(inst, NOP);","                            INSTR_SET_OP0(\u0026bb-\u003eb_instr[i + 1], NOP);","                            continue;","                        case 2:","                        case 3:","                            INSTR_SET_OP0(inst, NOP);","                            bb-\u003eb_instr[i+1].i_opcode = SWAP;","                            continue;","                    }","                }","                RETURN_IF_ERROR(fold_tuple_of_constants(bb, i, consts, const_cache, consts_index));","                break;","            case BUILD_LIST:","            case BUILD_SET:","                RETURN_IF_ERROR(optimize_lists_and_sets(bb, i, nextop, consts, const_cache, consts_index));","                break;","            case POP_JUMP_IF_NOT_NONE:","            case POP_JUMP_IF_NONE:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                        i -= jump_thread(bb, inst, target, inst-\u003ei_opcode);","                }","                break;","            case POP_JUMP_IF_FALSE:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                        i -= jump_thread(bb, inst, target, POP_JUMP_IF_FALSE);","                }","                break;","            case POP_JUMP_IF_TRUE:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                        i -= jump_thread(bb, inst, target, POP_JUMP_IF_TRUE);","                }","                break;","            case JUMP_IF_FALSE:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                    case JUMP_IF_FALSE:","                        i -= jump_thread(bb, inst, target, JUMP_IF_FALSE);","                        continue;","                    case JUMP_IF_TRUE:","                        // No need to check for loops here, a block's b_next","                        // cannot point to itself.","                        assert(inst-\u003ei_target != inst-\u003ei_target-\u003eb_next);","                        inst-\u003ei_target = inst-\u003ei_target-\u003eb_next;","                        i--;","                        continue;","                }","                break;","            case JUMP_IF_TRUE:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                    case JUMP_IF_TRUE:","                        i -= jump_thread(bb, inst, target, JUMP_IF_TRUE);","                        continue;","                    case JUMP_IF_FALSE:","                        // No need to check for loops here, a block's b_next","                        // cannot point to itself.","                        assert(inst-\u003ei_target != inst-\u003ei_target-\u003eb_next);","                        inst-\u003ei_target = inst-\u003ei_target-\u003eb_next;","                        i--;","                        continue;","                }","                break;","            case JUMP:","            case JUMP_NO_INTERRUPT:","                switch (target-\u003ei_opcode) {","                    case JUMP:","                        i -= jump_thread(bb, inst, target, JUMP);","                        continue;","                    case JUMP_NO_INTERRUPT:","                        i -= jump_thread(bb, inst, target, opcode);","                        continue;","                }","                break;","            case FOR_ITER:","                if (target-\u003ei_opcode == JUMP) {","                    /* This will not work now because the jump (at target) could","                     * be forward or backward and FOR_ITER only jumps forward. We","                     * can re-enable this if ever we implement a backward version","                     * of FOR_ITER.","                     */","                    /*","                    i -= jump_thread(bb, inst, target, FOR_ITER);","                    */","                }","                break;","            case STORE_FAST:","                if (opcode == nextop \u0026\u0026","                    oparg == bb-\u003eb_instr[i+1].i_oparg \u0026\u0026","                    bb-\u003eb_instr[i].i_loc.lineno == bb-\u003eb_instr[i+1].i_loc.lineno) {","                    bb-\u003eb_instr[i].i_opcode = POP_TOP;","                    bb-\u003eb_instr[i].i_oparg = 0;","                }","                break;","            case SWAP:","                if (oparg == 1) {","                    INSTR_SET_OP0(inst, NOP);","                }","                break;","            case LOAD_GLOBAL:","                if (nextop == PUSH_NULL \u0026\u0026 (oparg \u0026 1) == 0) {","                    INSTR_SET_OP1(inst, LOAD_GLOBAL, oparg | 1);","                    INSTR_SET_OP0(\u0026bb-\u003eb_instr[i + 1], NOP);","                }","                break;","            case COMPARE_OP:","                if (nextop == TO_BOOL) {","                    INSTR_SET_OP0(inst, NOP);","                    INSTR_SET_OP1(\u0026bb-\u003eb_instr[i + 1], COMPARE_OP, oparg | 16);","                    continue;","                }","                break;","            case CONTAINS_OP:","            case IS_OP:","                if (nextop == TO_BOOL) {","                    INSTR_SET_OP0(inst, NOP);","                    INSTR_SET_OP1(\u0026bb-\u003eb_instr[i + 1], opcode, oparg);","                    continue;","                }","                if (nextop == UNARY_NOT) {","                    INSTR_SET_OP0(inst, NOP);","                    int inverted = oparg ^ 1;","                    assert(inverted == 0 || inverted == 1);","                    INSTR_SET_OP1(\u0026bb-\u003eb_instr[i + 1], opcode, inverted);","                    continue;","                }","                break;","            case TO_BOOL:","                if (nextop == TO_BOOL) {","                    INSTR_SET_OP0(inst, NOP);","                    continue;","                }","                break;","            case UNARY_NOT:","                if (nextop == TO_BOOL) {","                    INSTR_SET_OP0(inst, NOP);","                    INSTR_SET_OP0(\u0026bb-\u003eb_instr[i + 1], UNARY_NOT);","                    continue;","                }","                if (nextop == UNARY_NOT) {","                    INSTR_SET_OP0(inst, NOP);","                    INSTR_SET_OP0(\u0026bb-\u003eb_instr[i + 1], NOP);","                    continue;","                }","                _Py_FALLTHROUGH;","            case UNARY_INVERT:","            case UNARY_NEGATIVE:","                RETURN_IF_ERROR(fold_const_unaryop(bb, i, consts, const_cache, consts_index));","                break;","            case CALL_INTRINSIC_1:","                if (oparg == INTRINSIC_LIST_TO_TUPLE) {","                    RETURN_IF_ERROR(fold_constant_seq_into_load_const(bb, i, consts, const_cache, consts_index));","                    if (inst-\u003ei_opcode == CALL_INTRINSIC_1 \u0026\u0026 nextop == GET_ITER) {","                        INSTR_SET_OP0(inst, NOP);","                    }","                }","                else if (oparg == INTRINSIC_UNARY_POSITIVE) {","                    RETURN_IF_ERROR(fold_const_unaryop(bb, i, consts, const_cache, consts_index));","                }","                break;","            case LIST_APPEND:","            case SET_ADD:","                if (oparg == 1 \u0026\u0026 (nextop == GET_ITER || nextop == CONTAINS_OP)) {","                    RETURN_IF_ERROR(fold_constant_seq_into_load_const(","                        bb, i, consts, const_cache, consts_index));","                }","                break;","            case BINARY_OP:","                RETURN_IF_ERROR(fold_const_binop(bb, i, consts, const_cache, consts_index));","                break;","        }","    }","","    for (int i = 0; i \u003c bb-\u003eb_iused; i++) {","        cfg_instr *inst = \u0026bb-\u003eb_instr[i];","        if (inst-\u003ei_opcode == SWAP) {","            if (swaptimize(bb, \u0026i) \u003c 0) {","                goto error;","            }","            apply_static_swaps(bb, i);","        }","    }","    return SUCCESS;","error:","    return ERROR;","}","","static int resolve_line_numbers(cfg_builder *g, int firstlineno);","","static int","remove_redundant_nops_and_jumps(cfg_builder *g)","{","    int removed_nops, removed_jumps;","    do {","        /* Convergence is guaranteed because the number of","         * redundant jumps and nops only decreases.","         */","        removed_nops = remove_redundant_nops(g);","        RETURN_IF_ERROR(removed_nops);","        removed_jumps = remove_redundant_jumps(g);","        RETURN_IF_ERROR(removed_jumps);","    } while(removed_nops + removed_jumps \u003e 0);","    return SUCCESS;","}","","/* Perform optimizations on a control flow graph.","   The consts object should still be in list form to allow new constants","   to be appended.","","   Code trasnformations that reduce code size initially fill the gaps with","   NOPs.  Later those NOPs are removed.","*/","static int","optimize_cfg(cfg_builder *g, PyObject *consts, PyObject *const_cache,","             _Py_hashtable_t *consts_index, int firstlineno)","{","    assert(PyDict_CheckExact(const_cache));","    RETURN_IF_ERROR(check_cfg(g));","    RETURN_IF_ERROR(inline_small_or_no_lineno_blocks(g-\u003eg_entryblock));","    RETURN_IF_ERROR(remove_unreachable(g-\u003eg_entryblock));","    RETURN_IF_ERROR(resolve_line_numbers(g, firstlineno));","    RETURN_IF_ERROR(optimize_load_const(const_cache, g, consts, consts_index));","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        RETURN_IF_ERROR(optimize_basic_block(const_cache, b, consts, consts_index));","    }","    RETURN_IF_ERROR(remove_redundant_nops_and_pairs(g-\u003eg_entryblock));","    RETURN_IF_ERROR(remove_unreachable(g-\u003eg_entryblock));","    RETURN_IF_ERROR(remove_redundant_nops_and_jumps(g));","    assert(no_redundant_jumps(g));","    return SUCCESS;","}","","static void","make_super_instruction(cfg_instr *inst1, cfg_instr *inst2, int super_op)","{","    int32_t line1 = inst1-\u003ei_loc.lineno;","    int32_t line2 = inst2-\u003ei_loc.lineno;","    /* Skip if instructions are on different lines */","    if (line1 \u003e= 0 \u0026\u0026 line2 \u003e= 0 \u0026\u0026 line1 != line2) {","        return;","    }","    if (inst1-\u003ei_oparg \u003e= 16 || inst2-\u003ei_oparg \u003e= 16) {","        return;","    }","    INSTR_SET_OP1(inst1, super_op, (inst1-\u003ei_oparg \u003c\u003c 4) | inst2-\u003ei_oparg);","    INSTR_SET_OP0(inst2, NOP);","}","","static int","insert_superinstructions(cfg_builder *g)","{","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *inst = \u0026b-\u003eb_instr[i];","            int nextop = i+1 \u003c b-\u003eb_iused ? b-\u003eb_instr[i+1].i_opcode : 0;","            switch(inst-\u003ei_opcode) {","                case LOAD_FAST:","                    if (nextop == LOAD_FAST) {","                        make_super_instruction(inst, \u0026b-\u003eb_instr[i + 1], LOAD_FAST_LOAD_FAST);","                    }","                    break;","                case STORE_FAST:","                    switch (nextop) {","                        case LOAD_FAST:","                            make_super_instruction(inst, \u0026b-\u003eb_instr[i + 1], STORE_FAST_LOAD_FAST);","                            break;","                        case STORE_FAST:","                            make_super_instruction(inst, \u0026b-\u003eb_instr[i + 1], STORE_FAST_STORE_FAST);","                            break;","                    }","                    break;","            }","        }","    }","    int res = remove_redundant_nops(g);","    assert(no_redundant_nops(g));","    return res;","}","","#define NOT_LOCAL -1","#define DUMMY_INSTR -1","","typedef struct {","    // Index of instruction that produced the reference or DUMMY_INSTR.","    int instr;","","    // The local to which the reference refers or NOT_LOCAL.","    int local;","} ref;","","typedef struct {","    ref *refs;","    Py_ssize_t size;","    Py_ssize_t capacity;","} ref_stack;","","static int","ref_stack_push(ref_stack *stack, ref r)","{","    if (stack-\u003esize == stack-\u003ecapacity) {","        Py_ssize_t new_cap = Py_MAX(32, stack-\u003ecapacity * 2);","        ref *refs = PyMem_Realloc(stack-\u003erefs, sizeof(*stack-\u003erefs) * new_cap);","        if (refs == NULL) {","            PyErr_NoMemory();","            return -1;","        }","        stack-\u003erefs = refs;","        stack-\u003ecapacity = new_cap;","    }","    stack-\u003erefs[stack-\u003esize] = r;","    stack-\u003esize++;","    return 0;","}","","static ref","ref_stack_pop(ref_stack *stack)","{","    assert(stack-\u003esize \u003e 0);","    stack-\u003esize--;","    ref r = stack-\u003erefs[stack-\u003esize];","    return r;","}","","static void","ref_stack_swap_top(ref_stack *stack, Py_ssize_t off)","{","    Py_ssize_t idx = stack-\u003esize - off;","    assert(idx \u003e= 0 \u0026\u0026 idx \u003c stack-\u003esize);","    ref tmp = stack-\u003erefs[idx];","    stack-\u003erefs[idx] = stack-\u003erefs[stack-\u003esize - 1];","    stack-\u003erefs[stack-\u003esize - 1] = tmp;","}","","static ref","ref_stack_at(ref_stack *stack, Py_ssize_t idx)","{","    assert(idx \u003e= 0 \u0026\u0026 idx \u003c stack-\u003esize);","    return stack-\u003erefs[idx];","}","","static void","ref_stack_clear(ref_stack *stack)","{","    stack-\u003esize = 0;","}","","static void","ref_stack_fini(ref_stack *stack)","{","    if (stack-\u003erefs != NULL) {","        PyMem_Free(stack-\u003erefs);","    }","    stack-\u003erefs = NULL;","    stack-\u003ecapacity = 0;","    stack-\u003esize = 0;","}","","typedef enum {","    // The loaded reference is still on the stack when the local is killed","    SUPPORT_KILLED  = 1,","    // The loaded reference is stored into a local","    STORED_AS_LOCAL = 2,","    // The loaded reference is still on the stack at the end of the basic block","    REF_UNCONSUMED  = 4,","} LoadFastInstrFlag;","","static void","kill_local(uint8_t *instr_flags, ref_stack *refs, int local)","{","    for (Py_ssize_t i = 0; i \u003c refs-\u003esize; i++) {","        ref r = ref_stack_at(refs, i);","        if (r.local == local) {","            assert(r.instr \u003e= 0);","            instr_flags[r.instr] |= SUPPORT_KILLED;","        }","    }","}","","static void","store_local(uint8_t *instr_flags, ref_stack *refs, int local, ref r)","{","    kill_local(instr_flags, refs, local);","    if (r.instr != DUMMY_INSTR) {","        instr_flags[r.instr] |= STORED_AS_LOCAL;","    }","}","","static void","load_fast_push_block(basicblock ***sp, basicblock *target,","                     Py_ssize_t start_depth)","{","    assert(target-\u003eb_startdepth \u003e= 0 \u0026\u0026 target-\u003eb_startdepth == start_depth);","    if (!target-\u003eb_visited) {","        target-\u003eb_visited = 1;","        *(*sp)++ = target;","    }","}","","/*"," * Strength reduce LOAD_FAST{_LOAD_FAST} instructions into faster variants that"," * load borrowed references onto the operand stack."," *"," * This is only safe when we can prove that the reference in the frame outlives"," * the borrowed reference produced by the instruction. We make this tractable"," * by enforcing the following lifetimes:"," *"," * 1. Borrowed references loaded onto the operand stack live until the end of"," *    the instruction that consumes them from the stack. Any borrowed"," *    references that would escape into the heap (e.g. into frame objects or"," *    generators) are converted into new, strong references."," *"," * 2. Locals live until they are either killed by an instruction"," *    (e.g. STORE_FAST) or the frame is unwound. Any local that is overwritten"," *    via `f_locals` is added to a tuple owned by the frame object."," *"," * To simplify the problem of detecting which supporting references in the"," * frame are killed by instructions that overwrite locals, we only allow"," * borrowed references to be stored as a local in the frame if they were passed"," * as an argument. {RETURN,YIELD}_VALUE convert borrowed references into new,"," * strong references."," *"," * Using the above, we can optimize any LOAD_FAST{_LOAD_FAST} instructions"," * that meet the following criteria:"," *"," * 1. The produced reference must be consumed from the stack before the"," *    supporting reference in the frame is killed."," *"," * 2. The produced reference cannot be stored as a local."," *"," * We use abstract interpretation to identify instructions that meet these"," * criteria. For each basic block, we simulate the effect the bytecode has on a"," * stack of abstract references and note any instructions that violate the"," * criteria above. Once we've processed all the instructions in a block, any"," * non-violating LOAD_FAST{_LOAD_FAST} can be optimized."," */","static int","optimize_load_fast(cfg_builder *g)","{","    int status;","    ref_stack refs = {0};","    int max_instrs = 0;","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        max_instrs = Py_MAX(max_instrs, b-\u003eb_iused);","    }","    size_t instr_flags_size = max_instrs * sizeof(uint8_t);","    uint8_t *instr_flags = PyMem_Malloc(instr_flags_size);","    if (instr_flags == NULL) {","        PyErr_NoMemory();","        return ERROR;","    }","    basicblock **blocks = make_cfg_traversal_stack(entryblock);","    if (blocks == NULL) {","        status = ERROR;","        goto done;","    }","    basicblock **sp = blocks;","    *sp = entryblock;","    sp++;","    entryblock-\u003eb_startdepth = 0;","    entryblock-\u003eb_visited = 1;","","    #define PUSH_REF(instr, local)                \\","        do {                                      \\","            if (ref_stack_push(\u0026refs, (ref){(instr), (local)}) \u003c 0) { \\","                status = ERROR;                   \\","                goto done;                        \\","            }                                     \\","        } while(0)","","    while (sp != blocks) {","        basicblock *block = *--sp;","        assert(block-\u003eb_startdepth \u003e -1);","","        // Reset per-block state.","        memset(instr_flags, 0, block-\u003eb_iused * sizeof(*instr_flags));","","        // Reset the stack of refs. We don't track references on the stack","        // across basic blocks, but the bytecode will expect their","        // presence. Add dummy references as necessary.","        ref_stack_clear(\u0026refs);","        for (int i = 0; i \u003c block-\u003eb_startdepth; i++) {","            PUSH_REF(DUMMY_INSTR, NOT_LOCAL);","        }","","        for (int i = 0; i \u003c block-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026block-\u003eb_instr[i];","            int opcode = instr-\u003ei_opcode;","            int oparg = instr-\u003ei_oparg;","            assert(opcode != EXTENDED_ARG);","            switch (opcode) {","                // Opcodes that load and store locals","                case DELETE_FAST: {","                    kill_local(instr_flags, \u0026refs, oparg);","                    break;","                }","","                case LOAD_FAST: {","                    PUSH_REF(i, oparg);","                    break;","                }","","                case LOAD_FAST_AND_CLEAR: {","                    kill_local(instr_flags, \u0026refs, oparg);","                    PUSH_REF(i, oparg);","                    break;","                }","","                case LOAD_FAST_LOAD_FAST: {","                    PUSH_REF(i, oparg \u003e\u003e 4);","                    PUSH_REF(i, oparg \u0026 15);","                    break;","                }","","                case STORE_FAST: {","                    ref r = ref_stack_pop(\u0026refs);","                    store_local(instr_flags, \u0026refs, oparg, r);","                    break;","                }","","                case STORE_FAST_LOAD_FAST: {","                    // STORE_FAST","                    ref r = ref_stack_pop(\u0026refs);","                    store_local(instr_flags, \u0026refs, oparg \u003e\u003e 4, r);","                    // LOAD_FAST","                    PUSH_REF(i, oparg \u0026 15);","                    break;","                }","","                case STORE_FAST_STORE_FAST: {","                    // STORE_FAST","                    ref r = ref_stack_pop(\u0026refs);","                    store_local(instr_flags, \u0026refs, oparg \u003e\u003e 4, r);","                    // STORE_FAST","                    r = ref_stack_pop(\u0026refs);","                    store_local(instr_flags, \u0026refs, oparg \u0026 15, r);","                    break;","                }","","                // Opcodes that shuffle values on the stack","                case COPY: {","                    assert(oparg \u003e 0);","                    Py_ssize_t idx = refs.size - oparg;","                    ref r = ref_stack_at(\u0026refs, idx);","                    PUSH_REF(r.instr, r.local);","                    break;","                }","","                case SWAP: {","                    assert(oparg \u003e= 2);","                    ref_stack_swap_top(\u0026refs, oparg);","                    break;","                }","","                // We treat opcodes that do not consume all of their inputs on","                // a case by case basis, as we have no generic way of knowing","                // how many inputs should be left on the stack.","","                // Opcodes that consume no inputs","                case FORMAT_SIMPLE:","                case GET_ANEXT:","                case GET_ITER:","                case GET_LEN:","                case IMPORT_FROM:","                case MATCH_KEYS:","                case MATCH_MAPPING:","                case MATCH_SEQUENCE:","                case WITH_EXCEPT_START: {","                    int num_popped = _PyOpcode_num_popped(opcode, oparg);","                    int num_pushed = _PyOpcode_num_pushed(opcode, oparg);","                    int net_pushed = num_pushed - num_popped;","                    assert(net_pushed \u003e= 0);","                    for (int j = 0; j \u003c net_pushed; j++) {","                        PUSH_REF(i, NOT_LOCAL);","                    }","                    break;","                }","","                // Opcodes that consume some inputs and push no new values","                case DICT_MERGE:","                case DICT_UPDATE:","                case LIST_APPEND:","                case LIST_EXTEND:","                case MAP_ADD:","                case RERAISE:","                case SET_ADD:","                case SET_UPDATE: {","                    int num_popped = _PyOpcode_num_popped(opcode, oparg);","                    int num_pushed = _PyOpcode_num_pushed(opcode, oparg);","                    int net_popped = num_popped - num_pushed;","                    assert(net_popped \u003e 0);","                    for (int i = 0; i \u003c net_popped; i++) {","                        ref_stack_pop(\u0026refs);","                    }","                    break;","                }","","                case END_SEND: {","                    assert(_PyOpcode_num_popped(opcode, oparg) == 3);","                    assert(_PyOpcode_num_pushed(opcode, oparg) == 1);","                    ref tos = ref_stack_pop(\u0026refs);","                    ref_stack_pop(\u0026refs);","                    ref_stack_pop(\u0026refs);","                    PUSH_REF(tos.instr, tos.local);","                    break;","                }","","                case SET_FUNCTION_ATTRIBUTE: {","                    assert(_PyOpcode_num_popped(opcode, oparg) == 2);","                    assert(_PyOpcode_num_pushed(opcode, oparg) == 1);","                    ref tos = ref_stack_pop(\u0026refs);","                    ref_stack_pop(\u0026refs);","                    PUSH_REF(tos.instr, tos.local);","                    break;","                }","","                // Opcodes that consume some inputs and push new values","                case CHECK_EXC_MATCH: {","                    ref_stack_pop(\u0026refs);","                    PUSH_REF(i, NOT_LOCAL);","                    break;","                }","","                case FOR_ITER: {","                    load_fast_push_block(\u0026sp, instr-\u003ei_target, refs.size + 1);","                    PUSH_REF(i, NOT_LOCAL);","                    break;","                }","","                case LOAD_ATTR:","                case LOAD_SUPER_ATTR: {","                    ref self = ref_stack_pop(\u0026refs);","                    if (opcode == LOAD_SUPER_ATTR) {","                        ref_stack_pop(\u0026refs);","                        ref_stack_pop(\u0026refs);","                    }","                    PUSH_REF(i, NOT_LOCAL);","                    if (oparg \u0026 1) {","                        // A method call; conservatively assume that self is pushed","                        // back onto the stack","                        PUSH_REF(self.instr, self.local);","                    }","                    break;","                }","","                case LOAD_SPECIAL:","                case PUSH_EXC_INFO: {","                    ref tos = ref_stack_pop(\u0026refs);","                    PUSH_REF(i, NOT_LOCAL);","                    PUSH_REF(tos.instr, tos.local);","                    break;","                }","","                case SEND: {","                    load_fast_push_block(\u0026sp, instr-\u003ei_target, refs.size);","                    ref_stack_pop(\u0026refs);","                    PUSH_REF(i, NOT_LOCAL);","                    break;","                }","","                // Opcodes that consume all of their inputs","                default: {","                    int num_popped = _PyOpcode_num_popped(opcode, oparg);","                    int num_pushed = _PyOpcode_num_pushed(opcode, oparg);","                    if (HAS_TARGET(instr-\u003ei_opcode)) {","                        load_fast_push_block(\u0026sp, instr-\u003ei_target, refs.size - num_popped + num_pushed);","                    }","                    if (!IS_BLOCK_PUSH_OPCODE(instr-\u003ei_opcode)) {","                        // Block push opcodes only affect the stack when jumping","                        // to the target.","                        for (int j = 0; j \u003c num_popped; j++) {","                            ref_stack_pop(\u0026refs);","                        }","                        for (int j = 0; j \u003c num_pushed; j++) {","                            PUSH_REF(i, NOT_LOCAL);","                        }","                    }","                    break;","                }","            }","        }","","        // Push fallthrough block","        if (BB_HAS_FALLTHROUGH(block)) {","            assert(block-\u003eb_next != NULL);","            load_fast_push_block(\u0026sp, block-\u003eb_next, refs.size);","        }","","        // Mark instructions that produce values that are on the stack at the","        // end of the basic block","        for (Py_ssize_t i = 0; i \u003c refs.size; i++) {","            ref r = ref_stack_at(\u0026refs, i);","            if (r.instr != -1) {","                instr_flags[r.instr] |= REF_UNCONSUMED;","            }","        }","","        // Optimize instructions","        for (int i = 0; i \u003c block-\u003eb_iused; i++) {","            if (!instr_flags[i]) {","                cfg_instr *instr = \u0026block-\u003eb_instr[i];","                switch (instr-\u003ei_opcode) {","                    case LOAD_FAST:","                        instr-\u003ei_opcode = LOAD_FAST_BORROW;","                        break;","                    case LOAD_FAST_LOAD_FAST:","                        instr-\u003ei_opcode = LOAD_FAST_BORROW_LOAD_FAST_BORROW;","                        break;","                    default:","                        break;","                }","            }","        }","    }","","    #undef PUSH_REF","","    status = SUCCESS;","","done:","    ref_stack_fini(\u0026refs);","    PyMem_Free(instr_flags);","    PyMem_Free(blocks);","    return status;","}","","// helper functions for add_checks_for_loads_of_unknown_variables","static inline void","maybe_push(basicblock *b, uint64_t unsafe_mask, basicblock ***sp)","{","    // Push b if the unsafe mask is giving us any new information.","    // To avoid overflowing the stack, only allow each block once.","    // Use b-\u003eb_visited=1 to mean that b is currently on the stack.","    uint64_t both = b-\u003eb_unsafe_locals_mask | unsafe_mask;","    if (b-\u003eb_unsafe_locals_mask != both) {","        b-\u003eb_unsafe_locals_mask = both;","        // More work left to do.","        if (!b-\u003eb_visited) {","            // not on the stack, so push it.","            *(*sp)++ = b;","            b-\u003eb_visited = 1;","        }","    }","}","","static void","scan_block_for_locals(basicblock *b, basicblock ***sp)","{","    // bit i is set if local i is potentially uninitialized","    uint64_t unsafe_mask = b-\u003eb_unsafe_locals_mask;","    for (int i = 0; i \u003c b-\u003eb_iused; i++) {","        cfg_instr *instr = \u0026b-\u003eb_instr[i];","        assert(instr-\u003ei_opcode != EXTENDED_ARG);","        if (instr-\u003ei_except != NULL) {","            maybe_push(instr-\u003ei_except, unsafe_mask, sp);","        }","        if (instr-\u003ei_oparg \u003e= 64) {","            continue;","        }","        assert(instr-\u003ei_oparg \u003e= 0);","        uint64_t bit = (uint64_t)1 \u003c\u003c instr-\u003ei_oparg;","        switch (instr-\u003ei_opcode) {","            case DELETE_FAST:","            case LOAD_FAST_AND_CLEAR:","            case STORE_FAST_MAYBE_NULL:","                unsafe_mask |= bit;","                break;","            case STORE_FAST:","                unsafe_mask \u0026= ~bit;","                break;","            case LOAD_FAST_CHECK:","                // If this doesn't raise, then the local is defined.","                unsafe_mask \u0026= ~bit;","                break;","            case LOAD_FAST:","                if (unsafe_mask \u0026 bit) {","                    instr-\u003ei_opcode = LOAD_FAST_CHECK;","                }","                unsafe_mask \u0026= ~bit;","                break;","        }","    }","    if (b-\u003eb_next \u0026\u0026 BB_HAS_FALLTHROUGH(b)) {","        maybe_push(b-\u003eb_next, unsafe_mask, sp);","    }","    cfg_instr *last = basicblock_last_instr(b);","    if (last \u0026\u0026 is_jump(last)) {","        assert(last-\u003ei_target != NULL);","        maybe_push(last-\u003ei_target, unsafe_mask, sp);","    }","}","","static int","fast_scan_many_locals(basicblock *entryblock, int nlocals)","{","    assert(nlocals \u003e 64);","    Py_ssize_t *states = PyMem_Calloc(nlocals - 64, sizeof(Py_ssize_t));","    if (states == NULL) {","        PyErr_NoMemory();","        return ERROR;","    }","    Py_ssize_t blocknum = 0;","    // state[i - 64] == blocknum if local i is guaranteed to","    // be initialized, i.e., if it has had a previous LOAD_FAST or","    // STORE_FAST within that basicblock (not followed by","    // DELETE_FAST/LOAD_FAST_AND_CLEAR/STORE_FAST_MAYBE_NULL).","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        blocknum++;","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            assert(instr-\u003ei_opcode != EXTENDED_ARG);","            int arg = instr-\u003ei_oparg;","            if (arg \u003c 64) {","                continue;","            }","            assert(arg \u003e= 0);","            switch (instr-\u003ei_opcode) {","                case DELETE_FAST:","                case LOAD_FAST_AND_CLEAR:","                case STORE_FAST_MAYBE_NULL:","                    states[arg - 64] = blocknum - 1;","                    break;","                case STORE_FAST:","                    states[arg - 64] = blocknum;","                    break;","                case LOAD_FAST:","                    if (states[arg - 64] != blocknum) {","                        instr-\u003ei_opcode = LOAD_FAST_CHECK;","                    }","                    states[arg - 64] = blocknum;","                    break;","                    Py_UNREACHABLE();","            }","        }","    }","    PyMem_Free(states);","    return SUCCESS;","}","","static int","remove_unused_consts(basicblock *entryblock, PyObject *consts)","{","    assert(PyList_CheckExact(consts));","    Py_ssize_t nconsts = PyList_GET_SIZE(consts);","    if (nconsts == 0) {","        return SUCCESS;  /* nothing to do */","    }","","    Py_ssize_t *index_map = NULL;","    Py_ssize_t *reverse_index_map = NULL;","    int err = ERROR;","","    index_map = PyMem_Malloc(nconsts * sizeof(Py_ssize_t));","    if (index_map == NULL) {","        PyErr_NoMemory();","        goto end;","    }","    for (Py_ssize_t i = 1; i \u003c nconsts; i++) {","        index_map[i] = -1;","    }","    // The first constant may be docstring; keep it always.","    index_map[0] = 0;","","    /* mark used consts */","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            int opcode = b-\u003eb_instr[i].i_opcode;","            if (OPCODE_HAS_CONST(opcode)) {","                int index = b-\u003eb_instr[i].i_oparg;","                index_map[index] = index;","            }","        }","    }","    /* now index_map[i] == i if consts[i] is used, -1 otherwise */","    /* condense consts */","    Py_ssize_t n_used_consts = 0;","    for (Py_ssize_t i = 0; i \u003c nconsts; i++) {","        if (index_map[i] != -1) {","            assert(index_map[i] == i);","            index_map[n_used_consts++] = index_map[i];","        }","    }","    if (n_used_consts == nconsts) {","        /* nothing to do */","        err = SUCCESS;","        goto end;","    }","","    /* move all used consts to the beginning of the consts list */","    assert(n_used_consts \u003c nconsts);","    for (Py_ssize_t i = 0; i \u003c n_used_consts; i++) {","        Py_ssize_t old_index = index_map[i];","        assert(i \u003c= old_index \u0026\u0026 old_index \u003c nconsts);","        if (i != old_index) {","            PyObject *value = PyList_GET_ITEM(consts, index_map[i]);","            assert(value != NULL);","            PyList_SetItem(consts, i, Py_NewRef(value));","        }","    }","","    /* truncate the consts list at its new size */","    if (PyList_SetSlice(consts, n_used_consts, nconsts, NULL) \u003c 0) {","        goto end;","    }","    /* adjust const indices in the bytecode */","    reverse_index_map = PyMem_Malloc(nconsts * sizeof(Py_ssize_t));","    if (reverse_index_map == NULL) {","        PyErr_NoMemory();","        goto end;","    }","    for (Py_ssize_t i = 0; i \u003c nconsts; i++) {","        reverse_index_map[i] = -1;","    }","    for (Py_ssize_t i = 0; i \u003c n_used_consts; i++) {","        assert(index_map[i] != -1);","        assert(reverse_index_map[index_map[i]] == -1);","        reverse_index_map[index_map[i]] = i;","    }","","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            int opcode = b-\u003eb_instr[i].i_opcode;","            if (OPCODE_HAS_CONST(opcode)) {","                int index = b-\u003eb_instr[i].i_oparg;","                assert(reverse_index_map[index] \u003e= 0);","                assert(reverse_index_map[index] \u003c n_used_consts);","                b-\u003eb_instr[i].i_oparg = (int)reverse_index_map[index];","            }","        }","    }","","    err = SUCCESS;","end:","    PyMem_Free(index_map);","    PyMem_Free(reverse_index_map);","    return err;","}","","","","static int","add_checks_for_loads_of_uninitialized_variables(basicblock *entryblock,","                                                int nlocals,","                                                int nparams)","{","    if (nlocals == 0) {","        return SUCCESS;","    }","    if (nlocals \u003e 64) {","        // To avoid O(nlocals**2) compilation, locals beyond the first","        // 64 are only analyzed one basicblock at a time: initialization","        // info is not passed between basicblocks.","        if (fast_scan_many_locals(entryblock, nlocals) \u003c 0) {","            return ERROR;","        }","        nlocals = 64;","    }","    basicblock **stack = make_cfg_traversal_stack(entryblock);","    if (stack == NULL) {","        return ERROR;","    }","    basicblock **sp = stack;","","    // First origin of being uninitialized:","    // The non-parameter locals in the entry block.","    uint64_t start_mask = 0;","    for (int i = nparams; i \u003c nlocals; i++) {","        start_mask |= (uint64_t)1 \u003c\u003c i;","    }","    maybe_push(entryblock, start_mask, \u0026sp);","","    // Second origin of being uninitialized:","    // There could be DELETE_FAST somewhere, so","    // be sure to scan each basicblock at least once.","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        scan_block_for_locals(b, \u0026sp);","    }","    // Now propagate the uncertainty from the origins we found: Use","    // LOAD_FAST_CHECK for any LOAD_FAST where the local could be undefined.","    while (sp \u003e stack) {","        basicblock *b = *--sp;","        // mark as no longer on stack","        b-\u003eb_visited = 0;","        scan_block_for_locals(b, \u0026sp);","    }","    PyMem_Free(stack);","    return SUCCESS;","}","","","static int","mark_warm(basicblock *entryblock) {","    basicblock **stack = make_cfg_traversal_stack(entryblock);","    if (stack == NULL) {","        return ERROR;","    }","    basicblock **sp = stack;","","    *sp++ = entryblock;","    entryblock-\u003eb_visited = 1;","    while (sp \u003e stack) {","        basicblock *b = *(--sp);","        assert(!b-\u003eb_except_handler);","        b-\u003eb_warm = 1;","        basicblock *next = b-\u003eb_next;","        if (next \u0026\u0026 BB_HAS_FALLTHROUGH(b) \u0026\u0026 !next-\u003eb_visited) {","            *sp++ = next;","            next-\u003eb_visited = 1;","        }","        for (int i=0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_jump(instr) \u0026\u0026 !instr-\u003ei_target-\u003eb_visited) {","                *sp++ = instr-\u003ei_target;","                instr-\u003ei_target-\u003eb_visited = 1;","            }","        }","    }","    PyMem_Free(stack);","    return SUCCESS;","}","","static int","mark_cold(basicblock *entryblock) {","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        assert(!b-\u003eb_cold \u0026\u0026 !b-\u003eb_warm);","    }","    if (mark_warm(entryblock) \u003c 0) {","        return ERROR;","    }","","    basicblock **stack = make_cfg_traversal_stack(entryblock);","    if (stack == NULL) {","        return ERROR;","    }","","    basicblock **sp = stack;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        if (b-\u003eb_except_handler) {","            assert(!b-\u003eb_warm);","            *sp++ = b;","            b-\u003eb_visited = 1;","        }","    }","","    while (sp \u003e stack) {","        basicblock *b = *(--sp);","        b-\u003eb_cold = 1;","        basicblock *next = b-\u003eb_next;","        if (next \u0026\u0026 BB_HAS_FALLTHROUGH(b)) {","            if (!next-\u003eb_warm \u0026\u0026 !next-\u003eb_visited) {","                *sp++ = next;","                next-\u003eb_visited = 1;","            }","        }","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_jump(instr)) {","                assert(i == b-\u003eb_iused - 1);","                basicblock *target = b-\u003eb_instr[i].i_target;","                if (!target-\u003eb_warm \u0026\u0026 !target-\u003eb_visited) {","                    *sp++ = target;","                    target-\u003eb_visited = 1;","                }","            }","        }","    }","    PyMem_Free(stack);","    return SUCCESS;","}","","","static int","push_cold_blocks_to_end(cfg_builder *g) {","    basicblock *entryblock = g-\u003eg_entryblock;","    if (entryblock-\u003eb_next == NULL) {","        /* single basicblock, no need to reorder */","        return SUCCESS;","    }","    RETURN_IF_ERROR(mark_cold(entryblock));","","    int next_lbl = get_max_label(g-\u003eg_entryblock) + 1;","","    /* If we have a cold block with fallthrough to a warm block, add */","    /* an explicit jump instead of fallthrough */","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        if (b-\u003eb_cold \u0026\u0026 BB_HAS_FALLTHROUGH(b) \u0026\u0026 b-\u003eb_next \u0026\u0026 b-\u003eb_next-\u003eb_warm) {","            basicblock *explicit_jump = cfg_builder_new_block(g);","            if (explicit_jump == NULL) {","                return ERROR;","            }","            if (!IS_LABEL(b-\u003eb_next-\u003eb_label)) {","                b-\u003eb_next-\u003eb_label.id = next_lbl++;","            }","            basicblock_addop(explicit_jump, JUMP_NO_INTERRUPT, b-\u003eb_next-\u003eb_label.id,","                             NO_LOCATION);","            explicit_jump-\u003eb_cold = 1;","            explicit_jump-\u003eb_next = b-\u003eb_next;","            explicit_jump-\u003eb_predecessors = 1;","            b-\u003eb_next = explicit_jump;","","            /* set target */","            cfg_instr *last = basicblock_last_instr(explicit_jump);","            last-\u003ei_target = explicit_jump-\u003eb_next;","        }","    }","","    assert(!entryblock-\u003eb_cold);  /* First block can't be cold */","    basicblock *cold_blocks = NULL;","    basicblock *cold_blocks_tail = NULL;","","    basicblock *b = entryblock;","    while(b-\u003eb_next) {","        assert(!b-\u003eb_cold);","        while (b-\u003eb_next \u0026\u0026 !b-\u003eb_next-\u003eb_cold) {","            b = b-\u003eb_next;","        }","        if (b-\u003eb_next == NULL) {","            /* no more cold blocks */","            break;","        }","","        /* b-\u003eb_next is the beginning of a cold streak */","        assert(!b-\u003eb_cold \u0026\u0026 b-\u003eb_next-\u003eb_cold);","","        basicblock *b_end = b-\u003eb_next;","        while (b_end-\u003eb_next \u0026\u0026 b_end-\u003eb_next-\u003eb_cold) {","            b_end = b_end-\u003eb_next;","        }","","        /* b_end is the end of the cold streak */","        assert(b_end \u0026\u0026 b_end-\u003eb_cold);","        assert(b_end-\u003eb_next == NULL || !b_end-\u003eb_next-\u003eb_cold);","","        if (cold_blocks == NULL) {","            cold_blocks = b-\u003eb_next;","        }","        else {","            cold_blocks_tail-\u003eb_next = b-\u003eb_next;","        }","        cold_blocks_tail = b_end;","        b-\u003eb_next = b_end-\u003eb_next;","        b_end-\u003eb_next = NULL;","    }","    assert(b != NULL \u0026\u0026 b-\u003eb_next == NULL);","    b-\u003eb_next = cold_blocks;","","    if (cold_blocks != NULL) {","        RETURN_IF_ERROR(remove_redundant_nops_and_jumps(g));","    }","    return SUCCESS;","}","","static int","convert_pseudo_conditional_jumps(cfg_builder *g)","{","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (instr-\u003ei_opcode == JUMP_IF_FALSE || instr-\u003ei_opcode == JUMP_IF_TRUE) {","                assert(i == b-\u003eb_iused - 1);","                instr-\u003ei_opcode = instr-\u003ei_opcode == JUMP_IF_FALSE ?","                                          POP_JUMP_IF_FALSE : POP_JUMP_IF_TRUE;","                location loc = instr-\u003ei_loc;","                basicblock *except = instr-\u003ei_except;","                cfg_instr copy = {","                            .i_opcode = COPY,","                            .i_oparg = 1,","                            .i_loc = loc,","                            .i_target = NULL,","                            .i_except = except,","                };","                RETURN_IF_ERROR(basicblock_insert_instruction(b, i++, \u0026copy));","                cfg_instr to_bool = {","                            .i_opcode = TO_BOOL,","                            .i_oparg = 0,","                            .i_loc = loc,","                            .i_target = NULL,","                            .i_except = except,","                };","                RETURN_IF_ERROR(basicblock_insert_instruction(b, i++, \u0026to_bool));","            }","        }","    }","    return SUCCESS;","}","","static int","convert_pseudo_ops(cfg_builder *g)","{","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (is_block_push(instr)) {","                INSTR_SET_OP0(instr, NOP);","            }","            else if (instr-\u003ei_opcode == LOAD_CLOSURE) {","                assert(is_pseudo_target(LOAD_CLOSURE, LOAD_FAST));","                instr-\u003ei_opcode = LOAD_FAST;","            }","            else if (instr-\u003ei_opcode == STORE_FAST_MAYBE_NULL) {","                assert(is_pseudo_target(STORE_FAST_MAYBE_NULL, STORE_FAST));","                instr-\u003ei_opcode = STORE_FAST;","            }","        }","    }","    return remove_redundant_nops_and_jumps(g);","}","","static inline bool","is_exit_or_eval_check_without_lineno(basicblock *b) {","    if (basicblock_exits_scope(b) || basicblock_has_eval_break(b)) {","        return basicblock_has_no_lineno(b);","    }","    else {","        return false;","    }","}","","","/* PEP 626 mandates that the f_lineno of a frame is correct"," * after a frame terminates. It would be prohibitively expensive"," * to continuously update the f_lineno field at runtime,"," * so we make sure that all exiting instruction (raises and returns)"," * have a valid line number, allowing us to compute f_lineno lazily."," * We can do this by duplicating the exit blocks without line number"," * so that none have more than one predecessor. We can then safely"," * copy the line number from the sole predecessor block."," */","static int","duplicate_exits_without_lineno(cfg_builder *g)","{","    int next_lbl = get_max_label(g-\u003eg_entryblock) + 1;","","    /* Copy all exit blocks without line number that are targets of a jump.","     */","    basicblock *entryblock = g-\u003eg_entryblock;","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        cfg_instr *last = basicblock_last_instr(b);","        if (last == NULL) {","            continue;","        }","        if (is_jump(last)) {","            basicblock *target = next_nonempty_block(last-\u003ei_target);","            if (is_exit_or_eval_check_without_lineno(target) \u0026\u0026 target-\u003eb_predecessors \u003e 1) {","                basicblock *new_target = copy_basicblock(g, target);","                if (new_target == NULL) {","                    return ERROR;","                }","                new_target-\u003eb_instr[0].i_loc = last-\u003ei_loc;","                last-\u003ei_target = new_target;","                target-\u003eb_predecessors--;","                new_target-\u003eb_predecessors = 1;","                new_target-\u003eb_next = target-\u003eb_next;","                new_target-\u003eb_label.id = next_lbl++;","                target-\u003eb_next = new_target;","            }","        }","    }","","    /* Any remaining reachable exit blocks without line number can only be reached by","     * fall through, and thus can only have a single predecessor */","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        if (BB_HAS_FALLTHROUGH(b) \u0026\u0026 b-\u003eb_next \u0026\u0026 b-\u003eb_iused \u003e 0) {","            if (is_exit_or_eval_check_without_lineno(b-\u003eb_next)) {","                cfg_instr *last = basicblock_last_instr(b);","                assert(last != NULL);","                b-\u003eb_next-\u003eb_instr[0].i_loc = last-\u003ei_loc;","            }","        }","    }","    return SUCCESS;","}","","","/* If an instruction has no line number, but it's predecessor in the BB does,"," * then copy the line number. If a successor block has no line number, and only"," * one predecessor, then inherit the line number."," * This ensures that all exit blocks (with one predecessor) receive a line number."," * Also reduces the size of the line number table,"," * but has no impact on the generated line number events."," */","","static inline void","maybe_propagate_location(basicblock *b, int i, location loc)","{","    assert(b-\u003eb_iused \u003e i);","    if (b-\u003eb_instr[i].i_loc.lineno == NO_LOCATION.lineno) {","         b-\u003eb_instr[i].i_loc = loc;","    }","}","","static void","propagate_line_numbers(basicblock *entryblock)","{","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        cfg_instr *last = basicblock_last_instr(b);","        if (last == NULL) {","            continue;","        }","","        location prev_location = NO_LOCATION;","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            maybe_propagate_location(b, i, prev_location);","            prev_location = b-\u003eb_instr[i].i_loc;","        }","        if (BB_HAS_FALLTHROUGH(b) \u0026\u0026 b-\u003eb_next-\u003eb_predecessors == 1) {","            if (b-\u003eb_next-\u003eb_iused \u003e 0) {","                maybe_propagate_location(b-\u003eb_next, 0, prev_location);","            }","        }","        if (is_jump(last)) {","            basicblock *target = last-\u003ei_target;","            while (target-\u003eb_iused == 0 \u0026\u0026 target-\u003eb_predecessors == 1) {","                target = target-\u003eb_next;","            }","            if (target-\u003eb_predecessors == 1) {","                maybe_propagate_location(target, 0, prev_location);","            }","        }","    }","}","","static int","resolve_line_numbers(cfg_builder *g, int firstlineno)","{","    RETURN_IF_ERROR(duplicate_exits_without_lineno(g));","    propagate_line_numbers(g-\u003eg_entryblock);","    return SUCCESS;","}","","int","_PyCfg_OptimizeCodeUnit(cfg_builder *g, PyObject *consts, PyObject *const_cache,","                        int nlocals, int nparams, int firstlineno)","{","    assert(cfg_builder_check(g));","    assert(g-\u003eg_entryblock-\u003eb_iused \u003e 0);","    /** Preprocessing **/","    /* Map labels to targets and mark exception handlers */","    RETURN_IF_ERROR(translate_jump_labels_to_targets(g-\u003eg_entryblock));","    RETURN_IF_ERROR(mark_except_handlers(g-\u003eg_entryblock));","    RETURN_IF_ERROR(label_exception_targets(g-\u003eg_entryblock));","","    /** Optimization **/","","    _Py_hashtable_t *consts_index = _Py_hashtable_new(","        _Py_hashtable_hash_ptr, _Py_hashtable_compare_direct);","    if (consts_index == NULL) {","        PyErr_NoMemory();","        return ERROR;","    }","","    for (Py_ssize_t i = 0; i \u003c PyList_GET_SIZE(consts); i++) {","        PyObject *item = PyList_GET_ITEM(consts, i);","        if (_Py_hashtable_get_entry(consts_index, (void *)item) != NULL) {","            continue;","        }","        if (_Py_hashtable_set(consts_index, (void *)item,","                              (void *)(uintptr_t)i) \u003c 0) {","            _Py_hashtable_destroy(consts_index);","            PyErr_NoMemory();","            return ERROR;","        }","    }","","    int ret = optimize_cfg(g, consts, const_cache, consts_index, firstlineno);","","    _Py_hashtable_destroy(consts_index);","","    RETURN_IF_ERROR(ret);","","    RETURN_IF_ERROR(remove_unused_consts(g-\u003eg_entryblock, consts));","    RETURN_IF_ERROR(","        add_checks_for_loads_of_uninitialized_variables(","            g-\u003eg_entryblock, nlocals, nparams));","    RETURN_IF_ERROR(insert_superinstructions(g));","","    RETURN_IF_ERROR(push_cold_blocks_to_end(g));","    RETURN_IF_ERROR(resolve_line_numbers(g, firstlineno));","    // temporarily remove assert. See https://github.com/python/cpython/issues/125845","    // assert(all_exits_have_lineno(g-\u003eg_entryblock));","    return SUCCESS;","}","","static int *","build_cellfixedoffsets(_PyCompile_CodeUnitMetadata *umd)","{","    int nlocals = (int)PyDict_GET_SIZE(umd-\u003eu_varnames);","    int ncellvars = (int)PyDict_GET_SIZE(umd-\u003eu_cellvars);","    int nfreevars = (int)PyDict_GET_SIZE(umd-\u003eu_freevars);","","    int noffsets = ncellvars + nfreevars;","    int *fixed = PyMem_New(int, noffsets);","    if (fixed == NULL) {","        PyErr_NoMemory();","        return NULL;","    }","    for (int i = 0; i \u003c noffsets; i++) {","        fixed[i] = nlocals + i;","    }","","    PyObject *varname, *cellindex;","    Py_ssize_t pos = 0;","    while (PyDict_Next(umd-\u003eu_cellvars, \u0026pos, \u0026varname, \u0026cellindex)) {","        PyObject *varindex;","        if (PyDict_GetItemRef(umd-\u003eu_varnames, varname, \u0026varindex) \u003c 0) {","            goto error;","        }","        if (varindex == NULL) {","            continue;","        }","","        int argoffset = PyLong_AsInt(varindex);","        Py_DECREF(varindex);","        if (argoffset == -1 \u0026\u0026 PyErr_Occurred()) {","            goto error;","        }","","        int oldindex = PyLong_AsInt(cellindex);","        if (oldindex == -1 \u0026\u0026 PyErr_Occurred()) {","            goto error;","        }","        fixed[oldindex] = argoffset;","    }","    return fixed;","","error:","    PyMem_Free(fixed);","    return NULL;","}","","#define IS_GENERATOR(CF) \\","    ((CF) \u0026 (CO_GENERATOR | CO_COROUTINE | CO_ASYNC_GENERATOR))","","static int","insert_prefix_instructions(_PyCompile_CodeUnitMetadata *umd, basicblock *entryblock,","                           int *fixed, int nfreevars)","{","    assert(umd-\u003eu_firstlineno \u003e 0);","","    /* Set up cells for any variable that escapes, to be put in a closure. */","    const int ncellvars = (int)PyDict_GET_SIZE(umd-\u003eu_cellvars);","    if (ncellvars) {","        // umd-\u003eu_cellvars has the cells out of order so we sort them","        // before adding the MAKE_CELL instructions.  Note that we","        // adjust for arg cells, which come first.","        const int nvars = ncellvars + (int)PyDict_GET_SIZE(umd-\u003eu_varnames);","        int *sorted = PyMem_RawCalloc(nvars, sizeof(int));","        if (sorted == NULL) {","            PyErr_NoMemory();","            return ERROR;","        }","        for (int i = 0; i \u003c ncellvars; i++) {","            sorted[fixed[i]] = i + 1;","        }","        for (int i = 0, ncellsused = 0; ncellsused \u003c ncellvars; i++) {","            int oldindex = sorted[i] - 1;","            if (oldindex == -1) {","                continue;","            }","            cfg_instr make_cell = {","                .i_opcode = MAKE_CELL,","                // This will get fixed in offset_derefs().","                .i_oparg = oldindex,","                .i_loc = NO_LOCATION,","                .i_target = NULL,","                .i_except = NULL,","            };","            if (basicblock_insert_instruction(entryblock, ncellsused, \u0026make_cell) \u003c 0) {","                PyMem_RawFree(sorted);","                return ERROR;","            }","            ncellsused += 1;","        }","        PyMem_RawFree(sorted);","    }","","    if (nfreevars) {","        cfg_instr copy_frees = {","            .i_opcode = COPY_FREE_VARS,","            .i_oparg = nfreevars,","            .i_loc = NO_LOCATION,","            .i_target = NULL,","            .i_except = NULL,","        };","        RETURN_IF_ERROR(basicblock_insert_instruction(entryblock, 0, \u0026copy_frees));","    }","","    return SUCCESS;","}","","static int","fix_cell_offsets(_PyCompile_CodeUnitMetadata *umd, basicblock *entryblock, int *fixedmap)","{","    int nlocals = (int)PyDict_GET_SIZE(umd-\u003eu_varnames);","    int ncellvars = (int)PyDict_GET_SIZE(umd-\u003eu_cellvars);","    int nfreevars = (int)PyDict_GET_SIZE(umd-\u003eu_freevars);","    int noffsets = ncellvars + nfreevars;","","    // First deal with duplicates (arg cells).","    int numdropped = 0;","    for (int i = 0; i \u003c noffsets ; i++) {","        if (fixedmap[i] == i + nlocals) {","            fixedmap[i] -= numdropped;","        }","        else {","            // It was a duplicate (cell/arg).","            numdropped += 1;","        }","    }","","    // Then update offsets, either relative to locals or by cell2arg.","    for (basicblock *b = entryblock; b != NULL; b = b-\u003eb_next) {","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *inst = \u0026b-\u003eb_instr[i];","            // This is called before extended args are generated.","            assert(inst-\u003ei_opcode != EXTENDED_ARG);","            int oldoffset = inst-\u003ei_oparg;","            switch(inst-\u003ei_opcode) {","                case MAKE_CELL:","                case LOAD_CLOSURE:","                case LOAD_DEREF:","                case STORE_DEREF:","                case DELETE_DEREF:","                case LOAD_FROM_DICT_OR_DEREF:","                    assert(oldoffset \u003e= 0);","                    assert(oldoffset \u003c noffsets);","                    assert(fixedmap[oldoffset] \u003e= 0);","                    inst-\u003ei_oparg = fixedmap[oldoffset];","            }","        }","    }","","    return numdropped;","}","","static int","prepare_localsplus(_PyCompile_CodeUnitMetadata *umd, cfg_builder *g)","{","    assert(PyDict_GET_SIZE(umd-\u003eu_varnames) \u003c INT_MAX);","    assert(PyDict_GET_SIZE(umd-\u003eu_cellvars) \u003c INT_MAX);","    assert(PyDict_GET_SIZE(umd-\u003eu_freevars) \u003c INT_MAX);","    int nlocals = (int)PyDict_GET_SIZE(umd-\u003eu_varnames);","    int ncellvars = (int)PyDict_GET_SIZE(umd-\u003eu_cellvars);","    int nfreevars = (int)PyDict_GET_SIZE(umd-\u003eu_freevars);","    assert(INT_MAX - nlocals - ncellvars \u003e 0);","    assert(INT_MAX - nlocals - ncellvars - nfreevars \u003e 0);","    int nlocalsplus = nlocals + ncellvars + nfreevars;","    int* cellfixedoffsets = build_cellfixedoffsets(umd);","    if (cellfixedoffsets == NULL) {","        return ERROR;","    }","","    // This must be called before fix_cell_offsets().","    if (insert_prefix_instructions(umd, g-\u003eg_entryblock, cellfixedoffsets, nfreevars)) {","        PyMem_Free(cellfixedoffsets);","        return ERROR;","    }","","    int numdropped = fix_cell_offsets(umd, g-\u003eg_entryblock, cellfixedoffsets);","    PyMem_Free(cellfixedoffsets);  // At this point we're done with it.","    cellfixedoffsets = NULL;","    if (numdropped \u003c 0) {","        return ERROR;","    }","","    nlocalsplus -= numdropped;","    return nlocalsplus;","}","","cfg_builder *","_PyCfg_FromInstructionSequence(_PyInstructionSequence *seq)","{","    if (_PyInstructionSequence_ApplyLabelMap(seq) \u003c 0) {","        return NULL;","    }","    cfg_builder *g = _PyCfgBuilder_New();","    if (g == NULL) {","        return NULL;","    }","    for (int i = 0; i \u003c seq-\u003es_used; i++) {","        seq-\u003es_instrs[i].i_target = 0;","    }","    for (int i = 0; i \u003c seq-\u003es_used; i++) {","        _PyInstruction *instr = \u0026seq-\u003es_instrs[i];","        if (HAS_TARGET(instr-\u003ei_opcode)) {","            assert(instr-\u003ei_oparg \u003e= 0 \u0026\u0026 instr-\u003ei_oparg \u003c seq-\u003es_used);","            seq-\u003es_instrs[instr-\u003ei_oparg].i_target = 1;","        }","    }","    int offset = 0;","    for (int i = 0; i \u003c seq-\u003es_used; i++) {","        _PyInstruction *instr = \u0026seq-\u003es_instrs[i];","        if (instr-\u003ei_opcode == ANNOTATIONS_PLACEHOLDER) {","            if (seq-\u003es_annotations_code != NULL) {","                assert(seq-\u003es_annotations_code-\u003es_labelmap_size == 0","                    \u0026\u0026 seq-\u003es_annotations_code-\u003es_nested == NULL);","                for (int j = 0; j \u003c seq-\u003es_annotations_code-\u003es_used; j++) {","                    _PyInstruction *ann_instr = \u0026seq-\u003es_annotations_code-\u003es_instrs[j];","                    assert(!HAS_TARGET(ann_instr-\u003ei_opcode));","                    if (_PyCfgBuilder_Addop(g, ann_instr-\u003ei_opcode, ann_instr-\u003ei_oparg, ann_instr-\u003ei_loc) \u003c 0) {","                        goto error;","                    }","                }","                offset += seq-\u003es_annotations_code-\u003es_used - 1;","            }","            else {","                offset -= 1;","            }","            continue;","        }","        if (instr-\u003ei_target) {","            jump_target_label lbl_ = {i + offset};","            if (_PyCfgBuilder_UseLabel(g, lbl_) \u003c 0) {","                goto error;","            }","        }","        int opcode = instr-\u003ei_opcode;","        int oparg = instr-\u003ei_oparg;","        if (HAS_TARGET(opcode)) {","            oparg += offset;","        }","        if (_PyCfgBuilder_Addop(g, opcode, oparg, instr-\u003ei_loc) \u003c 0) {","            goto error;","        }","    }","    if (_PyCfgBuilder_CheckSize(g) \u003c 0) {","        goto error;","    }","    return g;","error:","    _PyCfgBuilder_Free(g);","    return NULL;","}","","int","_PyCfg_ToInstructionSequence(cfg_builder *g, _PyInstructionSequence *seq)","{","    int lbl = 0;","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        b-\u003eb_label = (jump_target_label){lbl};","        lbl += 1;","    }","    for (basicblock *b = g-\u003eg_entryblock; b != NULL; b = b-\u003eb_next) {","        RETURN_IF_ERROR(_PyInstructionSequence_UseLabel(seq, b-\u003eb_label.id));","        for (int i = 0; i \u003c b-\u003eb_iused; i++) {","            cfg_instr *instr = \u0026b-\u003eb_instr[i];","            if (HAS_TARGET(instr-\u003ei_opcode)) {","                /* Set oparg to the label id (it will later be mapped to an offset) */","                instr-\u003ei_oparg = instr-\u003ei_target-\u003eb_label.id;","            }","            RETURN_IF_ERROR(","                _PyInstructionSequence_Addop(","                    seq, instr-\u003ei_opcode, instr-\u003ei_oparg, instr-\u003ei_loc));","","            _PyExceptHandlerInfo *hi = \u0026seq-\u003es_instrs[seq-\u003es_used-1].i_except_handler_info;","            if (instr-\u003ei_except != NULL) {","                hi-\u003eh_label = instr-\u003ei_except-\u003eb_label.id;","                hi-\u003eh_startdepth = instr-\u003ei_except-\u003eb_startdepth;","                hi-\u003eh_preserve_lasti = instr-\u003ei_except-\u003eb_preserve_lasti;","            }","            else {","                hi-\u003eh_label = -1;","            }","        }","    }","    if (_PyInstructionSequence_ApplyLabelMap(seq) \u003c 0) {","        return ERROR;","    }","    return SUCCESS;","}","","","int","_PyCfg_OptimizedCfgToInstructionSequence(cfg_builder *g,","                                     _PyCompile_CodeUnitMetadata *umd,","                                     int *stackdepth, int *nlocalsplus,","                                     _PyInstructionSequence *seq)","{","    RETURN_IF_ERROR(convert_pseudo_conditional_jumps(g));","","    *stackdepth = calculate_stackdepth(g);","    if (*stackdepth \u003c 0) {","        return ERROR;","    }","","    *nlocalsplus = prepare_localsplus(umd, g);","    if (*nlocalsplus \u003c 0) {","        return ERROR;","    }","","    RETURN_IF_ERROR(convert_pseudo_ops(g));","","    /* Order of basic blocks must have been determined by now */","","    RETURN_IF_ERROR(normalize_jumps(g));","    assert(no_redundant_jumps(g));","","    /* Can't modify the bytecode after inserting instructions that produce","     * borrowed references.","     */","    RETURN_IF_ERROR(optimize_load_fast(g));","","    /* Can't modify the bytecode after computing jump offsets. */","    if (_PyCfg_ToInstructionSequence(g, seq) \u003c 0) {","        return ERROR;","    }","","    return SUCCESS;","}","","/* This is used by _PyCompile_Assemble to fill in the jump and exception"," * targets in a synthetic CFG (which is not the output of the builtin compiler)."," */","int","_PyCfg_JumpLabelsToTargets(cfg_builder *g)","{","    RETURN_IF_ERROR(translate_jump_labels_to_targets(g-\u003eg_entryblock));","    RETURN_IF_ERROR(label_exception_targets(g-\u003eg_entryblock));","    return SUCCESS;","}","","/* Exported API functions */","","int","PyCompile_OpcodeStackEffectWithJump(int opcode, int oparg, int jump)","{","    stack_effects effs;","    if (get_stack_effects(opcode, oparg, jump, \u0026effs) \u003c 0) {","        return PY_INVALID_STACK_EFFECT;","    }","    return effs.net;","}","","int","PyCompile_OpcodeStackEffect(int opcode, int oparg)","{","    stack_effects effs;","    if (get_stack_effects(opcode, oparg, -1, \u0026effs) \u003c 0) {","        return PY_INVALID_STACK_EFFECT;","    }","    return effs.net;","}","","/* Access to compiler optimizations for unit tests.",""," * _PyCompile_OptimizeCfg takes an instruction list, constructs"," * a CFG, optimizes it and converts back to an instruction list."," */","","static PyObject *","cfg_to_instruction_sequence(cfg_builder *g)","{","    _PyInstructionSequence *seq = (_PyInstructionSequence *)_PyInstructionSequence_New();","    if (seq == NULL) {","        return NULL;","    }","    if (_PyCfg_ToInstructionSequence(g, seq) \u003c 0) {","        PyInstructionSequence_Fini(seq);","        return NULL;","    }","    return (PyObject*)seq;","}","","PyObject *","_PyCompile_OptimizeCfg(PyObject *seq, PyObject *consts, int nlocals)","{","    if (!_PyInstructionSequence_Check(seq)) {","        PyErr_SetString(PyExc_ValueError, \"expected an instruction sequence\");","        return NULL;","    }","    if (!PyList_Check(consts)) {","        PyErr_SetString(PyExc_TypeError, \"consts must be a list\");","        return NULL;","    }","    PyObject *const_cache = PyDict_New();","    if (const_cache == NULL) {","        return NULL;","    }","","    PyObject *res = NULL;","    cfg_builder *g = _PyCfg_FromInstructionSequence((_PyInstructionSequence*)seq);","    if (g == NULL) {","        goto error;","    }","    int nparams = 0, firstlineno = 1;","    if (_PyCfg_OptimizeCodeUnit(g, consts, const_cache, nlocals,","                                nparams, firstlineno) \u003c 0) {","        goto error;","    }","","    if (calculate_stackdepth(g) == ERROR) {","        goto error;","    }","","    if (optimize_load_fast(g) != SUCCESS) {","        goto error;","    }","","    res = cfg_to_instruction_sequence(g);","error:","    Py_DECREF(const_cache);","    _PyCfgBuilder_Free(g);","    return res;","}"],"stylingDirectives":[[[0,8,"pl-k"],[9,19,"pl-s"]],[[0,8,"pl-k"],[9,19,"pl-s"]],[[0,8,"pl-k"],[9,27,"pl-s"],[34,62,"pl-c"]],[[0,8,"pl-k"],[9,29,"pl-s"]],[[0,8,"pl-k"],[9,27,"pl-s"]],[[0,8,"pl-k"],[9,30,"pl-s"]],[[0,8,"pl-k"],[9,25,"pl-s"],[34,56,"pl-c"]],[[0,8,"pl-k"],[9,24,"pl-s"],[34,55,"pl-c"]],[[0,8,"pl-k"],[9,29,"pl-s"],[34,52,"pl-c"]],[],[[0,8,"pl-k"],[9,32,"pl-s"]],[[0,8,"pl-k"],[9,35,"pl-s"],[36,58,"pl-c"]],[[0,8,"pl-k"],[9,27,"pl-s"],[36,64,"pl-c"]],[[0,8,"pl-k"],[9,28,"pl-s"],[36,68,"pl-c"]],[],[[0,8,"pl-k"],[9,20,"pl-s"]],[],[],[[0,6,"pl-k"]],[[0,6,"pl-k"]],[[0,7,"pl-k"],[8,15,"pl-c1"]],[[0,7,"pl-k"],[8,13,"pl-c1"]],[],[[0,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-c1"]],[],[],[],[],[[0,7,"pl-k"],[8,26,"pl-c1"]],[],[[0,7,"pl-k"],[8,26,"pl-smi"],[27,35,"pl-smi"]],[[0,7,"pl-k"],[8,26,"pl-smi"],[27,44,"pl-smi"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[15,32,"pl-smi"]],[[4,7,"pl-smi"],[8,16,"pl-c1"]],[[4,7,"pl-smi"],[8,15,"pl-c1"]],[[4,22,"pl-smi"],[23,28,"pl-c1"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,37,"pl-c1"],[39,79,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,37,"pl-c1"],[39,82,"pl-c"]],[[2,11,"pl-smi"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[15,31,"pl-smi"]],[[4,72,"pl-c"]],[[0,69,"pl-c"]],[[0,75,"pl-c"]],[[0,31,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,35,"pl-c1"]],[[4,70,"pl-c"]],[[4,22,"pl-smi"],[23,30,"pl-c1"]],[[4,101,"pl-c"]],[[4,10,"pl-k"],[11,28,"pl-smi"],[29,30,"pl-c1"],[30,43,"pl-c1"]],[[4,61,"pl-c"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,22,"pl-c1"]],[[4,57,"pl-c"]],[[0,47,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,35,"pl-c1"]],[[4,37,"pl-c"]],[[4,7,"pl-smi"],[8,15,"pl-c1"]],[[4,47,"pl-c"]],[[4,7,"pl-smi"],[8,16,"pl-c1"]],[[4,59,"pl-c"]],[[4,12,"pl-smi"],[13,33,"pl-c1"]],[[4,50,"pl-c"]],[[4,7,"pl-smi"],[8,22,"pl-c1"]],[[4,70,"pl-c"]],[[4,7,"pl-smi"],[8,20,"pl-c1"]],[[4,66,"pl-c"]],[[4,12,"pl-smi"],[13,29,"pl-c1"],[32,33,"pl-c1"]],[[4,82,"pl-c"]],[[4,12,"pl-smi"],[13,22,"pl-c1"],[25,26,"pl-c1"]],[[4,92,"pl-c"]],[[4,12,"pl-smi"],[13,29,"pl-c1"],[32,33,"pl-c1"]],[[4,87,"pl-c"]],[[4,12,"pl-smi"],[13,19,"pl-c1"],[22,23,"pl-c1"]],[[4,101,"pl-c"]],[[4,12,"pl-smi"],[13,19,"pl-c1"],[22,23,"pl-c1"]],[[2,12,"pl-smi"]],[],[],[[0,6,"pl-k"],[7,20,"pl-smi"]],[[4,70,"pl-c"]],[[0,52,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,41,"pl-c1"]],[[4,66,"pl-c"]],[[0,59,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,41,"pl-c1"]],[[4,58,"pl-c"]],[[4,10,"pl-k"],[11,27,"pl-smi"],[28,29,"pl-c1"],[29,39,"pl-c1"]],[[4,53,"pl-c"]],[[4,22,"pl-smi"],[23,38,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"],[15,28,"pl-smi"],[29,40,"pl-smi"]],[],[[0,7,"pl-k"],[8,18,"pl-en"],[19,21,"pl-c1"],[23,25,"pl-c1"]],[[0,7,"pl-k"],[8,16,"pl-en"],[17,18,"pl-c1"]],[],[[0,7,"pl-k"],[8,16,"pl-en"],[17,20,"pl-c1"],[22,29,"pl-c1"],[31,34,"pl-c1"],[36,43,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,13,"pl-en"],[14,23,"pl-smi"],[24,25,"pl-c1"],[25,26,"pl-s1"]],[],[[4,10,"pl-en"],[11,25,"pl-en"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,37,"pl-c1"],[39,41,"pl-c1"],[43,63,"pl-en"],[64,65,"pl-s1"],[65,67,"pl-c1"],[67,75,"pl-c1"]],[[4,10,"pl-k"],[11,31,"pl-en"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,43,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,7,"pl-en"],[8,17,"pl-smi"],[18,19,"pl-c1"],[19,20,"pl-s1"]],[],[[4,10,"pl-k"],[11,26,"pl-en"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[],[],[[0,12,"pl-c"]],[[0,7,"pl-k"],[8,21,"pl-en"],[22,23,"pl-c1"],[25,27,"pl-c1"],[29,32,"pl-c1"]],[],[],[],[],[],[],[],[[0,12,"pl-c"]],[[0,7,"pl-k"],[8,21,"pl-en"],[22,23,"pl-c1"],[25,27,"pl-c1"]],[],[],[],[],[],[],[],[[0,7,"pl-k"],[8,21,"pl-en"],[22,23,"pl-c1"],[25,28,"pl-c1"]],[],[],[],[],[],[[0,20,"pl-c"]],[],[[0,68,"pl-c"]],[[0,52,"pl-c"]],[[0,25,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,21,"pl-en"],[22,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-s1"]],[],[[4,10,"pl-en"],[11,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[[4,17,"pl-smi"],[18,23,"pl-s1"],[24,25,"pl-c1"]],[[9,14,"pl-c1"],[15,16,"pl-c1"],[18,22,"pl-smi"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"]],[[9,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[9,18,"pl-c1"],[19,20,"pl-c1"],[21,27,"pl-k"],[28,37,"pl-s1"]],[[9,28,"pl-c1"],[29,30,"pl-c1"],[31,49,"pl-c1"]],[],[],[[4,19,"pl-en"],[20,45,"pl-en"],[46,47,"pl-c1"],[47,52,"pl-s1"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,64,"pl-c1"],[65,66,"pl-c1"],[67,68,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,14,"pl-c1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[23,28,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,15,"pl-c1"],[16,17,"pl-c1"],[18,23,"pl-s1"],[24,41,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[21,23,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,16,"pl-smi"],[17,18,"pl-c1"]],[[0,21,"pl-en"],[22,27,"pl-k"],[28,38,"pl-smi"],[39,40,"pl-c1"],[40,41,"pl-s1"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[25,26,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,25,"pl-c1"],[26,28,"pl-c1"],[29,33,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,51,"pl-c"]],[[0,25,"pl-c"]],[[0,2,"pl-c"]],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,21,"pl-en"],[22,33,"pl-smi"],[34,35,"pl-c1"],[35,36,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[21,31,"pl-smi"],[32,33,"pl-c1"],[34,46,"pl-en"],[47,48,"pl-c1"],[50,56,"pl-k"],[57,67,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,65,"pl-c"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,31,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,14,"pl-c1"],[15,16,"pl-c1"],[17,25,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,16,"pl-en"],[17,27,"pl-smi"],[28,29,"pl-c1"],[29,30,"pl-s1"],[32,35,"pl-smi"],[36,42,"pl-s1"],[44,47,"pl-smi"],[48,53,"pl-s1"],[55,63,"pl-smi"],[64,67,"pl-s1"]],[],[[4,10,"pl-en"],[11,33,"pl-en"],[34,40,"pl-s1"]],[[4,10,"pl-en"],[12,31,"pl-en"],[32,38,"pl-s1"]],[[4,10,"pl-en"],[11,25,"pl-en"],[26,32,"pl-s1"],[34,36,"pl-c1"],[37,47,"pl-en"],[48,54,"pl-s1"],[56,58,"pl-c1"],[59,64,"pl-s1"],[65,67,"pl-c1"],[68,69,"pl-c1"]],[[4,10,"pl-en"],[11,12,"pl-c1"],[16,21,"pl-s1"],[22,24,"pl-c1"],[25,30,"pl-s1"],[31,32,"pl-c1"],[34,35,"pl-c1"],[39,41,"pl-c1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,35,"pl-en"],[36,37,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"],[31,34,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,15,"pl-c1"],[16,17,"pl-c1"],[18,24,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,14,"pl-c1"],[15,16,"pl-c1"],[17,22,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,12,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[[4,41,"pl-c"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,19,"pl-en"],[20,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"],[35,38,"pl-smi"],[39,45,"pl-s1"],[47,57,"pl-smi"],[58,59,"pl-c1"],[59,65,"pl-s1"],[67,75,"pl-smi"],[76,79,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,23,"pl-en"],[24,28,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,19,"pl-en"]],[[8,24,"pl-en"],[25,26,"pl-s1"],[28,34,"pl-s1"],[36,42,"pl-s1"],[42,44,"pl-c1"],[44,51,"pl-c1"],[52,54,"pl-c1"],[56,59,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,32,"pl-en"],[33,34,"pl-s1"]],[[4,10,"pl-en"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[34,36,"pl-c1"],[37,43,"pl-s1"]],[[4,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,27,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,30,"pl-en"],[31,41,"pl-smi"],[42,43,"pl-c1"],[43,45,"pl-s1"],[47,57,"pl-smi"],[58,59,"pl-c1"],[59,63,"pl-s1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"],[39,40,"pl-s1"],[40,42,"pl-c1"]],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,37,"pl-en"],[38,40,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,24,"pl-en"],[25,30,"pl-k"],[31,41,"pl-smi"],[42,43,"pl-c1"],[43,44,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"]],[[13,33,"pl-en"],[34,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"],[50,52,"pl-c1"]],[[13,41,"pl-en"],[42,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-c1"]],[[0,7,"pl-k"],[8,26,"pl-en"],[27,28,"pl-c1"]],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,15,"pl-en"],[16,27,"pl-smi"],[28,29,"pl-c1"],[29,30,"pl-s1"],[32,42,"pl-smi"],[43,44,"pl-c1"],[44,49,"pl-s1"]],[],[[4,57,"pl-c"]],[[0,57,"pl-c"]],[[0,7,"pl-c"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,34,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,46,"pl-en"],[47,48,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,6,"pl-k"],[8,38,"pl-en"],[39,45,"pl-s1"],[47,52,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,29,"pl-en"],[30,40,"pl-smi"],[41,42,"pl-c1"],[42,47,"pl-s1"],[49,52,"pl-smi"],[53,56,"pl-s1"],[58,67,"pl-smi"],[68,69,"pl-c1"],[69,74,"pl-s1"]],[[4,19,"pl-en"],[20,41,"pl-en"],[42,47,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,44,"pl-s1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"],[44,45,"pl-c1"],[45,46,"pl-c1"]],[],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,22,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[27,32,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,33,"pl-c"]],[[0,3,"pl-k"],[4,5,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,10,"pl-en"],[11,20,"pl-smi"],[21,22,"pl-c1"],[22,23,"pl-s1"]],[],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,20,"pl-s1"],[21,22,"pl-c1"],[23,30,"pl-en"],[31,32,"pl-s1"],[36,43,"pl-s"],[46,48,"pl-s"]],[],[[4,8,"pl-smi"],[9,12,"pl-s1"],[13,16,"pl-c1"]],[],[[4,5,"pl-c1"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,15,"pl-c1"]],[[4,6,"pl-k"],[8,22,"pl-en"],[23,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"]],[[8,15,"pl-en"],[16,19,"pl-s1"],[21,31,"pl-s"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,43,"pl-c1"]],[],[[4,6,"pl-k"],[8,18,"pl-en"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[[8,15,"pl-en"],[16,19,"pl-s1"],[21,39,"pl-s"],[41,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,64,"pl-c1"]],[],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,47,"pl-s"]],[[20,21,"pl-s1"],[21,23,"pl-c1"],[23,28,"pl-c1"],[29,35,"pl-c1"],[37,53,"pl-s1"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,65,"pl-c1"],[68,69,"pl-s1"],[69,71,"pl-c1"],[71,79,"pl-c1"],[81,84,"pl-s1"],[86,90,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,18,"pl-en"],[19,24,"pl-k"],[25,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,35,"pl-en"],[36,40,"pl-s1"],[40,42,"pl-c1"],[42,50,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,15,"pl-en"],[16,21,"pl-k"],[22,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-s1"],[37,41,"pl-smi"],[42,51,"pl-s1"]],[],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,24,"pl-s1"],[25,26,"pl-c1"],[27,45,"pl-en"],[46,47,"pl-s1"],[51,60,"pl-s"],[63,65,"pl-s"]],[[4,6,"pl-k"],[8,17,"pl-s1"]],[[8,15,"pl-en"],[16,22,"pl-s1"],[24,30,"pl-s"]],[],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,95,"pl-s"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,21,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"],[26,42,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,53,"pl-c1"],[55,56,"pl-s1"],[56,58,"pl-c1"],[58,64,"pl-c1"],[66,83,"pl-en"],[84,85,"pl-s1"],[88,89,"pl-s1"],[91,92,"pl-s1"],[92,94,"pl-c1"],[94,101,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,23,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,42,"pl-c1"],[44,52,"pl-s1"]],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,31,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"]],[[8,11,"pl-smi"],[12,13,"pl-s1"]],[[8,11,"pl-k"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,19,"pl-en"],[20,26,"pl-s1"],[28,49,"pl-s"],[51,52,"pl-s1"],[54,59,"pl-s1"]],[[12,22,"pl-en"],[23,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-s1"]],[],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,45,"pl-en"],[46,47,"pl-s1"],[47,49,"pl-c1"],[49,56,"pl-c1"],[57,58,"pl-s1"],[60,68,"pl-c1"],[70,71,"pl-s1"],[71,73,"pl-c1"],[73,80,"pl-c1"],[81,82,"pl-s1"],[84,91,"pl-c1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,45,"pl-en"],[46,47,"pl-s1"],[47,49,"pl-c1"],[49,56,"pl-c1"],[57,58,"pl-s1"],[60,68,"pl-c1"],[70,71,"pl-s1"],[71,73,"pl-c1"],[73,80,"pl-c1"],[81,82,"pl-s1"],[84,91,"pl-c1"]],[[12,17,"pl-s1"],[18,20,"pl-c1"],[22,28,"pl-s1"],[29,30,"pl-c1"],[31,37,"pl-s1"]],[],[],[],[],[[0,4,"pl-smi"]],[[0,23,"pl-en"],[24,29,"pl-k"],[30,40,"pl-smi"],[41,42,"pl-c1"],[42,52,"pl-s1"],[54,59,"pl-k"],[60,70,"pl-smi"],[71,72,"pl-c1"],[72,76,"pl-s1"]],[],[[4,7,"pl-k"],[9,14,"pl-k"],[15,25,"pl-smi"],[26,27,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,41,"pl-s1"],[43,44,"pl-s1"],[45,47,"pl-c1"],[48,52,"pl-c1"],[54,55,"pl-s1"],[56,57,"pl-c1"],[58,59,"pl-s1"],[59,61,"pl-c1"],[61,67,"pl-c1"]],[[8,23,"pl-en"],[24,25,"pl-s1"],[27,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-s1"]],[],[],[],[[0,6,"pl-k"]],[],[],[[0,47,"pl-c"]],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,26,"pl-en"],[27,38,"pl-smi"],[39,40,"pl-c1"],[40,41,"pl-s1"],[43,53,"pl-smi"],[54,55,"pl-c1"],[55,60,"pl-s1"]],[],[[4,10,"pl-en"],[11,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,17,"pl-c1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[26,27,"pl-c1"],[28,33,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,17,"pl-c1"],[18,19,"pl-c1"],[20,25,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,22,"pl-en"],[23,28,"pl-k"],[29,39,"pl-smi"],[40,41,"pl-c1"],[41,42,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,39,"pl-en"],[40,44,"pl-s1"],[44,46,"pl-c1"],[46,54,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,17,"pl-smi"]],[[0,25,"pl-en"],[26,31,"pl-k"],[32,42,"pl-smi"],[43,44,"pl-c1"],[44,45,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[8,10,"pl-k"],[12,33,"pl-en"],[34,35,"pl-s1"],[35,37,"pl-c1"],[37,44,"pl-c1"],[45,46,"pl-s1"],[48,56,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[4,10,"pl-k"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,39,"pl-en"],[40,51,"pl-smi"],[52,53,"pl-c1"],[53,54,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,57,"pl-c1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,36,"pl-en"],[37,41,"pl-s1"],[41,43,"pl-c1"],[43,51,"pl-c1"]],[[8,14,"pl-k"]],[],[[4,6,"pl-k"],[8,16,"pl-en"],[17,18,"pl-s1"],[18,20,"pl-c1"],[20,35,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,28,"pl-en"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,42,"pl-c1"],[42,44,"pl-c1"],[44,51,"pl-c1"]],[[12,18,"pl-k"]],[],[[8,12,"pl-k"]],[[12,50,"pl-c"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,25,"pl-c1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,55,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,30,"pl-c1"],[31,32,"pl-c1"],[33,41,"pl-c1"]],[],[],[[4,10,"pl-k"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,33,"pl-en"],[34,45,"pl-smi"],[46,47,"pl-c1"],[47,48,"pl-s1"]],[],[[4,6,"pl-k"],[8,47,"pl-en"],[48,49,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,45,"pl-en"],[46,47,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[22,24,"pl-c1"],[24,39,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,26,"pl-c1"],[27,28,"pl-c1"],[29,37,"pl-c1"]],[[8,34,"pl-en"],[35,36,"pl-s1"],[38,39,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,17,"pl-en"],[18,29,"pl-smi"],[30,31,"pl-c1"],[31,32,"pl-s1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"],[46,51,"pl-s1"],[52,54,"pl-c1"],[55,59,"pl-c1"],[61,66,"pl-s1"],[67,68,"pl-c1"],[69,74,"pl-s1"],[74,76,"pl-c1"],[76,82,"pl-c1"]],[[8,14,"pl-en"],[16,33,"pl-en"],[34,39,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[37,38,"pl-c1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[38,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"]],[],[[8,12,"pl-k"]],[[12,18,"pl-en"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"]],[[12,18,"pl-en"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[36,38,"pl-c1"],[39,40,"pl-c1"]],[],[],[[4,10,"pl-k"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,16,"pl-en"],[17,28,"pl-smi"],[29,30,"pl-c1"],[30,31,"pl-s1"]],[],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,19,"pl-c1"],[20,21,"pl-c1"],[22,26,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,45,"pl-en"],[46,47,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,35,"pl-c1"],[36,37,"pl-c1"],[38,43,"pl-s1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,22,"pl-c1"],[23,24,"pl-c1"],[25,33,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,11,"pl-smi"],[12,13,"pl-c1"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,33,"pl-en"],[34,40,"pl-k"],[41,52,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-en"],[11,12,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-k"],[24,35,"pl-s1"]],[[4,6,"pl-k"],[8,24,"pl-en"],[25,26,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[8,18,"pl-en"],[19,20,"pl-s1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,4,"pl-smi"]],[[0,18,"pl-en"],[19,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"]],[],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[8,14,"pl-k"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,30,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,35,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"]],[[12,22,"pl-en"],[24,28,"pl-smi"],[29,30,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"]],[],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[8,18,"pl-en"],[20,24,"pl-smi"],[25,26,"pl-c1"],[27,28,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,16,"pl-s1"]],[],[[4,14,"pl-en"],[15,16,"pl-s1"]],[],[],[[0,3,"pl-smi"]],[[0,23,"pl-en"],[24,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,15,"pl-s1"],[15,17,"pl-c1"]],[],[[4,6,"pl-k"],[9,15,"pl-smi"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,34,"pl-c1"],[37,43,"pl-k"],[44,54,"pl-smi"],[55,56,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,3,"pl-smi"]],[[0,22,"pl-en"],[23,34,"pl-smi"],[35,36,"pl-c1"],[36,37,"pl-s1"],[39,56,"pl-smi"],[57,60,"pl-s1"]],[],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,22,"pl-c1"],[23,24,"pl-c1"],[25,28,"pl-s1"]],[[4,10,"pl-k"],[11,44,"pl-en"],[45,46,"pl-s1"]],[],[],[[0,3,"pl-smi"]],[[0,19,"pl-en"],[20,31,"pl-smi"],[32,33,"pl-c1"],[33,34,"pl-s1"],[36,39,"pl-smi"],[40,46,"pl-s1"],[48,51,"pl-smi"],[52,57,"pl-s1"],[59,67,"pl-smi"],[68,71,"pl-s1"]],[],[[4,19,"pl-en"],[20,53,"pl-en"],[54,55,"pl-s1"]],[[4,10,"pl-k"],[11,27,"pl-en"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,41,"pl-c1"],[43,49,"pl-s1"],[51,56,"pl-s1"],[58,61,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,19,"pl-en"],[20,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"]],[],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,29,"pl-c1"],[30,31,"pl-c1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"]],[],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,31,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-c1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,32,"pl-en"],[33,44,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,17,"pl-en"],[18,29,"pl-smi"],[30,31,"pl-c1"],[31,32,"pl-s1"]],[[4,6,"pl-k"],[8,29,"pl-en"],[30,31,"pl-s1"],[33,35,"pl-c1"],[36,37,"pl-c1"]],[[8,14,"pl-k"]],[],[[4,10,"pl-k"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,18,"pl-en"],[19,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,47,"pl-en"],[48,49,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,14,"pl-k"],[16,44,"pl-en"],[45,49,"pl-s1"],[49,51,"pl-c1"],[51,59,"pl-c1"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,32,"pl-s1"],[33,34,"pl-c1"],[35,54,"pl-en"],[55,56,"pl-s1"],[56,58,"pl-c1"],[58,64,"pl-c1"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,39,"pl-s1"],[40,41,"pl-c1"],[42,61,"pl-en"],[62,66,"pl-s1"],[66,68,"pl-c1"],[68,76,"pl-c1"]],[[16,18,"pl-k"],[20,31,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-s1"]],[[20,26,"pl-en"],[27,31,"pl-s1"]],[[20,22,"pl-k"],[24,28,"pl-s1"],[28,30,"pl-c1"],[30,35,"pl-c1"],[36,42,"pl-c1"],[43,45,"pl-c1"],[46,50,"pl-s1"],[50,52,"pl-c1"],[52,59,"pl-c1"],[60,61,"pl-c1"],[63,68,"pl-c1"],[69,75,"pl-c1"]],[[24,30,"pl-en"],[31,32,"pl-c1"]],[[24,30,"pl-k"]],[],[],[],[],[],[[4,10,"pl-k"]],[],[[0,6,"pl-k"]],[],[[0,61,"pl-c"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,24,"pl-en"],[25,36,"pl-smi"],[37,38,"pl-c1"],[38,39,"pl-s1"],[41,51,"pl-smi"],[52,53,"pl-c1"],[53,54,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[25,51,"pl-en"],[52,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,10,"pl-en"],[12,31,"pl-en"],[32,36,"pl-s1"],[36,38,"pl-c1"],[38,46,"pl-c1"]],[],[[4,8,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[36,38,"pl-c1"],[38,47,"pl-c1"],[48,50,"pl-c1"],[51,52,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-s1"]],[[8,23,"pl-en"]],[[12,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"],[43,44,"pl-c1"],[46,50,"pl-s1"],[50,52,"pl-c1"],[52,57,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,7,"pl-smi"],[8,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-s1"],[15,17,"pl-c1"],[17,25,"pl-c1"]],[[8,12,"pl-k"],[13,33,"pl-c1"]],[[12,27,"pl-s1"],[28,29,"pl-c1"],[30,46,"pl-c1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,29,"pl-c1"]],[[12,27,"pl-s1"],[28,29,"pl-c1"],[30,50,"pl-c1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,30,"pl-c1"]],[[12,27,"pl-s1"],[28,29,"pl-c1"],[30,46,"pl-c1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,29,"pl-c1"]],[[12,27,"pl-s1"],[28,29,"pl-c1"],[30,47,"pl-c1"]],[[12,17,"pl-k"]],[],[[4,40,"pl-c"]],[[0,60,"pl-c"]],[[0,7,"pl-c"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,30,"pl-s1"],[31,32,"pl-c1"],[33,54,"pl-en"],[55,56,"pl-s1"]],[[4,6,"pl-k"],[8,22,"pl-s1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,19,"pl-en"]],[[8,24,"pl-en"],[25,39,"pl-s1"],[41,50,"pl-c1"],[52,53,"pl-c1"],[55,59,"pl-s1"],[59,61,"pl-c1"],[61,66,"pl-c1"]],[[4,19,"pl-en"]],[[8,27,"pl-en"],[28,42,"pl-s1"],[44,48,"pl-c1"],[50,56,"pl-s1"],[58,62,"pl-s1"],[62,64,"pl-c1"],[64,69,"pl-c1"]],[[4,18,"pl-s1"],[18,20,"pl-c1"],[20,32,"pl-c1"],[33,34,"pl-c1"],[35,41,"pl-s1"],[41,43,"pl-c1"],[43,55,"pl-c1"]],[[4,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,36,"pl-s1"]],[[4,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"]],[],[[4,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"]],[[4,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[14,15,"pl-c1"],[16,30,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,15,"pl-en"],[16,27,"pl-smi"],[28,29,"pl-c1"],[29,30,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,23,"pl-en"],[24,48,"pl-en"],[49,50,"pl-s1"],[52,53,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,9,"pl-en"],[10,21,"pl-smi"],[22,23,"pl-c1"],[23,24,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,85,"pl-c"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"],[39,47,"pl-c1"]],[[12,18,"pl-en"],[20,39,"pl-en"],[40,46,"pl-s1"]],[[12,14,"pl-k"],[16,36,"pl-en"],[37,43,"pl-s1"]],[[16,18,"pl-k"],[20,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[20,35,"pl-en"],[36,53,"pl-s1"],[55,86,"pl-s"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,13,"pl-en"],[14,24,"pl-smi"],[25,26,"pl-c1"],[26,36,"pl-s1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[28,31,"pl-s1"]],[[12,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-s1"],[19,21,"pl-c1"],[21,28,"pl-c1"],[29,31,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,60,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,32,"pl-en"],[33,43,"pl-smi"],[44,45,"pl-c1"],[45,55,"pl-s1"]],[],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[20,33,"pl-en"],[34,44,"pl-s1"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-k"],[28,38,"pl-smi"],[39,40,"pl-c1"],[42,43,"pl-c1"],[45,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,28,"pl-s1"],[29,30,"pl-c1"],[32,42,"pl-smi"],[43,44,"pl-c1"],[44,45,"pl-c1"],[46,58,"pl-en"],[59,66,"pl-s1"]],[[4,6,"pl-k"],[9,20,"pl-s1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,10,"pl-en"],[11,22,"pl-s1"],[24,25,"pl-c1"],[27,34,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,25,"pl-c1"],[29,30,"pl-c1"]],[[12,23,"pl-s1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,37,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-s1"]],[],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,37,"pl-c1"],[38,42,"pl-c1"]],[[12,14,"pl-k"],[16,26,"pl-en"],[27,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"]],[[16,19,"pl-smi"],[20,23,"pl-s1"],[24,25,"pl-c1"],[26,31,"pl-s1"],[31,33,"pl-c1"],[33,40,"pl-c1"]],[[16,22,"pl-en"],[23,26,"pl-s1"],[30,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[42,51,"pl-s1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,45,"pl-s1"],[46,49,"pl-s1"]],[[16,22,"pl-en"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[39,41,"pl-c1"],[42,46,"pl-c1"]],[[16,22,"pl-en"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[38,40,"pl-c1"],[40,47,"pl-c1"],[48,50,"pl-c1"],[51,53,"pl-c1"],[54,57,"pl-s1"]],[],[],[],[[4,14,"pl-en"],[15,26,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,20,"pl-en"],[21,31,"pl-smi"],[32,33,"pl-c1"],[33,43,"pl-s1"]],[[0,7,"pl-k"],[8,14,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,14,"pl-en"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,35,"pl-c1"]],[],[[0,6,"pl-k"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[18,19,"pl-c1"],[19,20,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,29,"pl-en"],[30,35,"pl-s1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[31,33,"pl-c1"],[33,49,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,24,"pl-smi"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,24,"pl-c1"],[25,37,"pl-c1"],[37,38,"pl-c1"],[38,39,"pl-c1"]],[[4,7,"pl-smi"],[8,13,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,17,"pl-en"],[18,24,"pl-k"],[25,42,"pl-smi"],[43,44,"pl-c1"],[44,49,"pl-s1"],[51,60,"pl-smi"],[61,62,"pl-c1"],[62,67,"pl-s1"]],[[4,10,"pl-en"],[11,24,"pl-en"],[25,30,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[17,23,"pl-s1"],[24,25,"pl-c1"],[26,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"],[29,31,"pl-c1"],[32,38,"pl-s1"],[39,41,"pl-c1"],[42,55,"pl-c1"]],[[8,14,"pl-s1"],[14,16,"pl-c1"],[16,32,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,23,"pl-c1"],[27,39,"pl-c1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[20,22,"pl-c1"],[22,27,"pl-s1"],[27,29,"pl-c1"],[29,34,"pl-c1"],[36,37,"pl-c1"],[38,44,"pl-s1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,16,"pl-en"],[17,23,"pl-k"],[24,41,"pl-smi"],[42,43,"pl-c1"],[43,48,"pl-s1"]],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,10,"pl-k"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[29,34,"pl-s1"],[34,36,"pl-c1"],[36,41,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,19,"pl-c1"]],[[0,16,"pl-en"],[17,23,"pl-k"],[24,41,"pl-smi"],[42,43,"pl-c1"],[43,48,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,32,"pl-s1"],[32,34,"pl-c1"],[34,39,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,31,"pl-smi"],[32,33,"pl-c1"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[[4,10,"pl-k"],[11,28,"pl-smi"],[29,30,"pl-c1"],[30,33,"pl-s1"],[34,35,"pl-c1"],[36,48,"pl-en"],[49,55,"pl-k"],[56,62,"pl-k"],[63,80,"pl-smi"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,31,"pl-smi"],[32,33,"pl-c1"]],[[0,17,"pl-en"],[18,24,"pl-k"],[25,42,"pl-smi"],[43,44,"pl-c1"],[44,49,"pl-s1"]],[[4,10,"pl-k"],[11,28,"pl-smi"],[29,30,"pl-c1"],[30,34,"pl-s1"],[35,36,"pl-c1"],[37,49,"pl-en"],[50,56,"pl-k"],[57,63,"pl-k"],[64,81,"pl-smi"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-en"],[11,15,"pl-s1"],[17,22,"pl-s1"],[24,30,"pl-k"],[31,37,"pl-k"],[38,55,"pl-smi"]],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[17,18,"pl-c1"],[18,19,"pl-c1"]],[[0,24,"pl-en"],[25,35,"pl-smi"],[36,37,"pl-c1"],[37,47,"pl-s1"]],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,15,"pl-s1"],[15,17,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[26,36,"pl-smi"],[37,38,"pl-c1"],[38,39,"pl-c1"],[40,52,"pl-en"],[53,59,"pl-k"],[60,70,"pl-smi"],[71,72,"pl-c1"],[74,75,"pl-c1"],[76,83,"pl-s1"]],[[4,6,"pl-k"],[9,14,"pl-s1"]],[[8,22,"pl-en"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,59,"pl-c"]],[[0,0,"pl-c"]],[[0,71,"pl-c"]],[[0,58,"pl-c"]],[[0,0,"pl-c"]],[[0,23,"pl-c"]],[[0,19,"pl-c"]],[[0,18,"pl-c"]],[[0,3,"pl-c"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,46,"pl-c"]],[[4,7,"pl-smi"],[8,11,"pl-c1"]],[[2,15,"pl-smi"]],[],[[0,8,"pl-s1"],[9,12,"pl-smi"]],[[0,17,"pl-en"],[18,21,"pl-smi"],[22,28,"pl-s1"],[30,33,"pl-smi"],[34,39,"pl-s1"],[41,44,"pl-smi"],[45,49,"pl-s1"],[51,64,"pl-smi"],[65,66,"pl-c1"],[66,73,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[[4,6,"pl-k"],[9,15,"pl-s1"],[19,34,"pl-c1"],[36,38,"pl-c1"],[40,55,"pl-s1"],[56,62,"pl-s1"],[64,66,"pl-c1"],[67,73,"pl-s1"]],[[8,54,"pl-c"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,37,"pl-en"],[38,44,"pl-s1"],[46,51,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,37,"pl-en"],[38,44,"pl-s1"],[46,51,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[[4,6,"pl-k"],[8,28,"pl-en"],[29,35,"pl-s1"],[37,39,"pl-c1"],[41,45,"pl-s1"]],[[8,15,"pl-s1"],[15,17,"pl-c1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[[4,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,15,"pl-s1"],[16,19,"pl-smi"]],[[0,15,"pl-en"],[16,26,"pl-smi"],[27,28,"pl-c1"],[28,29,"pl-c1"],[29,30,"pl-c1"],[30,32,"pl-s1"],[34,44,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-s1"],[49,52,"pl-smi"],[53,58,"pl-s1"]],[],[[4,6,"pl-k"],[10,11,"pl-s1"],[11,13,"pl-c1"],[13,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"],[49,51,"pl-c1"],[52,57,"pl-s1"]],[[8,20,"pl-en"],[21,37,"pl-s1"],[39,77,"pl-s"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,23,"pl-c1"],[24,25,"pl-c1"],[26,31,"pl-s1"],[32,34,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"],[38,50,"pl-c1"],[51,52,"pl-c1"],[53,56,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,23,"pl-c1"],[24,25,"pl-c1"],[26,31,"pl-s1"]],[[8,9,"pl-c1"],[10,11,"pl-c1"],[11,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,67,"pl-c"]],[[0,66,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,20,"pl-en"],[21,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,23,"pl-c1"],[24,25,"pl-c1"],[26,33,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,49,"pl-en"],[50,60,"pl-s1"]],[[4,6,"pl-k"],[9,14,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[],[[4,7,"pl-smi"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[[4,6,"pl-k"],[8,23,"pl-en"],[24,25,"pl-c1"],[25,27,"pl-s1"],[29,39,"pl-s1"],[41,42,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-c1"]],[[13,18,"pl-ent"]],[],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,16,"pl-c1"],[17,22,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,27,"pl-c1"],[27,29,"pl-s1"]],[[8,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,35,"pl-c1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[24,25,"pl-c1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,25,"pl-smi"],[26,33,"pl-s1"]],[[12,14,"pl-k"],[16,33,"pl-en"],[34,39,"pl-s1"],[39,41,"pl-c1"],[41,49,"pl-c1"],[51,56,"pl-s1"],[56,58,"pl-c1"],[58,65,"pl-c1"],[67,68,"pl-c1"],[70,71,"pl-c1"],[71,78,"pl-s1"],[80,81,"pl-c1"],[82,83,"pl-c1"]],[[16,28,"pl-en"],[29,46,"pl-s1"]],[[29,73,"pl-s"]],[[29,34,"pl-s1"],[34,36,"pl-c1"],[36,44,"pl-c1"],[46,51,"pl-s1"],[51,53,"pl-c1"],[53,60,"pl-c1"]],[[21,26,"pl-ent"]],[],[[12,15,"pl-smi"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[34,35,"pl-c1"],[36,43,"pl-s1"],[44,47,"pl-c1"]],[[12,14,"pl-k"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[16,28,"pl-en"],[29,45,"pl-s1"]],[[29,70,"pl-s"],[72,77,"pl-s1"],[77,79,"pl-c1"],[79,84,"pl-c1"],[85,91,"pl-c1"]],[[21,26,"pl-ent"]],[],[[12,20,"pl-s1"],[21,22,"pl-c1"],[23,29,"pl-en"],[30,38,"pl-s1"],[40,45,"pl-s1"]],[[12,14,"pl-k"],[16,26,"pl-en"],[27,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[44,46,"pl-c1"],[47,52,"pl-s1"],[52,54,"pl-c1"],[54,62,"pl-c1"],[63,65,"pl-c1"],[66,79,"pl-c1"]],[[16,18,"pl-k"],[20,37,"pl-en"],[38,43,"pl-s1"],[43,45,"pl-c1"],[45,53,"pl-c1"],[55,60,"pl-s1"],[60,62,"pl-c1"],[62,69,"pl-c1"],[71,72,"pl-c1"],[74,75,"pl-c1"],[75,82,"pl-s1"],[84,85,"pl-c1"],[86,87,"pl-c1"]],[[20,32,"pl-en"],[33,50,"pl-s1"]],[[33,77,"pl-s"]],[[33,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"],[50,55,"pl-s1"],[55,57,"pl-c1"],[57,64,"pl-c1"]],[[25,30,"pl-ent"]],[],[[16,19,"pl-smi"],[20,32,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[41,42,"pl-c1"],[43,50,"pl-s1"],[51,54,"pl-c1"]],[[16,22,"pl-en"],[23,35,"pl-s1"],[39,40,"pl-c1"],[43,84,"pl-c"]],[[16,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-en"],[34,42,"pl-s1"],[44,49,"pl-s1"]],[[16,18,"pl-k"],[20,35,"pl-en"],[36,37,"pl-c1"],[37,39,"pl-s1"],[41,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"],[58,70,"pl-s1"],[72,73,"pl-c1"],[74,75,"pl-c1"]],[[25,30,"pl-ent"]],[],[],[[12,17,"pl-s1"],[18,19,"pl-c1"],[20,29,"pl-s1"]],[[12,18,"pl-en"],[20,39,"pl-en"],[40,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"]],[[12,14,"pl-k"],[16,44,"pl-en"],[45,50,"pl-s1"],[50,52,"pl-c1"],[52,60,"pl-c1"],[62,64,"pl-c1"]],[[16,36,"pl-en"],[37,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[],[[16,44,"pl-c"]],[[16,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[16,21,"pl-k"]],[],[],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,18,"pl-en"],[19,37,"pl-en"],[38,39,"pl-s1"]],[[12,14,"pl-k"],[16,31,"pl-en"],[32,33,"pl-c1"],[33,35,"pl-s1"],[37,41,"pl-s1"],[43,48,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[[21,26,"pl-ent"]],[],[],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,25,"pl-s1"]],[[0,5,"pl-ent"]],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,10,"pl-k"],[11,21,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,23,"pl-en"],[24,34,"pl-smi"],[35,36,"pl-c1"],[36,46,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,27,"pl-s1"],[28,29,"pl-c1"],[30,54,"pl-en"],[55,65,"pl-s1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,10,"pl-k"],[11,28,"pl-smi"],[29,30,"pl-c1"],[30,42,"pl-s1"],[43,44,"pl-c1"],[45,62,"pl-en"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[8,18,"pl-en"],[19,29,"pl-s1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,16,"pl-s1"],[16,18,"pl-c1"],[18,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[18,19,"pl-c1"],[20,30,"pl-s1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,29,"pl-c1"],[30,31,"pl-c1"],[32,44,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,35,"pl-s1"],[36,37,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-c1"]],[[4,9,"pl-k"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,28,"pl-s1"]],[[8,12,"pl-s1"],[12,14,"pl-c1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[29,30,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-c1"]],[[8,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"],[26,39,"pl-c1"]],[[8,14,"pl-en"],[15,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-c1"]],[[8,15,"pl-s1"],[16,17,"pl-c1"],[18,34,"pl-en"],[35,47,"pl-s1"]],[[8,11,"pl-smi"],[12,35,"pl-s1"],[36,37,"pl-c1"],[38,40,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,29,"pl-en"],[30,35,"pl-s1"]],[[16,18,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[36,38,"pl-c1"],[38,47,"pl-c1"]],[[20,26,"pl-k"],[27,44,"pl-smi"],[45,46,"pl-c1"],[46,50,"pl-s1"],[51,52,"pl-c1"],[53,70,"pl-en"],[71,83,"pl-s1"]],[[20,22,"pl-k"],[24,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"]],[[29,34,"pl-ent"]],[],[[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[35,37,"pl-c1"],[37,50,"pl-c1"],[51,52,"pl-c1"],[53,57,"pl-s1"]],[[20,24,"pl-s1"],[25,26,"pl-c1"],[28,29,"pl-c1"],[30,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"]],[[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[35,37,"pl-c1"],[37,46,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[[20,24,"pl-s1"],[24,26,"pl-c1"]],[],[[16,23,"pl-s1"],[24,25,"pl-c1"],[26,43,"pl-en"],[44,56,"pl-s1"],[58,63,"pl-s1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,49,"pl-c1"]],[[16,23,"pl-s1"],[24,25,"pl-c1"],[26,42,"pl-en"],[43,55,"pl-s1"]],[[16,29,"pl-en"],[30,35,"pl-s1"],[37,40,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,28,"pl-en"],[29,34,"pl-s1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,41,"pl-s1"]],[[16,22,"pl-en"],[23,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-c1"],[40,41,"pl-c1"]],[[16,18,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[36,38,"pl-c1"],[38,47,"pl-c1"]],[[20,22,"pl-k"],[24,42,"pl-en"],[43,44,"pl-s1"]],[[24,30,"pl-k"],[31,48,"pl-smi"],[49,50,"pl-c1"],[50,54,"pl-s1"],[55,56,"pl-c1"],[57,74,"pl-en"],[75,87,"pl-s1"]],[[24,26,"pl-k"],[28,32,"pl-s1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[33,38,"pl-ent"]],[],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[39,41,"pl-c1"],[41,54,"pl-c1"],[55,56,"pl-c1"],[57,61,"pl-s1"]],[],[[20,24,"pl-k"]],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[39,41,"pl-c1"],[41,54,"pl-c1"],[55,56,"pl-c1"],[57,69,"pl-s1"]],[[24,36,"pl-s1"],[37,38,"pl-c1"],[39,43,"pl-c1"]],[],[[20,24,"pl-s1"],[25,26,"pl-c1"],[28,29,"pl-c1"],[30,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"]],[[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[35,37,"pl-c1"],[37,46,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[[20,24,"pl-s1"],[24,26,"pl-c1"]],[],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,51,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,41,"pl-s1"]],[[16,39,"pl-s1"],[40,41,"pl-c1"],[42,54,"pl-s1"],[54,56,"pl-c1"],[56,61,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,46,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,41,"pl-s1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,37,"pl-c1"],[38,58,"pl-c1"],[59,61,"pl-c1"],[62,67,"pl-s1"],[67,69,"pl-c1"],[69,76,"pl-c1"],[77,79,"pl-c1"],[80,104,"pl-c1"]],[[20,26,"pl-en"],[27,50,"pl-s1"],[54,55,"pl-c1"]],[[20,22,"pl-k"],[24,47,"pl-s1"],[48,50,"pl-c1"],[51,52,"pl-c1"]],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[42,66,"pl-c1"]],[],[[20,43,"pl-s1"],[44,45,"pl-c1"],[46,48,"pl-c1"]],[],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,56,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,38,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,41,"pl-s1"]],[],[],[[8,10,"pl-k"],[12,30,"pl-en"],[31,32,"pl-s1"],[34,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"],[41,47,"pl-c1"],[47,49,"pl-c1"],[49,58,"pl-c1"]],[[12,18,"pl-en"],[19,31,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[21,23,"pl-c1"],[23,36,"pl-c1"],[37,38,"pl-c1"],[39,51,"pl-s1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[23,25,"pl-c1"],[25,31,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[21,23,"pl-c1"],[23,32,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[12,16,"pl-s1"],[16,18,"pl-c1"]],[],[[8,12,"pl-k"],[13,15,"pl-k"],[17,29,"pl-s1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[11,21,"pl-en"],[22,34,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,31,"pl-c1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[],[[0,6,"pl-k"]],[[4,14,"pl-en"],[15,25,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[[0,5,"pl-ent"]],[[4,14,"pl-en"],[15,25,"pl-s1"]],[[4,14,"pl-en"],[15,27,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-c1"]],[],[],[[0,31,"pl-c"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,18,"pl-en"],[19,29,"pl-smi"],[30,31,"pl-c1"],[31,41,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,49,"pl-en"],[50,60,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[4,5,"pl-c1"],[5,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,22,"pl-s1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[28,30,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,43,"pl-en"],[44,45,"pl-s1"]],[[12,14,"pl-k"],[17,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[26,28,"pl-c1"],[28,37,"pl-c1"]],[[16,22,"pl-en"],[23,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"],[32,34,"pl-c1"],[34,48,"pl-c1"],[49,51,"pl-c1"],[52,53,"pl-c1"]],[[16,17,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[25,27,"pl-c1"],[27,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[21,23,"pl-c1"],[23,37,"pl-c1"],[37,39,"pl-c1"]],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,22,"pl-smi"],[23,24,"pl-c1"],[24,30,"pl-s1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,23,"pl-en"],[24,29,"pl-s1"],[31,33,"pl-c1"],[34,47,"pl-en"],[48,53,"pl-s1"]],[[16,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[16,18,"pl-k"],[21,27,"pl-s1"],[27,29,"pl-c1"],[29,38,"pl-c1"]],[[20,21,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[28,34,"pl-s1"]],[[20,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[],[[16,22,"pl-s1"],[22,24,"pl-c1"],[24,38,"pl-c1"],[38,40,"pl-c1"]],[],[],[],[[4,14,"pl-en"],[15,20,"pl-s1"]],[],[[4,41,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[7,9,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,28,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,32,"pl-en"],[33,43,"pl-smi"],[44,45,"pl-c1"],[45,47,"pl-s1"]],[[4,42,"pl-c"]],[[4,7,"pl-smi"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[4,7,"pl-smi"],[8,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[22,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,39,"pl-c1"],[41,44,"pl-s1"],[44,46,"pl-c1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,32,"pl-c1"],[33,36,"pl-s1"],[38,43,"pl-c1"],[44,50,"pl-c1"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,27,"pl-s1"],[29,37,"pl-c1"],[38,40,"pl-c1"],[41,44,"pl-c1"]],[[12,66,"pl-c"]],[[12,14,"pl-k"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[16,24,"pl-k"]],[],[[12,75,"pl-c"]],[[12,14,"pl-k"],[16,27,"pl-s1"],[28,30,"pl-c1"],[31,37,"pl-s1"]],[[16,24,"pl-k"]],[],[[12,84,"pl-c"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[[16,19,"pl-smi"],[20,31,"pl-s1"],[32,33,"pl-c1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,49,"pl-s1"],[49,50,"pl-c1"],[50,51,"pl-c1"],[53,58,"pl-c1"],[59,65,"pl-c1"]],[[16,18,"pl-k"],[20,31,"pl-s1"],[32,34,"pl-c1"],[35,41,"pl-s1"]],[[20,28,"pl-k"]],[],[[16,18,"pl-k"],[20,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,35,"pl-s1"],[35,36,"pl-c1"],[36,37,"pl-c1"],[39,44,"pl-c1"],[45,46,"pl-c1"],[47,49,"pl-s1"],[49,51,"pl-c1"],[51,58,"pl-c1"],[59,62,"pl-s1"],[64,69,"pl-c1"]],[[20,28,"pl-k"]],[],[],[[12,16,"pl-k"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,32,"pl-s1"],[33,34,"pl-c1"],[35,54,"pl-en"],[55,57,"pl-s1"],[57,59,"pl-c1"],[59,65,"pl-c1"]],[[16,83,"pl-c"]],[[16,18,"pl-k"],[20,24,"pl-s1"]],[[20,28,"pl-smi"],[29,37,"pl-s1"],[38,39,"pl-c1"],[40,51,"pl-c1"]],[[20,23,"pl-k"],[25,28,"pl-smi"],[29,35,"pl-s1"],[35,36,"pl-c1"],[36,37,"pl-c1"],[39,45,"pl-s1"],[46,47,"pl-c1"],[48,52,"pl-s1"],[52,54,"pl-c1"],[54,61,"pl-c1"],[63,69,"pl-s1"],[69,71,"pl-c1"]],[[24,33,"pl-smi"],[34,35,"pl-c1"],[35,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[44,48,"pl-s1"],[48,50,"pl-c1"],[50,57,"pl-c1"],[58,64,"pl-s1"]],[[24,26,"pl-k"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,43,"pl-c1"],[44,46,"pl-c1"],[47,50,"pl-c1"],[51,53,"pl-c1"],[54,59,"pl-s1"],[59,61,"pl-c1"],[61,66,"pl-c1"],[67,73,"pl-c1"],[74,75,"pl-c1"],[76,77,"pl-c1"]],[[28,89,"pl-c"]],[[28,36,"pl-k"]],[],[[24,32,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"]],[[24,29,"pl-k"]],[],[[20,22,"pl-k"],[24,30,"pl-s1"],[31,33,"pl-c1"],[34,42,"pl-s1"],[43,49,"pl-c1"]],[[24,32,"pl-k"]],[],[],[],[],[],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,23,"pl-s1"]],[[12,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,28,"pl-s1"],[30,31,"pl-c1"],[32,34,"pl-s1"],[34,36,"pl-c1"],[36,43,"pl-c1"],[44,47,"pl-s1"]],[],[[8,12,"pl-s1"],[12,14,"pl-c1"]],[[8,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-s1"]],[],[[4,10,"pl-en"],[11,15,"pl-s1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"]],[[4,7,"pl-smi"],[8,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[34,35,"pl-c1"],[36,40,"pl-s1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,15,"pl-c1"],[16,17,"pl-c1"],[18,22,"pl-s1"]],[[4,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,28,"pl-s1"],[31,32,"pl-c1"],[34,40,"pl-k"],[41,50,"pl-s1"],[52,53,"pl-c1"],[54,65,"pl-s1"]],[[4,10,"pl-k"],[11,22,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,21,"pl-en"],[22,33,"pl-smi"],[34,35,"pl-c1"],[35,36,"pl-s1"]],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,53,"pl-en"],[54,55,"pl-s1"]],[[8,23,"pl-en"],[24,30,"pl-s1"]],[[8,15,"pl-s1"],[16,18,"pl-c1"],[19,25,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,22,"pl-en"],[23,26,"pl-smi"],[27,33,"pl-s1"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,31,"pl-en"],[32,42,"pl-smi"],[43,44,"pl-c1"],[44,54,"pl-s1"]],[],[[4,8,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"]],[],[[4,9,"pl-k"],[13,17,"pl-s1"]],[[8,12,"pl-s1"],[13,14,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,29,"pl-s1"],[30,31,"pl-c1"],[32,36,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,31,"pl-c1"]],[[8,11,"pl-k"],[13,23,"pl-smi"],[24,25,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,39,"pl-s1"],[41,42,"pl-s1"],[43,45,"pl-c1"],[46,50,"pl-c1"],[52,53,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-s1"],[57,59,"pl-c1"],[59,65,"pl-c1"]],[[12,27,"pl-en"],[28,60,"pl-en"],[61,62,"pl-s1"]],[[12,14,"pl-k"],[16,24,"pl-en"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"]],[[16,63,"pl-c"]],[[16,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"]],[[16,26,"pl-s1"],[27,28,"pl-c1"],[29,34,"pl-s1"]],[[16,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"]],[[16,19,"pl-smi"],[20,31,"pl-s1"],[32,33,"pl-c1"],[34,44,"pl-s1"],[47,57,"pl-s1"],[57,59,"pl-c1"],[59,67,"pl-c1"],[70,71,"pl-c1"]],[[16,19,"pl-smi"],[20,30,"pl-s1"],[31,32,"pl-c1"],[33,43,"pl-s1"],[46,56,"pl-s1"],[56,58,"pl-c1"],[58,65,"pl-c1"],[68,69,"pl-c1"]],[[16,19,"pl-smi"],[20,26,"pl-s1"],[27,28,"pl-c1"],[29,34,"pl-s1"],[34,36,"pl-c1"],[36,44,"pl-c1"]],[[16,20,"pl-smi"],[21,38,"pl-s1"],[39,40,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,37,"pl-c1"]],[[19,21,"pl-k"],[23,34,"pl-en"],[35,46,"pl-s1"]],[[23,40,"pl-s1"],[41,42,"pl-c1"]],[],[[19,23,"pl-k"],[24,26,"pl-k"],[28,39,"pl-s1"],[40,42,"pl-c1"],[43,47,"pl-c1"],[48,50,"pl-c1"],[51,61,"pl-s1"],[62,64,"pl-c1"],[65,66,"pl-c1"]],[[23,40,"pl-s1"],[41,42,"pl-c1"]],[],[],[[16,18,"pl-k"],[20,37,"pl-s1"]],[[20,33,"pl-en"],[34,44,"pl-s1"],[46,49,"pl-c1"]],[[20,33,"pl-en"],[34,39,"pl-s1"],[41,44,"pl-c1"]],[[20,24,"pl-s1"],[25,26,"pl-c1"]],[],[],[[12,14,"pl-k"],[17,22,"pl-s1"],[23,25,"pl-c1"],[26,33,"pl-en"],[34,39,"pl-s1"],[42,44,"pl-c1"],[46,64,"pl-en"],[65,66,"pl-s1"]],[[16,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,22,"pl-en"],[23,34,"pl-smi"],[35,36,"pl-c1"],[36,37,"pl-s1"]],[[4,75,"pl-c"]],[[0,72,"pl-c"]],[[0,73,"pl-c"]],[[0,22,"pl-c"]],[[0,6,"pl-c"]],[[0,60,"pl-c"]],[[0,7,"pl-c"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,47,"pl-en"],[48,49,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,14,"pl-en"],[16,35,"pl-en"],[36,40,"pl-s1"],[40,42,"pl-c1"],[42,50,"pl-c1"]],[[8,10,"pl-k"],[12,40,"pl-en"],[41,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"]],[[12,22,"pl-smi"],[22,23,"pl-c1"],[24,35,"pl-s1"],[36,37,"pl-c1"],[38,57,"pl-en"],[58,62,"pl-s1"],[62,64,"pl-c1"],[64,72,"pl-c1"]],[[12,14,"pl-k"],[16,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[16,31,"pl-en"],[32,49,"pl-s1"],[51,74,"pl-s"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"],[29,30,"pl-c1"],[31,50,"pl-en"],[51,52,"pl-s1"],[52,54,"pl-c1"],[54,60,"pl-c1"]],[[12,14,"pl-k"],[16,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-s1"]],[[16,23,"pl-s1"],[23,25,"pl-c1"]],[[16,29,"pl-en"],[30,34,"pl-s1"],[36,39,"pl-c1"]],[],[],[],[],[[4,10,"pl-k"],[11,18,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,18,"pl-smi"]],[[0,24,"pl-en"],[25,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-s1"],[26,31,"pl-c1"],[32,38,"pl-c1"],[42,43,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[4,10,"pl-k"]],[],[],[[0,68,"pl-c"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[],[[0,73,"pl-c"]],[[0,62,"pl-c"]],[[0,57,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,43,"pl-en"],[44,54,"pl-smi"],[55,56,"pl-c1"],[56,58,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,46,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[[4,6,"pl-k"],[9,37,"pl-en"],[38,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[[4,8,"pl-smi"],[9,25,"pl-s1"],[26,27,"pl-c1"],[29,51,"pl-en"],[52,58,"pl-s1"],[60,62,"pl-c1"]],[[29,35,"pl-s1"],[35,37,"pl-c1"],[37,44,"pl-c1"],[48,61,"pl-c1"]],[[4,8,"pl-smi"],[9,33,"pl-s1"],[34,35,"pl-c1"],[37,61,"pl-en"],[62,68,"pl-s1"],[70,72,"pl-c1"]],[[38,56,"pl-en"],[57,63,"pl-s1"]],[[4,6,"pl-k"],[8,24,"pl-s1"],[25,27,"pl-c1"],[28,52,"pl-s1"]],[[8,14,"pl-en"],[15,22,"pl-en"],[23,27,"pl-s1"]],[[8,11,"pl-smi"],[12,31,"pl-s1"],[32,33,"pl-c1"],[34,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"]],[[8,21,"pl-en"],[22,26,"pl-s1"],[28,31,"pl-c1"]],[[8,23,"pl-en"],[24,54,"pl-en"],[55,57,"pl-s1"],[59,65,"pl-s1"]],[[8,10,"pl-k"],[12,36,"pl-s1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[19,40,"pl-en"],[41,43,"pl-s1"]],[[12,14,"pl-k"],[16,44,"pl-en"],[45,49,"pl-s1"],[49,51,"pl-c1"],[51,59,"pl-c1"],[61,63,"pl-c1"]],[[16,35,"pl-s1"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[],[[16,65,"pl-c"]],[[16,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,32,"pl-c1"],[33,37,"pl-c1"]],[],[],[[8,14,"pl-s1"],[14,16,"pl-c1"],[16,30,"pl-c1"],[30,32,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,32,"pl-en"],[33,43,"pl-smi"],[44,45,"pl-c1"],[45,55,"pl-s1"]],[[4,8,"pl-smi"],[9,16,"pl-s1"]],[[4,6,"pl-k"]],[[8,15,"pl-s1"],[16,17,"pl-c1"]],[[8,11,"pl-k"],[13,23,"pl-smi"],[24,25,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,39,"pl-s1"],[41,42,"pl-s1"],[43,45,"pl-c1"],[46,50,"pl-c1"],[52,53,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-s1"],[57,59,"pl-c1"],[59,65,"pl-c1"]],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,65,"pl-en"],[66,67,"pl-s1"]],[[12,27,"pl-en"],[28,31,"pl-s1"]],[[12,14,"pl-k"],[16,19,"pl-s1"]],[[16,23,"pl-s1"],[24,25,"pl-c1"]],[],[],[[6,11,"pl-k"],[12,19,"pl-s1"],[22,77,"pl-c"]],[[4,10,"pl-k"],[11,18,"pl-s1"]],[],[],[[0,66,"pl-c"]],[[0,72,"pl-c"]],[[0,31,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,11,"pl-en"],[12,22,"pl-smi"],[23,24,"pl-c1"],[24,26,"pl-s1"],[28,37,"pl-smi"],[38,39,"pl-c1"],[39,43,"pl-s1"],[45,54,"pl-smi"],[55,56,"pl-c1"],[56,62,"pl-s1"],[64,67,"pl-smi"],[68,74,"pl-s1"]],[],[[4,10,"pl-en"],[11,18,"pl-en"],[19,23,"pl-s1"]],[[4,10,"pl-en"],[11,18,"pl-en"],[19,25,"pl-s1"]],[[4,10,"pl-en"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,40,"pl-en"],[41,43,"pl-s1"]],[[4,78,"pl-c"]],[[4,51,"pl-c"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[23,25,"pl-c1"],[26,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"]],[[8,72,"pl-c"]],[[0,71,"pl-c"]],[[0,11,"pl-c"]],[[8,21,"pl-en"],[22,26,"pl-s1"],[28,31,"pl-c1"]],[],[[8,23,"pl-en"]],[[12,31,"pl-en"]],[[16,18,"pl-s1"],[20,26,"pl-s1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,44,"pl-c1"],[46,52,"pl-s1"],[52,54,"pl-c1"],[54,59,"pl-c1"]],[],[[8,14,"pl-k"]],[],[[4,10,"pl-k"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,11,"pl-en"],[12,15,"pl-smi"],[16,22,"pl-s1"]],[],[[4,10,"pl-k"],[11,27,"pl-en"],[28,34,"pl-s1"]],[[8,10,"pl-c1"],[11,17,"pl-s1"],[18,20,"pl-c1"],[21,35,"pl-c1"]],[[8,10,"pl-c1"],[11,17,"pl-s1"],[18,20,"pl-c1"],[21,41,"pl-c1"]],[],[],[[0,27,"pl-c"]],[[0,6,"pl-k"],[7,15,"pl-smi"],[15,16,"pl-c1"]],[[0,15,"pl-en"],[16,19,"pl-smi"],[20,26,"pl-s1"],[28,31,"pl-smi"],[32,37,"pl-s1"],[39,47,"pl-smi"],[48,49,"pl-c1"],[49,58,"pl-s1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-c1"]],[[4,10,"pl-en"],[11,22,"pl-en"],[23,29,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"]],[[8,14,"pl-en"],[15,27,"pl-en"],[28,37,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-en"],[39,48,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[25,30,"pl-s1"],[34,35,"pl-s1"]],[[12,24,"pl-en"],[25,41,"pl-s1"]],[[25,83,"pl-s"]],[[25,30,"pl-s1"],[32,33,"pl-s1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-en"],[35,44,"pl-s1"],[46,51,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,32,"pl-c1"]],[[8,14,"pl-k"],[15,30,"pl-en"],[31,36,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,38,"pl-c1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,43,"pl-c1"]],[[8,14,"pl-k"],[15,42,"pl-en"]],[[12,35,"pl-en"],[37,39,"pl-c1"],[39,52,"pl-c1"],[53,58,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[8,23,"pl-en"],[24,41,"pl-s1"]],[[24,75,"pl-s"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-k"],[11,20,"pl-en"],[21,29,"pl-s1"]],[],[],[[0,34,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,9,"pl-en"],[10,18,"pl-smi"],[19,20,"pl-c1"],[20,28,"pl-s1"],[30,38,"pl-smi"],[39,40,"pl-c1"],[40,46,"pl-s1"],[48,56,"pl-smi"],[57,58,"pl-c1"],[58,69,"pl-s1"]],[[10,25,"pl-smi"],[26,27,"pl-c1"],[27,39,"pl-s1"]],[],[[4,6,"pl-k"],[8,37,"pl-en"],[38,49,"pl-s1"],[51,52,"pl-c1"],[52,60,"pl-s1"],[62,63,"pl-c1"],[64,65,"pl-c1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[],[[4,25,"pl-smi"],[26,27,"pl-c1"],[27,32,"pl-s1"],[33,34,"pl-c1"],[35,58,"pl-en"],[59,71,"pl-s1"],[74,78,"pl-smi"],[79,80,"pl-c1"],[81,89,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[16,19,"pl-smi"],[21,30,"pl-smi"],[31,36,"pl-s1"],[36,38,"pl-c1"],[38,43,"pl-c1"]],[],[],[[4,14,"pl-smi"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-en"],[39,45,"pl-s1"]],[[4,6,"pl-k"],[9,15,"pl-smi"],[16,21,"pl-s1"],[26,32,"pl-smi"],[33,40,"pl-c1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[8,23,"pl-en"],[24,43,"pl-s1"],[45,65,"pl-s"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[[4,6,"pl-k"],[8,21,"pl-en"],[22,28,"pl-s1"],[30,38,"pl-s1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,25,"pl-en"],[26,38,"pl-s1"],[41,45,"pl-smi"],[46,47,"pl-c1"],[48,56,"pl-s1"],[59,63,"pl-smi"],[64,65,"pl-c1"],[67,76,"pl-smi"],[77,82,"pl-s1"],[84,85,"pl-c1"],[86,87,"pl-c1"]],[[8,23,"pl-en"],[24,30,"pl-s1"],[32,37,"pl-s1"],[39,44,"pl-s1"],[45,46,"pl-c1"],[47,48,"pl-c1"],[50,54,"pl-c1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[],[[4,13,"pl-en"],[14,22,"pl-s1"]],[[4,10,"pl-k"],[12,15,"pl-smi"],[16,21,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,96,"pl-c"]],[[0,103,"pl-c"]],[[0,101,"pl-c"]],[[0,0,"pl-c"]],[[0,72,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,24,"pl-en"],[25,35,"pl-smi"],[36,37,"pl-c1"],[37,39,"pl-s1"],[41,44,"pl-smi"],[45,50,"pl-s1"],[52,61,"pl-smi"],[62,63,"pl-c1"],[63,64,"pl-c1"],[64,70,"pl-s1"],[72,75,"pl-smi"],[76,80,"pl-s1"]],[],[[4,10,"pl-en"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"]],[[4,10,"pl-en"],[11,15,"pl-s1"],[19,20,"pl-c1"]],[[4,10,"pl-en"],[11,15,"pl-s1"],[19,42,"pl-s1"]],[],[[4,7,"pl-k"],[11,16,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[25,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,39,"pl-c1"],[40,45,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[28,30,"pl-c1"],[31,34,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[13,24,"pl-en"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[12,18,"pl-k"]],[],[[8,14,"pl-s1"],[15,17,"pl-c1"],[17,21,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,62,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,7,"pl-en"],[8,17,"pl-smi"],[18,19,"pl-c1"],[19,20,"pl-c1"],[20,26,"pl-s1"],[28,31,"pl-smi"],[32,36,"pl-s1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"],[34,35,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-c1"]],[[8,21,"pl-en"],[22,27,"pl-s1"],[29,32,"pl-c1"]],[[8,21,"pl-en"],[22,27,"pl-s1"],[29,40,"pl-c1"]],[],[],[],[[0,42,"pl-c"]],[[0,53,"pl-c"]],[[0,62,"pl-c"]],[[0,22,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,30,"pl-en"],[31,40,"pl-smi"],[41,42,"pl-c1"],[42,47,"pl-s1"],[49,57,"pl-smi"],[58,59,"pl-c1"],[59,67,"pl-s1"]],[[31,39,"pl-smi"],[40,41,"pl-c1"],[41,47,"pl-s1"],[49,57,"pl-smi"],[58,59,"pl-c1"],[59,70,"pl-s1"]],[],[[4,6,"pl-k"],[8,25,"pl-en"],[26,34,"pl-s1"]],[[8,11,"pl-smi"],[12,20,"pl-s1"]],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,43,"pl-en"],[44,52,"pl-s1"],[54,55,"pl-c1"],[55,63,"pl-s1"]],[[8,10,"pl-k"],[12,15,"pl-s1"],[16,18,"pl-c1"],[19,21,"pl-c1"],[22,24,"pl-c1"],[25,39,"pl-en"]],[[12,18,"pl-k"],[19,21,"pl-c1"]],[],[[8,10,"pl-k"],[13,21,"pl-s1"],[22,24,"pl-c1"],[25,41,"pl-en"],[42,45,"pl-s1"],[47,49,"pl-c1"],[50,51,"pl-c1"],[55,58,"pl-s1"],[59,61,"pl-c1"],[62,65,"pl-s1"],[69,72,"pl-c1"]],[[12,18,"pl-en"],[19,33,"pl-en"],[34,42,"pl-s1"]],[[12,25,"pl-en"],[26,31,"pl-s1"],[33,47,"pl-c1"],[50,53,"pl-smi"],[54,57,"pl-s1"]],[[12,18,"pl-k"],[19,20,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,42,"pl-c"]],[[0,59,"pl-c"]],[[0,68,"pl-c"]],[[0,22,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,34,"pl-en"],[35,44,"pl-smi"],[45,46,"pl-c1"],[46,51,"pl-s1"],[53,61,"pl-smi"],[62,63,"pl-c1"],[63,71,"pl-s1"]],[],[[4,7,"pl-smi"],[8,13,"pl-s1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,27,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,29,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,21,"pl-s1"],[22,24,"pl-c1"],[25,32,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,29,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,21,"pl-s1"],[22,24,"pl-c1"],[25,33,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,30,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,33,"pl-en"],[34,42,"pl-s1"]],[[13,15,"pl-c1"],[16,36,"pl-en"],[37,45,"pl-s1"],[47,49,"pl-c1"],[50,51,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,34,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,31,"pl-en"],[32,40,"pl-s1"]],[[13,15,"pl-c1"],[16,32,"pl-en"],[33,41,"pl-s1"],[43,45,"pl-c1"],[46,47,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,36,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,30,"pl-en"],[31,39,"pl-s1"]],[[8,11,"pl-smi"],[12,20,"pl-s1"]],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,43,"pl-en"],[44,52,"pl-s1"],[54,55,"pl-c1"],[55,63,"pl-s1"]],[[8,10,"pl-k"],[12,15,"pl-s1"],[16,18,"pl-c1"],[19,21,"pl-c1"],[22,24,"pl-c1"],[25,39,"pl-en"]],[[12,18,"pl-k"],[19,21,"pl-c1"]],[],[[8,10,"pl-k"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-s1"],[28,30,"pl-c1"],[31,33,"pl-c1"]],[[12,18,"pl-k"],[19,20,"pl-c1"]],[],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,34,"pl-c1"]],[],[[4,8,"pl-k"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[[4,10,"pl-en"],[11,25,"pl-en"],[26,34,"pl-s1"]],[[4,17,"pl-en"],[18,23,"pl-s1"],[25,45,"pl-c1"],[47,52,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,36,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,21,"pl-en"],[22,31,"pl-smi"],[32,33,"pl-c1"],[33,38,"pl-s1"],[40,48,"pl-smi"],[49,50,"pl-c1"],[50,58,"pl-s1"]],[[22,30,"pl-smi"],[31,32,"pl-c1"],[32,38,"pl-s1"],[40,48,"pl-smi"],[49,50,"pl-c1"],[50,61,"pl-s1"]],[[22,37,"pl-smi"],[38,39,"pl-c1"],[39,51,"pl-s1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,44,"pl-en"],[45,50,"pl-s1"],[52,60,"pl-s1"],[62,68,"pl-s1"],[70,81,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,44,"pl-en"],[45,50,"pl-s1"],[52,60,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,25,"pl-en"],[26,34,"pl-s1"],[36,42,"pl-s1"],[44,55,"pl-s1"],[57,69,"pl-s1"]],[[4,19,"pl-en"],[20,25,"pl-s1"]],[[4,17,"pl-en"],[18,23,"pl-s1"],[25,35,"pl-c1"],[37,42,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,72,"pl-c"]],[[0,39,"pl-c"]],[[0,58,"pl-c"]],[[0,49,"pl-c"]],[[0,56,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,23,"pl-en"],[24,34,"pl-smi"],[35,36,"pl-c1"],[36,38,"pl-s1"],[40,43,"pl-smi"],[44,45,"pl-s1"],[47,55,"pl-smi"],[56,57,"pl-c1"],[57,63,"pl-s1"]],[[24,32,"pl-smi"],[33,34,"pl-c1"],[34,45,"pl-s1"],[47,62,"pl-smi"],[63,64,"pl-c1"],[64,76,"pl-s1"]],[],[[4,24,"pl-c"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"]],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,41,"pl-c1"]],[],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,42,"pl-s1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,27,"pl-s1"],[28,51,"pl-s1"]],[[4,6,"pl-k"],[9,33,"pl-en"],[34,36,"pl-s1"],[38,39,"pl-s1"],[39,40,"pl-c1"],[40,41,"pl-c1"],[43,55,"pl-s1"],[57,65,"pl-s1"]],[[8,34,"pl-c"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,25,"pl-s1"],[26,27,"pl-c1"],[28,39,"pl-en"],[41,51,"pl-smi"],[52,60,"pl-s1"]],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,38,"pl-s1"],[39,40,"pl-s1"]],[[8,14,"pl-en"],[15,26,"pl-en"],[27,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-c1"],[18,25,"pl-s1"],[26,27,"pl-c1"],[28,43,"pl-en"],[44,48,"pl-s1"],[48,50,"pl-c1"],[50,58,"pl-c1"],[60,64,"pl-s1"],[64,66,"pl-c1"],[66,73,"pl-c1"],[75,81,"pl-s1"]],[[8,10,"pl-k"],[12,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[12,21,"pl-en"],[22,33,"pl-s1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,24,"pl-en"],[25,36,"pl-s1"],[38,39,"pl-s1"],[41,48,"pl-s1"]],[],[],[[4,11,"pl-en"],[12,24,"pl-s1"],[26,34,"pl-s1"]],[[4,10,"pl-k"],[11,32,"pl-en"],[33,38,"pl-s1"],[40,51,"pl-s1"],[53,59,"pl-s1"],[61,72,"pl-s1"],[74,86,"pl-s1"]],[],[],[[0,11,"pl-c"]],[[0,26,"pl-c"]],[[0,17,"pl-c"]],[[0,25,"pl-c"]],[[0,17,"pl-c"]],[[0,25,"pl-c"]],[[0,7,"pl-c"]],[[0,17,"pl-c"]],[[0,25,"pl-c"]],[[0,61,"pl-c"]],[[0,8,"pl-c"]],[[0,31,"pl-c"]],[[0,71,"pl-c"]],[[0,64,"pl-c"]],[[0,72,"pl-c"]],[[0,67,"pl-c"]],[[0,71,"pl-c"]],[[0,49,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,33,"pl-en"],[34,44,"pl-smi"],[45,46,"pl-c1"],[46,48,"pl-s1"],[50,53,"pl-smi"],[54,55,"pl-s1"]],[[34,42,"pl-smi"],[43,44,"pl-c1"],[44,50,"pl-s1"],[52,60,"pl-smi"],[61,62,"pl-c1"],[62,73,"pl-s1"]],[[34,49,"pl-smi"],[50,51,"pl-c1"],[51,63,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[16,17,"pl-c1"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"],[37,38,"pl-s1"]],[[4,10,"pl-en"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[28,30,"pl-c1"],[31,42,"pl-c1"],[43,45,"pl-c1"],[46,52,"pl-s1"],[52,54,"pl-c1"],[54,62,"pl-c1"],[63,65,"pl-c1"],[66,73,"pl-c1"],[74,76,"pl-c1"]],[[12,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[32,48,"pl-c1"],[49,51,"pl-c1"]],[[12,18,"pl-s1"],[18,20,"pl-c1"],[20,27,"pl-c1"],[28,30,"pl-c1"],[31,54,"pl-c1"]],[[4,8,"pl-smi"],[9,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"],[33,35,"pl-c1"],[35,43,"pl-c1"],[44,46,"pl-c1"],[47,63,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[20,35,"pl-s1"],[38,49,"pl-c1"],[52,58,"pl-s1"],[58,60,"pl-c1"],[60,68,"pl-c1"]],[[4,10,"pl-en"],[11,20,"pl-s1"],[21,23,"pl-c1"],[24,35,"pl-c1"],[36,38,"pl-c1"],[39,48,"pl-s1"],[49,51,"pl-c1"],[52,59,"pl-c1"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,28,"pl-s1"],[29,31,"pl-c1"],[32,43,"pl-c1"],[46,56,"pl-c1"],[59,68,"pl-c1"]],[[4,7,"pl-smi"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[4,67,"pl-c"]],[[0,68,"pl-c"]],[[0,71,"pl-c"]],[[0,76,"pl-c"]],[[4,8,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"],[25,40,"pl-s1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,29,"pl-s1"],[33,34,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,39,"pl-c1"],[40,43,"pl-s1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"]],[[8,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"]],[],[[8,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-c1"]],[[12,20,"pl-k"]],[],[],[[8,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,30,"pl-s1"],[31,33,"pl-c1"],[34,39,"pl-s1"],[40,42,"pl-c1"],[43,44,"pl-c1"]],[[12,14,"pl-k"],[17,30,"pl-s1"]],[[16,43,"pl-c"]],[[16,22,"pl-k"],[23,30,"pl-c1"]],[],[],[[12,46,"pl-c"]],[[12,20,"pl-smi"],[21,22,"pl-c1"],[22,30,"pl-s1"],[31,32,"pl-c1"],[33,44,"pl-en"],[46,56,"pl-smi"],[57,69,"pl-s1"]],[[12,14,"pl-k"],[16,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[],[[12,15,"pl-smi"],[16,28,"pl-s1"],[29,30,"pl-c1"],[31,46,"pl-s1"],[49,50,"pl-s1"],[51,52,"pl-c1"],[53,54,"pl-c1"],[57,58,"pl-s1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-s1"],[44,50,"pl-s1"],[54,57,"pl-s1"],[59,65,"pl-s1"],[65,67,"pl-c1"]],[[16,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"],[37,43,"pl-s1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[36,38,"pl-c1"],[39,42,"pl-c1"]],[[20,28,"pl-k"]],[],[[16,18,"pl-k"],[20,31,"pl-en"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"]],[[20,28,"pl-smi"],[29,30,"pl-c1"],[30,38,"pl-s1"],[39,40,"pl-c1"],[41,56,"pl-en"],[57,62,"pl-s1"],[62,64,"pl-c1"],[64,72,"pl-c1"],[74,79,"pl-s1"],[79,81,"pl-c1"],[81,88,"pl-c1"],[90,96,"pl-s1"]],[[20,22,"pl-k"],[24,32,"pl-s1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[24,33,"pl-en"],[34,42,"pl-s1"]],[[24,30,"pl-k"],[31,36,"pl-c1"]],[],[[20,26,"pl-en"],[27,39,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"]],[[20,36,"pl-en"],[37,45,"pl-s1"],[47,49,"pl-c1"],[49,61,"pl-s1"],[63,71,"pl-s1"]],[],[[16,23,"pl-en"],[24,25,"pl-c1"],[25,30,"pl-s1"],[32,33,"pl-c1"]],[],[[12,18,"pl-en"],[19,31,"pl-s1"],[32,34,"pl-c1"],[35,36,"pl-c1"]],[],[[12,14,"pl-k"],[16,24,"pl-s1"],[25,27,"pl-c1"],[28,37,"pl-c1"]],[[16,24,"pl-smi"],[25,26,"pl-c1"],[26,32,"pl-s1"],[33,34,"pl-c1"],[35,50,"pl-en"],[51,59,"pl-s1"]],[[16,25,"pl-en"],[26,34,"pl-s1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"]],[],[[12,18,"pl-k"],[19,40,"pl-en"],[41,47,"pl-s1"],[49,57,"pl-s1"],[59,65,"pl-s1"],[67,78,"pl-s1"],[80,92,"pl-s1"]],[],[],[[8,10,"pl-k"],[12,25,"pl-s1"]],[[12,14,"pl-k"],[16,22,"pl-s1"],[23,25,"pl-c1"],[26,35,"pl-s1"],[36,38,"pl-c1"],[39,44,"pl-s1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[[16,22,"pl-k"],[23,30,"pl-c1"]],[],[],[[8,12,"pl-k"]],[[12,14,"pl-k"],[17,28,"pl-en"],[29,35,"pl-s1"]],[[16,22,"pl-k"],[23,30,"pl-c1"]],[],[[12,24,"pl-s1"],[24,26,"pl-c1"]],[],[],[[8,21,"pl-s1"],[22,23,"pl-c1"],[25,38,"pl-s1"]],[],[],[[4,38,"pl-c"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,31,"pl-c1"]],[[0,2,"pl-c"]],[[0,28,"pl-c"]],[[0,56,"pl-c"]],[[0,64,"pl-c"]],[[0,58,"pl-c"]],[[0,36,"pl-c"]],[[0,73,"pl-c"]],[[0,79,"pl-c"]],[[0,73,"pl-c"]],[[0,50,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,23,"pl-en"],[24,34,"pl-smi"],[35,36,"pl-c1"],[36,38,"pl-s1"],[40,43,"pl-smi"],[44,45,"pl-s1"],[47,50,"pl-smi"],[51,57,"pl-s1"]],[[24,32,"pl-smi"],[33,34,"pl-c1"],[34,40,"pl-s1"],[42,50,"pl-smi"],[51,52,"pl-c1"],[52,63,"pl-s1"]],[[24,39,"pl-smi"],[40,41,"pl-c1"],[41,53,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"]],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,40,"pl-c1"],[41,43,"pl-c1"],[44,49,"pl-s1"],[49,51,"pl-c1"],[51,59,"pl-c1"],[60,62,"pl-c1"],[63,72,"pl-c1"]],[],[[4,8,"pl-smi"],[9,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-s1"],[35,37,"pl-c1"],[38,46,"pl-c1"],[47,49,"pl-c1"],[50,56,"pl-s1"],[57,59,"pl-c1"],[60,71,"pl-c1"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,42,"pl-s1"],[43,45,"pl-c1"]],[[9,17,"pl-s1"],[18,19,"pl-c1"],[20,43,"pl-c1"],[44,46,"pl-c1"],[48,64,"pl-s1"]],[],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,27,"pl-s1"],[28,51,"pl-s1"]],[[4,6,"pl-k"],[9,33,"pl-en"],[34,36,"pl-s1"],[38,39,"pl-s1"],[39,40,"pl-c1"],[40,41,"pl-c1"],[43,55,"pl-s1"],[57,65,"pl-s1"],[71,97,"pl-c"]],[[8,10,"pl-k"],[12,28,"pl-s1"],[29,31,"pl-c1"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[48,50,"pl-c1"],[51,61,"pl-c1"]],[[12,54,"pl-c"]],[[12,25,"pl-en"],[26,31,"pl-s1"],[33,44,"pl-c1"],[46,51,"pl-s1"],[51,53,"pl-c1"],[53,60,"pl-c1"]],[],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,26,"pl-s1"],[27,28,"pl-c1"],[29,40,"pl-en"],[42,52,"pl-smi"],[53,61,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,38,"pl-s1"],[39,40,"pl-s1"]],[[8,14,"pl-en"],[15,26,"pl-en"],[27,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-c1"],[18,25,"pl-s1"],[26,27,"pl-c1"],[28,43,"pl-en"],[44,48,"pl-s1"],[48,50,"pl-c1"],[50,58,"pl-c1"],[60,64,"pl-s1"],[64,66,"pl-c1"],[66,73,"pl-c1"],[75,81,"pl-s1"]],[[8,10,"pl-k"],[12,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[12,21,"pl-en"],[22,34,"pl-s1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,24,"pl-en"],[25,37,"pl-s1"],[39,40,"pl-s1"],[42,49,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[24,26,"pl-c1"],[27,36,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-c1"],[18,27,"pl-s1"],[28,29,"pl-c1"],[30,45,"pl-en"],[46,58,"pl-s1"]],[[8,10,"pl-k"],[12,21,"pl-s1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[[12,21,"pl-en"],[22,34,"pl-s1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,17,"pl-en"],[18,30,"pl-s1"],[32,41,"pl-s1"]],[],[],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,25,"pl-en"],[26,38,"pl-s1"],[40,46,"pl-s1"],[48,59,"pl-s1"],[61,73,"pl-s1"]],[[4,19,"pl-en"],[20,25,"pl-s1"]],[[4,11,"pl-en"],[12,24,"pl-s1"],[26,34,"pl-s1"]],[],[[4,6,"pl-k"],[8,24,"pl-s1"]],[[8,21,"pl-en"],[22,27,"pl-s1"],[29,39,"pl-c1"],[41,46,"pl-s1"]],[],[[4,8,"pl-k"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[20,21,"pl-c1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,44,"pl-c1"],[45,47,"pl-c1"],[48,53,"pl-s1"],[53,55,"pl-c1"],[55,63,"pl-c1"],[64,66,"pl-c1"],[67,76,"pl-c1"]],[],[[8,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-s1"],[36,37,"pl-c1"],[37,38,"pl-c1"],[41,46,"pl-s1"],[46,48,"pl-c1"],[48,53,"pl-c1"]],[],[[8,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-s1"],[36,37,"pl-c1"],[37,38,"pl-c1"],[41,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"],[58,59,"pl-c1"]],[[8,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-s1"],[36,37,"pl-c1"],[37,38,"pl-c1"],[41,51,"pl-c1"],[53,58,"pl-s1"]],[[8,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-s1"],[39,44,"pl-s1"],[44,46,"pl-c1"],[46,54,"pl-c1"],[55,57,"pl-c1"],[58,68,"pl-c1"],[71,82,"pl-c1"],[85,95,"pl-c1"],[97,98,"pl-c1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,90,"pl-c"]],[[0,83,"pl-c"]],[[0,59,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,17,"pl-smi"]],[[0,30,"pl-en"],[31,39,"pl-smi"],[40,41,"pl-c1"],[41,44,"pl-s1"],[46,56,"pl-smi"],[57,62,"pl-s1"]],[],[[4,6,"pl-k"],[8,21,"pl-en"],[22,25,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-s1"]],[[8,13,"pl-s1"],[14,16,"pl-c1"],[17,33,"pl-en"],[34,37,"pl-s1"]],[[8,11,"pl-k"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,25,"pl-s1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-s1"],[36,37,"pl-c1"],[38,54,"pl-en"],[55,58,"pl-s1"],[61,62,"pl-s1"],[62,64,"pl-c1"]],[[12,17,"pl-s1"],[18,19,"pl-c1"],[20,50,"pl-en"],[51,67,"pl-en"],[68,71,"pl-s1"],[73,74,"pl-s1"],[77,82,"pl-s1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-s1"]],[],[],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,20,"pl-c1"],[36,46,"pl-c"]],[[0,7,"pl-k"],[8,27,"pl-c1"],[36,47,"pl-c"]],[[0,7,"pl-k"],[8,20,"pl-c1"],[36,52,"pl-c"]],[[0,7,"pl-k"],[8,23,"pl-c1"],[36,70,"pl-c"]],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,27,"pl-en"],[28,36,"pl-smi"],[37,38,"pl-c1"],[38,39,"pl-s1"],[41,49,"pl-smi"],[50,51,"pl-c1"],[51,52,"pl-s1"]],[],[[4,6,"pl-k"],[8,20,"pl-en"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,39,"pl-en"],[40,41,"pl-s1"],[43,45,"pl-c1"]],[[9,23,"pl-en"],[25,37,"pl-smi"],[38,39,"pl-c1"],[40,41,"pl-s1"],[43,45,"pl-c1"],[47,61,"pl-en"],[63,75,"pl-smi"],[76,77,"pl-c1"],[78,79,"pl-s1"]],[],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"],[40,41,"pl-s1"]],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"],[40,41,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[24,25,"pl-c1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[24,25,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,40,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,25,"pl-en"],[26,27,"pl-s1"],[29,31,"pl-c1"],[32,45,"pl-en"],[46,47,"pl-s1"]],[[8,18,"pl-smi"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,42,"pl-en"],[43,44,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"]],[[12,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,34,"pl-en"],[35,36,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,48,"pl-c1"],[51,55,"pl-s1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,20,"pl-c1"],[21,51,"pl-en"],[52,53,"pl-s1"],[55,70,"pl-c1"],[73,74,"pl-s1"],[76,77,"pl-c1"],[78,79,"pl-c1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,25,"pl-en"],[26,27,"pl-s1"],[29,31,"pl-c1"],[33,48,"pl-en"],[49,50,"pl-s1"],[52,54,"pl-c1"],[55,68,"pl-en"],[69,70,"pl-s1"]],[[8,18,"pl-smi"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,41,"pl-en"],[42,43,"pl-s1"],[47,67,"pl-en"],[68,69,"pl-s1"]],[[47,63,"pl-en"],[64,65,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"]],[[12,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,34,"pl-en"],[35,36,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,41,"pl-c1"],[44,48,"pl-s1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,25,"pl-en"],[26,27,"pl-s1"],[29,31,"pl-c1"]],[[14,27,"pl-en"],[28,29,"pl-s1"],[31,33,"pl-c1"],[34,49,"pl-en"],[50,51,"pl-s1"],[53,55,"pl-c1"],[56,69,"pl-en"],[70,71,"pl-s1"]],[],[[8,14,"pl-k"],[15,42,"pl-en"],[43,44,"pl-s1"],[46,47,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,28,"pl-en"],[29,30,"pl-s1"],[32,33,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,24,"pl-en"],[25,33,"pl-smi"],[34,35,"pl-c1"],[35,36,"pl-s1"],[38,46,"pl-smi"],[47,48,"pl-c1"],[48,49,"pl-s1"]],[],[[4,6,"pl-k"],[8,20,"pl-en"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,39,"pl-en"],[40,41,"pl-s1"],[43,45,"pl-c1"]],[[9,23,"pl-en"],[25,37,"pl-smi"],[38,39,"pl-c1"],[40,41,"pl-s1"],[43,45,"pl-c1"],[46,64,"pl-en"],[66,78,"pl-smi"],[79,80,"pl-c1"],[81,82,"pl-s1"]],[],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"],[40,41,"pl-s1"]],[[8,14,"pl-smi"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-en"],[39,40,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[24,25,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[22,28,"pl-smi"],[29,31,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,10,"pl-k"],[13,21,"pl-smi"],[22,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-c1"],[45,50,"pl-s1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,25,"pl-en"],[26,27,"pl-s1"],[29,30,"pl-s1"],[32,39,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,25,"pl-en"],[26,34,"pl-smi"],[35,36,"pl-c1"],[36,37,"pl-s1"],[39,47,"pl-smi"],[48,49,"pl-c1"],[49,50,"pl-s1"]],[],[[4,6,"pl-k"],[8,20,"pl-en"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,39,"pl-en"],[40,41,"pl-s1"],[43,45,"pl-c1"]],[[9,23,"pl-en"],[25,37,"pl-smi"],[38,39,"pl-c1"],[40,41,"pl-s1"],[43,45,"pl-c1"],[47,61,"pl-en"],[63,75,"pl-smi"],[76,77,"pl-c1"],[78,79,"pl-s1"]],[],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"],[40,41,"pl-s1"]],[[8,14,"pl-smi"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-en"],[39,40,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[24,25,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[22,28,"pl-smi"],[29,31,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,32,"pl-c1"],[33,35,"pl-c1"],[37,45,"pl-smi"],[46,51,"pl-s1"],[52,53,"pl-c1"],[54,66,"pl-c1"],[67,68,"pl-c1"],[69,74,"pl-s1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,26,"pl-en"],[27,28,"pl-s1"],[30,31,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,22,"pl-en"],[23,31,"pl-smi"],[32,33,"pl-c1"],[33,34,"pl-s1"],[36,44,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-s1"]],[],[[4,6,"pl-k"],[8,23,"pl-en"],[24,25,"pl-s1"],[27,29,"pl-c1"],[30,43,"pl-en"],[44,45,"pl-s1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,29,"pl-en"],[30,31,"pl-s1"],[33,34,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,16,"pl-en"],[17,25,"pl-smi"],[26,27,"pl-c1"],[27,31,"pl-s1"],[33,36,"pl-smi"],[37,39,"pl-s1"],[41,49,"pl-smi"],[50,51,"pl-c1"],[51,56,"pl-s1"]],[],[[4,10,"pl-en"],[11,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[24,26,"pl-c1"],[27,32,"pl-s1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[4,10,"pl-en"],[11,13,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,24,"pl-s1"],[28,41,"pl-c1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,10,"pl-k"],[12,14,"pl-s1"]],[[8,12,"pl-k"],[13,19,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,33,"pl-en"],[34,38,"pl-s1"],[40,45,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,24,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,38,"pl-en"],[39,43,"pl-s1"],[45,50,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,24,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,48,"pl-en"],[49,53,"pl-s1"],[55,60,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,27,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,40,"pl-en"],[41,45,"pl-s1"],[47,52,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,28,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,41,"pl-en"],[42,46,"pl-s1"],[48,53,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,25,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,43,"pl-en"],[44,48,"pl-s1"],[50,55,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,21,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,45,"pl-en"],[46,50,"pl-s1"],[52,57,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,22,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,46,"pl-en"],[47,51,"pl-s1"],[53,58,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,22,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,36,"pl-en"],[37,41,"pl-s1"],[43,48,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,18,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,32,"pl-en"],[33,37,"pl-s1"],[39,44,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,19,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,33,"pl-en"],[34,38,"pl-s1"],[40,45,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,19,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,33,"pl-en"],[34,38,"pl-s1"],[40,45,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,22,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,37,"pl-en"],[38,42,"pl-s1"],[44,49,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,31,"pl-c1"]],[[12,67,"pl-c"]],[[12,17,"pl-k"]],[[8,15,"pl-k"]],[[12,26,"pl-en"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,16,"pl-en"],[17,27,"pl-smi"],[28,29,"pl-c1"],[29,31,"pl-s1"],[33,36,"pl-smi"],[37,38,"pl-s1"],[40,48,"pl-smi"],[49,50,"pl-c1"],[50,56,"pl-s1"]],[[17,25,"pl-smi"],[26,27,"pl-c1"],[27,38,"pl-s1"],[40,55,"pl-smi"],[56,57,"pl-c1"],[57,69,"pl-s1"]],[],[[4,11,"pl-k"],[12,31,"pl-c1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"]],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,39,"pl-c1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,30,"pl-s1"],[31,50,"pl-c1"]],[[4,6,"pl-k"],[9,33,"pl-en"],[34,36,"pl-s1"],[38,39,"pl-s1"],[39,40,"pl-c1"],[40,41,"pl-c1"],[43,58,"pl-s1"],[60,79,"pl-c1"]],[[8,34,"pl-c"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,42,"pl-s1"],[43,44,"pl-c1"]],[[4,10,"pl-en"],[11,22,"pl-en"],[23,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,17,"pl-s1"],[18,19,"pl-c1"],[20,35,"pl-en"],[36,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[57,66,"pl-s1"],[66,68,"pl-c1"],[68,75,"pl-c1"],[77,83,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,42,"pl-s1"],[43,44,"pl-c1"]],[[4,10,"pl-en"],[11,22,"pl-en"],[23,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,17,"pl-s1"],[18,19,"pl-c1"],[20,35,"pl-en"],[36,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[57,66,"pl-s1"],[66,68,"pl-c1"],[68,75,"pl-c1"],[77,83,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[8,17,"pl-en"],[18,21,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,22,"pl-s1"],[23,24,"pl-c1"],[25,41,"pl-en"],[42,45,"pl-s1"],[47,52,"pl-s1"],[52,54,"pl-c1"],[54,61,"pl-c1"],[63,66,"pl-s1"]],[[4,13,"pl-en"],[14,17,"pl-s1"]],[[4,13,"pl-en"],[14,17,"pl-s1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[8,10,"pl-k"],[12,34,"pl-en"],[35,58,"pl-s1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,19,"pl-en"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,11,"pl-en"],[12,27,"pl-s1"],[29,48,"pl-c1"]],[[4,10,"pl-k"],[11,32,"pl-en"],[33,38,"pl-s1"],[40,48,"pl-s1"],[50,56,"pl-s1"],[58,69,"pl-s1"],[71,83,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,18,"pl-en"],[19,27,"pl-smi"],[28,29,"pl-c1"],[29,36,"pl-s1"],[38,41,"pl-smi"],[42,48,"pl-s1"],[50,53,"pl-smi"],[54,59,"pl-s1"]],[],[[4,10,"pl-en"],[11,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[4,10,"pl-en"]],[[8,14,"pl-s1"],[15,17,"pl-c1"],[18,32,"pl-c1"],[33,35,"pl-c1"]],[[8,14,"pl-s1"],[15,17,"pl-c1"],[18,30,"pl-c1"],[31,33,"pl-c1"]],[[8,14,"pl-s1"],[15,17,"pl-c1"],[18,27,"pl-c1"],[28,30,"pl-c1"]],[[9,15,"pl-s1"],[16,18,"pl-c1"],[19,35,"pl-c1"],[36,38,"pl-c1"],[39,44,"pl-s1"],[45,47,"pl-c1"],[48,72,"pl-c1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,20,"pl-s1"]],[[4,10,"pl-k"],[12,18,"pl-s1"]],[[8,12,"pl-k"],[13,27,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,38,"pl-en"],[39,46,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,25,"pl-c1"]],[[12,79,"pl-c"]],[[12,14,"pl-k"],[16,28,"pl-en"],[29,36,"pl-s1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,36,"pl-en"],[37,44,"pl-s1"]],[[12,17,"pl-k"]],[[8,12,"pl-k"],[13,22,"pl-c1"]],[[12,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,35,"pl-en"],[36,43,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,36,"pl-en"],[38,39,"pl-s1"]],[[12,17,"pl-k"]],[],[[8,12,"pl-k"],[13,29,"pl-c1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,24,"pl-c1"],[25,49,"pl-c1"]],[[16,30,"pl-en"]],[],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,38,"pl-en"],[39,46,"pl-s1"]],[[12,17,"pl-k"]],[[8,15,"pl-k"]],[[12,26,"pl-en"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,18,"pl-en"],[19,29,"pl-smi"],[30,31,"pl-c1"],[31,33,"pl-s1"],[35,38,"pl-smi"],[39,40,"pl-s1"],[42,50,"pl-smi"],[51,52,"pl-c1"],[52,58,"pl-s1"]],[[19,27,"pl-smi"],[28,29,"pl-c1"],[29,40,"pl-s1"],[42,57,"pl-smi"],[58,59,"pl-c1"],[59,71,"pl-s1"]],[],[[4,11,"pl-k"],[12,33,"pl-c1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[26,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"],[38,39,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,28,"pl-s1"]],[[4,6,"pl-k"],[9,33,"pl-en"],[34,36,"pl-s1"],[38,39,"pl-s1"],[39,40,"pl-c1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[44,57,"pl-s1"],[59,80,"pl-c1"]],[[8,25,"pl-c"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,10,"pl-en"],[11,22,"pl-en"],[23,36,"pl-s1"],[36,38,"pl-c1"],[38,46,"pl-c1"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"]],[[8,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"]],[[8,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"]],[[8,14,"pl-s1"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,22,"pl-s1"],[23,24,"pl-c1"],[25,43,"pl-en"],[44,51,"pl-s1"],[53,60,"pl-s1"],[60,62,"pl-c1"],[62,70,"pl-c1"],[72,79,"pl-s1"],[79,81,"pl-c1"],[81,88,"pl-c1"]],[[4,13,"pl-en"],[14,21,"pl-s1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[8,10,"pl-k"],[12,34,"pl-en"],[35,58,"pl-s1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,19,"pl-en"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,15,"pl-s1"],[15,17,"pl-c1"],[17,25,"pl-c1"],[26,28,"pl-c1"],[29,38,"pl-c1"]],[[8,14,"pl-en"],[15,27,"pl-en"],[28,36,"pl-s1"]],[],[[4,11,"pl-en"],[12,13,"pl-c1"],[13,26,"pl-s1"],[28,49,"pl-c1"]],[[4,10,"pl-k"],[11,32,"pl-en"],[33,40,"pl-s1"],[42,50,"pl-s1"],[52,58,"pl-s1"],[60,71,"pl-s1"],[73,85,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,15,"pl-c1"]],[],[[0,78,"pl-c"]],[[0,15,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,10,"pl-en"],[11,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[30,33,"pl-smi"],[34,35,"pl-c1"],[35,37,"pl-s1"]],[],[[4,78,"pl-c"]],[[4,74,"pl-c"]],[[4,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[31,36,"pl-s1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,47,"pl-c1"],[47,49,"pl-s1"]],[[4,80,"pl-c"]],[[4,48,"pl-c"]],[[4,10,"pl-en"],[11,23,"pl-s1"],[24,25,"pl-c1"],[27,35,"pl-c1"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,28,"pl-s1"],[29,30,"pl-c1"],[32,39,"pl-c1"]],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-smi"],[8,12,"pl-s1"],[13,14,"pl-c1"]],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[34,36,"pl-s1"]],[[4,9,"pl-k"],[11,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,33,"pl-s1"],[34,37,"pl-s1"],[39,47,"pl-c1"]],[[8,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[12,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-en"],[27,32,"pl-s1"],[34,46,"pl-s1"],[47,50,"pl-s1"],[52,59,"pl-c1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"]],[],[[8,12,"pl-k"],[13,15,"pl-k"],[17,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-c1"]],[[12,17,"pl-k"]],[],[],[[4,53,"pl-c"]],[[4,6,"pl-k"],[9,13,"pl-s1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,63,"pl-c"]],[[4,7,"pl-smi"],[8,9,"pl-c1"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,29,"pl-en"],[30,35,"pl-s1"],[36,37,"pl-c1"],[38,44,"pl-k"],[45,48,"pl-smi"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-s1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"]],[],[[4,78,"pl-c"]],[[4,19,"pl-c"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[29,30,"pl-s1"],[30,32,"pl-c1"]],[[8,10,"pl-k"],[12,24,"pl-s1"],[25,26,"pl-s1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,44,"pl-c1"]],[[12,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,36,"pl-s1"],[37,38,"pl-s1"],[40,47,"pl-c1"]],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"],[28,29,"pl-c1"]],[[12,35,"pl-c"]],[[12,17,"pl-s1"],[18,19,"pl-c1"],[21,22,"pl-c1"],[23,28,"pl-s1"],[29,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[29,30,"pl-c1"],[31,34,"pl-s1"]],[],[],[[4,78,"pl-c"]],[[4,78,"pl-c"]],[[4,77,"pl-c"]],[[4,74,"pl-c"]],[[4,75,"pl-c"]],[[4,75,"pl-c"]],[[4,78,"pl-c"]],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-s1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,77,"pl-c"]],[[8,32,"pl-c"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,19,"pl-s1"],[21,23,"pl-c1"],[24,31,"pl-c1"],[32,34,"pl-c1"],[35,40,"pl-s1"],[41,42,"pl-s1"],[44,46,"pl-c1"],[47,48,"pl-s1"]],[[12,20,"pl-k"]],[],[[8,79,"pl-c"]],[[8,77,"pl-c"]],[[8,69,"pl-c"]],[[8,78,"pl-c"]],[[8,44,"pl-c"]],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"]],[[8,13,"pl-k"]],[[12,79,"pl-c"]],[[12,45,"pl-c"]],[[12,14,"pl-k"],[16,17,"pl-s1"]],[[16,22,"pl-en"],[23,24,"pl-c1"],[28,35,"pl-s1"]],[[16,39,"pl-c"]],[[16,28,"pl-s1"],[29,36,"pl-s1"],[38,46,"pl-c1"],[47,48,"pl-c1"],[49,53,"pl-c1"]],[[16,28,"pl-s1"],[29,36,"pl-s1"],[36,38,"pl-c1"],[40,47,"pl-c1"],[48,49,"pl-c1"],[50,51,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,23,"pl-s1"],[25,27,"pl-c1"],[28,35,"pl-c1"]],[[16,39,"pl-c"]],[[16,22,"pl-en"],[23,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-s1"]],[[16,21,"pl-k"]],[],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[31,32,"pl-s1"]],[[12,17,"pl-s1"],[18,19,"pl-s1"],[21,22,"pl-c1"],[23,30,"pl-c1"]],[[12,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"]],[],[],[[4,39,"pl-c"]],[[4,9,"pl-k"],[11,12,"pl-c1"],[16,23,"pl-s1"]],[[8,21,"pl-en"],[22,23,"pl-c1"],[23,35,"pl-s1"],[36,43,"pl-s1"],[43,45,"pl-c1"],[48,51,"pl-c1"]],[],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,5,"pl-c1"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,75,"pl-c"]],[[0,67,"pl-c"]],[[0,53,"pl-c"]],[[0,50,"pl-c"]],[[0,7,"pl-k"],[8,17,"pl-en"],[18,24,"pl-s1"]],[],[],[],[],[[0,7,"pl-k"],[8,17,"pl-en"],[18,23,"pl-s1"]],[],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,26,"pl-en"],[27,37,"pl-smi"],[38,39,"pl-c1"],[39,44,"pl-s1"],[46,49,"pl-smi"],[50,51,"pl-s1"],[53,56,"pl-smi"],[57,63,"pl-s1"]],[],[[4,9,"pl-k"],[11,13,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[34,39,"pl-s1"],[39,41,"pl-c1"],[41,48,"pl-c1"],[49,50,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-c1"],[17,23,"pl-s1"],[24,26,"pl-c1"],[27,38,"pl-s1"],[38,40,"pl-c1"],[40,45,"pl-c1"],[46,52,"pl-c1"],[53,55,"pl-c1"],[56,62,"pl-s1"]],[[12,74,"pl-c"]],[[12,70,"pl-c"]],[[12,18,"pl-k"],[19,21,"pl-c1"]],[],[[8,10,"pl-k"],[12,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[34,36,"pl-c1"],[37,40,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[12,21,"pl-en"],[22,33,"pl-s1"],[33,35,"pl-c1"],[35,43,"pl-c1"]],[[12,18,"pl-k"],[19,20,"pl-s1"]],[],[[8,14,"pl-k"],[15,17,"pl-c1"]],[],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,75,"pl-c"]],[[0,76,"pl-c"]],[[0,56,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,18,"pl-en"],[19,29,"pl-smi"],[30,31,"pl-c1"],[31,36,"pl-s1"],[38,41,"pl-smi"],[42,43,"pl-s1"]],[],[[4,72,"pl-c"]],[[4,7,"pl-k"],[11,12,"pl-c1"],[16,17,"pl-s1"],[19,20,"pl-s1"],[20,22,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[27,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"],[42,43,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[12,14,"pl-k"],[16,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-c1"],[38,40,"pl-c1"],[41,50,"pl-en"],[51,55,"pl-s1"],[55,57,"pl-c1"],[57,65,"pl-c1"]],[[16,71,"pl-c"]],[[16,24,"pl-k"]],[],[[12,70,"pl-c"]],[[12,18,"pl-k"]],[],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,42,"pl-en"],[43,48,"pl-s1"],[50,51,"pl-s1"],[53,55,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[12,18,"pl-k"]],[],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"],[39,44,"pl-c1"],[45,51,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-c1"],[48,53,"pl-s1"],[55,60,"pl-s1"],[60,62,"pl-c1"]],[[12,13,"pl-s1"],[14,15,"pl-c1"],[16,42,"pl-en"],[43,48,"pl-s1"],[50,51,"pl-s1"],[53,59,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[16,22,"pl-k"]],[],[],[[8,75,"pl-c"]],[[8,79,"pl-c"]],[[8,50,"pl-c"]],[[8,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,31,"pl-en"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"]],[[8,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,31,"pl-en"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"]],[[8,10,"pl-k"],[12,19,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-c1"],[28,35,"pl-s1"],[39,40,"pl-c1"]],[[12,14,"pl-k"],[16,23,"pl-s1"],[24,26,"pl-c1"],[27,34,"pl-s1"]],[[16,22,"pl-k"]],[],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[34,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-s1"],[43,46,"pl-s1"],[46,48,"pl-c1"]],[[16,19,"pl-smi"],[20,29,"pl-s1"],[30,31,"pl-c1"],[32,41,"pl-en"],[42,47,"pl-s1"],[47,49,"pl-c1"],[49,56,"pl-c1"],[57,60,"pl-s1"]],[[16,18,"pl-k"],[20,29,"pl-s1"],[33,34,"pl-c1"],[35,37,"pl-c1"],[39,48,"pl-s1"],[49,51,"pl-c1"],[52,59,"pl-s1"],[60,62,"pl-c1"],[63,72,"pl-s1"],[73,75,"pl-c1"],[76,83,"pl-s1"]],[[20,26,"pl-k"]],[],[],[],[],[[8,19,"pl-c"]],[[8,21,"pl-en"],[22,26,"pl-s1"],[28,31,"pl-c1"]],[[8,17,"pl-smi"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,39,"pl-c1"],[40,41,"pl-s1"]],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,30,"pl-en"],[31,39,"pl-smi"],[40,41,"pl-c1"],[41,52,"pl-s1"],[54,64,"pl-smi"],[65,66,"pl-c1"],[66,68,"pl-s1"]],[[31,39,"pl-smi"],[40,41,"pl-c1"],[41,47,"pl-s1"],[49,64,"pl-smi"],[65,66,"pl-c1"],[66,78,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,40,"pl-c1"]],[[12,20,"pl-smi"],[21,22,"pl-c1"],[22,30,"pl-s1"],[31,32,"pl-c1"],[33,48,"pl-en"],[49,53,"pl-s1"],[53,55,"pl-c1"],[55,63,"pl-c1"],[65,69,"pl-s1"],[69,71,"pl-c1"],[71,78,"pl-c1"],[80,86,"pl-s1"]],[[12,14,"pl-k"],[16,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,52,"pl-en"],[53,57,"pl-s1"],[59,67,"pl-s1"],[69,75,"pl-s1"],[77,88,"pl-s1"]],[[12,21,"pl-en"],[22,30,"pl-s1"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[],[[8,12,"pl-smi"],[13,34,"pl-s1"],[35,36,"pl-c1"],[38,44,"pl-s1"],[45,47,"pl-c1"],[48,58,"pl-c1"],[59,61,"pl-c1"]],[[38,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"],[53,55,"pl-c1"],[56,60,"pl-c1"],[61,63,"pl-c1"]],[[38,42,"pl-s1"],[42,44,"pl-c1"],[44,51,"pl-c1"],[52,54,"pl-c1"],[55,56,"pl-c1"]],[[8,10,"pl-k"],[14,35,"pl-s1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[12,17,"pl-s1"],[18,19,"pl-c1"],[20,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"]],[],[[8,14,"pl-en"],[16,35,"pl-en"],[36,42,"pl-s1"]],[[8,10,"pl-k"],[13,24,"pl-en"],[25,31,"pl-s1"]],[[12,20,"pl-k"]],[],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[22,23,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[41,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"],[53,54,"pl-s1"],[54,55,"pl-c1"],[55,56,"pl-c1"],[58,66,"pl-c1"],[69,70,"pl-c1"]],[[8,14,"pl-k"],[15,21,"pl-s1"]],[[12,16,"pl-k"],[17,34,"pl-c1"]],[[12,16,"pl-k"],[17,33,"pl-c1"]],[[12,16,"pl-k"],[17,30,"pl-c1"]],[[12,16,"pl-k"],[17,29,"pl-c1"]],[],[[16,63,"pl-c"]],[[16,24,"pl-smi"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,69,"pl-s1"]],[[16,18,"pl-k"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,19,"pl-smi"],[20,27,"pl-s1"],[28,29,"pl-c1"],[30,45,"pl-en"],[46,49,"pl-s1"]],[[16,25,"pl-en"],[26,29,"pl-s1"]],[[16,18,"pl-k"],[20,27,"pl-s1"],[28,30,"pl-c1"],[31,33,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,18,"pl-k"],[20,47,"pl-en"],[48,54,"pl-s1"],[56,57,"pl-c1"],[59,61,"pl-c1"],[62,64,"pl-c1"]],[[20,63,"pl-c"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[],[[16,19,"pl-smi"],[20,32,"pl-s1"],[33,34,"pl-c1"],[36,42,"pl-s1"],[43,45,"pl-c1"],[46,62,"pl-c1"],[63,65,"pl-c1"],[66,72,"pl-s1"],[73,75,"pl-c1"],[76,88,"pl-c1"]],[[16,18,"pl-k"],[20,27,"pl-s1"],[28,30,"pl-c1"],[31,43,"pl-s1"]],[[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,33,"pl-s1"],[33,34,"pl-c1"],[34,35,"pl-c1"],[37,45,"pl-c1"],[46,47,"pl-c1"],[48,52,"pl-c1"]],[],[[16,20,"pl-k"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,58,"pl-c1"]],[],[[16,21,"pl-k"]],[],[[12,16,"pl-k"],[17,22,"pl-c1"]],[],[[16,44,"pl-c"]],[[16,63,"pl-c"]],[[16,64,"pl-c"]],[[16,71,"pl-c"]],[[16,72,"pl-c"]],[[16,48,"pl-c"]],[[16,64,"pl-c"]],[[16,63,"pl-c"]],[[16,72,"pl-c"]],[[16,71,"pl-c"]],[[16,24,"pl-smi"],[25,26,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,69,"pl-s1"]],[[16,18,"pl-k"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,18,"pl-k"],[21,30,"pl-en"],[31,34,"pl-s1"]],[[20,29,"pl-en"],[30,33,"pl-s1"]],[[20,25,"pl-k"]],[],[[16,18,"pl-k"],[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[35,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[20,25,"pl-k"]],[],[[16,25,"pl-smi"],[26,27,"pl-c1"],[27,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[39,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"],[51,52,"pl-s1"],[53,54,"pl-c1"],[55,56,"pl-c1"]],[[16,25,"pl-smi"],[26,27,"pl-c1"],[27,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[41,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-c1"]],[[16,49,"pl-c"]],[[16,18,"pl-k"],[20,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"],[41,43,"pl-c1"],[44,51,"pl-c1"]],[[20,33,"pl-en"],[34,44,"pl-s1"],[46,49,"pl-c1"]],[[20,22,"pl-k"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[39,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[24,29,"pl-k"]],[],[[20,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,47,"pl-s1"],[48,49,"pl-c1"],[50,51,"pl-c1"]],[],[[16,20,"pl-smi"],[21,27,"pl-s1"],[28,29,"pl-c1"],[30,38,"pl-s1"],[38,40,"pl-c1"],[40,47,"pl-c1"]],[[16,18,"pl-k"],[20,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"],[41,43,"pl-c1"],[44,61,"pl-c1"]],[[20,26,"pl-s1"],[27,28,"pl-c1"],[30,36,"pl-s1"]],[],[[16,20,"pl-k"],[21,23,"pl-k"],[25,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"],[46,48,"pl-c1"],[49,65,"pl-c1"]],[[20,25,"pl-k"]],[],[[16,29,"pl-en"],[30,34,"pl-s1"],[36,39,"pl-c1"]],[[16,29,"pl-en"],[30,38,"pl-s1"],[40,43,"pl-c1"]],[[16,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,38,"pl-c1"],[39,45,"pl-s1"],[48,68,"pl-c1"]],[[48,64,"pl-c1"]],[[16,21,"pl-k"]],[],[[12,16,"pl-k"],[17,24,"pl-c1"]],[],[[16,24,"pl-smi"],[25,26,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,69,"pl-s1"]],[[16,18,"pl-k"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,19,"pl-smi"],[20,27,"pl-s1"],[28,29,"pl-c1"],[30,45,"pl-en"],[46,49,"pl-s1"]],[[16,25,"pl-en"],[26,29,"pl-s1"]],[[16,18,"pl-k"],[20,27,"pl-s1"],[28,30,"pl-c1"],[31,33,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,19,"pl-s1"],[20,21,"pl-c1"],[22,37,"pl-en"],[38,45,"pl-s1"]],[[16,19,"pl-smi"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,37,"pl-en"],[38,41,"pl-s1"],[43,49,"pl-s1"],[51,62,"pl-s1"],[64,76,"pl-s1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,29,"pl-en"],[30,34,"pl-s1"],[36,39,"pl-c1"]],[[16,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"],[45,46,"pl-c1"],[47,48,"pl-c1"],[51,61,"pl-c1"],[63,68,"pl-s1"]],[[16,21,"pl-k"]],[],[],[[8,10,"pl-k"],[12,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,40,"pl-c1"]],[[12,20,"pl-smi"],[21,22,"pl-c1"],[22,30,"pl-s1"],[31,32,"pl-c1"],[33,48,"pl-en"],[49,53,"pl-s1"],[53,55,"pl-c1"],[55,63,"pl-c1"],[65,69,"pl-s1"],[69,71,"pl-c1"],[71,78,"pl-c1"],[80,86,"pl-s1"]],[[12,14,"pl-k"],[16,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,56,"pl-en"],[57,61,"pl-s1"],[63,71,"pl-s1"]],[[12,21,"pl-en"],[22,30,"pl-s1"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,19,"pl-en"],[20,28,"pl-smi"],[29,30,"pl-c1"],[30,41,"pl-s1"],[43,54,"pl-smi"],[55,56,"pl-c1"],[56,57,"pl-s1"],[59,67,"pl-smi"],[68,69,"pl-c1"],[69,75,"pl-s1"]],[[20,35,"pl-smi"],[36,37,"pl-c1"],[37,49,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,23,"pl-en"],[24,54,"pl-en"],[55,66,"pl-s1"],[68,69,"pl-s1"],[71,77,"pl-s1"],[79,91,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,20,"pl-en"],[21,29,"pl-smi"],[30,31,"pl-c1"],[31,42,"pl-s1"],[44,54,"pl-smi"],[55,56,"pl-c1"],[56,58,"pl-s1"],[60,68,"pl-smi"],[69,70,"pl-c1"],[70,76,"pl-s1"]],[[21,36,"pl-smi"],[37,38,"pl-c1"],[38,50,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[[4,13,"pl-smi"],[14,17,"pl-s1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[24,27,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,25,"pl-s1"]],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[8,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"]],[[8,10,"pl-k"],[12,22,"pl-en"],[23,29,"pl-s1"]],[[12,18,"pl-en"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[22,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,47,"pl-c1"]],[[12,18,"pl-en"],[20,39,"pl-en"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"]],[],[[8,12,"pl-k"]],[[12,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[22,25,"pl-s1"]],[],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[22,23,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[41,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"],[53,54,"pl-s1"],[54,55,"pl-c1"],[55,56,"pl-c1"],[58,66,"pl-c1"],[69,70,"pl-c1"]],[[8,14,"pl-en"],[16,35,"pl-en"],[36,42,"pl-s1"]],[[8,14,"pl-k"],[16,22,"pl-s1"]],[[12,47,"pl-c"]],[[0,59,"pl-c"]],[[0,70,"pl-c"]],[[0,73,"pl-c"]],[[12,16,"pl-k"],[17,28,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,45,"pl-c1"],[46,48,"pl-c1"],[49,54,"pl-s1"],[55,57,"pl-c1"],[58,60,"pl-s1"],[60,62,"pl-c1"],[62,69,"pl-c1"],[70,71,"pl-s1"],[71,72,"pl-c1"],[72,73,"pl-c1"],[75,82,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-s1"]],[[24,28,"pl-k"],[29,30,"pl-c1"]],[[28,41,"pl-en"],[42,46,"pl-s1"],[48,51,"pl-c1"]],[[28,41,"pl-en"],[42,43,"pl-c1"],[43,45,"pl-s1"],[45,47,"pl-c1"],[47,54,"pl-c1"],[55,56,"pl-s1"],[57,58,"pl-c1"],[59,60,"pl-c1"],[63,66,"pl-c1"]],[[28,36,"pl-k"]],[[24,28,"pl-k"],[29,30,"pl-c1"]],[[24,28,"pl-k"],[29,30,"pl-c1"]],[[28,41,"pl-en"],[42,46,"pl-s1"],[48,51,"pl-c1"]],[[28,30,"pl-s1"],[30,32,"pl-c1"],[32,39,"pl-c1"],[40,41,"pl-s1"],[41,42,"pl-c1"],[42,43,"pl-c1"],[45,53,"pl-c1"],[54,55,"pl-c1"],[56,60,"pl-c1"]],[[28,36,"pl-k"]],[],[],[[16,31,"pl-en"],[32,55,"pl-en"],[56,58,"pl-s1"],[60,61,"pl-s1"],[63,69,"pl-s1"],[71,82,"pl-s1"],[84,96,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-c1"]],[[12,16,"pl-k"],[17,26,"pl-c1"]],[[16,31,"pl-en"],[32,55,"pl-en"],[56,58,"pl-s1"],[60,61,"pl-s1"],[63,69,"pl-s1"],[71,77,"pl-s1"],[79,90,"pl-s1"],[92,104,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,37,"pl-c1"]],[[12,16,"pl-k"],[17,33,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,63,"pl-s1"],[63,65,"pl-c1"],[65,73,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,34,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,76,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,33,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,75,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,30,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[20,24,"pl-k"],[25,38,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,72,"pl-c1"]],[[24,32,"pl-k"]],[[20,24,"pl-k"],[25,37,"pl-c1"]],[[24,76,"pl-c"]],[[24,50,"pl-c"]],[[24,30,"pl-en"],[31,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"],[46,48,"pl-c1"],[49,53,"pl-s1"],[53,55,"pl-c1"],[55,63,"pl-c1"],[63,65,"pl-c1"],[65,71,"pl-c1"]],[[24,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[39,40,"pl-c1"],[41,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[55,57,"pl-c1"],[57,63,"pl-c1"]],[[24,25,"pl-s1"],[25,27,"pl-c1"]],[[24,32,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,29,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[20,24,"pl-k"],[25,37,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,71,"pl-c1"]],[[24,32,"pl-k"]],[[20,24,"pl-k"],[25,38,"pl-c1"]],[[24,76,"pl-c"]],[[24,50,"pl-c"]],[[24,30,"pl-en"],[31,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"],[46,48,"pl-c1"],[49,53,"pl-s1"],[53,55,"pl-c1"],[55,63,"pl-c1"],[63,65,"pl-c1"],[65,71,"pl-c1"]],[[24,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[39,40,"pl-c1"],[41,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[55,57,"pl-c1"],[57,63,"pl-c1"]],[[24,25,"pl-s1"],[25,27,"pl-c1"]],[[24,32,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,21,"pl-c1"]],[[12,16,"pl-k"],[17,34,"pl-c1"]],[[16,22,"pl-k"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[20,24,"pl-k"],[25,29,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,63,"pl-c1"]],[[24,32,"pl-k"]],[[20,24,"pl-k"],[25,42,"pl-c1"]],[[24,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-en"],[41,43,"pl-s1"],[45,49,"pl-s1"],[51,57,"pl-s1"],[59,65,"pl-s1"]],[[24,32,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,25,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,44,"pl-c1"]],[[20,80,"pl-c"]],[[0,81,"pl-c"]],[[0,81,"pl-c"]],[[0,35,"pl-c"]],[[0,23,"pl-c"]],[[20,22,"pl-c"]],[[0,65,"pl-c"]],[[0,22,"pl-c"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,36,"pl-s1"],[37,39,"pl-c1"]],[[20,25,"pl-s1"],[26,28,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,40,"pl-c1"],[41,42,"pl-s1"],[42,43,"pl-c1"],[43,44,"pl-c1"],[46,53,"pl-c1"],[54,56,"pl-c1"]],[[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,33,"pl-s1"],[35,40,"pl-c1"],[41,47,"pl-c1"],[48,50,"pl-c1"],[51,53,"pl-s1"],[53,55,"pl-c1"],[55,62,"pl-c1"],[63,64,"pl-s1"],[64,65,"pl-c1"],[65,66,"pl-c1"],[68,73,"pl-c1"],[74,80,"pl-c1"]],[[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,33,"pl-s1"],[35,43,"pl-c1"],[44,45,"pl-c1"],[46,53,"pl-c1"]],[[20,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"],[32,33,"pl-s1"],[35,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,21,"pl-c1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[26,28,"pl-c1"],[29,30,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,28,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,39,"pl-c1"],[40,42,"pl-c1"],[44,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"],[55,57,"pl-c1"],[58,59,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,51,"pl-c1"],[53,58,"pl-s1"],[61,62,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,58,"pl-c1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,37,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,65,"pl-c1"],[67,72,"pl-s1"],[75,77,"pl-c1"]],[[20,28,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,28,"pl-c1"]],[[12,16,"pl-k"],[17,22,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,37,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,61,"pl-s1"],[63,68,"pl-s1"]],[[20,28,"pl-k"]],[],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,39,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,23,"pl-smi"],[24,32,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[43,44,"pl-c1"]],[[20,26,"pl-en"],[27,35,"pl-s1"],[36,38,"pl-c1"],[39,40,"pl-c1"],[41,43,"pl-c1"],[44,52,"pl-s1"],[53,55,"pl-c1"],[56,57,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,61,"pl-s1"],[63,71,"pl-s1"]],[[20,28,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,24,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,37,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,28,"pl-k"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,26,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,37,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,64,"pl-c1"]],[[20,28,"pl-k"]],[],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,39,"pl-c1"]],[[20,33,"pl-en"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,58,"pl-c1"]],[[20,28,"pl-k"]],[],[[16,31,"pl-s1"]],[[12,16,"pl-k"],[17,29,"pl-c1"]],[[12,16,"pl-k"],[17,31,"pl-c1"]],[[16,31,"pl-en"],[32,50,"pl-en"],[51,53,"pl-s1"],[55,56,"pl-s1"],[58,64,"pl-s1"],[66,77,"pl-s1"],[79,91,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,33,"pl-c1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[26,28,"pl-c1"],[29,52,"pl-c1"]],[[20,35,"pl-en"],[36,69,"pl-en"],[70,72,"pl-s1"],[74,75,"pl-s1"],[77,83,"pl-s1"],[85,96,"pl-s1"],[98,110,"pl-s1"]],[[20,22,"pl-k"],[24,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[39,41,"pl-c1"],[42,58,"pl-c1"],[59,61,"pl-c1"],[62,68,"pl-s1"],[69,71,"pl-c1"],[72,80,"pl-c1"]],[[24,37,"pl-en"],[38,42,"pl-s1"],[44,47,"pl-c1"]],[],[],[[16,20,"pl-k"],[21,23,"pl-k"],[25,30,"pl-s1"],[31,33,"pl-c1"],[34,58,"pl-c1"]],[[20,35,"pl-en"],[36,54,"pl-en"],[55,57,"pl-s1"],[59,60,"pl-s1"],[62,68,"pl-s1"],[70,81,"pl-s1"],[83,95,"pl-s1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,28,"pl-c1"]],[[12,16,"pl-k"],[17,24,"pl-c1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[26,28,"pl-c1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[35,41,"pl-s1"],[42,44,"pl-c1"],[45,53,"pl-c1"],[54,56,"pl-c1"],[57,63,"pl-s1"],[64,66,"pl-c1"],[67,78,"pl-c1"]],[[20,35,"pl-en"],[36,69,"pl-en"]],[[24,26,"pl-s1"],[28,29,"pl-s1"],[31,37,"pl-s1"],[39,50,"pl-s1"],[52,64,"pl-s1"]],[],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,26,"pl-c1"]],[[16,31,"pl-en"],[32,48,"pl-en"],[49,51,"pl-s1"],[53,54,"pl-s1"],[56,62,"pl-s1"],[64,75,"pl-s1"],[77,89,"pl-s1"]],[[16,21,"pl-k"]],[],[],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[12,14,"pl-k"],[16,26,"pl-en"],[27,29,"pl-s1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[21,26,"pl-ent"]],[],[[12,30,"pl-en"],[31,33,"pl-s1"],[35,36,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[[0,5,"pl-ent"]],[[4,10,"pl-k"],[11,16,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,31,"pl-en"],[32,43,"pl-smi"],[44,45,"pl-c1"],[45,46,"pl-s1"],[48,51,"pl-smi"],[52,63,"pl-s1"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,31,"pl-en"],[32,43,"pl-smi"],[44,45,"pl-c1"],[45,46,"pl-s1"]],[],[[4,7,"pl-smi"],[8,20,"pl-s1"],[22,35,"pl-s1"]],[[4,6,"pl-k"]],[[8,58,"pl-c"]],[[0,51,"pl-c"]],[[0,11,"pl-c"]],[[8,20,"pl-s1"],[21,22,"pl-c1"],[23,44,"pl-en"],[45,46,"pl-s1"]],[[8,23,"pl-en"],[24,36,"pl-s1"]],[[8,21,"pl-s1"],[22,23,"pl-c1"],[24,46,"pl-en"],[47,48,"pl-s1"]],[[8,23,"pl-en"],[24,37,"pl-s1"]],[[6,11,"pl-k"],[12,24,"pl-s1"],[25,26,"pl-c1"],[27,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,49,"pl-c"]],[[0,72,"pl-c"]],[[0,18,"pl-c"]],[[0,0,"pl-c"]],[[0,74,"pl-c"]],[[0,39,"pl-c"]],[[0,2,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,12,"pl-en"],[13,24,"pl-smi"],[25,26,"pl-c1"],[26,27,"pl-s1"],[29,37,"pl-smi"],[38,39,"pl-c1"],[39,45,"pl-s1"],[47,55,"pl-smi"],[56,57,"pl-c1"],[57,68,"pl-s1"]],[[13,28,"pl-smi"],[29,30,"pl-c1"],[30,42,"pl-s1"],[44,47,"pl-smi"],[48,59,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,40,"pl-s1"]],[[4,19,"pl-en"],[20,29,"pl-en"],[30,31,"pl-s1"]],[[4,19,"pl-en"],[20,52,"pl-en"],[53,54,"pl-s1"],[54,56,"pl-c1"],[56,68,"pl-c1"]],[[4,19,"pl-en"],[20,38,"pl-en"],[39,40,"pl-s1"],[40,42,"pl-c1"],[42,54,"pl-c1"]],[[4,19,"pl-en"],[20,40,"pl-en"],[41,42,"pl-s1"],[44,55,"pl-s1"]],[[4,19,"pl-en"],[20,39,"pl-en"],[40,51,"pl-s1"],[53,54,"pl-s1"],[56,62,"pl-s1"],[64,76,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,23,"pl-en"],[24,44,"pl-en"],[45,56,"pl-s1"],[58,59,"pl-s1"],[61,67,"pl-s1"],[69,81,"pl-s1"]],[],[[4,19,"pl-en"],[20,51,"pl-en"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,67,"pl-c1"]],[[4,19,"pl-en"],[20,38,"pl-en"],[39,40,"pl-s1"],[40,42,"pl-c1"],[42,54,"pl-c1"]],[[4,19,"pl-en"],[20,51,"pl-en"],[52,53,"pl-s1"]],[[4,10,"pl-en"],[11,29,"pl-en"],[30,31,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,22,"pl-en"],[23,32,"pl-smi"],[33,34,"pl-c1"],[34,39,"pl-s1"],[41,50,"pl-smi"],[51,52,"pl-c1"],[52,57,"pl-s1"],[59,62,"pl-smi"],[63,71,"pl-s1"]],[],[[4,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,32,"pl-c1"],[33,39,"pl-c1"]],[[4,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,32,"pl-c1"],[33,39,"pl-c1"]],[[4,53,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,27,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"],[36,41,"pl-s1"],[42,44,"pl-c1"],[45,50,"pl-s1"]],[[8,14,"pl-k"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[26,28,"pl-c1"],[29,31,"pl-c1"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[50,52,"pl-c1"]],[[8,14,"pl-k"]],[],[[4,17,"pl-en"],[18,23,"pl-s1"],[25,33,"pl-s1"],[36,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"],[54,55,"pl-c1"],[59,64,"pl-s1"],[64,66,"pl-c1"],[66,73,"pl-c1"]],[[4,17,"pl-en"],[18,23,"pl-s1"],[25,28,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,24,"pl-en"],[25,36,"pl-smi"],[37,38,"pl-c1"],[38,39,"pl-s1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"],[42,43,"pl-s1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,27,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,54,"pl-c1"],[55,56,"pl-s1"],[56,57,"pl-c1"],[57,58,"pl-c1"],[60,68,"pl-c1"],[71,72,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"]],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[20,22,"pl-k"],[24,30,"pl-s1"],[31,33,"pl-c1"],[34,43,"pl-c1"]],[[24,46,"pl-en"],[47,51,"pl-s1"],[53,54,"pl-c1"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,64,"pl-c1"],[65,66,"pl-s1"],[67,68,"pl-c1"],[69,70,"pl-c1"],[73,92,"pl-c1"]],[],[[20,25,"pl-k"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[20,26,"pl-k"],[28,34,"pl-s1"]],[[24,28,"pl-k"],[29,38,"pl-c1"]],[[28,50,"pl-en"],[51,55,"pl-s1"],[57,58,"pl-c1"],[58,59,"pl-s1"],[59,61,"pl-c1"],[61,68,"pl-c1"],[69,70,"pl-s1"],[71,72,"pl-c1"],[73,74,"pl-c1"],[77,97,"pl-c1"]],[[28,33,"pl-k"]],[[24,28,"pl-k"],[29,39,"pl-c1"]],[[28,50,"pl-en"],[51,55,"pl-s1"],[57,58,"pl-c1"],[58,59,"pl-s1"],[59,61,"pl-c1"],[61,68,"pl-c1"],[69,70,"pl-s1"],[71,72,"pl-c1"],[73,74,"pl-c1"],[77,98,"pl-c1"]],[[28,33,"pl-k"]],[],[[20,25,"pl-k"]],[],[],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,35,"pl-en"],[36,37,"pl-s1"]],[[4,10,"pl-en"],[11,28,"pl-en"],[29,30,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[0,7,"pl-k"],[8,19,"pl-c1"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,71,"pl-c"]],[[4,7,"pl-smi"],[8,13,"pl-c1"]],[],[[4,60,"pl-c"]],[[4,7,"pl-smi"],[8,13,"pl-c1"]],[[2,5,"pl-smi"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,7,"pl-smi"],[8,9,"pl-c1"],[9,13,"pl-c1"]],[[4,14,"pl-smi"],[15,19,"pl-c1"]],[[4,14,"pl-smi"],[15,23,"pl-c1"]],[[2,11,"pl-smi"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,14,"pl-en"],[15,24,"pl-smi"],[25,26,"pl-c1"],[26,31,"pl-s1"],[33,36,"pl-smi"],[37,38,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[8,18,"pl-smi"],[19,26,"pl-s1"],[27,28,"pl-c1"],[29,35,"pl-en"],[36,38,"pl-c1"],[40,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[56,57,"pl-c1"],[58,59,"pl-c1"]],[[8,11,"pl-smi"],[12,13,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,33,"pl-en"],[34,39,"pl-s1"],[39,41,"pl-c1"],[41,45,"pl-c1"],[47,53,"pl-k"],[54,55,"pl-c1"],[55,60,"pl-s1"],[60,62,"pl-c1"],[62,66,"pl-c1"],[68,69,"pl-c1"],[70,77,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,26,"pl-en"]],[[12,18,"pl-k"],[19,21,"pl-c1"]],[],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,21,"pl-c1"],[22,26,"pl-s1"]],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[24,25,"pl-c1"],[26,33,"pl-s1"]],[],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-s1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[15,17,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,13,"pl-en"],[14,23,"pl-smi"],[24,25,"pl-c1"],[25,30,"pl-s1"]],[],[[4,10,"pl-en"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[15,17,"pl-c1"]],[[4,7,"pl-smi"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,23,"pl-c1"],[24,29,"pl-s1"],[29,31,"pl-c1"],[31,35,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,18,"pl-en"],[19,28,"pl-smi"],[29,30,"pl-c1"],[30,35,"pl-s1"],[37,47,"pl-smi"],[48,51,"pl-s1"]],[],[[4,14,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-s1"]],[[4,10,"pl-en"],[11,14,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,28,"pl-c1"],[29,34,"pl-s1"],[34,36,"pl-c1"],[36,40,"pl-c1"]],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-s1"],[19,21,"pl-c1"],[21,25,"pl-c1"],[26,29,"pl-s1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,19,"pl-s1"],[21,22,"pl-c1"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,34,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,46,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,12,"pl-en"],[13,22,"pl-smi"],[23,24,"pl-c1"],[24,29,"pl-s1"],[31,41,"pl-smi"],[42,45,"pl-s1"]],[],[[4,10,"pl-en"],[11,14,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,28,"pl-c1"],[29,34,"pl-s1"],[34,36,"pl-c1"],[36,40,"pl-c1"]],[[4,10,"pl-k"],[11,16,"pl-s1"],[16,18,"pl-c1"],[18,22,"pl-c1"],[23,26,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,15,"pl-en"],[16,25,"pl-smi"],[26,27,"pl-c1"],[27,32,"pl-s1"]],[],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,14,"pl-en"],[15,24,"pl-smi"],[25,26,"pl-c1"],[26,31,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[8,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,30,"pl-c1"]],[],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,17,"pl-c1"],[18,22,"pl-c1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,12,"pl-k"]],[[4,74,"pl-c"]],[[4,18,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,50,"pl-c"]],[[4,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,79,"pl-c"]],[[4,18,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[2,19,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,10,"pl-en"],[11,18,"pl-smi"],[19,20,"pl-c1"],[20,31,"pl-s1"],[33,42,"pl-smi"],[43,44,"pl-c1"],[44,48,"pl-s1"],[50,53,"pl-smi"],[54,59,"pl-s1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,35,"pl-s1"],[35,37,"pl-c1"],[37,41,"pl-c1"],[43,44,"pl-s1"],[44,46,"pl-c1"]],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,28,"pl-en"],[29,33,"pl-s1"],[35,36,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,19,"pl-c1"],[20,22,"pl-c1"],[23,28,"pl-s1"]],[[12,18,"pl-en"],[19,20,"pl-s1"],[21,26,"pl-c1"],[30,31,"pl-c1"]],[[12,23,"pl-s1"],[24,25,"pl-s1"],[26,31,"pl-c1"],[36,50,"pl-c1"]],[],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,11,"pl-en"],[12,19,"pl-smi"],[20,21,"pl-c1"],[21,32,"pl-s1"],[34,43,"pl-smi"],[44,45,"pl-c1"],[45,49,"pl-s1"],[51,54,"pl-smi"],[55,60,"pl-s1"],[62,65,"pl-smi"],[66,67,"pl-s1"]],[],[[4,14,"pl-en"],[15,26,"pl-s1"],[28,32,"pl-s1"],[34,39,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,15,"pl-c1"],[16,18,"pl-c1"],[19,30,"pl-c1"]],[[8,19,"pl-s1"],[20,21,"pl-s1"],[22,27,"pl-c1"],[32,47,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,20,"pl-en"],[21,31,"pl-smi"],[32,33,"pl-c1"],[33,34,"pl-c1"],[34,35,"pl-c1"],[35,37,"pl-s1"],[39,49,"pl-smi"],[50,51,"pl-c1"],[51,57,"pl-s1"]],[[21,31,"pl-smi"],[32,43,"pl-s1"]],[],[[4,10,"pl-en"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,31,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,60,"pl-c1"],[61,63,"pl-c1"],[64,75,"pl-s1"]],[[4,6,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,26,"pl-c1"]],[[8,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[8,9,"pl-c1"],[10,11,"pl-c1"],[11,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,25,"pl-s1"]],[],[],[],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,51,"pl-c"]],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,77,"pl-c"]],[[0,40,"pl-c"]],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,69,"pl-c"]],[[0,76,"pl-c"]],[[0,60,"pl-c"]],[[0,2,"pl-c"]],[[0,64,"pl-c"]],[[0,78,"pl-c"]],[[0,67,"pl-c"]],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,72,"pl-c"]],[[0,79,"pl-c"]],[[0,77,"pl-c"]],[[0,21,"pl-c"]],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,36,"pl-c"]],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,50,"pl-c"]],[[0,2,"pl-c"]],[[0,57,"pl-c"]],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,79,"pl-c"]],[[0,74,"pl-c"]],[[0,76,"pl-c"]],[[0,56,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,18,"pl-en"],[19,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"]],[],[[4,7,"pl-smi"],[8,14,"pl-s1"]],[[4,13,"pl-smi"],[14,18,"pl-s1"],[19,20,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-smi"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-en"],[28,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"]],[],[[4,10,"pl-smi"],[11,27,"pl-s1"],[28,29,"pl-c1"],[30,40,"pl-s1"],[41,42,"pl-c1"],[43,49,"pl-k"],[50,57,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,39,"pl-en"],[40,56,"pl-s1"]],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,23,"pl-s1"],[24,25,"pl-c1"],[26,50,"pl-en"],[51,61,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-c1"]],[[13,17,"pl-ent"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-s1"]],[[4,5,"pl-c1"],[5,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-s1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[4,11,"pl-k"],[12,20,"pl-en"],[21,26,"pl-s1"],[28,33,"pl-s1"]],[],[],[],[],[],[],[],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,16,"pl-c1"],[17,23,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[29,31,"pl-c1"],[31,33,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"]],[],[[8,33,"pl-c"]],[[8,14,"pl-en"],[15,26,"pl-s1"],[28,29,"pl-c1"],[31,36,"pl-s1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,47,"pl-c1"],[48,54,"pl-k"],[55,56,"pl-c1"],[56,67,"pl-s1"]],[],[[8,74,"pl-c"]],[[8,66,"pl-c"]],[[8,55,"pl-c"]],[[8,23,"pl-en"],[24,25,"pl-c1"],[25,29,"pl-s1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,47,"pl-c1"],[49,50,"pl-s1"],[50,52,"pl-c1"]],[[12,20,"pl-en"],[21,32,"pl-c1"],[34,43,"pl-c1"]],[],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,48,"pl-s1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[12,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"]],[[12,18,"pl-en"],[19,25,"pl-s1"],[26,28,"pl-c1"],[29,41,"pl-c1"]],[[12,18,"pl-k"],[20,26,"pl-s1"]],[[16,53,"pl-c"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[20,30,"pl-en"],[31,42,"pl-s1"],[44,45,"pl-c1"],[45,49,"pl-s1"],[51,56,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,37,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,40,"pl-c1"]],[[20,30,"pl-en"],[31,42,"pl-s1"],[44,45,"pl-c1"],[45,49,"pl-s1"],[51,56,"pl-s1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,37,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,40,"pl-c1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,37,"pl-s1"],[41,42,"pl-c1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,37,"pl-s1"],[38,39,"pl-c1"],[40,42,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[20,23,"pl-smi"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,41,"pl-en"],[42,43,"pl-c1"],[43,47,"pl-s1"]],[[20,31,"pl-en"],[32,43,"pl-s1"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,57,"pl-s1"],[59,60,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,41,"pl-c1"]],[[20,33,"pl-c"]],[[20,23,"pl-smi"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,41,"pl-en"],[42,43,"pl-c1"],[43,47,"pl-s1"]],[[20,31,"pl-en"],[32,43,"pl-s1"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,57,"pl-s1"],[61,62,"pl-c1"],[64,65,"pl-s1"]],[[20,32,"pl-c"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,37,"pl-s1"],[38,39,"pl-c1"],[40,42,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,42,"pl-c1"]],[[20,33,"pl-c"]],[[20,23,"pl-smi"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,41,"pl-en"],[42,43,"pl-c1"],[43,47,"pl-s1"]],[[20,31,"pl-en"],[32,43,"pl-s1"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,57,"pl-s1"],[61,62,"pl-c1"],[64,65,"pl-s1"]],[[20,33,"pl-c"]],[[20,21,"pl-s1"],[22,23,"pl-c1"],[24,37,"pl-en"],[38,39,"pl-c1"],[39,43,"pl-s1"]],[[20,31,"pl-en"],[32,43,"pl-s1"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,57,"pl-s1"],[58,59,"pl-c1"],[60,62,"pl-c1"],[64,65,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,59,"pl-c"]],[[16,20,"pl-k"],[21,25,"pl-c1"]],[[20,26,"pl-en"],[27,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[20,30,"pl-smi"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,41,"pl-s1"],[42,46,"pl-c1"],[47,48,"pl-c1"],[49,54,"pl-s1"]],[[20,23,"pl-smi"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,40,"pl-en"],[41,42,"pl-c1"],[42,46,"pl-s1"],[48,51,"pl-s1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[31,36,"pl-c1"],[38,39,"pl-s1"],[40,45,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,25,"pl-c1"]],[[20,26,"pl-en"],[27,32,"pl-s1"],[36,37,"pl-c1"]],[[20,38,"pl-en"],[39,40,"pl-c1"],[40,44,"pl-s1"],[46,51,"pl-s1"]],[[20,25,"pl-k"]],[],[],[[16,78,"pl-c"]],[[16,77,"pl-c"]],[[16,63,"pl-c"]],[],[[16,49,"pl-c"]],[[16,20,"pl-k"],[21,34,"pl-c1"]],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[16,20,"pl-k"],[21,29,"pl-c1"]],[[16,20,"pl-k"],[21,28,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[16,20,"pl-k"],[21,34,"pl-c1"]],[[16,20,"pl-k"],[21,35,"pl-c1"]],[[16,20,"pl-k"],[21,38,"pl-c1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,47,"pl-s1"],[48,49,"pl-c1"],[50,60,"pl-s1"]],[[20,26,"pl-en"],[27,37,"pl-s1"],[41,42,"pl-c1"]],[[20,23,"pl-k"],[25,28,"pl-smi"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,50,"pl-s1"],[52,53,"pl-s1"],[53,55,"pl-c1"]],[[24,32,"pl-en"],[33,34,"pl-s1"],[36,45,"pl-c1"]],[],[[20,25,"pl-k"]],[],[],[[16,74,"pl-c"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,28,"pl-c1"]],[[16,20,"pl-k"],[21,28,"pl-c1"]],[[16,20,"pl-k"],[21,28,"pl-c1"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,47,"pl-s1"],[48,49,"pl-c1"],[50,60,"pl-s1"]],[[20,26,"pl-en"],[27,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[20,23,"pl-k"],[25,28,"pl-smi"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,50,"pl-s1"],[52,53,"pl-s1"],[53,55,"pl-c1"]],[[24,37,"pl-en"],[38,39,"pl-c1"],[39,43,"pl-s1"]],[],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,29,"pl-c1"]],[[20,26,"pl-en"],[27,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,65,"pl-c1"],[66,67,"pl-c1"]],[[20,26,"pl-en"],[27,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,65,"pl-c1"],[66,67,"pl-c1"]],[[20,23,"pl-smi"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,43,"pl-en"],[44,45,"pl-c1"],[45,49,"pl-s1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,39,"pl-s1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,39,"pl-s1"]],[[20,28,"pl-en"],[29,32,"pl-s1"],[33,38,"pl-c1"],[40,43,"pl-s1"],[44,49,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,43,"pl-c1"]],[[20,26,"pl-en"],[27,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,65,"pl-c1"],[66,67,"pl-c1"]],[[20,26,"pl-en"],[27,47,"pl-en"],[48,54,"pl-s1"],[56,61,"pl-s1"],[63,65,"pl-c1"],[66,67,"pl-c1"]],[[20,23,"pl-smi"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,43,"pl-en"],[44,45,"pl-c1"],[45,49,"pl-s1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,39,"pl-s1"]],[[20,28,"pl-en"],[29,32,"pl-s1"],[33,38,"pl-c1"],[40,43,"pl-s1"],[44,49,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,71,"pl-c"]],[[16,20,"pl-k"],[21,36,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,39,"pl-s1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,29,"pl-c1"]],[[20,40,"pl-en"],[41,42,"pl-c1"],[42,44,"pl-s1"],[46,51,"pl-s1"],[51,53,"pl-c1"],[53,61,"pl-c1"],[63,67,"pl-s1"],[68,72,"pl-c1"],[73,74,"pl-c1"],[75,76,"pl-c1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[16,20,"pl-k"],[21,36,"pl-c1"]],[[20,23,"pl-smi"],[24,28,"pl-s1"],[29,30,"pl-c1"],[31,44,"pl-en"],[45,46,"pl-c1"],[46,50,"pl-s1"]],[[20,22,"pl-k"],[24,30,"pl-s1"],[31,33,"pl-c1"],[34,49,"pl-c1"]],[[24,37,"pl-en"],[38,39,"pl-c1"],[39,43,"pl-s1"]],[[24,37,"pl-en"],[38,39,"pl-c1"],[39,43,"pl-s1"]],[],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"]],[[20,22,"pl-k"],[24,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"]],[[24,83,"pl-c"]],[[24,46,"pl-c"]],[[24,32,"pl-en"],[33,37,"pl-s1"],[38,43,"pl-c1"],[45,49,"pl-s1"],[50,55,"pl-c1"]],[],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,33,"pl-c1"]],[[16,20,"pl-k"],[21,34,"pl-c1"]],[[20,23,"pl-smi"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,43,"pl-en"],[44,45,"pl-c1"],[45,49,"pl-s1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"]],[[20,28,"pl-en"],[29,32,"pl-s1"],[33,38,"pl-c1"],[40,43,"pl-s1"],[44,49,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[21,25,"pl-c1"]],[[20,40,"pl-en"],[41,42,"pl-c1"],[42,44,"pl-s1"],[46,51,"pl-s1"],[51,53,"pl-c1"],[53,61,"pl-c1"],[63,67,"pl-s1"],[68,72,"pl-c1"]],[[20,33,"pl-en"],[34,35,"pl-c1"],[35,39,"pl-s1"]],[[20,28,"pl-en"],[29,30,"pl-s1"],[32,41,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,59,"pl-c"]],[[16,23,"pl-k"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,23,"pl-smi"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,57,"pl-en"],[58,64,"pl-s1"],[66,71,"pl-s1"]],[[20,22,"pl-k"],[24,34,"pl-en"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,50,"pl-c1"]],[[24,44,"pl-en"],[45,46,"pl-c1"],[46,48,"pl-s1"],[50,55,"pl-s1"],[55,57,"pl-c1"],[57,65,"pl-c1"],[67,71,"pl-s1"],[72,76,"pl-c1"],[77,78,"pl-c1"],[79,89,"pl-s1"],[90,91,"pl-c1"],[92,102,"pl-s1"]],[],[[20,22,"pl-k"],[25,45,"pl-en"],[46,51,"pl-s1"],[51,53,"pl-c1"],[53,61,"pl-c1"]],[[24,80,"pl-c"]],[[24,41,"pl-c"]],[[24,27,"pl-k"],[29,32,"pl-smi"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[40,41,"pl-s1"],[42,43,"pl-c1"],[44,54,"pl-s1"],[56,57,"pl-s1"],[57,59,"pl-c1"]],[[28,41,"pl-en"],[42,43,"pl-c1"],[43,47,"pl-s1"]],[],[[24,27,"pl-k"],[29,32,"pl-smi"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[40,41,"pl-s1"],[42,43,"pl-c1"],[44,54,"pl-s1"],[56,57,"pl-s1"],[57,59,"pl-c1"]],[[28,36,"pl-en"],[37,38,"pl-s1"],[40,49,"pl-c1"]],[],[],[[20,25,"pl-k"]],[],[],[],[],[[8,33,"pl-c"]],[[8,10,"pl-k"],[12,30,"pl-en"],[31,36,"pl-s1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[12,32,"pl-en"],[33,34,"pl-c1"],[34,36,"pl-s1"],[38,43,"pl-s1"],[43,45,"pl-c1"],[45,51,"pl-c1"],[53,57,"pl-s1"],[58,62,"pl-c1"]],[],[],[[8,77,"pl-c"]],[[8,33,"pl-c"]],[[8,11,"pl-k"],[13,23,"pl-smi"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,39,"pl-s1"],[40,44,"pl-c1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[12,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,32,"pl-en"],[33,34,"pl-c1"],[34,38,"pl-s1"],[40,41,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,23,"pl-c1"],[24,26,"pl-c1"],[27,29,"pl-c1"]],[[16,27,"pl-s1"],[28,29,"pl-s1"],[30,35,"pl-c1"],[40,54,"pl-c1"]],[],[],[],[[8,32,"pl-c"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"]],[[12,14,"pl-k"],[17,28,"pl-s1"],[29,30,"pl-s1"]],[[16,25,"pl-smi"],[26,27,"pl-c1"],[27,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[36,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"],[51,52,"pl-s1"]],[[16,22,"pl-k"],[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[[20,24,"pl-k"],[25,34,"pl-c1"]],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,58,"pl-c1"]],[[24,29,"pl-k"]],[[20,24,"pl-k"],[25,44,"pl-c1"]],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,75,"pl-c1"]],[[24,29,"pl-k"]],[[20,27,"pl-k"]],[[24,29,"pl-k"]],[],[],[],[],[],[[4,10,"pl-k"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,20,"pl-c1"]],[],[[0,4,"pl-ent"]],[[4,18,"pl-en"],[19,20,"pl-c1"],[20,24,"pl-s1"]],[[4,14,"pl-en"],[15,26,"pl-s1"]],[[4,14,"pl-en"],[15,21,"pl-s1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,65,"pl-c"]],[[0,6,"pl-k"],[7,13,"pl-k"],[14,18,"pl-smi"]],[[0,10,"pl-en"],[11,21,"pl-smi"],[22,23,"pl-c1"],[23,24,"pl-s1"],[26,34,"pl-smi"],[35,46,"pl-s1"],[48,58,"pl-smi"],[59,60,"pl-c1"],[60,61,"pl-c1"],[61,62,"pl-c1"],[62,64,"pl-s1"]],[],[[4,66,"pl-c"]],[[4,66,"pl-c"]],[[4,67,"pl-c"]],[[4,12,"pl-smi"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,43,"pl-c1"],[46,57,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,31,"pl-c1"],[32,34,"pl-c1"],[35,39,"pl-s1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,31,"pl-c1"],[32,33,"pl-c1"],[34,38,"pl-s1"]],[[8,32,"pl-c"]],[[8,10,"pl-k"],[13,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"]],[[12,44,"pl-c"]],[[12,13,"pl-c1"],[14,15,"pl-c1"],[15,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-s1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,21,"pl-en"],[22,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-s1"],[37,47,"pl-smi"],[48,49,"pl-c1"],[49,50,"pl-c1"],[50,51,"pl-c1"],[51,53,"pl-s1"]],[],[[4,59,"pl-c"]],[[4,12,"pl-smi"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,50,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,46,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[12,22,"pl-en"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[40,51,"pl-s1"],[53,55,"pl-s1"]],[],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[30,32,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,29,"pl-c1"],[33,34,"pl-c1"]],[[8,16,"pl-smi"],[17,20,"pl-s1"],[21,22,"pl-c1"],[24,32,"pl-smi"],[33,34,"pl-c1"],[38,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"]],[[8,14,"pl-k"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"]],[[12,16,"pl-k"],[17,28,"pl-c1"]],[[12,16,"pl-k"],[17,36,"pl-c1"]],[[12,16,"pl-k"],[17,38,"pl-c1"]],[[16,27,"pl-s1"],[31,34,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-c1"]],[[16,27,"pl-s1"],[32,35,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,32,"pl-c1"]],[[16,68,"pl-c"]],[[16,27,"pl-s1"],[32,35,"pl-s1"]],[[16,21,"pl-k"]],[[12,16,"pl-k"],[17,26,"pl-c1"]],[[16,18,"pl-k"],[20,31,"pl-s1"],[32,33,"pl-c1"],[34,37,"pl-s1"]],[[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[36,37,"pl-c1"],[38,53,"pl-c1"]],[],[[16,27,"pl-s1"],[32,35,"pl-s1"]],[[16,21,"pl-k"]],[],[],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[21,39,"pl-en"],[40,41,"pl-s1"]],[[8,18,"pl-en"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"],[30,41,"pl-s1"],[43,45,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,43,"pl-en"],[44,45,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,23,"pl-en"],[24,28,"pl-s1"]],[[8,14,"pl-en"],[15,19,"pl-s1"],[19,21,"pl-c1"],[21,29,"pl-c1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[8,18,"pl-en"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[35,46,"pl-s1"],[48,50,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,21,"pl-en"],[22,32,"pl-smi"],[33,34,"pl-c1"],[34,44,"pl-s1"],[46,49,"pl-smi"],[50,57,"pl-s1"]],[],[[4,10,"pl-en"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,37,"pl-en"],[38,45,"pl-s1"],[46,47,"pl-c1"],[48,50,"pl-c1"],[52,58,"pl-k"],[59,69,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,60,"pl-c"]],[[4,66,"pl-c"]],[[4,57,"pl-c"]],[[4,62,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,16,"pl-s1"],[16,18,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,37,"pl-c1"],[38,50,"pl-c1"]],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"]],[[16,24,"pl-k"]],[],[[12,18,"pl-en"],[19,22,"pl-s1"],[26,27,"pl-c1"]],[[12,18,"pl-k"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,40,"pl-c1"]],[[16,20,"pl-k"],[21,42,"pl-c1"]],[[20,26,"pl-s1"],[27,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"],[37,38,"pl-c1"],[39,47,"pl-s1"],[48,49,"pl-c1"],[50,51,"pl-c1"]],[[20,25,"pl-k"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[20,26,"pl-s1"],[27,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"],[37,38,"pl-c1"],[39,47,"pl-s1"]],[[20,25,"pl-k"]],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[20,22,"pl-k"],[24,30,"pl-s1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[41,43,"pl-c1"],[44,52,"pl-s1"]],[[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,57,"pl-c1"]],[],[[20,26,"pl-s1"],[27,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"],[37,38,"pl-c1"],[39,47,"pl-s1"]],[[20,25,"pl-k"]],[[20,34,"pl-en"]],[],[],[],[[4,14,"pl-en"],[15,21,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,20,"pl-en"],[21,31,"pl-smi"],[32,33,"pl-c1"],[33,43,"pl-s1"],[45,53,"pl-smi"],[54,55,"pl-c1"],[55,61,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,35,"pl-s1"]],[[4,14,"pl-smi"],[15,22,"pl-s1"],[23,24,"pl-c1"],[25,40,"pl-en"],[41,47,"pl-s1"]],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"],[25,44,"pl-c"]],[],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,33,"pl-s1"],[34,35,"pl-c1"],[36,40,"pl-c1"]],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-c1"]],[],[[4,13,"pl-s1"],[14,15,"pl-c1"],[16,28,"pl-en"],[29,36,"pl-s1"],[37,38,"pl-c1"],[39,45,"pl-k"],[46,56,"pl-s1"]],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[[8,22,"pl-en"]],[[13,16,"pl-ent"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[8,17,"pl-s1"],[18,19,"pl-s1"],[21,22,"pl-c1"],[23,25,"pl-c1"]],[],[[4,59,"pl-c"]],[[4,13,"pl-s1"],[14,15,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[],[[4,26,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"],[39,47,"pl-c1"]],[[12,14,"pl-k"],[16,32,"pl-en"],[33,39,"pl-s1"]],[[16,19,"pl-smi"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"],[42,49,"pl-c1"]],[[16,25,"pl-s1"],[26,31,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"]],[],[],[],[[4,66,"pl-c"]],[[4,25,"pl-c"]],[[4,14,"pl-smi"],[15,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[8,10,"pl-k"],[12,21,"pl-s1"],[22,23,"pl-s1"],[25,27,"pl-c1"],[28,30,"pl-c1"]],[[12,18,"pl-en"],[19,28,"pl-s1"],[29,30,"pl-s1"],[32,34,"pl-c1"],[35,36,"pl-s1"]],[[12,21,"pl-s1"],[22,35,"pl-s1"],[35,37,"pl-c1"],[39,40,"pl-c1"],[41,50,"pl-s1"],[51,52,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,32,"pl-s1"]],[[8,27,"pl-c"]],[[8,11,"pl-s1"],[12,13,"pl-c1"],[14,21,"pl-c1"]],[[13,16,"pl-ent"]],[],[],[[4,66,"pl-c"]],[[4,10,"pl-en"],[11,24,"pl-s1"],[25,26,"pl-c1"],[27,34,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,44,"pl-s1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[8,18,"pl-smi"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-s1"],[41,42,"pl-s1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[20,29,"pl-s1"],[30,32,"pl-c1"],[33,42,"pl-s1"],[43,44,"pl-c1"],[45,52,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-s1"]],[[12,20,"pl-smi"],[21,22,"pl-c1"],[22,27,"pl-s1"],[28,29,"pl-c1"],[30,45,"pl-en"],[46,52,"pl-s1"],[54,63,"pl-s1"],[64,65,"pl-s1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[12,26,"pl-en"],[27,33,"pl-s1"],[35,36,"pl-s1"],[38,47,"pl-en"],[48,53,"pl-s1"]],[],[],[],[[4,50,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-en"],[24,30,"pl-s1"],[32,45,"pl-s1"],[47,54,"pl-s1"],[56,60,"pl-c1"],[62,63,"pl-c1"],[64,65,"pl-c1"]],[[13,16,"pl-ent"]],[],[[4,46,"pl-c"]],[[4,21,"pl-s1"],[22,23,"pl-c1"],[24,36,"pl-en"],[37,44,"pl-s1"],[45,46,"pl-c1"],[47,53,"pl-k"],[54,64,"pl-s1"]],[[4,6,"pl-k"],[8,25,"pl-s1"],[26,28,"pl-c1"],[29,33,"pl-c1"]],[[8,22,"pl-en"]],[[13,16,"pl-ent"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[8,25,"pl-s1"],[26,27,"pl-s1"],[29,30,"pl-c1"],[31,33,"pl-c1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,44,"pl-s1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[8,14,"pl-en"],[15,24,"pl-s1"],[25,26,"pl-s1"],[28,30,"pl-c1"],[31,33,"pl-c1"]],[[8,14,"pl-en"],[15,32,"pl-s1"],[33,42,"pl-s1"],[43,44,"pl-s1"],[47,49,"pl-c1"],[50,52,"pl-c1"]],[[8,25,"pl-s1"],[26,35,"pl-s1"],[36,37,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-s1"]],[],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-s1"],[39,47,"pl-c1"]],[[12,14,"pl-k"],[16,32,"pl-en"],[33,39,"pl-s1"]],[[16,19,"pl-smi"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"],[42,49,"pl-c1"]],[[16,22,"pl-en"],[23,40,"pl-s1"],[41,46,"pl-s1"],[51,52,"pl-c1"]],[[16,22,"pl-en"],[23,40,"pl-s1"],[41,46,"pl-s1"],[48,49,"pl-c1"],[50,63,"pl-s1"]],[[16,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,28,"pl-s1"],[30,37,"pl-c1"],[38,39,"pl-c1"],[41,44,"pl-smi"],[45,62,"pl-s1"],[63,68,"pl-s1"]],[],[],[],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,17,"pl-c1"]],[[0,3,"pl-ent"]],[[4,14,"pl-en"],[15,24,"pl-s1"]],[[4,14,"pl-en"],[15,32,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,47,"pl-en"],[48,58,"pl-smi"],[59,60,"pl-c1"],[60,70,"pl-s1"]],[[48,51,"pl-smi"],[52,59,"pl-s1"]],[[48,51,"pl-smi"],[52,59,"pl-s1"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[8,70,"pl-c"]],[[8,72,"pl-c"]],[[8,50,"pl-c"]],[[8,10,"pl-k"],[12,33,"pl-en"],[34,44,"pl-s1"],[46,53,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-c1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,49,"pl-en"],[50,60,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[],[[4,43,"pl-c"]],[[4,51,"pl-c"]],[[4,12,"pl-smi"],[13,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-s1"],[26,27,"pl-s1"],[28,29,"pl-c1"],[30,37,"pl-s1"],[39,40,"pl-s1"],[40,42,"pl-c1"]],[[8,18,"pl-s1"],[23,31,"pl-smi"],[32,33,"pl-c1"],[37,38,"pl-s1"]],[],[[4,14,"pl-en"],[15,25,"pl-s1"],[27,37,"pl-s1"],[39,40,"pl-c1"],[40,42,"pl-s1"]],[],[[4,44,"pl-c"]],[[4,47,"pl-c"]],[[4,53,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,29,"pl-en"],[30,31,"pl-s1"],[33,34,"pl-c1"],[34,36,"pl-s1"]],[],[[4,67,"pl-c"]],[[4,76,"pl-c"]],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[25,27,"pl-c1"],[27,29,"pl-s1"]],[[8,37,"pl-c"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,29,"pl-en"],[30,31,"pl-s1"],[33,34,"pl-c1"],[34,36,"pl-s1"]],[],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,9,"pl-en"],[10,20,"pl-smi"],[21,22,"pl-c1"],[22,32,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,49,"pl-en"],[50,60,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[],[[4,5,"pl-c1"],[5,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,22,"pl-s1"]],[[4,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[28,30,"pl-s1"]],[[8,14,"pl-en"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,35,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,38,"pl-en"],[39,40,"pl-s1"],[42,44,"pl-c1"],[46,50,"pl-s1"],[50,52,"pl-c1"],[52,61,"pl-c1"]],[[12,13,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"],[20,24,"pl-s1"]],[[12,16,"pl-s1"],[16,18,"pl-c1"],[18,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[18,19,"pl-c1"],[19,20,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,23,"pl-en"],[24,29,"pl-s1"],[31,33,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,50,"pl-c1"],[50,52,"pl-c1"],[52,61,"pl-c1"]],[[16,17,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[22,23,"pl-c1"],[24,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[31,33,"pl-c1"],[33,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[],[],[],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,9,"pl-en"],[10,20,"pl-smi"],[21,22,"pl-c1"],[22,32,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,14,"pl-en"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[26,28,"pl-c1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"]],[],[[4,6,"pl-k"],[8,17,"pl-en"],[18,28,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,49,"pl-en"],[50,60,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,31,"pl-c1"]],[[12,18,"pl-en"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[12,13,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-s1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[],[],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[28,30,"pl-s1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,38,"pl-en"],[39,40,"pl-s1"]],[[12,14,"pl-k"],[17,21,"pl-s1"],[21,23,"pl-c1"],[23,29,"pl-c1"],[30,32,"pl-c1"],[34,38,"pl-s1"],[38,40,"pl-c1"],[40,49,"pl-c1"]],[[16,17,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-s1"]],[[16,20,"pl-s1"],[20,22,"pl-c1"],[22,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,23,"pl-en"],[24,29,"pl-s1"]],[[16,22,"pl-en"],[23,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,47,"pl-c1"],[48,49,"pl-s1"],[51,59,"pl-c1"]],[[16,18,"pl-k"],[21,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[36,38,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,57,"pl-c1"]],[[20,21,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[28,34,"pl-s1"]],[[20,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[],[],[],[],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,23,"pl-en"],[24,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[8,51,"pl-c"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[[4,19,"pl-en"],[20,29,"pl-en"],[30,40,"pl-s1"]],[],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,32,"pl-en"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[],[[4,71,"pl-c"]],[[4,49,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,43,"pl-en"],[44,45,"pl-s1"],[47,49,"pl-c1"],[50,51,"pl-s1"],[51,53,"pl-c1"],[53,59,"pl-c1"],[60,62,"pl-c1"],[63,64,"pl-s1"],[64,66,"pl-c1"],[66,72,"pl-c1"],[72,74,"pl-c1"],[74,80,"pl-c1"]],[[12,22,"pl-smi"],[23,24,"pl-c1"],[24,37,"pl-s1"],[38,39,"pl-c1"],[40,61,"pl-en"],[62,63,"pl-s1"]],[[12,14,"pl-k"],[16,29,"pl-s1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,14,"pl-k"],[17,25,"pl-en"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[35,37,"pl-c1"],[37,44,"pl-c1"]],[[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"],[40,48,"pl-s1"],[48,50,"pl-c1"]],[],[[12,28,"pl-en"],[29,42,"pl-s1"],[44,61,"pl-c1"],[63,64,"pl-s1"],[64,66,"pl-c1"],[66,72,"pl-c1"],[72,74,"pl-c1"],[74,81,"pl-c1"],[82,84,"pl-c1"]],[[29,40,"pl-c1"]],[[12,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[[12,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"],[39,45,"pl-c1"]],[[12,25,"pl-s1"],[25,27,"pl-c1"],[27,41,"pl-c1"],[42,43,"pl-c1"],[44,45,"pl-c1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,37,"pl-s1"]],[],[[12,28,"pl-c"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,27,"pl-s1"],[28,29,"pl-c1"],[30,51,"pl-en"],[52,65,"pl-s1"]],[[12,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,28,"pl-c1"],[29,42,"pl-s1"],[42,44,"pl-c1"],[44,50,"pl-c1"]],[],[],[],[[4,10,"pl-en"],[12,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[34,65,"pl-c"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,27,"pl-s1"],[28,29,"pl-c1"],[30,34,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,32,"pl-s1"],[33,34,"pl-c1"],[35,39,"pl-c1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,30,"pl-s1"]],[[4,9,"pl-k"],[10,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[8,14,"pl-en"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"],[38,40,"pl-c1"],[40,46,"pl-c1"]],[[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"]],[],[[8,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[[12,37,"pl-c"]],[[12,17,"pl-k"]],[],[],[[8,57,"pl-c"]],[[8,14,"pl-en"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[26,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"],[38,40,"pl-c1"],[40,46,"pl-c1"]],[],[[8,18,"pl-smi"],[19,20,"pl-c1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"]],[[8,13,"pl-k"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"],[29,31,"pl-c1"],[32,37,"pl-s1"],[37,39,"pl-c1"],[39,45,"pl-c1"],[45,47,"pl-c1"],[47,53,"pl-c1"]],[[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[],[],[[8,49,"pl-c"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[21,23,"pl-c1"],[24,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"]],[[8,14,"pl-en"],[15,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"],[29,31,"pl-c1"],[32,36,"pl-c1"],[37,39,"pl-c1"],[41,46,"pl-s1"],[46,48,"pl-c1"],[48,54,"pl-c1"],[54,56,"pl-c1"],[56,62,"pl-c1"]],[],[[8,10,"pl-k"],[12,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[12,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"]],[],[[8,12,"pl-k"]],[[12,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-s1"],[40,42,"pl-c1"],[42,48,"pl-c1"]],[],[[8,24,"pl-s1"],[25,26,"pl-c1"],[27,32,"pl-s1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[8,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[],[[4,10,"pl-en"],[11,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[4,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[14,15,"pl-c1"],[16,27,"pl-s1"]],[],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[8,23,"pl-en"],[24,55,"pl-en"],[56,57,"pl-s1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,32,"pl-en"],[33,44,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,48,"pl-c1"],[49,51,"pl-c1"],[52,57,"pl-s1"],[57,59,"pl-c1"],[59,67,"pl-c1"],[68,70,"pl-c1"],[71,83,"pl-c1"]],[[16,22,"pl-en"],[23,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,39,"pl-s1"],[39,41,"pl-c1"],[41,49,"pl-c1"],[50,52,"pl-c1"],[53,66,"pl-c1"]],[[42,59,"pl-c1"],[62,78,"pl-c1"]],[[16,24,"pl-smi"],[25,28,"pl-s1"],[29,30,"pl-c1"],[31,36,"pl-s1"],[36,38,"pl-c1"],[38,43,"pl-c1"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,34,"pl-s1"],[35,36,"pl-c1"],[37,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[[16,25,"pl-smi"],[26,30,"pl-s1"],[31,32,"pl-c1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,44,"pl-c1"]],[[29,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[29,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,44,"pl-c1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,46,"pl-s1"]],[],[[16,31,"pl-en"],[32,61,"pl-en"],[62,63,"pl-s1"],[65,66,"pl-s1"],[66,68,"pl-c1"],[70,71,"pl-c1"],[71,75,"pl-s1"]],[[16,25,"pl-smi"],[26,33,"pl-s1"],[34,35,"pl-c1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,47,"pl-c1"]],[[29,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[29,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,44,"pl-c1"]],[[29,37,"pl-c1"],[38,39,"pl-c1"],[40,46,"pl-s1"]],[],[[16,31,"pl-en"],[32,61,"pl-en"],[62,63,"pl-s1"],[65,66,"pl-s1"],[66,68,"pl-c1"],[70,71,"pl-c1"],[71,78,"pl-s1"]],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,18,"pl-en"],[19,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,29,"pl-en"],[30,35,"pl-s1"]],[[16,29,"pl-en"],[30,35,"pl-s1"],[37,40,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,52,"pl-c1"]],[[16,22,"pl-en"],[23,39,"pl-en"],[40,52,"pl-c1"],[54,63,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,43,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,39,"pl-c1"],[40,61,"pl-c1"]],[[16,22,"pl-en"],[23,39,"pl-en"],[40,61,"pl-c1"],[63,73,"pl-c1"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,44,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,42,"pl-en"],[43,44,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,18,"pl-smi"]],[[0,36,"pl-en"],[37,47,"pl-smi"],[48,49,"pl-c1"],[49,50,"pl-s1"]],[[4,6,"pl-k"],[8,30,"pl-en"],[31,32,"pl-s1"],[34,36,"pl-c1"],[37,62,"pl-en"],[63,64,"pl-s1"]],[[8,14,"pl-k"],[15,39,"pl-en"],[40,41,"pl-s1"]],[],[[4,8,"pl-k"]],[[8,14,"pl-k"]],[],[],[],[],[[0,59,"pl-c"]],[[0,64,"pl-c"]],[[0,56,"pl-c"]],[[0,68,"pl-c"]],[[0,68,"pl-c"]],[[0,68,"pl-c"]],[[0,66,"pl-c"]],[[0,56,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,30,"pl-en"],[31,42,"pl-smi"],[43,44,"pl-c1"],[44,45,"pl-s1"]],[],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,32,"pl-en"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[],[[4,75,"pl-c"]],[[0,7,"pl-c"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,44,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,47,"pl-en"],[48,49,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[12,19,"pl-en"],[20,24,"pl-s1"]],[[12,22,"pl-smi"],[23,24,"pl-c1"],[24,30,"pl-s1"],[31,32,"pl-c1"],[33,52,"pl-en"],[53,57,"pl-s1"],[57,59,"pl-c1"],[59,67,"pl-c1"]],[[12,14,"pl-k"],[16,52,"pl-en"],[53,59,"pl-s1"],[61,63,"pl-c1"],[64,70,"pl-s1"],[70,72,"pl-c1"],[72,86,"pl-c1"],[87,88,"pl-c1"],[89,90,"pl-c1"]],[[16,26,"pl-smi"],[27,28,"pl-c1"],[28,38,"pl-s1"],[39,40,"pl-c1"],[41,56,"pl-en"],[57,58,"pl-s1"],[60,66,"pl-s1"]],[[16,18,"pl-k"],[20,30,"pl-s1"],[31,33,"pl-c1"],[34,38,"pl-c1"]],[[20,26,"pl-k"],[27,32,"pl-c1"]],[],[[16,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-c1"],[39,44,"pl-c1"],[45,46,"pl-c1"],[47,51,"pl-s1"],[51,53,"pl-c1"],[53,58,"pl-c1"]],[[16,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,32,"pl-c1"],[33,43,"pl-s1"]],[[16,22,"pl-s1"],[22,24,"pl-c1"],[24,38,"pl-c1"],[38,40,"pl-c1"]],[[16,26,"pl-s1"],[26,28,"pl-c1"],[28,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[[16,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,51,"pl-c1"]],[[16,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,38,"pl-c1"],[39,40,"pl-c1"],[41,49,"pl-s1"],[49,51,"pl-c1"]],[[16,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[31,32,"pl-c1"],[33,43,"pl-s1"]],[],[],[],[],[[4,85,"pl-c"]],[[0,67,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,10,"pl-k"],[12,30,"pl-en"],[31,32,"pl-s1"],[34,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,46,"pl-c1"],[47,49,"pl-c1"],[50,51,"pl-s1"],[51,53,"pl-c1"],[53,60,"pl-c1"],[61,62,"pl-c1"],[63,64,"pl-c1"]],[[12,14,"pl-k"],[16,52,"pl-en"],[53,54,"pl-s1"],[54,56,"pl-c1"],[56,62,"pl-c1"]],[[16,25,"pl-smi"],[26,27,"pl-c1"],[27,31,"pl-s1"],[32,33,"pl-c1"],[34,55,"pl-en"],[56,57,"pl-s1"]],[[16,22,"pl-en"],[23,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-c1"],[38,43,"pl-c1"],[44,45,"pl-c1"],[46,50,"pl-s1"],[50,52,"pl-c1"],[52,57,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,77,"pl-c"]],[[0,79,"pl-c"]],[[0,49,"pl-c"]],[[0,82,"pl-c"]],[[0,50,"pl-c"]],[[0,57,"pl-c"]],[[0,3,"pl-c"]],[],[[0,6,"pl-k"],[7,13,"pl-k"],[14,18,"pl-smi"]],[[0,24,"pl-en"],[25,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"],[40,43,"pl-smi"],[44,45,"pl-s1"],[47,55,"pl-smi"],[56,59,"pl-s1"]],[],[[4,10,"pl-en"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,20,"pl-s1"],[22,27,"pl-c1"],[28,34,"pl-c1"],[35,37,"pl-c1"],[38,49,"pl-c1"],[50,56,"pl-c1"]],[[9,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-s1"],[23,28,"pl-c1"],[29,30,"pl-c1"],[31,34,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"]],[[0,22,"pl-en"],[23,33,"pl-smi"],[34,35,"pl-c1"],[35,45,"pl-s1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,47,"pl-en"],[48,49,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[12,20,"pl-k"]],[],[],[[8,16,"pl-smi"],[17,30,"pl-s1"],[31,32,"pl-c1"],[33,44,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,36,"pl-en"],[37,38,"pl-s1"],[40,41,"pl-s1"],[43,56,"pl-s1"]],[[12,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[39,40,"pl-s1"],[42,47,"pl-c1"]],[],[[8,10,"pl-k"],[12,30,"pl-en"],[31,32,"pl-s1"],[34,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,46,"pl-c1"],[46,48,"pl-c1"],[48,62,"pl-c1"],[63,65,"pl-c1"],[66,67,"pl-c1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[16,40,"pl-en"],[41,42,"pl-s1"],[42,44,"pl-c1"],[44,50,"pl-c1"],[52,53,"pl-c1"],[55,68,"pl-s1"]],[],[],[[8,10,"pl-k"],[12,19,"pl-en"],[20,24,"pl-s1"]],[[12,22,"pl-smi"],[23,24,"pl-c1"],[24,30,"pl-s1"],[31,32,"pl-c1"],[33,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"]],[[12,17,"pl-k"],[19,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"],[40,42,"pl-c1"],[43,49,"pl-s1"],[49,51,"pl-c1"],[51,65,"pl-c1"],[66,68,"pl-c1"],[69,70,"pl-c1"]],[[16,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"]],[],[[12,14,"pl-k"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,38,"pl-c1"],[39,41,"pl-c1"],[42,43,"pl-c1"]],[[16,40,"pl-en"],[41,47,"pl-s1"],[49,50,"pl-c1"],[52,65,"pl-s1"]],[],[],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,20,"pl-en"],[21,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-s1"],[37,40,"pl-smi"],[41,52,"pl-s1"]],[],[[4,19,"pl-en"],[20,50,"pl-en"],[51,52,"pl-s1"]],[[4,26,"pl-en"],[27,28,"pl-s1"],[28,30,"pl-c1"],[30,42,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,3,"pl-smi"]],[[0,23,"pl-en"],[24,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"],[40,48,"pl-smi"],[49,50,"pl-c1"],[50,56,"pl-s1"],[58,66,"pl-smi"],[67,68,"pl-c1"],[68,79,"pl-s1"]],[[24,27,"pl-smi"],[28,35,"pl-s1"],[37,40,"pl-smi"],[41,48,"pl-s1"],[50,53,"pl-smi"],[54,65,"pl-s1"]],[],[[4,10,"pl-en"],[11,28,"pl-en"],[29,30,"pl-s1"]],[[4,10,"pl-en"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,26,"pl-c1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[4,25,"pl-c"]],[[4,59,"pl-c"]],[[4,19,"pl-en"],[20,52,"pl-en"],[53,54,"pl-s1"],[54,56,"pl-c1"],[56,68,"pl-c1"]],[[4,19,"pl-en"],[20,40,"pl-en"],[41,42,"pl-s1"],[42,44,"pl-c1"],[44,56,"pl-c1"]],[[4,19,"pl-en"],[20,43,"pl-en"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,59,"pl-c1"]],[],[[4,24,"pl-c"]],[],[[4,19,"pl-smi"],[20,21,"pl-c1"],[21,33,"pl-s1"],[34,35,"pl-c1"],[36,53,"pl-en"]],[[8,30,"pl-s1"],[32,60,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,46,"pl-en"],[47,53,"pl-s1"],[56,57,"pl-s1"],[57,59,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-c1"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,40,"pl-en"],[41,47,"pl-s1"],[49,50,"pl-s1"]],[[8,10,"pl-k"],[12,35,"pl-en"],[36,48,"pl-s1"],[51,55,"pl-smi"],[56,57,"pl-c1"],[58,62,"pl-s1"],[64,66,"pl-c1"],[67,71,"pl-c1"]],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[12,29,"pl-en"],[30,42,"pl-s1"],[45,49,"pl-smi"],[50,51,"pl-c1"],[52,56,"pl-s1"]],[[31,35,"pl-smi"],[36,37,"pl-c1"],[39,48,"pl-smi"],[49,50,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[12,33,"pl-en"],[34,46,"pl-s1"]],[[12,26,"pl-en"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,26,"pl-en"],[27,28,"pl-s1"],[30,36,"pl-s1"],[38,49,"pl-s1"],[51,63,"pl-s1"],[65,76,"pl-s1"]],[],[[4,25,"pl-en"],[26,38,"pl-s1"]],[],[[4,19,"pl-en"],[20,23,"pl-s1"]],[],[[4,19,"pl-en"],[20,40,"pl-en"],[41,42,"pl-s1"],[42,44,"pl-c1"],[44,56,"pl-c1"],[58,64,"pl-s1"]],[[4,19,"pl-en"]],[[8,55,"pl-en"]],[[12,13,"pl-s1"],[13,15,"pl-c1"],[15,27,"pl-c1"],[29,36,"pl-s1"],[38,45,"pl-s1"]],[[4,19,"pl-en"],[20,44,"pl-en"],[45,46,"pl-s1"]],[],[[4,19,"pl-en"],[20,43,"pl-en"],[44,45,"pl-s1"]],[[4,19,"pl-en"],[20,40,"pl-en"],[41,42,"pl-s1"],[44,55,"pl-s1"]],[[4,85,"pl-c"]],[[4,54,"pl-c"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,12,"pl-c1"]],[[0,22,"pl-en"],[23,50,"pl-smi"],[51,52,"pl-c1"],[52,55,"pl-s1"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[19,22,"pl-smi"],[23,38,"pl-en"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,54,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-s1"]],[[4,7,"pl-smi"],[8,9,"pl-c1"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-en"],[27,30,"pl-s1"],[32,40,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[8,22,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-s1"],[17,18,"pl-c1"],[19,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,21,"pl-s1"],[23,24,"pl-c1"],[24,33,"pl-s1"]],[[4,14,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,9,"pl-k"],[11,22,"pl-en"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,38,"pl-c1"],[40,41,"pl-c1"],[41,44,"pl-s1"],[46,47,"pl-c1"],[47,54,"pl-s1"],[56,57,"pl-c1"],[57,66,"pl-s1"]],[[8,16,"pl-smi"],[17,18,"pl-c1"],[18,26,"pl-s1"]],[[8,10,"pl-k"],[12,29,"pl-en"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,45,"pl-c1"],[47,54,"pl-s1"],[56,57,"pl-c1"],[57,65,"pl-s1"],[67,68,"pl-c1"],[69,70,"pl-c1"]],[[17,22,"pl-ent"]],[],[[8,10,"pl-k"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[12,20,"pl-k"]],[],[],[[8,11,"pl-smi"],[12,21,"pl-s1"],[22,23,"pl-c1"],[24,36,"pl-en"],[37,45,"pl-s1"]],[[8,17,"pl-en"],[18,26,"pl-s1"]],[[8,10,"pl-k"],[12,21,"pl-s1"],[22,24,"pl-c1"],[25,27,"pl-c1"],[28,30,"pl-c1"],[31,45,"pl-en"]],[[17,22,"pl-ent"]],[],[],[[8,11,"pl-smi"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-en"],[36,45,"pl-s1"]],[[8,10,"pl-k"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,26,"pl-c1"],[27,29,"pl-c1"],[30,44,"pl-en"]],[[17,22,"pl-ent"]],[],[[8,13,"pl-s1"],[14,22,"pl-s1"],[24,25,"pl-c1"],[26,35,"pl-s1"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[[0,5,"pl-ent"]],[[4,14,"pl-en"],[15,20,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,20,"pl-en"],[21,23,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,26,"pl-en"],[27,54,"pl-smi"],[55,56,"pl-c1"],[56,59,"pl-s1"],[61,71,"pl-smi"],[72,73,"pl-c1"],[73,83,"pl-s1"]],[[27,30,"pl-smi"],[31,32,"pl-c1"],[32,37,"pl-s1"],[39,42,"pl-smi"],[43,52,"pl-s1"]],[],[[4,10,"pl-en"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,29,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-c1"]],[],[[4,77,"pl-c"]],[[4,9,"pl-k"],[10,13,"pl-smi"],[14,23,"pl-s1"],[24,25,"pl-c1"],[27,30,"pl-smi"],[31,46,"pl-en"],[47,50,"pl-s1"],[50,52,"pl-c1"],[52,62,"pl-c1"]],[[4,6,"pl-k"],[8,17,"pl-s1"]],[[8,69,"pl-c"]],[[8,66,"pl-c"]],[[8,50,"pl-c"]],[[8,13,"pl-k"],[14,17,"pl-smi"],[18,23,"pl-s1"],[24,25,"pl-c1"],[26,35,"pl-s1"],[36,37,"pl-c1"],[39,42,"pl-smi"],[43,58,"pl-en"],[59,62,"pl-s1"],[62,64,"pl-c1"],[64,74,"pl-c1"]],[[8,11,"pl-smi"],[12,13,"pl-c1"],[13,19,"pl-s1"],[20,21,"pl-c1"],[22,37,"pl-en"],[38,43,"pl-s1"],[45,51,"pl-k"],[52,55,"pl-smi"]],[[8,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[12,26,"pl-en"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,37,"pl-s1"],[39,40,"pl-s1"],[40,42,"pl-c1"]],[[12,18,"pl-s1"],[19,24,"pl-s1"],[25,26,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[40,50,"pl-s1"],[51,52,"pl-c1"],[53,62,"pl-s1"],[64,65,"pl-s1"],[65,67,"pl-c1"]],[[12,15,"pl-smi"],[16,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"],[34,35,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[12,14,"pl-k"],[16,24,"pl-s1"],[25,27,"pl-c1"],[28,30,"pl-c1"]],[[16,24,"pl-k"]],[],[[12,21,"pl-smi"],[22,31,"pl-s1"],[32,33,"pl-c1"]],[[17,25,"pl-c1"],[26,27,"pl-c1"],[28,37,"pl-c1"]],[[16,58,"pl-c"]],[[17,24,"pl-c1"],[25,26,"pl-c1"],[27,35,"pl-s1"]],[[17,22,"pl-c1"],[23,24,"pl-c1"],[25,36,"pl-c1"]],[[17,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-c1"]],[[17,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-c1"]],[],[[12,14,"pl-k"],[16,45,"pl-en"],[46,56,"pl-s1"],[58,68,"pl-s1"],[70,71,"pl-c1"],[71,80,"pl-s1"],[82,83,"pl-c1"],[84,85,"pl-c1"]],[[16,29,"pl-en"],[30,36,"pl-s1"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"]],[],[[8,21,"pl-en"],[22,28,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,17,"pl-s1"]],[[8,17,"pl-smi"],[18,28,"pl-s1"],[29,30,"pl-c1"]],[[13,21,"pl-c1"],[22,23,"pl-c1"],[24,38,"pl-c1"]],[[13,20,"pl-c1"],[21,22,"pl-c1"],[23,32,"pl-s1"]],[[13,18,"pl-c1"],[19,20,"pl-c1"],[21,32,"pl-c1"]],[[13,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[[13,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[],[[8,23,"pl-en"],[24,53,"pl-en"],[54,64,"pl-s1"],[66,67,"pl-c1"],[69,70,"pl-c1"],[70,80,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,16,"pl-en"],[17,44,"pl-smi"],[45,46,"pl-c1"],[46,49,"pl-s1"],[51,61,"pl-smi"],[62,63,"pl-c1"],[63,73,"pl-s1"],[75,78,"pl-smi"],[79,80,"pl-c1"],[80,88,"pl-s1"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[19,22,"pl-smi"],[23,38,"pl-en"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,54,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-s1"]],[],[[4,46,"pl-c"]],[[4,7,"pl-smi"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[35,36,"pl-s1"],[36,38,"pl-c1"]],[[8,10,"pl-k"],[12,20,"pl-s1"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,38,"pl-s1"]],[[12,20,"pl-s1"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,37,"pl-s1"]],[],[[8,12,"pl-k"]],[[12,45,"pl-c"]],[[12,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"]],[],[],[],[[4,69,"pl-c"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"],[48,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-s1"],[53,55,"pl-c1"],[55,61,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"],[42,43,"pl-s1"]],[[12,65,"pl-c"]],[[12,18,"pl-en"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[34,36,"pl-c1"],[37,49,"pl-c1"]],[[12,15,"pl-smi"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"]],[[16,20,"pl-k"],[21,30,"pl-c1"]],[[16,20,"pl-k"],[21,33,"pl-c1"]],[[16,20,"pl-k"],[21,31,"pl-c1"]],[[16,20,"pl-k"],[21,32,"pl-c1"]],[[16,20,"pl-k"],[21,33,"pl-c1"]],[[16,20,"pl-k"],[21,44,"pl-c1"]],[[20,26,"pl-en"],[27,36,"pl-s1"],[40,41,"pl-c1"]],[[20,26,"pl-en"],[27,36,"pl-s1"],[37,38,"pl-c1"],[39,47,"pl-s1"]],[[20,26,"pl-en"],[27,35,"pl-s1"],[36,45,"pl-s1"],[50,51,"pl-c1"]],[[20,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[34,35,"pl-c1"],[36,44,"pl-s1"],[45,54,"pl-s1"]],[],[],[],[],[[4,10,"pl-k"],[11,21,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"]],[[0,18,"pl-en"],[19,46,"pl-smi"],[47,48,"pl-c1"],[48,51,"pl-s1"],[53,64,"pl-smi"],[65,66,"pl-c1"],[66,67,"pl-s1"]],[],[[4,10,"pl-en"],[11,26,"pl-en"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,42,"pl-c1"],[44,45,"pl-c1"],[46,53,"pl-c1"]],[[4,10,"pl-en"],[11,26,"pl-en"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,42,"pl-c1"],[44,45,"pl-c1"],[46,53,"pl-c1"]],[[4,10,"pl-en"],[11,26,"pl-en"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,42,"pl-c1"],[44,45,"pl-c1"],[46,53,"pl-c1"]],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[19,22,"pl-smi"],[23,38,"pl-en"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,54,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-smi"],[25,40,"pl-en"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,56,"pl-c1"]],[[4,10,"pl-en"],[11,18,"pl-c1"],[19,20,"pl-c1"],[21,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[4,10,"pl-en"],[11,18,"pl-c1"],[19,20,"pl-c1"],[21,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-s1"],[41,42,"pl-c1"],[43,52,"pl-s1"],[53,54,"pl-c1"],[55,56,"pl-c1"]],[[4,7,"pl-smi"],[8,19,"pl-s1"],[20,21,"pl-c1"],[22,29,"pl-s1"],[30,31,"pl-c1"],[32,41,"pl-s1"],[42,43,"pl-c1"],[44,53,"pl-s1"]],[[4,7,"pl-smi"],[7,8,"pl-c1"],[9,25,"pl-s1"],[26,27,"pl-c1"],[28,50,"pl-en"],[51,54,"pl-s1"]],[[4,6,"pl-k"],[8,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,53,"pl-c"]],[[4,6,"pl-k"],[8,34,"pl-en"],[35,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[43,55,"pl-c1"],[57,73,"pl-s1"],[75,84,"pl-s1"]],[[8,18,"pl-en"],[19,35,"pl-s1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,7,"pl-smi"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,37,"pl-en"],[38,41,"pl-s1"],[43,44,"pl-s1"],[44,46,"pl-c1"],[46,58,"pl-c1"],[60,76,"pl-s1"]],[[4,14,"pl-en"],[15,31,"pl-s1"],[35,71,"pl-c"]],[[4,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,15,"pl-s1"],[16,18,"pl-c1"],[19,29,"pl-s1"]],[[4,10,"pl-k"],[11,22,"pl-s1"]],[],[],[[0,11,"pl-smi"],[12,13,"pl-c1"]],[[0,30,"pl-en"],[31,53,"pl-smi"],[54,55,"pl-c1"],[55,58,"pl-s1"]],[],[[4,6,"pl-k"],[8,44,"pl-en"],[45,48,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,38,"pl-en"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,23,"pl-s1"],[25,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,22,"pl-smi"],[23,24,"pl-c1"],[24,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,46,"pl-c1"],[47,48,"pl-s1"]],[[8,10,"pl-k"],[12,22,"pl-en"],[23,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[12,18,"pl-en"],[19,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[37,38,"pl-c1"],[39,41,"pl-c1"],[42,47,"pl-s1"],[47,49,"pl-c1"],[49,56,"pl-c1"],[57,58,"pl-c1"],[59,62,"pl-s1"],[62,64,"pl-c1"],[64,70,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,25,"pl-c1"],[26,31,"pl-s1"],[31,33,"pl-c1"],[33,40,"pl-c1"],[42,50,"pl-c1"],[51,52,"pl-c1"],[53,54,"pl-c1"]],[],[],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[8,22,"pl-smi"],[23,24,"pl-c1"],[24,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,46,"pl-c1"],[47,48,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[28,30,"pl-c1"],[31,54,"pl-c1"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,39,"pl-c1"],[40,42,"pl-c1"],[43,47,"pl-c1"]],[[16,22,"pl-en"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,46,"pl-c1"],[46,48,"pl-c1"],[48,63,"pl-c1"],[64,66,"pl-c1"],[67,68,"pl-c1"]],[[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,46,"pl-c1"],[46,48,"pl-c1"],[48,56,"pl-c1"],[57,59,"pl-c1"],[60,64,"pl-c1"]],[[16,19,"pl-k"],[21,24,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,59,"pl-c1"],[59,61,"pl-c1"],[61,67,"pl-c1"],[69,70,"pl-s1"],[70,72,"pl-c1"]],[[20,34,"pl-smi"],[35,36,"pl-c1"],[36,45,"pl-s1"],[46,47,"pl-c1"],[48,49,"pl-c1"],[49,52,"pl-s1"],[52,54,"pl-c1"],[54,72,"pl-c1"],[72,74,"pl-c1"],[74,82,"pl-c1"],[83,84,"pl-s1"]],[[20,26,"pl-en"],[28,38,"pl-en"],[39,48,"pl-s1"],[48,50,"pl-c1"],[50,58,"pl-c1"]],[[20,22,"pl-k"],[24,43,"pl-en"],[44,45,"pl-s1"],[47,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"],[68,77,"pl-s1"],[77,79,"pl-c1"],[79,86,"pl-c1"],[88,97,"pl-s1"],[97,99,"pl-c1"],[99,104,"pl-c1"],[106,107,"pl-c1"],[108,109,"pl-c1"]],[[29,34,"pl-ent"]],[],[],[[16,22,"pl-s1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,49,"pl-c1"],[49,51,"pl-c1"],[51,57,"pl-c1"],[58,59,"pl-c1"],[60,61,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"]],[],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[12,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"]],[[12,29,"pl-smi"],[30,34,"pl-s1"],[35,36,"pl-c1"],[38,39,"pl-s1"],[40,41,"pl-c1"],[42,48,"pl-s1"]],[[12,14,"pl-k"],[16,38,"pl-en"],[39,40,"pl-s1"],[42,46,"pl-s1"],[48,49,"pl-c1"],[50,51,"pl-c1"]],[[21,26,"pl-ent"]],[],[],[[8,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"]],[[8,11,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"]],[[8,10,"pl-k"],[12,22,"pl-en"],[23,29,"pl-s1"]],[[12,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"]],[],[[8,10,"pl-k"],[12,31,"pl-en"],[32,33,"pl-s1"],[35,41,"pl-s1"],[43,48,"pl-s1"],[50,55,"pl-s1"],[55,57,"pl-c1"],[57,62,"pl-c1"],[64,65,"pl-c1"],[66,67,"pl-c1"]],[[17,22,"pl-ent"]],[],[],[[4,6,"pl-k"],[8,31,"pl-en"],[32,33,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[13,18,"pl-ent"]],[],[[4,10,"pl-k"],[11,12,"pl-s1"]],[[0,5,"pl-ent"]],[[4,22,"pl-en"],[23,24,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,3,"pl-smi"]],[[0,28,"pl-en"],[29,40,"pl-smi"],[41,42,"pl-c1"],[42,43,"pl-s1"],[45,67,"pl-smi"],[68,69,"pl-c1"],[69,72,"pl-s1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[19,20,"pl-c1"],[22,39,"pl-smi"],[41,44,"pl-s1"]],[[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"]],[],[[4,7,"pl-k"],[9,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,40,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[60,66,"pl-c1"]],[[8,23,"pl-en"],[24,55,"pl-en"],[56,59,"pl-s1"],[61,62,"pl-s1"],[62,64,"pl-c1"],[64,71,"pl-c1"],[72,74,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[12,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[35,42,"pl-c1"],[43,44,"pl-s1"]],[[12,14,"pl-k"],[16,26,"pl-en"],[27,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"]],[[16,86,"pl-c"]],[[16,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"],[31,32,"pl-c1"],[33,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"],[48,50,"pl-c1"],[50,57,"pl-c1"],[58,60,"pl-c1"]],[],[[12,27,"pl-en"]],[[16,44,"pl-en"]],[[20,23,"pl-s1"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"],[42,47,"pl-s1"],[47,49,"pl-c1"],[49,56,"pl-c1"],[58,63,"pl-s1"],[63,65,"pl-c1"],[65,70,"pl-c1"]],[],[[12,32,"pl-smi"],[33,34,"pl-c1"],[34,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[40,43,"pl-s1"],[43,45,"pl-c1"],[45,53,"pl-c1"],[54,57,"pl-s1"],[57,59,"pl-c1"],[59,65,"pl-c1"],[65,66,"pl-c1"],[66,67,"pl-c1"],[69,90,"pl-c1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[[16,18,"pl-s1"],[18,20,"pl-c1"],[20,27,"pl-c1"],[28,29,"pl-c1"],[30,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"],[45,47,"pl-c1"],[47,54,"pl-c1"],[55,57,"pl-c1"]],[[16,18,"pl-s1"],[18,20,"pl-c1"],[20,32,"pl-c1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,50,"pl-c1"],[50,52,"pl-c1"],[52,64,"pl-c1"]],[[16,18,"pl-s1"],[18,20,"pl-c1"],[20,36,"pl-c1"],[37,38,"pl-c1"],[39,44,"pl-s1"],[44,46,"pl-c1"],[46,54,"pl-c1"],[54,56,"pl-c1"],[56,72,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,18,"pl-s1"],[18,20,"pl-c1"],[20,27,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"]],[],[],[],[[4,6,"pl-k"],[8,44,"pl-en"],[45,48,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,3,"pl-smi"]],[[0,40,"pl-en"],[41,52,"pl-smi"],[53,54,"pl-c1"],[54,55,"pl-s1"]],[[37,64,"pl-smi"],[65,66,"pl-c1"],[66,69,"pl-s1"]],[[37,40,"pl-smi"],[41,42,"pl-c1"],[42,52,"pl-s1"],[54,57,"pl-smi"],[58,59,"pl-c1"],[59,70,"pl-s1"]],[[37,59,"pl-smi"],[60,61,"pl-c1"],[61,64,"pl-s1"]],[],[[4,19,"pl-en"],[20,52,"pl-en"],[53,54,"pl-s1"]],[],[[4,5,"pl-c1"],[5,15,"pl-s1"],[16,17,"pl-c1"],[18,38,"pl-en"],[39,40,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,5,"pl-c1"],[5,16,"pl-s1"],[17,18,"pl-c1"],[19,37,"pl-en"],[38,41,"pl-s1"],[43,44,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,19,"pl-en"],[20,38,"pl-en"],[39,40,"pl-s1"]],[],[[4,64,"pl-c"]],[],[[4,19,"pl-en"],[20,35,"pl-en"],[36,37,"pl-s1"]],[[4,10,"pl-en"],[11,29,"pl-en"],[30,31,"pl-s1"]],[],[[4,74,"pl-c"]],[[0,27,"pl-c"]],[[0,7,"pl-c"]],[[4,19,"pl-en"],[20,38,"pl-en"],[39,40,"pl-s1"]],[],[[4,65,"pl-c"]],[[4,6,"pl-k"],[8,36,"pl-en"],[37,38,"pl-s1"],[40,43,"pl-s1"],[45,46,"pl-c1"],[47,48,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,72,"pl-c"]],[[0,80,"pl-c"]],[[0,3,"pl-c"]],[[0,3,"pl-smi"]],[[0,26,"pl-en"],[27,38,"pl-smi"],[39,40,"pl-c1"],[40,41,"pl-s1"]],[],[[4,19,"pl-en"],[20,52,"pl-en"],[53,54,"pl-s1"],[54,56,"pl-c1"],[56,68,"pl-c1"]],[[4,19,"pl-en"],[20,43,"pl-en"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,59,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[0,28,"pl-c"]],[],[[0,3,"pl-smi"]],[[0,35,"pl-en"],[36,39,"pl-smi"],[40,46,"pl-s1"],[48,51,"pl-smi"],[52,57,"pl-s1"],[59,62,"pl-smi"],[63,67,"pl-s1"]],[],[[4,17,"pl-smi"],[18,22,"pl-s1"]],[[4,6,"pl-k"],[8,25,"pl-en"],[26,32,"pl-s1"],[34,39,"pl-s1"],[41,45,"pl-s1"],[47,48,"pl-c1"],[48,52,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-c1"]],[[8,14,"pl-k"],[15,38,"pl-c1"]],[],[[4,10,"pl-k"],[11,15,"pl-s1"],[16,19,"pl-c1"]],[],[],[[0,3,"pl-smi"]],[[0,27,"pl-en"],[28,31,"pl-smi"],[32,38,"pl-s1"],[40,43,"pl-smi"],[44,49,"pl-s1"]],[],[[4,17,"pl-smi"],[18,22,"pl-s1"]],[[4,6,"pl-k"],[8,25,"pl-en"],[26,32,"pl-s1"],[34,39,"pl-s1"],[41,43,"pl-c1"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[8,14,"pl-k"],[15,38,"pl-c1"]],[],[[4,10,"pl-k"],[11,15,"pl-s1"],[16,19,"pl-c1"]],[],[],[[0,51,"pl-c"]],[[0,0,"pl-c"]],[[0,63,"pl-c"]],[[0,64,"pl-c"]],[[0,3,"pl-c"]],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,17,"pl-c1"]],[[0,27,"pl-en"],[28,39,"pl-smi"],[40,41,"pl-c1"],[41,42,"pl-s1"]],[],[[4,26,"pl-smi"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,33,"pl-c1"],[35,57,"pl-smi"],[58,59,"pl-c1"],[60,86,"pl-en"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,6,"pl-k"],[8,36,"pl-en"],[37,38,"pl-s1"],[40,43,"pl-s1"],[45,46,"pl-c1"],[47,48,"pl-c1"]],[[8,34,"pl-en"],[35,38,"pl-s1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,10,"pl-k"],[12,20,"pl-smi"],[20,21,"pl-c1"],[22,25,"pl-s1"]],[],[],[[0,8,"pl-smi"],[9,10,"pl-c1"]],[[0,22,"pl-en"],[23,31,"pl-smi"],[32,33,"pl-c1"],[33,36,"pl-s1"],[38,46,"pl-smi"],[47,48,"pl-c1"],[48,54,"pl-s1"],[56,59,"pl-smi"],[60,67,"pl-s1"]],[],[[4,6,"pl-k"],[9,37,"pl-en"],[38,41,"pl-s1"]],[[8,23,"pl-en"],[24,40,"pl-s1"],[42,76,"pl-s"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,6,"pl-k"],[9,21,"pl-en"],[22,28,"pl-s1"]],[[8,23,"pl-en"],[24,39,"pl-s1"],[41,64,"pl-s"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,25,"pl-s1"],[26,27,"pl-c1"],[28,38,"pl-en"]],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-c1"]],[],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,17,"pl-s1"],[18,19,"pl-c1"],[20,24,"pl-c1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,51,"pl-en"],[53,75,"pl-smi"],[75,76,"pl-c1"],[77,80,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[13,18,"pl-ent"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[4,6,"pl-k"],[8,31,"pl-en"],[32,33,"pl-s1"],[35,41,"pl-s1"],[43,54,"pl-s1"],[56,63,"pl-s1"]],[[32,39,"pl-s1"],[41,52,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-c1"]],[[13,18,"pl-ent"]],[],[],[[4,6,"pl-k"],[8,28,"pl-en"],[29,30,"pl-s1"],[32,34,"pl-c1"],[35,40,"pl-c1"]],[[13,18,"pl-ent"]],[],[],[[4,6,"pl-k"],[8,26,"pl-en"],[27,28,"pl-s1"],[30,32,"pl-c1"],[33,40,"pl-c1"]],[[13,18,"pl-ent"]],[],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,37,"pl-en"],[38,39,"pl-s1"]],[[0,5,"pl-ent"]],[[4,13,"pl-en"],[14,25,"pl-s1"]],[[4,22,"pl-en"],[23,24,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[]],"colorizedLines":null}},"title":"cpython/Python/flowgraph.c at main · python/cpython","appPayload":{},"meta":{"title":"cpython/Python/flowgraph.c at main · python/cpython"}}</script>
  <div data-target="react-app.reactRoot"><meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/> <!-- --> <a hidden="" id="code-view-repo-link" href="/python/cpython" data-discover="true"></a> <div class="d-none"></div><div><div style="--spacing:var(--spacing-none)" class="prc-PageLayout-PageLayoutRoot--KH-d" data-component="SplitPageLayout" data-has-sidebar="true"><div class="prc-PageLayout-SidebarWrapper-kLG4B CopilotSidePanelSidebar-module__SidePanel__L3O0C CopilotSidePanelSidebar-module__HiddenSidePanel__TBRGn" style="--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="end" data-sticky="true" data-responsive-variant="fullscreen"><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-SidebarVerticalDivider-0Rl0V" data-component="PageLayout.VerticalDivider" data-variant="line" data-position="end" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="450" aria-valuemax="768" aria-valuenow="544" aria-valuetext="Pane width 544 pixels" tabindex="0"></div></div><div class="prc-PageLayout-Sidebar-iciWg" data-component="SplitPageLayout.Sidebar" data-resizable="true" style="--spacing:var(--spacing-normal);--pane-min-width:450px;--pane-max-width:768px;--pane-width-custom:544px;--pane-width-size:var(--pane-width-custom);--pane-width:544px"><div class="height-full" data-testid="copilot-code-view-side-panel"><div id="copilot-side-panel-content" class="height-full"></div></div></div></div><div class="prc-PageLayout-PageLayoutWrapper-2BhU2" data-width="full"><div class="prc-PageLayout-PageLayoutContent-BneH9"><div id="repos-file-tree-sidebar" class="CodeViewFileTreeLayout-module__sidebar__n_Aau" tabindex="0"><div class="prc-PageLayout-PaneWrapper-pHPop ReposFileTreePane-module__Pane__rBZpI ReposFileTreePane-module__HideTree__AYZnm ReposFileTreePane-module__HidePane__VHAVt" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="prc-PageLayout-HorizontalDivider-JLVqp prc-PageLayout-PaneHorizontalDivider-9tbnE" data-component="PageLayout.HorizontalDivider" data-variant-regular="none" data-variant-narrow="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="prc-PageLayout-Pane-AyzHK" data-component="SplitPageLayout.Pane" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-PaneVerticalDivider-le57g" data-component="PageLayout.VerticalDivider" data-variant-narrow="none" data-variant-regular="line" data-variant-wide="line" data-position="start" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="256" aria-valuemax="600" aria-valuenow="320" aria-valuetext="Pane width 320 pixels" tabindex="0"></div></div></div></div><div data-component="SplitPageLayout.Content" class="prc-PageLayout-ContentWrapper-gR9eG"><div class="prc-PageLayout-Content-xWL-A" data-width="full" style="--spacing:var(--spacing-none)"><div class="SharedPageLayout-module__content__IwGAp" data-selector="repos-split-pane-content" id="repos-split-pane-content" tabindex="0"> <!-- --> <div class="container CodeViewHeader-module__Box__JkPOb"><div class="CodeViewHeader-module__StickyHeader__Qn7UN" id="StickyHeader"><div class="CodeViewHeader-module__Box_1__SbNDV"><div class="CodeViewHeader-module__Box_2__TB46f"><div class="react-code-view-header-wrap--narrow CodeViewHeader-module__Box_3__q1zUL"><div class="CodeViewHeader-module__treeToggleWrapper__RQ__9"><h2 class="use-tree-pane-module__Heading__s4QbZ prc-Heading-Heading-MtWFE" data-component="Heading"><button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Files</span></span></button><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_4lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="se" data-component="Tooltip" aria-hidden="true" id="_R_4lla9lik5_">Expand file tree</span><div class="d-none"></div></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="react-code-view-header-mb--narrow CodeViewHeader-module__Box_5__MQ0hL"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__lg__Rjz0A"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/python/cpython/tree/main" data-discover="true">cpython</a></li><li class="Breadcrumb-module__listItem__Ib0x_"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><a class="Breadcrumb-module__directoryLink__kQy_t prc-Link-Link-9ZwDx" data-component="Link" href="/python/cpython/tree/main/Python" data-discover="true">Python</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__lg__Rjz0A prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="file-name-id">flowgraph.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lla9lik5_">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div><div class="CodeViewHeader-module__FileResultsList__JDzUy"><span class="d-flex FileResultsList-module__FilesSearchBox__ivVkc TextInput-wrapper prc-components-TextInputWrapper-Hpdqi prc-components-TextInputBaseWrapper-wY-n0" data-no-trailing-action="true" data-component="TextInput" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id="_R_5ipla9lik5_" aria-hidden="true" data-component="TextInput.LeadingVisual"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_5ipla9lik5_ _R_5ipla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_5ipla9lik5H1_" aria-hidden="true" data-component="TextInput.TrailingVisual"></span></span></div><div class="d-none"></div></div><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4pla9lik5_" id="_R_14pla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4pla9lik5_">More file actions</span></div></div></div><div class="react-code-view-header-element--narrow"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4tla9lik5_" id="_R_14tla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4tla9lik5_">More file actions</span></div></div></div></div></div></div></div><div class="CodeView-module__contentWrapper__cG2JH"><div class="react-code-view-bottom-padding"><div class="BlobTopBanners-module__Box__v_nvx"></div></div> <div class="d-none"></div><div class="d-flex flex-column border rounded-2 tmp-mb-3 pl-1"><div class="LatestCommit-module__Box__B25ZT"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">History</h2><a data-component="LinkButton" href="/python/cpython/commits/main/Python/flowgraph.c" class="prc-Button-ButtonBase-9n-Xk d-none d-lg-flex LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><a data-component="LinkButton" aria-label="View commit history for this file." href="/python/cpython/commits/main/Python/flowgraph.c" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby="_R_4mlala9lik5_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" role="tooltip" aria-hidden="true" id="_R_4mlala9lik5_">History</span></div></div></div></div></div><div class="d-flex flex-row"><div class="container BlobViewContent-module__blobContainer__DtH2d"><div class="react-code-size-details-banner BlobViewContent-module__codeSizeDetails__e5sUw"><div class="react-code-size-details-banner CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="135 KB" style="--truncate-max-width:100%"><span>4261 lines (3914 loc) · 135 KB</span></div></div></div></div><div class="react-blob-view-header-sticky BlobViewContent-module__stickyHeader__VwxB5" id="repos-sticky-header"><div class="BlobViewHeader-module__Box__yhm9u"><div class="react-blob-sticky-header"><div class="FileNameStickyHeader-module__outerWrapper__ZL4Xc FileNameStickyHeader-module__outerWrapperHidden__Zpynk"><div class="FileNameStickyHeader-module__Box_1__Hazu5"><div class="FileNameStickyHeader-module__Box_2__hoolP"><div class="FileNameStickyHeader-module__Box_3__MVKsk"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="FileNameStickyHeader-module__Box_4__FLhtt"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__md__Wb1Gs"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/python/cpython/tree/main" data-discover="true">cpython</a></li><li class="Breadcrumb-module__listItem__Ib0x_"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><a class="Breadcrumb-module__directoryLink__kQy_t prc-Link-Link-9ZwDx" data-component="Link" href="/python/cpython/tree/main/Python" data-discover="true">Python</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__md__Wb1Gs prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="sticky-file-name-id">flowgraph.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lcpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lcpala9lik5_">Copy path</span></div></div></div><button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Top</span></span></button></div></div></div><div class="BlobViewHeader-module__Box_1__VEmuQ"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">File metadata and controls</h2><div class="BlobViewHeader-module__Box_2__icUs2"><ul aria-label="File view" class="prc-SegmentedControl-SegmentedControl-lqIXp BlobTabButtons-module__SegmentedControl__jen2u" data-variant="default" data-size="small" data-component="SegmentedControl"><li class="prc-SegmentedControl-Item-tSCQh" data-selected="" data-component="SegmentedControl.Button"><button aria-pressed="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Code">Code</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Blame">Blame</div></span></button></li></ul><div class="d-none"></div><div class="react-code-size-details-in-header CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="135 KB" style="--truncate-max-width:100%"><span>4261 lines (3914 loc) · 135 KB</span></div></div></div></div><div class="BlobViewHeader-module__Box_3__ng6v2"><div class="d-none"></div><div class="react-blob-header-edit-and-raw-actions BlobViewHeader-module__Box_4__J4Y4W"><div class="d-none"></div><div class="prc-ButtonGroup-ButtonGroup-vFUrY" data-component="ButtonGroup"><div class="prc-ButtonGroup-Item-PqvDl"><a data-component="LinkButton" href="https://github.com/python/cpython/raw/refs/heads/main/Python/flowgraph.c" data-testid="raw-button" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov BlobViewHeader-module__LinkButton__X9kx2" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Raw</span></span></a></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_qaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_qaucpala9lik5_">Copy raw file</span></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_eaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_eaucpala9lik5_">Download raw file</span></div></div></div><div class="d-none"></div><button data-component="IconButton" type="button" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__IconButton_2__RyjZg prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_jecpala9lik5_" id="symbols-button"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_jecpala9lik5_">Open symbols panel</span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_fkecpala9lik5_" id="_R_kecpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_fkecpala9lik5_">Edit and raw actions</span></div></div></div></div><div></div></div><div class="BlobViewContent-module__blobContentWrapper__JS0W6"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="BlobContent-module__blobContentSection__VOgZq" style="margin-top:46px"><!--$--><div class="CodeBlob-module__codeBlobWrapper__RS6In" style="padding-top:8px;padding-bottom:8px"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="position-relative"><div class="CodeBlob-module__codeBlobInner__tfjuQ"><div class="react-code-file-contents CodeLinesSSR-module__codeFileContents__ARmAN" role="presentation" aria-hidden="true" data-tab-size="4" data-paste-markdown-skip="true" style="tab-size:4;max-width:unset" data-hpc="true" containertiming="hpc"><div class="react-line-numbers" style="pointer-events:auto"><div data-line-number="1" class="react-line-number react-code-text" style="padding-right:16px">1</div><div data-line-number="2" class="react-line-number react-code-text" style="padding-right:16px">2</div><div data-line-number="3" class="react-line-number react-code-text" style="padding-right:16px">3</div><div data-line-number="4" class="react-line-number react-code-text" style="padding-right:16px">4</div><div data-line-number="5" class="react-line-number react-code-text" style="padding-right:16px">5</div><div data-line-number="6" class="react-line-number react-code-text" style="padding-right:16px">6</div><div data-line-number="7" class="react-line-number react-code-text" style="padding-right:16px">7</div><div data-line-number="8" class="react-line-number react-code-text" style="padding-right:16px">8</div><div data-line-number="9" class="react-line-number react-code-text" style="padding-right:16px">9</div><div data-line-number="10" class="react-line-number react-code-text" style="padding-right:16px">10</div><div data-line-number="11" class="react-line-number react-code-text" style="padding-right:16px">11</div><div data-line-number="12" class="react-line-number react-code-text" style="padding-right:16px">12</div><div data-line-number="13" class="react-line-number react-code-text" style="padding-right:16px">13</div><div data-line-number="14" class="react-line-number react-code-text" style="padding-right:16px">14</div><div data-line-number="15" class="react-line-number react-code-text" style="padding-right:16px">15</div><div data-line-number="16" class="react-line-number react-code-text" style="padding-right:16px">16</div><div data-line-number="17" class="react-line-number react-code-text" style="padding-right:16px">17</div><div data-line-number="18" class="react-line-number react-code-text" style="padding-right:16px">18</div><div data-line-number="19" class="react-line-number react-code-text" style="padding-right:16px">19</div><div data-line-number="20" class="react-line-number react-code-text" style="padding-right:16px">20</div><div data-line-number="21" class="react-line-number react-code-text" style="padding-right:16px">21</div><div data-line-number="22" class="react-line-number react-code-text" style="padding-right:16px">22</div><div data-line-number="23" class="react-line-number react-code-text" style="padding-right:16px">23</div><div data-line-number="24" class="react-line-number react-code-text" style="padding-right:16px">24</div><div data-line-number="25" class="react-line-number react-code-text" style="padding-right:16px">25</div><div data-line-number="26" class="react-line-number react-code-text" style="padding-right:16px">26</div><div data-line-number="27" class="react-line-number react-code-text" style="padding-right:16px">27</div><div data-line-number="28" class="react-line-number react-code-text" style="padding-right:16px">28</div><div data-line-number="29" class="react-line-number react-code-text" style="padding-right:16px">29</div><div data-line-number="30" class="react-line-number react-code-text" style="padding-right:16px">30</div><div data-line-number="31" class="react-line-number react-code-text" style="padding-right:16px">31</div><div data-line-number="32" class="react-line-number react-code-text" style="padding-right:16px">32</div><div data-line-number="33" class="react-line-number react-code-text" style="padding-right:16px">33</div><div data-line-number="34" class="react-line-number react-code-text" style="padding-right:16px">34<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></button></span></div><div data-line-number="35" class="child-of-line-33  react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="child-of-line-33  react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="child-of-line-33  react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="child-of-line-33  react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="child-of-line-33  react-line-number react-code-text" style="padding-right:16px">39</div><div data-line-number="40" class="react-line-number react-code-text" style="padding-right:16px">40</div><div data-line-number="41" class="react-line-number react-code-text" style="padding-right:16px">41</div><div data-line-number="42" class="react-line-number react-code-text" style="padding-right:16px">42<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></button></span></div><div data-line-number="43" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">48</div><div data-line-number="49" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">54</div><div data-line-number="55" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">64</div><div data-line-number="65" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">75</div><div data-line-number="76" class="child-of-line-41  react-line-number react-code-text" style="padding-right:16px">76</div><div data-line-number="77" class="react-line-number react-code-text" style="padding-right:16px">77</div><div data-line-number="78" class="react-line-number react-code-text" style="padding-right:16px">78</div><div data-line-number="79" class="react-line-number react-code-text" style="padding-right:16px">79</div><div data-line-number="80" class="react-line-number react-code-text" style="padding-right:16px">80<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></button></span></div><div data-line-number="81" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">82</div><div data-line-number="83" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">88</div><div data-line-number="89" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="child-of-line-79  react-line-number react-code-text" style="padding-right:16px">90</div><div data-line-number="91" class="react-line-number react-code-text" style="padding-right:16px">91</div><div data-line-number="92" class="react-line-number react-code-text" style="padding-right:16px">92</div><div data-line-number="93" class="react-line-number react-code-text" style="padding-right:16px">93</div><div data-line-number="94" class="react-line-number react-code-text" style="padding-right:16px">94</div><div data-line-number="95" class="react-line-number react-code-text" style="padding-right:16px">95</div><div data-line-number="96" class="react-line-number react-code-text" style="padding-right:16px">96</div><div data-line-number="97" class="react-line-number react-code-text" style="padding-right:16px">97</div><div data-line-number="98" class="react-line-number react-code-text" style="padding-right:16px">98</div><div data-line-number="99" class="react-line-number react-code-text" style="padding-right:16px">99</div><div data-line-number="100" class="react-line-number react-code-text" style="padding-right:16px">100</div><div data-line-number="101" class="react-line-number react-code-text" style="padding-right:16px">101</div><div data-line-number="102" class="react-line-number react-code-text" style="padding-right:16px">102</div><div data-line-number="103" class="react-line-number react-code-text" style="padding-right:16px">103</div><div data-line-number="104" class="react-line-number react-code-text" style="padding-right:16px">104</div><div data-line-number="105" class="react-line-number react-code-text" style="padding-right:16px">105</div><div data-line-number="106" class="react-line-number react-code-text" style="padding-right:16px">106</div><div data-line-number="107" class="react-line-number react-code-text" style="padding-right:16px">107</div><div data-line-number="108" class="react-line-number react-code-text" style="padding-right:16px">108</div><div data-line-number="109" class="react-line-number react-code-text" style="padding-right:16px">109</div><div data-line-number="110" class="react-line-number react-code-text" style="padding-right:16px">110</div><div data-line-number="111" class="react-line-number react-code-text" style="padding-right:16px">111</div><div data-line-number="112" class="react-line-number react-code-text" style="padding-right:16px">112</div><div data-line-number="113" class="react-line-number react-code-text" style="padding-right:16px">113</div><div data-line-number="114" class="react-line-number react-code-text" style="padding-right:16px">114</div><div data-line-number="115" class="react-line-number react-code-text" style="padding-right:16px">115</div><div data-line-number="116" class="react-line-number react-code-text" style="padding-right:16px">116</div><div data-line-number="117" class="react-line-number react-code-text" style="padding-right:16px">117</div><div data-line-number="118" class="react-line-number react-code-text" style="padding-right:16px">118</div><div data-line-number="119" class="react-line-number react-code-text" style="padding-right:16px">119</div><div data-line-number="120" class="react-line-number react-code-text" style="padding-right:16px">120</div><div data-line-number="121" class="react-line-number react-code-text" style="padding-right:16px">121</div><div data-line-number="122" class="react-line-number react-code-text" style="padding-right:16px">122</div><div data-line-number="123" class="react-line-number react-code-text" style="padding-right:16px">123</div><div data-line-number="124" class="react-line-number react-code-text" style="padding-right:16px">124</div><div data-line-number="125" class="react-line-number react-code-text" style="padding-right:16px">125</div><div data-line-number="126" class="react-line-number react-code-text" style="padding-right:16px">126</div><div data-line-number="127" class="react-line-number react-code-text" style="padding-right:16px">127</div><div data-line-number="128" class="react-line-number react-code-text" style="padding-right:16px">128</div><div data-line-number="129" class="react-line-number react-code-text" style="padding-right:16px">129</div><div data-line-number="130" class="react-line-number react-code-text" style="padding-right:16px">130</div><div data-line-number="131" class="react-line-number react-code-text" style="padding-right:16px">131</div><div data-line-number="132" class="react-line-number react-code-text" style="padding-right:16px">132</div><div data-line-number="133" class="react-line-number react-code-text" style="padding-right:16px">133</div><div data-line-number="134" class="react-line-number react-code-text" style="padding-right:16px">134</div><div data-line-number="135" class="react-line-number react-code-text" style="padding-right:16px">135</div><div data-line-number="136" class="react-line-number react-code-text" style="padding-right:16px">136</div><div data-line-number="137" class="react-line-number react-code-text" style="padding-right:16px">137</div><div data-line-number="138" class="react-line-number react-code-text" style="padding-right:16px">138</div><div data-line-number="139" class="react-line-number react-code-text" style="padding-right:16px">139</div><div data-line-number="140" class="react-line-number react-code-text" style="padding-right:16px">140</div><div data-line-number="141" class="react-line-number react-code-text" style="padding-right:16px">141</div><div data-line-number="142" class="react-line-number react-code-text" style="padding-right:16px">142</div><div data-line-number="143" class="react-line-number react-code-text" style="padding-right:16px">143</div><div data-line-number="144" class="react-line-number react-code-text" style="padding-right:16px">144</div><div data-line-number="145" class="react-line-number react-code-text" style="padding-right:16px">145</div><div data-line-number="146" class="react-line-number react-code-text" style="padding-right:16px">146</div><div data-line-number="147" class="react-line-number react-code-text" style="padding-right:16px">147</div><div data-line-number="148" class="react-line-number react-code-text" style="padding-right:16px">148</div><div data-line-number="149" class="react-line-number react-code-text" style="padding-right:16px">149</div><div data-line-number="150" class="react-line-number react-code-text" style="padding-right:16px">150</div><div data-line-number="151" class="react-line-number react-code-text" style="padding-right:16px">151</div><div data-line-number="152" class="react-line-number react-code-text" style="padding-right:16px">152</div><div data-line-number="153" class="react-line-number react-code-text" style="padding-right:16px">153</div><div data-line-number="154" class="react-line-number react-code-text" style="padding-right:16px">154</div><div data-line-number="155" class="react-line-number react-code-text" style="padding-right:16px">155</div><div data-line-number="156" class="react-line-number react-code-text" style="padding-right:16px">156</div><div data-line-number="157" class="react-line-number react-code-text" style="padding-right:16px">157</div><div data-line-number="158" class="react-line-number react-code-text" style="padding-right:16px">158</div><div data-line-number="159" class="react-line-number react-code-text" style="padding-right:16px">159</div><div data-line-number="160" class="react-line-number react-code-text" style="padding-right:16px">160</div><div data-line-number="161" class="react-line-number react-code-text" style="padding-right:16px">161</div><div data-line-number="162" class="react-line-number react-code-text" style="padding-right:16px">162</div><div data-line-number="163" class="react-line-number react-code-text" style="padding-right:16px">163</div><div data-line-number="164" class="react-line-number react-code-text" style="padding-right:16px">164</div><div data-line-number="165" class="react-line-number react-code-text" style="padding-right:16px">165</div><div data-line-number="166" class="react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="react-line-number react-code-text" style="padding-right:16px">173</div><div data-line-number="174" class="react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="react-line-number react-code-text" style="padding-right:16px">182</div><div data-line-number="183" class="react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="react-line-number react-code-text" style="padding-right:16px">188</div><div data-line-number="189" class="react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="react-line-number react-code-text" style="padding-right:16px">194</div><div data-line-number="195" class="react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="react-line-number react-code-text" style="padding-right:16px">202</div><div data-line-number="203" class="react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="react-line-number react-code-text" style="padding-right:16px">207</div><div data-line-number="208" class="react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="react-line-number react-code-text" style="padding-right:16px">214</div><div data-line-number="215" class="react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="react-line-number react-code-text" style="padding-right:16px">223</div><div data-line-number="224" class="react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="react-line-number react-code-text" style="padding-right:16px">234</div><div data-line-number="235" class="react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="react-line-number react-code-text" style="padding-right:16px">239</div><div data-line-number="240" class="react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="react-line-number react-code-text" style="padding-right:16px">253</div><div data-line-number="254" class="react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="react-line-number react-code-text" style="padding-right:16px">255</div><div data-line-number="256" class="react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="react-line-number react-code-text" style="padding-right:16px">267</div><div data-line-number="268" class="react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="react-line-number react-code-text" style="padding-right:16px">271</div><div data-line-number="272" class="react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="react-line-number react-code-text" style="padding-right:16px">307</div><div data-line-number="308" class="react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="react-line-number react-code-text" style="padding-right:16px">317</div><div data-line-number="318" class="react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="react-line-number react-code-text" style="padding-right:16px">329</div><div data-line-number="330" class="react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="react-line-number react-code-text" style="padding-right:16px">338</div><div data-line-number="339" class="react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="react-line-number react-code-text" style="padding-right:16px">443</div><div data-line-number="444" class="react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="react-line-number react-code-text" style="padding-right:16px">462</div><div data-line-number="463" class="react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="react-line-number react-code-text" style="padding-right:16px">468</div><div data-line-number="469" class="react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="react-line-number react-code-text" style="padding-right:16px">479</div><div data-line-number="480" class="react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="react-line-number react-code-text" style="padding-right:16px">512</div><div data-line-number="513" class="react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="react-line-number react-code-text" style="padding-right:16px">586</div><div data-line-number="587" class="react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="react-line-number react-code-text" style="padding-right:16px">639</div><div data-line-number="640" class="react-line-number react-code-text" style="padding-right:16px">640</div><div data-line-number="641" class="react-line-number react-code-text" style="padding-right:16px">641</div><div data-line-number="642" class="react-line-number react-code-text" style="padding-right:16px">642</div><div data-line-number="643" class="react-line-number react-code-text" style="padding-right:16px">643</div><div data-line-number="644" class="react-line-number react-code-text" style="padding-right:16px">644</div><div data-line-number="645" class="react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="react-line-number react-code-text" style="padding-right:16px">657</div><div data-line-number="658" class="react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="react-line-number react-code-text" style="padding-right:16px">666</div><div data-line-number="667" class="react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="react-line-number react-code-text" style="padding-right:16px">683</div><div data-line-number="684" class="react-line-number react-code-text" style="padding-right:16px">684</div><div data-line-number="685" class="react-line-number react-code-text" style="padding-right:16px">685</div><div data-line-number="686" class="react-line-number react-code-text" style="padding-right:16px">686</div><div data-line-number="687" class="react-line-number react-code-text" style="padding-right:16px">687</div><div data-line-number="688" class="react-line-number react-code-text" style="padding-right:16px">688</div><div data-line-number="689" class="react-line-number react-code-text" style="padding-right:16px">689</div><div data-line-number="690" class="react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="react-line-number react-code-text" style="padding-right:16px">691</div><div data-line-number="692" class="react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="react-line-number react-code-text" style="padding-right:16px">708</div><div data-line-number="709" class="react-line-number react-code-text" style="padding-right:16px">709</div><div data-line-number="710" class="react-line-number react-code-text" style="padding-right:16px">710</div><div data-line-number="711" class="react-line-number react-code-text" style="padding-right:16px">711</div><div data-line-number="712" class="react-line-number react-code-text" style="padding-right:16px">712</div><div data-line-number="713" class="react-line-number react-code-text" style="padding-right:16px">713</div><div data-line-number="714" class="react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="react-line-number react-code-text" style="padding-right:16px">719</div><div data-line-number="720" class="react-line-number react-code-text" style="padding-right:16px">720</div><div data-line-number="721" class="react-line-number react-code-text" style="padding-right:16px">721</div><div data-line-number="722" class="react-line-number react-code-text" style="padding-right:16px">722</div><div data-line-number="723" class="react-line-number react-code-text" style="padding-right:16px">723</div><div data-line-number="724" class="react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="react-line-number react-code-text" style="padding-right:16px">754</div><div data-line-number="755" class="react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="react-line-number react-code-text" style="padding-right:16px">762</div><div data-line-number="763" class="react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="react-line-number react-code-text" style="padding-right:16px">792</div><div data-line-number="793" class="react-line-number react-code-text" style="padding-right:16px">793</div><div data-line-number="794" class="react-line-number react-code-text" style="padding-right:16px">794</div><div data-line-number="795" class="react-line-number react-code-text" style="padding-right:16px">795</div><div data-line-number="796" class="react-line-number react-code-text" style="padding-right:16px">796</div><div data-line-number="797" class="react-line-number react-code-text" style="padding-right:16px">797</div><div data-line-number="798" class="react-line-number react-code-text" style="padding-right:16px">798</div><div data-line-number="799" class="react-line-number react-code-text" style="padding-right:16px">799</div><div data-line-number="800" class="react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="react-line-number react-code-text" style="padding-right:16px">803</div><div data-line-number="804" class="react-line-number react-code-text" style="padding-right:16px">804</div><div data-line-number="805" class="react-line-number react-code-text" style="padding-right:16px">805</div><div data-line-number="806" class="react-line-number react-code-text" style="padding-right:16px">806</div><div data-line-number="807" class="react-line-number react-code-text" style="padding-right:16px">807</div><div data-line-number="808" class="react-line-number react-code-text" style="padding-right:16px">808</div><div data-line-number="809" class="react-line-number react-code-text" style="padding-right:16px">809</div><div data-line-number="810" class="react-line-number react-code-text" style="padding-right:16px">810</div><div data-line-number="811" class="react-line-number react-code-text" style="padding-right:16px">811</div><div data-line-number="812" class="react-line-number react-code-text" style="padding-right:16px">812</div><div data-line-number="813" class="react-line-number react-code-text" style="padding-right:16px">813</div><div data-line-number="814" class="react-line-number react-code-text" style="padding-right:16px">814</div><div data-line-number="815" class="react-line-number react-code-text" style="padding-right:16px">815</div><div data-line-number="816" class="react-line-number react-code-text" style="padding-right:16px">816</div><div data-line-number="817" class="react-line-number react-code-text" style="padding-right:16px">817</div><div data-line-number="818" class="react-line-number react-code-text" style="padding-right:16px">818</div><div data-line-number="819" class="react-line-number react-code-text" style="padding-right:16px">819</div><div data-line-number="820" class="react-line-number react-code-text" style="padding-right:16px">820</div><div data-line-number="821" class="react-line-number react-code-text" style="padding-right:16px">821</div><div data-line-number="822" class="react-line-number react-code-text" style="padding-right:16px">822</div><div data-line-number="823" class="react-line-number react-code-text" style="padding-right:16px">823</div><div data-line-number="824" class="react-line-number react-code-text" style="padding-right:16px">824</div><div data-line-number="825" class="react-line-number react-code-text" style="padding-right:16px">825</div><div data-line-number="826" class="react-line-number react-code-text" style="padding-right:16px">826</div><div data-line-number="827" class="react-line-number react-code-text" style="padding-right:16px">827</div><div data-line-number="828" class="react-line-number react-code-text" style="padding-right:16px">828</div><div data-line-number="829" class="react-line-number react-code-text" style="padding-right:16px">829</div><div data-line-number="830" class="react-line-number react-code-text" style="padding-right:16px">830</div><div data-line-number="831" class="react-line-number react-code-text" style="padding-right:16px">831</div><div data-line-number="832" class="react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="react-line-number react-code-text" style="padding-right:16px">834</div><div data-line-number="835" class="react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="react-line-number react-code-text" style="padding-right:16px">842</div><div data-line-number="843" class="react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="react-line-number react-code-text" style="padding-right:16px">849</div><div data-line-number="850" class="react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="react-line-number react-code-text" style="padding-right:16px">894</div><div data-line-number="895" class="react-line-number react-code-text" style="padding-right:16px">895</div><div data-line-number="896" class="react-line-number react-code-text" style="padding-right:16px">896</div><div data-line-number="897" class="react-line-number react-code-text" style="padding-right:16px">897</div><div data-line-number="898" class="react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="react-line-number react-code-text" style="padding-right:16px">905</div><div data-line-number="906" class="react-line-number react-code-text" style="padding-right:16px">906</div><div data-line-number="907" class="react-line-number react-code-text" style="padding-right:16px">907</div><div data-line-number="908" class="react-line-number react-code-text" style="padding-right:16px">908</div><div data-line-number="909" class="react-line-number react-code-text" style="padding-right:16px">909</div><div data-line-number="910" class="react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="react-line-number react-code-text" style="padding-right:16px">926</div><div data-line-number="927" class="react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="react-line-number react-code-text" style="padding-right:16px">982</div><div data-line-number="983" class="react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="react-line-number react-code-text" style="padding-right:16px">1000</div></div><div class="react-code-lines"><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1" class="react-file-line html-div" data-testid="code-cell" data-line-number="1" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;Python.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC2" class="react-file-line html-div" data-testid="code-cell" data-line-number="2" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;opcode.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC3" class="react-file-line html-div" data-testid="code-cell" data-line-number="3" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_c_array.h&quot;</span>       <span class="pl-c">// _Py_CArray_EnsureCapacity</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC4" class="react-file-line html-div" data-testid="code-cell" data-line-number="4" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_flowgraph.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC5" class="react-file-line html-div" data-testid="code-cell" data-line-number="5" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_compile.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC6" class="react-file-line html-div" data-testid="code-cell" data-line-number="6" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_intrinsics.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC7" class="react-file-line html-div" data-testid="code-cell" data-line-number="7" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_pymem.h&quot;</span>         <span class="pl-c">// _PyMem_IsPtrFreed()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_long.h&quot;</span>          <span class="pl-c">// _PY_IS_SMALL_INT()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_hashtable.h&quot;</span>     <span class="pl-c">// _Py_hashtable_t</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_opcode_utils.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_opcode_metadata.h&quot;</span> <span class="pl-c">// OPCODE_HAS_ARG, etc</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC13" class="react-file-line html-div" data-testid="code-cell" data-line-number="13" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_pystate.h&quot;</span>         <span class="pl-c">// _PyInterpreterState_GET()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC14" class="react-file-line html-div" data-testid="code-cell" data-line-number="14" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;pycore_stackref.h&quot;</span>        <span class="pl-c">// PyStackRef_AsPyObjectBorrow()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC15" class="react-file-line html-div" data-testid="code-cell" data-line-number="15" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;stdbool.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC17" class="react-file-line html-div" data-testid="code-cell" data-line-number="17" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC18" class="react-file-line html-div" data-testid="code-cell" data-line-number="18" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC19" class="react-file-line html-div" data-testid="code-cell" data-line-number="19" style="position:relative"><span class="pl-k">#undef</span> SUCCESS</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative"><span class="pl-k">#undef</span> ERROR</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">SUCCESS</span> 0</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">ERROR</span> -1</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC23" class="react-file-line html-div" data-testid="code-cell" data-line-number="23" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC24" class="react-file-line html-div" data-testid="code-cell" data-line-number="24" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">RETURN_IF_ERROR</span>(<span class="pl-c1">X</span>)  \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC25" class="react-file-line html-div" data-testid="code-cell" data-line-number="25" style="position:relative">    if ((X) == -1) {        \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC26" class="react-file-line html-div" data-testid="code-cell" data-line-number="26" style="position:relative">        return ERROR;       \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC27" class="react-file-line html-div" data-testid="code-cell" data-line-number="27" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC28" class="react-file-line html-div" data-testid="code-cell" data-line-number="28" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC29" class="react-file-line html-div" data-testid="code-cell" data-line-number="29" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">DEFAULT_BLOCK_SIZE</span> 16</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC30" class="react-file-line html-div" data-testid="code-cell" data-line-number="30" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-smi">_Py_SourceLocation</span> <span class="pl-smi">location</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-smi">_PyJumpTargetLabel</span> <span class="pl-smi">jump_target_label</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC33" class="react-file-line html-div" data-testid="code-cell" data-line-number="33" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC34" class="react-file-line html-div" data-testid="code-cell" data-line-number="34" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgInstruction</span> {</div></div></div><div class="child-of-line-33  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC35" class="react-file-line html-div" data-testid="code-cell" data-line-number="35" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">i_opcode</span>;</div></div></div><div class="child-of-line-33  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC36" class="react-file-line html-div" data-testid="code-cell" data-line-number="36" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">i_oparg</span>;</div></div></div><div class="child-of-line-33  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC37" class="react-file-line html-div" data-testid="code-cell" data-line-number="37" style="position:relative">    <span class="pl-smi">_Py_SourceLocation</span> <span class="pl-c1">i_loc</span>;</div></div></div><div class="child-of-line-33  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC38" class="react-file-line html-div" data-testid="code-cell" data-line-number="38" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">i_target</span>; <span class="pl-c">/* target block (if jump instruction) */</span></div></div></div><div class="child-of-line-33  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC39" class="react-file-line html-div" data-testid="code-cell" data-line-number="39" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">i_except</span>; <span class="pl-c">/* target block when exception is raised */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC40" class="react-file-line html-div" data-testid="code-cell" data-line-number="40" style="position:relative">} <span class="pl-smi">cfg_instr</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC41" class="react-file-line html-div" data-testid="code-cell" data-line-number="41" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC42" class="react-file-line html-div" data-testid="code-cell" data-line-number="42" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> {</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC43" class="react-file-line html-div" data-testid="code-cell" data-line-number="43" style="position:relative">    <span class="pl-c">/* Each basicblock in a compilation unit is linked via b_list in the</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC44" class="react-file-line html-div" data-testid="code-cell" data-line-number="44" style="position:relative"><span class="pl-c">       reverse order that blocks are allocated.  b_list points to the</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC45" class="react-file-line html-div" data-testid="code-cell" data-line-number="45" style="position:relative"><span class="pl-c">       previously allocated block, not to be confused with b_next, which is</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC46" class="react-file-line html-div" data-testid="code-cell" data-line-number="46" style="position:relative"><span class="pl-c">       next by control flow. */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC47" class="react-file-line html-div" data-testid="code-cell" data-line-number="47" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">b_list</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC48" class="react-file-line html-div" data-testid="code-cell" data-line-number="48" style="position:relative">    <span class="pl-c">/* The label of this block if it is a jump target, -1 otherwise */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC49" class="react-file-line html-div" data-testid="code-cell" data-line-number="49" style="position:relative">    <span class="pl-smi">_PyJumpTargetLabel</span> <span class="pl-c1">b_label</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC50" class="react-file-line html-div" data-testid="code-cell" data-line-number="50" style="position:relative">    <span class="pl-c">/* Exception stack at start of block, used by assembler to create the exception handling table */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC51" class="react-file-line html-div" data-testid="code-cell" data-line-number="51" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-c1">b_exceptstack</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC52" class="react-file-line html-div" data-testid="code-cell" data-line-number="52" style="position:relative">    <span class="pl-c">/* pointer to an array of instructions, initially NULL */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC53" class="react-file-line html-div" data-testid="code-cell" data-line-number="53" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-c1">b_instr</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC54" class="react-file-line html-div" data-testid="code-cell" data-line-number="54" style="position:relative">    <span class="pl-c">/* If b_next is non-NULL, it is a pointer to the next</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC55" class="react-file-line html-div" data-testid="code-cell" data-line-number="55" style="position:relative"><span class="pl-c">       block reached by normal control flow. */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC56" class="react-file-line html-div" data-testid="code-cell" data-line-number="56" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">b_next</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC57" class="react-file-line html-div" data-testid="code-cell" data-line-number="57" style="position:relative">    <span class="pl-c">/* number of instructions used */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC58" class="react-file-line html-div" data-testid="code-cell" data-line-number="58" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">b_iused</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC59" class="react-file-line html-div" data-testid="code-cell" data-line-number="59" style="position:relative">    <span class="pl-c">/* length of instruction array (b_instr) */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC60" class="react-file-line html-div" data-testid="code-cell" data-line-number="60" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">b_ialloc</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC61" class="react-file-line html-div" data-testid="code-cell" data-line-number="61" style="position:relative">    <span class="pl-c">/* Used by add_checks_for_loads_of_unknown_variables */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC62" class="react-file-line html-div" data-testid="code-cell" data-line-number="62" style="position:relative">    <span class="pl-smi">uint64_t</span> <span class="pl-c1">b_unsafe_locals_mask</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC63" class="react-file-line html-div" data-testid="code-cell" data-line-number="63" style="position:relative">    <span class="pl-c">/* Number of predecessors that a block has. */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC64" class="react-file-line html-div" data-testid="code-cell" data-line-number="64" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">b_predecessors</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC65" class="react-file-line html-div" data-testid="code-cell" data-line-number="65" style="position:relative">    <span class="pl-c">/* depth of stack upon entry of block, computed by stackdepth() */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC66" class="react-file-line html-div" data-testid="code-cell" data-line-number="66" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">b_startdepth</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC67" class="react-file-line html-div" data-testid="code-cell" data-line-number="67" style="position:relative">    <span class="pl-c">/* Basic block is an exception handler that preserves lasti */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC68" class="react-file-line html-div" data-testid="code-cell" data-line-number="68" style="position:relative">    <span class="pl-smi">unsigned</span> <span class="pl-c1">b_preserve_lasti</span> : <span class="pl-c1">1</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC69" class="react-file-line html-div" data-testid="code-cell" data-line-number="69" style="position:relative">    <span class="pl-c">/* Used by compiler passes to mark whether they have visited a basic block. */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC70" class="react-file-line html-div" data-testid="code-cell" data-line-number="70" style="position:relative">    <span class="pl-smi">unsigned</span> <span class="pl-c1">b_visited</span> : <span class="pl-c1">1</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC71" class="react-file-line html-div" data-testid="code-cell" data-line-number="71" style="position:relative">    <span class="pl-c">/* b_except_handler is used by the cold-detection algorithm to mark exception targets */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC72" class="react-file-line html-div" data-testid="code-cell" data-line-number="72" style="position:relative">    <span class="pl-smi">unsigned</span> <span class="pl-c1">b_except_handler</span> : <span class="pl-c1">1</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC73" class="react-file-line html-div" data-testid="code-cell" data-line-number="73" style="position:relative">    <span class="pl-c">/* b_cold is true if this block is not perf critical (like an exception handler) */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC74" class="react-file-line html-div" data-testid="code-cell" data-line-number="74" style="position:relative">    <span class="pl-smi">unsigned</span> <span class="pl-c1">b_cold</span> : <span class="pl-c1">1</span>;</div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC75" class="react-file-line html-div" data-testid="code-cell" data-line-number="75" style="position:relative">    <span class="pl-c">/* b_warm is used by the cold-detection algorithm to mark blocks which are definitely not cold */</span></div></div></div><div class="child-of-line-41  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC76" class="react-file-line html-div" data-testid="code-cell" data-line-number="76" style="position:relative">    <span class="pl-smi">unsigned</span> <span class="pl-c1">b_warm</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC77" class="react-file-line html-div" data-testid="code-cell" data-line-number="77" style="position:relative">} <span class="pl-smi">basicblock</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC78" class="react-file-line html-div" data-testid="code-cell" data-line-number="78" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC79" class="react-file-line html-div" data-testid="code-cell" data-line-number="79" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC80" class="react-file-line html-div" data-testid="code-cell" data-line-number="80" style="position:relative"><span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBuilder</span> {</div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC81" class="react-file-line html-div" data-testid="code-cell" data-line-number="81" style="position:relative">    <span class="pl-c">/* The entryblock, at which control flow begins. All blocks of the</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC82" class="react-file-line html-div" data-testid="code-cell" data-line-number="82" style="position:relative"><span class="pl-c">       CFG are reachable through the b_next links */</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC83" class="react-file-line html-div" data-testid="code-cell" data-line-number="83" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">g_entryblock</span>;</div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC84" class="react-file-line html-div" data-testid="code-cell" data-line-number="84" style="position:relative">    <span class="pl-c">/* Pointer to the most recently allocated block.  By following</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC85" class="react-file-line html-div" data-testid="code-cell" data-line-number="85" style="position:relative"><span class="pl-c">       b_list links, you can reach all allocated blocks. */</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC86" class="react-file-line html-div" data-testid="code-cell" data-line-number="86" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">g_block_list</span>;</div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC87" class="react-file-line html-div" data-testid="code-cell" data-line-number="87" style="position:relative">    <span class="pl-c">/* pointer to the block currently being constructed */</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC88" class="react-file-line html-div" data-testid="code-cell" data-line-number="88" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBasicblock</span> <span class="pl-c1">*</span><span class="pl-c1">g_curblock</span>;</div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC89" class="react-file-line html-div" data-testid="code-cell" data-line-number="89" style="position:relative">    <span class="pl-c">/* label for the next instruction to be placed */</span></div></div></div><div class="child-of-line-79  react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC90" class="react-file-line html-div" data-testid="code-cell" data-line-number="90" style="position:relative">    <span class="pl-smi">_PyJumpTargetLabel</span> <span class="pl-c1">g_current_label</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC91" class="react-file-line html-div" data-testid="code-cell" data-line-number="91" style="position:relative">};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC92" class="react-file-line html-div" data-testid="code-cell" data-line-number="92" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC93" class="react-file-line html-div" data-testid="code-cell" data-line-number="93" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgBuilder</span> <span class="pl-smi">cfg_builder</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC94" class="react-file-line html-div" data-testid="code-cell" data-line-number="94" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC95" class="react-file-line html-div" data-testid="code-cell" data-line-number="95" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">SAME_LABEL</span>(<span class="pl-c1">L1</span>, <span class="pl-c1">L2</span>) ((L1).id == (L2).id)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC96" class="react-file-line html-div" data-testid="code-cell" data-line-number="96" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">IS_LABEL</span>(<span class="pl-c1">L</span>) (!SAME_LABEL((L), (NO_LABEL)))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC97" class="react-file-line html-div" data-testid="code-cell" data-line-number="97" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC98" class="react-file-line html-div" data-testid="code-cell" data-line-number="98" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">LOCATION</span>(<span class="pl-c1">LNO</span>, <span class="pl-c1">END_LNO</span>, <span class="pl-c1">COL</span>, <span class="pl-c1">END_COL</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC99" class="react-file-line html-div" data-testid="code-cell" data-line-number="99" style="position:relative">    ((const _Py_SourceLocation){(LNO), (END_LNO), (COL), (END_COL)})</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC100" class="react-file-line html-div" data-testid="code-cell" data-line-number="100" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC101" class="react-file-line html-div" data-testid="code-cell" data-line-number="101" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC102" class="react-file-line html-div" data-testid="code-cell" data-line-number="102" style="position:relative"><span class="pl-en">is_block_push</span>(<span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">i</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC103" class="react-file-line html-div" data-testid="code-cell" data-line-number="103" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC104" class="react-file-line html-div" data-testid="code-cell" data-line-number="104" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">OPCODE_HAS_ARG</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>) <span class="pl-c1">||</span> !<span class="pl-en">IS_BLOCK_PUSH_OPCODE</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC105" class="react-file-line html-div" data-testid="code-cell" data-line-number="105" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">IS_BLOCK_PUSH_OPCODE</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC106" class="react-file-line html-div" data-testid="code-cell" data-line-number="106" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC107" class="react-file-line html-div" data-testid="code-cell" data-line-number="107" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC108" class="react-file-line html-div" data-testid="code-cell" data-line-number="108" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC109" class="react-file-line html-div" data-testid="code-cell" data-line-number="109" style="position:relative"><span class="pl-en">is_jump</span>(<span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">i</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC110" class="react-file-line html-div" data-testid="code-cell" data-line-number="110" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC111" class="react-file-line html-div" data-testid="code-cell" data-line-number="111" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">OPCODE_HAS_JUMP</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC112" class="react-file-line html-div" data-testid="code-cell" data-line-number="112" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC113" class="react-file-line html-div" data-testid="code-cell" data-line-number="113" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC114" class="react-file-line html-div" data-testid="code-cell" data-line-number="114" style="position:relative"><span class="pl-c">/* One arg*/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC115" class="react-file-line html-div" data-testid="code-cell" data-line-number="115" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">INSTR_SET_OP1</span>(<span class="pl-c1">I</span>, <span class="pl-c1">OP</span>, <span class="pl-c1">ARG</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative">    do { \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC117" class="react-file-line html-div" data-testid="code-cell" data-line-number="117" style="position:relative">        assert(OPCODE_HAS_ARG(OP)); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC118" class="react-file-line html-div" data-testid="code-cell" data-line-number="118" style="position:relative">        cfg_instr *_instr__ptr_ = (I); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC119" class="react-file-line html-div" data-testid="code-cell" data-line-number="119" style="position:relative">        _instr__ptr_-&gt;i_opcode = (OP); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC120" class="react-file-line html-div" data-testid="code-cell" data-line-number="120" style="position:relative">        _instr__ptr_-&gt;i_oparg = (ARG); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative">    } while (0);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC122" class="react-file-line html-div" data-testid="code-cell" data-line-number="122" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC123" class="react-file-line html-div" data-testid="code-cell" data-line-number="123" style="position:relative"><span class="pl-c">/* No args*/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC124" class="react-file-line html-div" data-testid="code-cell" data-line-number="124" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">INSTR_SET_OP0</span>(<span class="pl-c1">I</span>, <span class="pl-c1">OP</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC125" class="react-file-line html-div" data-testid="code-cell" data-line-number="125" style="position:relative">    do { \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC126" class="react-file-line html-div" data-testid="code-cell" data-line-number="126" style="position:relative">        assert(!OPCODE_HAS_ARG(OP)); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC127" class="react-file-line html-div" data-testid="code-cell" data-line-number="127" style="position:relative">        cfg_instr *_instr__ptr_ = (I); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC128" class="react-file-line html-div" data-testid="code-cell" data-line-number="128" style="position:relative">        _instr__ptr_-&gt;i_opcode = (OP); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC129" class="react-file-line html-div" data-testid="code-cell" data-line-number="129" style="position:relative">        _instr__ptr_-&gt;i_oparg = 0; \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC130" class="react-file-line html-div" data-testid="code-cell" data-line-number="130" style="position:relative">    } while (0);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC131" class="react-file-line html-div" data-testid="code-cell" data-line-number="131" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC132" class="react-file-line html-div" data-testid="code-cell" data-line-number="132" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">INSTR_SET_LOC</span>(<span class="pl-c1">I</span>, <span class="pl-c1">LOC</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC133" class="react-file-line html-div" data-testid="code-cell" data-line-number="133" style="position:relative">    do { \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC134" class="react-file-line html-div" data-testid="code-cell" data-line-number="134" style="position:relative">        cfg_instr *_instr__ptr_ = (I); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC135" class="react-file-line html-div" data-testid="code-cell" data-line-number="135" style="position:relative">        _instr__ptr_-&gt;i_loc = (LOC); \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC136" class="react-file-line html-div" data-testid="code-cell" data-line-number="136" style="position:relative">    } while (0);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC137" class="react-file-line html-div" data-testid="code-cell" data-line-number="137" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC138" class="react-file-line html-div" data-testid="code-cell" data-line-number="138" style="position:relative"><span class="pl-c">/***** Blocks *****/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC139" class="react-file-line html-div" data-testid="code-cell" data-line-number="139" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC140" class="react-file-line html-div" data-testid="code-cell" data-line-number="140" style="position:relative"><span class="pl-c">/* Returns the offset of the next instruction in the current block&#039;s</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC141" class="react-file-line html-div" data-testid="code-cell" data-line-number="141" style="position:relative"><span class="pl-c">   b_instr array.  Resizes the b_instr as necessary.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC142" class="react-file-line html-div" data-testid="code-cell" data-line-number="142" style="position:relative"><span class="pl-c">   Returns -1 on failure.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC143" class="react-file-line html-div" data-testid="code-cell" data-line-number="143" style="position:relative"><span class="pl-c">*/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC144" class="react-file-line html-div" data-testid="code-cell" data-line-number="144" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC145" class="react-file-line html-div" data-testid="code-cell" data-line-number="145" style="position:relative"><span class="pl-en">basicblock_next_instr</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC146" class="react-file-line html-div" data-testid="code-cell" data-line-number="146" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC147" class="react-file-line html-div" data-testid="code-cell" data-line-number="147" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC148" class="react-file-line html-div" data-testid="code-cell" data-line-number="148" style="position:relative">    <span class="pl-smi">_Py_c_array_t</span> <span class="pl-s1">array</span> <span class="pl-c1">=</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC149" class="react-file-line html-div" data-testid="code-cell" data-line-number="149" style="position:relative">        .<span class="pl-c1">array</span> <span class="pl-c1">=</span> (<span class="pl-smi">void</span><span class="pl-c1">*</span>)<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC150" class="react-file-line html-div" data-testid="code-cell" data-line-number="150" style="position:relative">        .<span class="pl-c1">allocated_entries</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_ialloc</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC151" class="react-file-line html-div" data-testid="code-cell" data-line-number="151" style="position:relative">        .<span class="pl-c1">item_size</span> <span class="pl-c1">=</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">cfg_instr</span>),</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC152" class="react-file-line html-div" data-testid="code-cell" data-line-number="152" style="position:relative">        .<span class="pl-c1">initial_num_entries</span> <span class="pl-c1">=</span> <span class="pl-c1">DEFAULT_BLOCK_SIZE</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC153" class="react-file-line html-div" data-testid="code-cell" data-line-number="153" style="position:relative">    };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC154" class="react-file-line html-div" data-testid="code-cell" data-line-number="154" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC155" class="react-file-line html-div" data-testid="code-cell" data-line-number="155" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(<span class="pl-en">_Py_CArray_EnsureCapacity</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">array</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC156" class="react-file-line html-div" data-testid="code-cell" data-line-number="156" style="position:relative">    <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span> <span class="pl-c1">=</span> <span class="pl-s1">array</span>.<span class="pl-c1">array</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC157" class="react-file-line html-div" data-testid="code-cell" data-line-number="157" style="position:relative">    <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_ialloc</span> <span class="pl-c1">=</span> <span class="pl-s1">array</span>.<span class="pl-c1">allocated_entries</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC158" class="react-file-line html-div" data-testid="code-cell" data-line-number="158" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC159" class="react-file-line html-div" data-testid="code-cell" data-line-number="159" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC160" class="react-file-line html-div" data-testid="code-cell" data-line-number="160" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC161" class="react-file-line html-div" data-testid="code-cell" data-line-number="161" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC162" class="react-file-line html-div" data-testid="code-cell" data-line-number="162" style="position:relative"><span class="pl-en">basicblock_last_instr</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC163" class="react-file-line html-div" data-testid="code-cell" data-line-number="163" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> &gt;= <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC164" class="react-file-line html-div" data-testid="code-cell" data-line-number="164" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC165" class="react-file-line html-div" data-testid="code-cell" data-line-number="165" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC167" class="react-file-line html-div" data-testid="code-cell" data-line-number="167" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC168" class="react-file-line html-div" data-testid="code-cell" data-line-number="168" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC169" class="react-file-line html-div" data-testid="code-cell" data-line-number="169" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC170" class="react-file-line html-div" data-testid="code-cell" data-line-number="170" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC171" class="react-file-line html-div" data-testid="code-cell" data-line-number="171" style="position:relative"><span class="pl-c">/* Allocate a new block and return a pointer to it.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC172" class="react-file-line html-div" data-testid="code-cell" data-line-number="172" style="position:relative"><span class="pl-c">   Returns NULL on error.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC173" class="react-file-line html-div" data-testid="code-cell" data-line-number="173" style="position:relative"><span class="pl-c">*/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC174" class="react-file-line html-div" data-testid="code-cell" data-line-number="174" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC175" class="react-file-line html-div" data-testid="code-cell" data-line-number="175" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative"><span class="pl-en">cfg_builder_new_block</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC177" class="react-file-line html-div" data-testid="code-cell" data-line-number="177" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC178" class="react-file-line html-div" data-testid="code-cell" data-line-number="178" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span>)<span class="pl-en">PyMem_Calloc</span>(<span class="pl-c1">1</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">basicblock</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC179" class="react-file-line html-div" data-testid="code-cell" data-line-number="179" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">b</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC180" class="react-file-line html-div" data-testid="code-cell" data-line-number="180" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC181" class="react-file-line html-div" data-testid="code-cell" data-line-number="181" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC182" class="react-file-line html-div" data-testid="code-cell" data-line-number="182" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC183" class="react-file-line html-div" data-testid="code-cell" data-line-number="183" style="position:relative">    <span class="pl-c">/* Extend the singly linked list of blocks with new block. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC184" class="react-file-line html-div" data-testid="code-cell" data-line-number="184" style="position:relative">    <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_list</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC185" class="react-file-line html-div" data-testid="code-cell" data-line-number="185" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative">    <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span> <span class="pl-c1">=</span> <span class="pl-c1">NO_LABEL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC187" class="react-file-line html-div" data-testid="code-cell" data-line-number="187" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC188" class="react-file-line html-div" data-testid="code-cell" data-line-number="188" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC189" class="react-file-line html-div" data-testid="code-cell" data-line-number="189" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC190" class="react-file-line html-div" data-testid="code-cell" data-line-number="190" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC191" class="react-file-line html-div" data-testid="code-cell" data-line-number="191" style="position:relative"><span class="pl-en">basicblock_addop</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>, <span class="pl-smi">int</span> <span class="pl-s1">opcode</span>, <span class="pl-smi">int</span> <span class="pl-s1">oparg</span>, <span class="pl-smi">location</span> <span class="pl-s1">loc</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC192" class="react-file-line html-div" data-testid="code-cell" data-line-number="192" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC193" class="react-file-line html-div" data-testid="code-cell" data-line-number="193" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">IS_WITHIN_OPCODE_RANGE</span>(<span class="pl-s1">opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC194" class="react-file-line html-div" data-testid="code-cell" data-line-number="194" style="position:relative">    <span class="pl-en">assert</span>(!<span class="pl-en">IS_ASSEMBLER_OPCODE</span>(<span class="pl-s1">opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC195" class="react-file-line html-div" data-testid="code-cell" data-line-number="195" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">OPCODE_HAS_ARG</span>(<span class="pl-s1">opcode</span>) <span class="pl-c1">||</span> <span class="pl-en">HAS_TARGET</span>(<span class="pl-s1">opcode</span>) <span class="pl-c1">||</span> <span class="pl-s1">oparg</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC196" class="react-file-line html-div" data-testid="code-cell" data-line-number="196" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-c1">0</span> &lt;= <span class="pl-s1">oparg</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">oparg</span> <span class="pl-c1">&lt;</span> (<span class="pl-c1">1</span> &lt;&lt; <span class="pl-c1">30</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC197" class="react-file-line html-div" data-testid="code-cell" data-line-number="197" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC198" class="react-file-line html-div" data-testid="code-cell" data-line-number="198" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">off</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_next_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC199" class="react-file-line html-div" data-testid="code-cell" data-line-number="199" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">off</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC200" class="react-file-line html-div" data-testid="code-cell" data-line-number="200" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC201" class="react-file-line html-div" data-testid="code-cell" data-line-number="201" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC202" class="react-file-line html-div" data-testid="code-cell" data-line-number="202" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">off</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC203" class="react-file-line html-div" data-testid="code-cell" data-line-number="203" style="position:relative">    <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">=</span> <span class="pl-s1">opcode</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC204" class="react-file-line html-div" data-testid="code-cell" data-line-number="204" style="position:relative">    <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span> <span class="pl-c1">=</span> <span class="pl-s1">oparg</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC205" class="react-file-line html-div" data-testid="code-cell" data-line-number="205" style="position:relative">    <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span> <span class="pl-c1">=</span> <span class="pl-s1">loc</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC206" class="react-file-line html-div" data-testid="code-cell" data-line-number="206" style="position:relative">    <span class="pl-c">// memory is already zero initialized</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC207" class="react-file-line html-div" data-testid="code-cell" data-line-number="207" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC208" class="react-file-line html-div" data-testid="code-cell" data-line-number="208" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC209" class="react-file-line html-div" data-testid="code-cell" data-line-number="209" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC210" class="react-file-line html-div" data-testid="code-cell" data-line-number="210" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC211" class="react-file-line html-div" data-testid="code-cell" data-line-number="211" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC212" class="react-file-line html-div" data-testid="code-cell" data-line-number="212" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC213" class="react-file-line html-div" data-testid="code-cell" data-line-number="213" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC214" class="react-file-line html-div" data-testid="code-cell" data-line-number="214" style="position:relative"><span class="pl-en">basicblock_add_jump</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>, <span class="pl-smi">int</span> <span class="pl-s1">opcode</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">target</span>, <span class="pl-smi">location</span> <span class="pl-s1">loc</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC215" class="react-file-line html-div" data-testid="code-cell" data-line-number="215" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC216" class="react-file-line html-div" data-testid="code-cell" data-line-number="216" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC217" class="react-file-line html-div" data-testid="code-cell" data-line-number="217" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">is_jump</span>(<span class="pl-s1">last</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC218" class="react-file-line html-div" data-testid="code-cell" data-line-number="218" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC219" class="react-file-line html-div" data-testid="code-cell" data-line-number="219" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC220" class="react-file-line html-div" data-testid="code-cell" data-line-number="220" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC221" class="react-file-line html-div" data-testid="code-cell" data-line-number="221" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC222" class="react-file-line html-div" data-testid="code-cell" data-line-number="222" style="position:relative">        <span class="pl-en">basicblock_addop</span>(<span class="pl-s1">b</span>, <span class="pl-s1">opcode</span>, <span class="pl-s1">target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span>, <span class="pl-s1">loc</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC223" class="react-file-line html-div" data-testid="code-cell" data-line-number="223" style="position:relative">    <span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC224" class="react-file-line html-div" data-testid="code-cell" data-line-number="224" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">==</span> <span class="pl-s1">opcode</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC225" class="react-file-line html-div" data-testid="code-cell" data-line-number="225" style="position:relative">    <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">=</span> <span class="pl-s1">target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC226" class="react-file-line html-div" data-testid="code-cell" data-line-number="226" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC227" class="react-file-line html-div" data-testid="code-cell" data-line-number="227" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC228" class="react-file-line html-div" data-testid="code-cell" data-line-number="228" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC229" class="react-file-line html-div" data-testid="code-cell" data-line-number="229" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC230" class="react-file-line html-div" data-testid="code-cell" data-line-number="230" style="position:relative"><span class="pl-en">basicblock_append_instructions</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">to</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">from</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC231" class="react-file-line html-div" data-testid="code-cell" data-line-number="231" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC232" class="react-file-line html-div" data-testid="code-cell" data-line-number="232" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">from</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC233" class="react-file-line html-div" data-testid="code-cell" data-line-number="233" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_next_instr</span>(<span class="pl-s1">to</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC234" class="react-file-line html-div" data-testid="code-cell" data-line-number="234" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">n</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC235" class="react-file-line html-div" data-testid="code-cell" data-line-number="235" style="position:relative">            <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC236" class="react-file-line html-div" data-testid="code-cell" data-line-number="236" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC237" class="react-file-line html-div" data-testid="code-cell" data-line-number="237" style="position:relative">        <span class="pl-s1">to</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">n</span>] <span class="pl-c1">=</span> <span class="pl-s1">from</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC238" class="react-file-line html-div" data-testid="code-cell" data-line-number="238" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC239" class="react-file-line html-div" data-testid="code-cell" data-line-number="239" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC240" class="react-file-line html-div" data-testid="code-cell" data-line-number="240" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC241" class="react-file-line html-div" data-testid="code-cell" data-line-number="241" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC242" class="react-file-line html-div" data-testid="code-cell" data-line-number="242" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC243" class="react-file-line html-div" data-testid="code-cell" data-line-number="243" style="position:relative"><span class="pl-en">basicblock_nofallthrough</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC244" class="react-file-line html-div" data-testid="code-cell" data-line-number="244" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC245" class="react-file-line html-div" data-testid="code-cell" data-line-number="245" style="position:relative">    <span class="pl-k">return</span> (<span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC246" class="react-file-line html-div" data-testid="code-cell" data-line-number="246" style="position:relative">            (<span class="pl-en">IS_SCOPE_EXIT_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>) <span class="pl-c1">||</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC247" class="react-file-line html-div" data-testid="code-cell" data-line-number="247" style="position:relative">             <span class="pl-en">IS_UNCONDITIONAL_JUMP_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC248" class="react-file-line html-div" data-testid="code-cell" data-line-number="248" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC249" class="react-file-line html-div" data-testid="code-cell" data-line-number="249" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC250" class="react-file-line html-div" data-testid="code-cell" data-line-number="250" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">BB_NO_FALLTHROUGH</span>(<span class="pl-c1">B</span>) (basicblock_nofallthrough(B))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC251" class="react-file-line html-div" data-testid="code-cell" data-line-number="251" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">BB_HAS_FALLTHROUGH</span>(<span class="pl-c1">B</span>) (!basicblock_nofallthrough(B))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative"><span class="pl-en">copy_basicblock</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">block</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC255" class="react-file-line html-div" data-testid="code-cell" data-line-number="255" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC256" class="react-file-line html-div" data-testid="code-cell" data-line-number="256" style="position:relative">    <span class="pl-c">/* Cannot copy a block if it has a fallthrough, since</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC257" class="react-file-line html-div" data-testid="code-cell" data-line-number="257" style="position:relative"><span class="pl-c">     * a block can only have one fallthrough predecessor.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC258" class="react-file-line html-div" data-testid="code-cell" data-line-number="258" style="position:relative"><span class="pl-c">     */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC259" class="react-file-line html-div" data-testid="code-cell" data-line-number="259" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">BB_NO_FALLTHROUGH</span>(<span class="pl-s1">block</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC260" class="react-file-line html-div" data-testid="code-cell" data-line-number="260" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">result</span> <span class="pl-c1">=</span> <span class="pl-en">cfg_builder_new_block</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC261" class="react-file-line html-div" data-testid="code-cell" data-line-number="261" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">result</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC262" class="react-file-line html-div" data-testid="code-cell" data-line-number="262" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC263" class="react-file-line html-div" data-testid="code-cell" data-line-number="263" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC264" class="react-file-line html-div" data-testid="code-cell" data-line-number="264" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">basicblock_append_instructions</span>(<span class="pl-s1">result</span>, <span class="pl-s1">block</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC265" class="react-file-line html-div" data-testid="code-cell" data-line-number="265" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC266" class="react-file-line html-div" data-testid="code-cell" data-line-number="266" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC267" class="react-file-line html-div" data-testid="code-cell" data-line-number="267" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">result</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC268" class="react-file-line html-div" data-testid="code-cell" data-line-number="268" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC269" class="react-file-line html-div" data-testid="code-cell" data-line-number="269" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC270" class="react-file-line html-div" data-testid="code-cell" data-line-number="270" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC271" class="react-file-line html-div" data-testid="code-cell" data-line-number="271" style="position:relative"><span class="pl-en">basicblock_insert_instruction</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">block</span>, <span class="pl-smi">int</span> <span class="pl-s1">pos</span>, <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC272" class="react-file-line html-div" data-testid="code-cell" data-line-number="272" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(<span class="pl-en">basicblock_next_instr</span>(<span class="pl-s1">block</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC273" class="react-file-line html-div" data-testid="code-cell" data-line-number="273" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">pos</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC274" class="react-file-line html-div" data-testid="code-cell" data-line-number="274" style="position:relative">        <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC275" class="react-file-line html-div" data-testid="code-cell" data-line-number="275" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC276" class="react-file-line html-div" data-testid="code-cell" data-line-number="276" style="position:relative">    <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">pos</span>] <span class="pl-c1">=</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC277" class="react-file-line html-div" data-testid="code-cell" data-line-number="277" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC278" class="react-file-line html-div" data-testid="code-cell" data-line-number="278" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC279" class="react-file-line html-div" data-testid="code-cell" data-line-number="279" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC280" class="react-file-line html-div" data-testid="code-cell" data-line-number="280" style="position:relative"><span class="pl-c">/* For debugging purposes only */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC281" class="react-file-line html-div" data-testid="code-cell" data-line-number="281" style="position:relative"><span class="pl-k">#if</span> <span class="pl-c1">0</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC282" class="react-file-line html-div" data-testid="code-cell" data-line-number="282" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC283" class="react-file-line html-div" data-testid="code-cell" data-line-number="283" style="position:relative"><span class="pl-en">dump_instr</span>(<span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">i</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC284" class="react-file-line html-div" data-testid="code-cell" data-line-number="284" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC285" class="react-file-line html-div" data-testid="code-cell" data-line-number="285" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">jump</span> <span class="pl-c1">=</span> <span class="pl-en">is_jump</span>(<span class="pl-s1">i</span>) ? <span class="pl-s">&quot;jump &quot;</span> : <span class="pl-s">&quot;&quot;</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC286" class="react-file-line html-div" data-testid="code-cell" data-line-number="286" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC287" class="react-file-line html-div" data-testid="code-cell" data-line-number="287" style="position:relative">    <span class="pl-smi">char</span> <span class="pl-s1">arg</span>[<span class="pl-c1">128</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC288" class="react-file-line html-div" data-testid="code-cell" data-line-number="288" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC289" class="react-file-line html-div" data-testid="code-cell" data-line-number="289" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">arg</span> <span class="pl-c1">=</span> <span class="pl-c1">&#039;\0&#039;</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC290" class="react-file-line html-div" data-testid="code-cell" data-line-number="290" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">OPCODE_HAS_ARG</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC291" class="react-file-line html-div" data-testid="code-cell" data-line-number="291" style="position:relative">        <span class="pl-en">sprintf</span>(<span class="pl-s1">arg</span>, <span class="pl-s">&quot;arg: %d &quot;</span>, <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC292" class="react-file-line html-div" data-testid="code-cell" data-line-number="292" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC293" class="react-file-line html-div" data-testid="code-cell" data-line-number="293" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">HAS_TARGET</span>(<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC294" class="react-file-line html-div" data-testid="code-cell" data-line-number="294" style="position:relative">        <span class="pl-en">sprintf</span>(<span class="pl-s1">arg</span>, <span class="pl-s">&quot;target: %p [%d] &quot;</span>, <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>, <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC295" class="react-file-line html-div" data-testid="code-cell" data-line-number="295" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC296" class="react-file-line html-div" data-testid="code-cell" data-line-number="296" style="position:relative">    <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;line: %d, %s (%d)  %s%s\n&quot;</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC297" class="react-file-line html-div" data-testid="code-cell" data-line-number="297" style="position:relative">                    <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>.<span class="pl-c1">lineno</span>, <span class="pl-s1">_PyOpcode_OpName</span>[<span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>], <span class="pl-s1">i</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>, <span class="pl-s1">arg</span>, <span class="pl-s1">jump</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC298" class="react-file-line html-div" data-testid="code-cell" data-line-number="298" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC299" class="react-file-line html-div" data-testid="code-cell" data-line-number="299" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC300" class="react-file-line html-div" data-testid="code-cell" data-line-number="300" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC301" class="react-file-line html-div" data-testid="code-cell" data-line-number="301" style="position:relative"><span class="pl-en">basicblock_returns</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC302" class="react-file-line html-div" data-testid="code-cell" data-line-number="302" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC303" class="react-file-line html-div" data-testid="code-cell" data-line-number="303" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IS_RETURN_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC304" class="react-file-line html-div" data-testid="code-cell" data-line-number="304" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC305" class="react-file-line html-div" data-testid="code-cell" data-line-number="305" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC306" class="react-file-line html-div" data-testid="code-cell" data-line-number="306" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC307" class="react-file-line html-div" data-testid="code-cell" data-line-number="307" style="position:relative"><span class="pl-en">dump_basicblock</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>, <span class="pl-smi">bool</span> <span class="pl-s1">highlight</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC308" class="react-file-line html-div" data-testid="code-cell" data-line-number="308" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC309" class="react-file-line html-div" data-testid="code-cell" data-line-number="309" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">b_return</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_returns</span>(<span class="pl-s1">b</span>) ? <span class="pl-s">&quot;return &quot;</span> : <span class="pl-s">&quot;&quot;</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC310" class="react-file-line html-div" data-testid="code-cell" data-line-number="310" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">highlight</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC311" class="react-file-line html-div" data-testid="code-cell" data-line-number="311" style="position:relative">        <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;&gt;&gt;&gt; &quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC312" class="react-file-line html-div" data-testid="code-cell" data-line-number="312" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC313" class="react-file-line html-div" data-testid="code-cell" data-line-number="313" style="position:relative">    <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;%d: [EH=%d CLD=%d WRM=%d NO_FT=%d %p] used: %d, depth: %d, preds: %d %s\n&quot;</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC314" class="react-file-line html-div" data-testid="code-cell" data-line-number="314" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_except_handler</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_cold</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_warm</span>, <span class="pl-en">BB_NO_FALLTHROUGH</span>(<span class="pl-s1">b</span>), <span class="pl-s1">b</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC315" class="react-file-line html-div" data-testid="code-cell" data-line-number="315" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_predecessors</span>, <span class="pl-s1">b_return</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC316" class="react-file-line html-div" data-testid="code-cell" data-line-number="316" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">depth</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC317" class="react-file-line html-div" data-testid="code-cell" data-line-number="317" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC318" class="react-file-line html-div" data-testid="code-cell" data-line-number="318" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC319" class="react-file-line html-div" data-testid="code-cell" data-line-number="319" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC320" class="react-file-line html-div" data-testid="code-cell" data-line-number="320" style="position:relative">            <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;  [%02d] depth: %d &quot;</span>, <span class="pl-s1">i</span>, <span class="pl-s1">depth</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC321" class="react-file-line html-div" data-testid="code-cell" data-line-number="321" style="position:relative">            <span class="pl-en">dump_instr</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC322" class="react-file-line html-div" data-testid="code-cell" data-line-number="322" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">popped</span> <span class="pl-c1">=</span> <span class="pl-en">_PyOpcode_num_popped</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_opcode</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC324" class="react-file-line html-div" data-testid="code-cell" data-line-number="324" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">pushed</span> <span class="pl-c1">=</span> <span class="pl-en">_PyOpcode_num_pushed</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_opcode</span>, <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC325" class="react-file-line html-div" data-testid="code-cell" data-line-number="325" style="position:relative">            <span class="pl-s1">depth</span> <span class="pl-c1">+=</span> (<span class="pl-s1">pushed</span> <span class="pl-c1">-</span> <span class="pl-s1">popped</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC326" class="react-file-line html-div" data-testid="code-cell" data-line-number="326" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC327" class="react-file-line html-div" data-testid="code-cell" data-line-number="327" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC329" class="react-file-line html-div" data-testid="code-cell" data-line-number="329" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC330" class="react-file-line html-div" data-testid="code-cell" data-line-number="330" style="position:relative"><span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC331" class="react-file-line html-div" data-testid="code-cell" data-line-number="331" style="position:relative"><span class="pl-en">_PyCfgBuilder_DumpGraph</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>, <span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">mark</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC332" class="react-file-line html-div" data-testid="code-cell" data-line-number="332" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC333" class="react-file-line html-div" data-testid="code-cell" data-line-number="333" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC334" class="react-file-line html-div" data-testid="code-cell" data-line-number="334" style="position:relative">        <span class="pl-en">dump_basicblock</span>(<span class="pl-s1">b</span>, <span class="pl-s1">b</span> <span class="pl-c1">==</span> <span class="pl-s1">mark</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC335" class="react-file-line html-div" data-testid="code-cell" data-line-number="335" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC336" class="react-file-line html-div" data-testid="code-cell" data-line-number="336" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC337" class="react-file-line html-div" data-testid="code-cell" data-line-number="337" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC338" class="react-file-line html-div" data-testid="code-cell" data-line-number="338" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC339" class="react-file-line html-div" data-testid="code-cell" data-line-number="339" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC340" class="react-file-line html-div" data-testid="code-cell" data-line-number="340" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC341" class="react-file-line html-div" data-testid="code-cell" data-line-number="341" style="position:relative"><span class="pl-c">/***** CFG construction and modification *****/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative"><span class="pl-en">cfg_builder_use_next_block</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">block</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC346" class="react-file-line html-div" data-testid="code-cell" data-line-number="346" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">block</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC347" class="react-file-line html-div" data-testid="code-cell" data-line-number="347" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span> <span class="pl-c1">=</span> <span class="pl-s1">block</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC348" class="react-file-line html-div" data-testid="code-cell" data-line-number="348" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span> <span class="pl-c1">=</span> <span class="pl-s1">block</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC349" class="react-file-line html-div" data-testid="code-cell" data-line-number="349" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">block</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC350" class="react-file-line html-div" data-testid="code-cell" data-line-number="350" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC351" class="react-file-line html-div" data-testid="code-cell" data-line-number="351" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC352" class="react-file-line html-div" data-testid="code-cell" data-line-number="352" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC353" class="react-file-line html-div" data-testid="code-cell" data-line-number="353" style="position:relative"><span class="pl-en">basicblock_exits_scope</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC354" class="react-file-line html-div" data-testid="code-cell" data-line-number="354" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC355" class="react-file-line html-div" data-testid="code-cell" data-line-number="355" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IS_SCOPE_EXIT_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC356" class="react-file-line html-div" data-testid="code-cell" data-line-number="356" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC357" class="react-file-line html-div" data-testid="code-cell" data-line-number="357" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC358" class="react-file-line html-div" data-testid="code-cell" data-line-number="358" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">inline</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC359" class="react-file-line html-div" data-testid="code-cell" data-line-number="359" style="position:relative"><span class="pl-en">basicblock_has_eval_break</span>(<span class="pl-k">const</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC360" class="react-file-line html-div" data-testid="code-cell" data-line-number="360" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC361" class="react-file-line html-div" data-testid="code-cell" data-line-number="361" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-en">OPCODE_HAS_EVAL_BREAK</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC362" class="react-file-line html-div" data-testid="code-cell" data-line-number="362" style="position:relative">            <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC363" class="react-file-line html-div" data-testid="code-cell" data-line-number="363" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC364" class="react-file-line html-div" data-testid="code-cell" data-line-number="364" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC365" class="react-file-line html-div" data-testid="code-cell" data-line-number="365" style="position:relative">    <span class="pl-k">return</span> false;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC366" class="react-file-line html-div" data-testid="code-cell" data-line-number="366" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC367" class="react-file-line html-div" data-testid="code-cell" data-line-number="367" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC368" class="react-file-line html-div" data-testid="code-cell" data-line-number="368" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">bool</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC369" class="react-file-line html-div" data-testid="code-cell" data-line-number="369" style="position:relative"><span class="pl-en">cfg_builder_current_block_is_terminated</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC370" class="react-file-line html-div" data-testid="code-cell" data-line-number="370" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC371" class="react-file-line html-div" data-testid="code-cell" data-line-number="371" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC372" class="react-file-line html-div" data-testid="code-cell" data-line-number="372" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">last</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IS_TERMINATOR_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC373" class="react-file-line html-div" data-testid="code-cell" data-line-number="373" style="position:relative">        <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC374" class="react-file-line html-div" data-testid="code-cell" data-line-number="374" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC375" class="react-file-line html-div" data-testid="code-cell" data-line-number="375" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">IS_LABEL</span>(<span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC376" class="react-file-line html-div" data-testid="code-cell" data-line-number="376" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">last</span> <span class="pl-c1">||</span> <span class="pl-en">IS_LABEL</span>(<span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC377" class="react-file-line html-div" data-testid="code-cell" data-line-number="377" style="position:relative">            <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC378" class="react-file-line html-div" data-testid="code-cell" data-line-number="378" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC379" class="react-file-line html-div" data-testid="code-cell" data-line-number="379" style="position:relative">        <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC380" class="react-file-line html-div" data-testid="code-cell" data-line-number="380" style="position:relative">            <span class="pl-c">/* current block is empty, label it */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC381" class="react-file-line html-div" data-testid="code-cell" data-line-number="381" style="position:relative">            <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC382" class="react-file-line html-div" data-testid="code-cell" data-line-number="382" style="position:relative">            <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span> <span class="pl-c1">=</span> <span class="pl-c1">NO_LABEL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC383" class="react-file-line html-div" data-testid="code-cell" data-line-number="383" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC384" class="react-file-line html-div" data-testid="code-cell" data-line-number="384" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC385" class="react-file-line html-div" data-testid="code-cell" data-line-number="385" style="position:relative">    <span class="pl-k">return</span> false;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC386" class="react-file-line html-div" data-testid="code-cell" data-line-number="386" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC387" class="react-file-line html-div" data-testid="code-cell" data-line-number="387" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC388" class="react-file-line html-div" data-testid="code-cell" data-line-number="388" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC389" class="react-file-line html-div" data-testid="code-cell" data-line-number="389" style="position:relative"><span class="pl-en">cfg_builder_maybe_start_new_block</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC390" class="react-file-line html-div" data-testid="code-cell" data-line-number="390" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC391" class="react-file-line html-div" data-testid="code-cell" data-line-number="391" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">cfg_builder_current_block_is_terminated</span>(<span class="pl-s1">g</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC392" class="react-file-line html-div" data-testid="code-cell" data-line-number="392" style="position:relative">        <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-en">cfg_builder_new_block</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC393" class="react-file-line html-div" data-testid="code-cell" data-line-number="393" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">b</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC394" class="react-file-line html-div" data-testid="code-cell" data-line-number="394" style="position:relative">            <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC395" class="react-file-line html-div" data-testid="code-cell" data-line-number="395" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC396" class="react-file-line html-div" data-testid="code-cell" data-line-number="396" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC397" class="react-file-line html-div" data-testid="code-cell" data-line-number="397" style="position:relative">        <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span> <span class="pl-c1">=</span> <span class="pl-c1">NO_LABEL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC398" class="react-file-line html-div" data-testid="code-cell" data-line-number="398" style="position:relative">        <span class="pl-en">cfg_builder_use_next_block</span>(<span class="pl-s1">g</span>, <span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC399" class="react-file-line html-div" data-testid="code-cell" data-line-number="399" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC400" class="react-file-line html-div" data-testid="code-cell" data-line-number="400" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC401" class="react-file-line html-div" data-testid="code-cell" data-line-number="401" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC402" class="react-file-line html-div" data-testid="code-cell" data-line-number="402" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC403" class="react-file-line html-div" data-testid="code-cell" data-line-number="403" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">NDEBUG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC404" class="react-file-line html-div" data-testid="code-cell" data-line-number="404" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">bool</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC405" class="react-file-line html-div" data-testid="code-cell" data-line-number="405" style="position:relative"><span class="pl-en">cfg_builder_check</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC406" class="react-file-line html-div" data-testid="code-cell" data-line-number="406" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC407" class="react-file-line html-div" data-testid="code-cell" data-line-number="407" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">block</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span>; <span class="pl-s1">block</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">block</span> <span class="pl-c1">=</span> <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_list</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC408" class="react-file-line html-div" data-testid="code-cell" data-line-number="408" style="position:relative">        <span class="pl-en">assert</span>(!<span class="pl-en">_PyMem_IsPtrFreed</span>(<span class="pl-s1">block</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC409" class="react-file-line html-div" data-testid="code-cell" data-line-number="409" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC410" class="react-file-line html-div" data-testid="code-cell" data-line-number="410" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_ialloc</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> &gt;= <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_ialloc</span> &gt;= <span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC414" class="react-file-line html-div" data-testid="code-cell" data-line-number="414" style="position:relative">        <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC415" class="react-file-line html-div" data-testid="code-cell" data-line-number="415" style="position:relative">            <span class="pl-en">assert</span> (<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC416" class="react-file-line html-div" data-testid="code-cell" data-line-number="416" style="position:relative">            <span class="pl-en">assert</span> (<span class="pl-s1">block</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_ialloc</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC417" class="react-file-line html-div" data-testid="code-cell" data-line-number="417" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC418" class="react-file-line html-div" data-testid="code-cell" data-line-number="418" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC419" class="react-file-line html-div" data-testid="code-cell" data-line-number="419" style="position:relative">    <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC420" class="react-file-line html-div" data-testid="code-cell" data-line-number="420" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC421" class="react-file-line html-div" data-testid="code-cell" data-line-number="421" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC422" class="react-file-line html-div" data-testid="code-cell" data-line-number="422" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC423" class="react-file-line html-div" data-testid="code-cell" data-line-number="423" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC424" class="react-file-line html-div" data-testid="code-cell" data-line-number="424" style="position:relative"><span class="pl-en">init_cfg_builder</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC425" class="react-file-line html-div" data-testid="code-cell" data-line-number="425" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC426" class="react-file-line html-div" data-testid="code-cell" data-line-number="426" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC427" class="react-file-line html-div" data-testid="code-cell" data-line-number="427" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">block</span> <span class="pl-c1">=</span> <span class="pl-en">cfg_builder_new_block</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC428" class="react-file-line html-div" data-testid="code-cell" data-line-number="428" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">block</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC429" class="react-file-line html-div" data-testid="code-cell" data-line-number="429" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC430" class="react-file-line html-div" data-testid="code-cell" data-line-number="430" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC431" class="react-file-line html-div" data-testid="code-cell" data-line-number="431" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_entryblock</span> <span class="pl-c1">=</span> <span class="pl-s1">block</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC432" class="react-file-line html-div" data-testid="code-cell" data-line-number="432" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span> <span class="pl-c1">=</span> <span class="pl-c1">NO_LABEL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC433" class="react-file-line html-div" data-testid="code-cell" data-line-number="433" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC434" class="react-file-line html-div" data-testid="code-cell" data-line-number="434" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC435" class="react-file-line html-div" data-testid="code-cell" data-line-number="435" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC436" class="react-file-line html-div" data-testid="code-cell" data-line-number="436" style="position:relative"><span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC437" class="react-file-line html-div" data-testid="code-cell" data-line-number="437" style="position:relative"><span class="pl-en">_PyCfgBuilder_New</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC438" class="react-file-line html-div" data-testid="code-cell" data-line-number="438" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC439" class="react-file-line html-div" data-testid="code-cell" data-line-number="439" style="position:relative">    <span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-en">PyMem_Malloc</span>(<span class="pl-k">sizeof</span>(<span class="pl-s1">cfg_builder</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC440" class="react-file-line html-div" data-testid="code-cell" data-line-number="440" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">g</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC441" class="react-file-line html-div" data-testid="code-cell" data-line-number="441" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC442" class="react-file-line html-div" data-testid="code-cell" data-line-number="442" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC443" class="react-file-line html-div" data-testid="code-cell" data-line-number="443" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC444" class="react-file-line html-div" data-testid="code-cell" data-line-number="444" style="position:relative">    <span class="pl-en">memset</span>(<span class="pl-s1">g</span>, <span class="pl-c1">0</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">cfg_builder</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC445" class="react-file-line html-div" data-testid="code-cell" data-line-number="445" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">init_cfg_builder</span>(<span class="pl-s1">g</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC446" class="react-file-line html-div" data-testid="code-cell" data-line-number="446" style="position:relative">        <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC447" class="react-file-line html-div" data-testid="code-cell" data-line-number="447" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC448" class="react-file-line html-div" data-testid="code-cell" data-line-number="448" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC449" class="react-file-line html-div" data-testid="code-cell" data-line-number="449" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">g</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC450" class="react-file-line html-div" data-testid="code-cell" data-line-number="450" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC451" class="react-file-line html-div" data-testid="code-cell" data-line-number="451" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC452" class="react-file-line html-div" data-testid="code-cell" data-line-number="452" style="position:relative"><span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC453" class="react-file-line html-div" data-testid="code-cell" data-line-number="453" style="position:relative"><span class="pl-en">_PyCfgBuilder_Free</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC454" class="react-file-line html-div" data-testid="code-cell" data-line-number="454" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC455" class="react-file-line html-div" data-testid="code-cell" data-line-number="455" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">g</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC456" class="react-file-line html-div" data-testid="code-cell" data-line-number="456" style="position:relative">        <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">cfg_builder_check</span>(<span class="pl-s1">g</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC459" class="react-file-line html-div" data-testid="code-cell" data-line-number="459" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC460" class="react-file-line html-div" data-testid="code-cell" data-line-number="460" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC461" class="react-file-line html-div" data-testid="code-cell" data-line-number="461" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC462" class="react-file-line html-div" data-testid="code-cell" data-line-number="462" style="position:relative">            <span class="pl-en">PyMem_Free</span>((<span class="pl-smi">void</span> <span class="pl-c1">*</span>)<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC463" class="react-file-line html-div" data-testid="code-cell" data-line-number="463" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC464" class="react-file-line html-div" data-testid="code-cell" data-line-number="464" style="position:relative">        <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">next</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_list</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC465" class="react-file-line html-div" data-testid="code-cell" data-line-number="465" style="position:relative">        <span class="pl-en">PyMem_Free</span>((<span class="pl-smi">void</span> <span class="pl-c1">*</span>)<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC466" class="react-file-line html-div" data-testid="code-cell" data-line-number="466" style="position:relative">        <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC467" class="react-file-line html-div" data-testid="code-cell" data-line-number="467" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC468" class="react-file-line html-div" data-testid="code-cell" data-line-number="468" style="position:relative">    <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC469" class="react-file-line html-div" data-testid="code-cell" data-line-number="469" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC470" class="react-file-line html-div" data-testid="code-cell" data-line-number="470" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC471" class="react-file-line html-div" data-testid="code-cell" data-line-number="471" style="position:relative"><span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC472" class="react-file-line html-div" data-testid="code-cell" data-line-number="472" style="position:relative"><span class="pl-en">_PyCfgBuilder_CheckSize</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC473" class="react-file-line html-div" data-testid="code-cell" data-line-number="473" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC474" class="react-file-line html-div" data-testid="code-cell" data-line-number="474" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">nblocks</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC475" class="react-file-line html-div" data-testid="code-cell" data-line-number="475" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_block_list</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_list</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC476" class="react-file-line html-div" data-testid="code-cell" data-line-number="476" style="position:relative">        <span class="pl-s1">nblocks</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC477" class="react-file-line html-div" data-testid="code-cell" data-line-number="477" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC478" class="react-file-line html-div" data-testid="code-cell" data-line-number="478" style="position:relative">    <span class="pl-k">if</span> ((<span class="pl-smi">size_t</span>)<span class="pl-s1">nblocks</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">SIZE_MAX</span> / <span class="pl-k">sizeof</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC479" class="react-file-line html-div" data-testid="code-cell" data-line-number="479" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC480" class="react-file-line html-div" data-testid="code-cell" data-line-number="480" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC481" class="react-file-line html-div" data-testid="code-cell" data-line-number="481" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC482" class="react-file-line html-div" data-testid="code-cell" data-line-number="482" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC483" class="react-file-line html-div" data-testid="code-cell" data-line-number="483" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC484" class="react-file-line html-div" data-testid="code-cell" data-line-number="484" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC485" class="react-file-line html-div" data-testid="code-cell" data-line-number="485" style="position:relative"><span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC486" class="react-file-line html-div" data-testid="code-cell" data-line-number="486" style="position:relative"><span class="pl-en">_PyCfgBuilder_UseLabel</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>, <span class="pl-smi">jump_target_label</span> <span class="pl-s1">lbl</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC487" class="react-file-line html-div" data-testid="code-cell" data-line-number="487" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC488" class="react-file-line html-div" data-testid="code-cell" data-line-number="488" style="position:relative">    <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_current_label</span> <span class="pl-c1">=</span> <span class="pl-s1">lbl</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC489" class="react-file-line html-div" data-testid="code-cell" data-line-number="489" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">cfg_builder_maybe_start_new_block</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC490" class="react-file-line html-div" data-testid="code-cell" data-line-number="490" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC491" class="react-file-line html-div" data-testid="code-cell" data-line-number="491" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC492" class="react-file-line html-div" data-testid="code-cell" data-line-number="492" style="position:relative"><span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC493" class="react-file-line html-div" data-testid="code-cell" data-line-number="493" style="position:relative"><span class="pl-en">_PyCfgBuilder_Addop</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>, <span class="pl-smi">int</span> <span class="pl-s1">opcode</span>, <span class="pl-smi">int</span> <span class="pl-s1">oparg</span>, <span class="pl-smi">location</span> <span class="pl-s1">loc</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC494" class="react-file-line html-div" data-testid="code-cell" data-line-number="494" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC495" class="react-file-line html-div" data-testid="code-cell" data-line-number="495" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(<span class="pl-en">cfg_builder_maybe_start_new_block</span>(<span class="pl-s1">g</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC496" class="react-file-line html-div" data-testid="code-cell" data-line-number="496" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">basicblock_addop</span>(<span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_curblock</span>, <span class="pl-s1">opcode</span>, <span class="pl-s1">oparg</span>, <span class="pl-s1">loc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC497" class="react-file-line html-div" data-testid="code-cell" data-line-number="497" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC498" class="react-file-line html-div" data-testid="code-cell" data-line-number="498" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC499" class="react-file-line html-div" data-testid="code-cell" data-line-number="499" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC500" class="react-file-line html-div" data-testid="code-cell" data-line-number="500" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC501" class="react-file-line html-div" data-testid="code-cell" data-line-number="501" style="position:relative"><span class="pl-en">next_nonempty_block</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC502" class="react-file-line html-div" data-testid="code-cell" data-line-number="502" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC503" class="react-file-line html-div" data-testid="code-cell" data-line-number="503" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">b</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC504" class="react-file-line html-div" data-testid="code-cell" data-line-number="504" style="position:relative">        <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC505" class="react-file-line html-div" data-testid="code-cell" data-line-number="505" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC508" class="react-file-line html-div" data-testid="code-cell" data-line-number="508" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC509" class="react-file-line html-div" data-testid="code-cell" data-line-number="509" style="position:relative"><span class="pl-c">/***** debugging helpers *****/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">NDEBUG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC512" class="react-file-line html-div" data-testid="code-cell" data-line-number="512" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">remove_redundant_nops</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC513" class="react-file-line html-div" data-testid="code-cell" data-line-number="513" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC514" class="react-file-line html-div" data-testid="code-cell" data-line-number="514" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">bool</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC515" class="react-file-line html-div" data-testid="code-cell" data-line-number="515" style="position:relative"><span class="pl-en">no_redundant_nops</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC516" class="react-file-line html-div" data-testid="code-cell" data-line-number="516" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">remove_redundant_nops</span>(<span class="pl-s1">g</span>) <span class="pl-c1">!=</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC517" class="react-file-line html-div" data-testid="code-cell" data-line-number="517" style="position:relative">        <span class="pl-k">return</span> false;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC518" class="react-file-line html-div" data-testid="code-cell" data-line-number="518" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC519" class="react-file-line html-div" data-testid="code-cell" data-line-number="519" style="position:relative">    <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC520" class="react-file-line html-div" data-testid="code-cell" data-line-number="520" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC521" class="react-file-line html-div" data-testid="code-cell" data-line-number="521" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC522" class="react-file-line html-div" data-testid="code-cell" data-line-number="522" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">bool</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC523" class="react-file-line html-div" data-testid="code-cell" data-line-number="523" style="position:relative"><span class="pl-en">no_redundant_jumps</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC524" class="react-file-line html-div" data-testid="code-cell" data-line-number="524" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC525" class="react-file-line html-div" data-testid="code-cell" data-line-number="525" style="position:relative">        <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC526" class="react-file-line html-div" data-testid="code-cell" data-line-number="526" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">last</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC527" class="react-file-line html-div" data-testid="code-cell" data-line-number="527" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">IS_UNCONDITIONAL_JUMP_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC528" class="react-file-line html-div" data-testid="code-cell" data-line-number="528" style="position:relative">                <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">next</span> <span class="pl-c1">=</span> <span class="pl-en">next_nonempty_block</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC529" class="react-file-line html-div" data-testid="code-cell" data-line-number="529" style="position:relative">                <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">jump_target</span> <span class="pl-c1">=</span> <span class="pl-en">next_nonempty_block</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC530" class="react-file-line html-div" data-testid="code-cell" data-line-number="530" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">jump_target</span> <span class="pl-c1">==</span> <span class="pl-s1">next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC531" class="react-file-line html-div" data-testid="code-cell" data-line-number="531" style="position:relative">                    <span class="pl-en">assert</span>(<span class="pl-s1">next</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC532" class="react-file-line html-div" data-testid="code-cell" data-line-number="532" style="position:relative">                    <span class="pl-k">if</span> (<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>.<span class="pl-c1">lineno</span> <span class="pl-c1">==</span> <span class="pl-s1">next</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-c1">0</span>].<span class="pl-c1">i_loc</span>.<span class="pl-c1">lineno</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC533" class="react-file-line html-div" data-testid="code-cell" data-line-number="533" style="position:relative">                        <span class="pl-en">assert</span>(<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC534" class="react-file-line html-div" data-testid="code-cell" data-line-number="534" style="position:relative">                        <span class="pl-k">return</span> false;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC535" class="react-file-line html-div" data-testid="code-cell" data-line-number="535" style="position:relative">                    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC536" class="react-file-line html-div" data-testid="code-cell" data-line-number="536" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC537" class="react-file-line html-div" data-testid="code-cell" data-line-number="537" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC538" class="react-file-line html-div" data-testid="code-cell" data-line-number="538" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC539" class="react-file-line html-div" data-testid="code-cell" data-line-number="539" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC540" class="react-file-line html-div" data-testid="code-cell" data-line-number="540" style="position:relative">    <span class="pl-k">return</span> true;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC541" class="react-file-line html-div" data-testid="code-cell" data-line-number="541" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC542" class="react-file-line html-div" data-testid="code-cell" data-line-number="542" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC543" class="react-file-line html-div" data-testid="code-cell" data-line-number="543" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC544" class="react-file-line html-div" data-testid="code-cell" data-line-number="544" style="position:relative"><span class="pl-c">/***** CFG preprocessing (jump targets and exceptions) *****/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC545" class="react-file-line html-div" data-testid="code-cell" data-line-number="545" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC546" class="react-file-line html-div" data-testid="code-cell" data-line-number="546" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC547" class="react-file-line html-div" data-testid="code-cell" data-line-number="547" style="position:relative"><span class="pl-en">normalize_jumps_in_block</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC548" class="react-file-line html-div" data-testid="code-cell" data-line-number="548" style="position:relative">    <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">last</span> <span class="pl-c1">=</span> <span class="pl-en">basicblock_last_instr</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC549" class="react-file-line html-div" data-testid="code-cell" data-line-number="549" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">last</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span> <span class="pl-c1">||</span> !<span class="pl-en">IS_CONDITIONAL_JUMP_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC550" class="react-file-line html-div" data-testid="code-cell" data-line-number="550" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC551" class="react-file-line html-div" data-testid="code-cell" data-line-number="551" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC552" class="react-file-line html-div" data-testid="code-cell" data-line-number="552" style="position:relative">    <span class="pl-en">assert</span>(!<span class="pl-en">IS_ASSEMBLER_OPCODE</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC553" class="react-file-line html-div" data-testid="code-cell" data-line-number="553" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC554" class="react-file-line html-div" data-testid="code-cell" data-line-number="554" style="position:relative">    <span class="pl-smi">bool</span> <span class="pl-s1">is_forward</span> <span class="pl-c1">=</span> <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC555" class="react-file-line html-div" data-testid="code-cell" data-line-number="555" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">is_forward</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC556" class="react-file-line html-div" data-testid="code-cell" data-line-number="556" style="position:relative">        <span class="pl-en">RETURN_IF_ERROR</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative">            <span class="pl-en">basicblock_addop</span>(<span class="pl-s1">b</span>, <span class="pl-c1">NOT_TAKEN</span>, <span class="pl-c1">0</span>, <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC561" class="react-file-line html-div" data-testid="code-cell" data-line-number="561" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">reversed_opcode</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC562" class="react-file-line html-div" data-testid="code-cell" data-line-number="562" style="position:relative">    <span class="pl-k">switch</span>(<span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC563" class="react-file-line html-div" data-testid="code-cell" data-line-number="563" style="position:relative">        <span class="pl-k">case</span> <span class="pl-c1">POP_JUMP_IF_NOT_NONE</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC564" class="react-file-line html-div" data-testid="code-cell" data-line-number="564" style="position:relative">            <span class="pl-s1">reversed_opcode</span> <span class="pl-c1">=</span> <span class="pl-c1">POP_JUMP_IF_NONE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC565" class="react-file-line html-div" data-testid="code-cell" data-line-number="565" style="position:relative">            <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC566" class="react-file-line html-div" data-testid="code-cell" data-line-number="566" style="position:relative">        <span class="pl-k">case</span> <span class="pl-c1">POP_JUMP_IF_NONE</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative">            <span class="pl-s1">reversed_opcode</span> <span class="pl-c1">=</span> <span class="pl-c1">POP_JUMP_IF_NOT_NONE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative">            <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative">        <span class="pl-k">case</span> <span class="pl-c1">POP_JUMP_IF_FALSE</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC570" class="react-file-line html-div" data-testid="code-cell" data-line-number="570" style="position:relative">            <span class="pl-s1">reversed_opcode</span> <span class="pl-c1">=</span> <span class="pl-c1">POP_JUMP_IF_TRUE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC571" class="react-file-line html-div" data-testid="code-cell" data-line-number="571" style="position:relative">            <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC572" class="react-file-line html-div" data-testid="code-cell" data-line-number="572" style="position:relative">        <span class="pl-k">case</span> <span class="pl-c1">POP_JUMP_IF_TRUE</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC573" class="react-file-line html-div" data-testid="code-cell" data-line-number="573" style="position:relative">            <span class="pl-s1">reversed_opcode</span> <span class="pl-c1">=</span> <span class="pl-c1">POP_JUMP_IF_FALSE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC574" class="react-file-line html-div" data-testid="code-cell" data-line-number="574" style="position:relative">            <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC575" class="react-file-line html-div" data-testid="code-cell" data-line-number="575" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC576" class="react-file-line html-div" data-testid="code-cell" data-line-number="576" style="position:relative">    <span class="pl-c">/* transform &#039;conditional jump T&#039; to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC577" class="react-file-line html-div" data-testid="code-cell" data-line-number="577" style="position:relative"><span class="pl-c">     * &#039;reversed_jump b_next&#039; followed by &#039;jump_backwards T&#039;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC578" class="react-file-line html-div" data-testid="code-cell" data-line-number="578" style="position:relative"><span class="pl-c">     */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC579" class="react-file-line html-div" data-testid="code-cell" data-line-number="579" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC580" class="react-file-line html-div" data-testid="code-cell" data-line-number="580" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">target</span> <span class="pl-c1">=</span> <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC581" class="react-file-line html-div" data-testid="code-cell" data-line-number="581" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">backwards_jump</span> <span class="pl-c1">=</span> <span class="pl-en">cfg_builder_new_block</span>(<span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC582" class="react-file-line html-div" data-testid="code-cell" data-line-number="582" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">backwards_jump</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC583" class="react-file-line html-div" data-testid="code-cell" data-line-number="583" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC584" class="react-file-line html-div" data-testid="code-cell" data-line-number="584" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC585" class="react-file-line html-div" data-testid="code-cell" data-line-number="585" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC586" class="react-file-line html-div" data-testid="code-cell" data-line-number="586" style="position:relative">        <span class="pl-en">basicblock_addop</span>(<span class="pl-s1">backwards_jump</span>, <span class="pl-c1">NOT_TAKEN</span>, <span class="pl-c1">0</span>, <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC587" class="react-file-line html-div" data-testid="code-cell" data-line-number="587" style="position:relative">    <span class="pl-en">RETURN_IF_ERROR</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC588" class="react-file-line html-div" data-testid="code-cell" data-line-number="588" style="position:relative">        <span class="pl-en">basicblock_add_jump</span>(<span class="pl-s1">backwards_jump</span>, <span class="pl-c1">JUMP</span>, <span class="pl-s1">target</span>, <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC589" class="react-file-line html-div" data-testid="code-cell" data-line-number="589" style="position:relative">    <span class="pl-s1">backwards_jump</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">=</span> <span class="pl-s1">target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC590" class="react-file-line html-div" data-testid="code-cell" data-line-number="590" style="position:relative">    <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">=</span> <span class="pl-s1">reversed_opcode</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC591" class="react-file-line html-div" data-testid="code-cell" data-line-number="591" style="position:relative">    <span class="pl-s1">last</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC592" class="react-file-line html-div" data-testid="code-cell" data-line-number="592" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC593" class="react-file-line html-div" data-testid="code-cell" data-line-number="593" style="position:relative">    <span class="pl-s1">backwards_jump</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_cold</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_cold</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC594" class="react-file-line html-div" data-testid="code-cell" data-line-number="594" style="position:relative">    <span class="pl-s1">backwards_jump</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC595" class="react-file-line html-div" data-testid="code-cell" data-line-number="595" style="position:relative">    <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span> <span class="pl-c1">=</span> <span class="pl-s1">backwards_jump</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC596" class="react-file-line html-div" data-testid="code-cell" data-line-number="596" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC597" class="react-file-line html-div" data-testid="code-cell" data-line-number="597" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC598" class="react-file-line html-div" data-testid="code-cell" data-line-number="598" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC599" class="react-file-line html-div" data-testid="code-cell" data-line-number="599" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC600" class="react-file-line html-div" data-testid="code-cell" data-line-number="600" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative"><span class="pl-en">normalize_jumps</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC602" class="react-file-line html-div" data-testid="code-cell" data-line-number="602" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC603" class="react-file-line html-div" data-testid="code-cell" data-line-number="603" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_entryblock</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative">        <span class="pl-en">RETURN_IF_ERROR</span>(<span class="pl-en">normalize_jumps_in_block</span>(<span class="pl-s1">g</span>, <span class="pl-s1">b</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC610" class="react-file-line html-div" data-testid="code-cell" data-line-number="610" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC611" class="react-file-line html-div" data-testid="code-cell" data-line-number="611" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC612" class="react-file-line html-div" data-testid="code-cell" data-line-number="612" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC613" class="react-file-line html-div" data-testid="code-cell" data-line-number="613" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC614" class="react-file-line html-div" data-testid="code-cell" data-line-number="614" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC615" class="react-file-line html-div" data-testid="code-cell" data-line-number="615" style="position:relative"><span class="pl-en">check_cfg</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC616" class="react-file-line html-div" data-testid="code-cell" data-line-number="616" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC617" class="react-file-line html-div" data-testid="code-cell" data-line-number="617" style="position:relative">        <span class="pl-c">/* Raise SystemError if jump or exit is not last instruction in the block. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC618" class="react-file-line html-div" data-testid="code-cell" data-line-number="618" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC619" class="react-file-line html-div" data-testid="code-cell" data-line-number="619" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">opcode</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>].<span class="pl-c1">i_opcode</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC620" class="react-file-line html-div" data-testid="code-cell" data-line-number="620" style="position:relative">            <span class="pl-en">assert</span>(!<span class="pl-en">IS_ASSEMBLER_OPCODE</span>(<span class="pl-s1">opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC621" class="react-file-line html-div" data-testid="code-cell" data-line-number="621" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">IS_TERMINATOR_OPCODE</span>(<span class="pl-s1">opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC622" class="react-file-line html-div" data-testid="code-cell" data-line-number="622" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">!=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC623" class="react-file-line html-div" data-testid="code-cell" data-line-number="623" style="position:relative">                    <span class="pl-en">PyErr_SetString</span>(<span class="pl-s1">PyExc_SystemError</span>, <span class="pl-s">&quot;malformed control flow graph.&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC624" class="react-file-line html-div" data-testid="code-cell" data-line-number="624" style="position:relative">                    <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC625" class="react-file-line html-div" data-testid="code-cell" data-line-number="625" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC626" class="react-file-line html-div" data-testid="code-cell" data-line-number="626" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC627" class="react-file-line html-div" data-testid="code-cell" data-line-number="627" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC628" class="react-file-line html-div" data-testid="code-cell" data-line-number="628" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC629" class="react-file-line html-div" data-testid="code-cell" data-line-number="629" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC630" class="react-file-line html-div" data-testid="code-cell" data-line-number="630" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC631" class="react-file-line html-div" data-testid="code-cell" data-line-number="631" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC632" class="react-file-line html-div" data-testid="code-cell" data-line-number="632" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC633" class="react-file-line html-div" data-testid="code-cell" data-line-number="633" style="position:relative"><span class="pl-en">get_max_label</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC634" class="react-file-line html-div" data-testid="code-cell" data-line-number="634" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC635" class="react-file-line html-div" data-testid="code-cell" data-line-number="635" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">lbl</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC636" class="react-file-line html-div" data-testid="code-cell" data-line-number="636" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC637" class="react-file-line html-div" data-testid="code-cell" data-line-number="637" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">lbl</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC638" class="react-file-line html-div" data-testid="code-cell" data-line-number="638" style="position:relative">            <span class="pl-s1">lbl</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC639" class="react-file-line html-div" data-testid="code-cell" data-line-number="639" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC640" class="react-file-line html-div" data-testid="code-cell" data-line-number="640" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC641" class="react-file-line html-div" data-testid="code-cell" data-line-number="641" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">lbl</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC642" class="react-file-line html-div" data-testid="code-cell" data-line-number="642" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC643" class="react-file-line html-div" data-testid="code-cell" data-line-number="643" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC644" class="react-file-line html-div" data-testid="code-cell" data-line-number="644" style="position:relative"><span class="pl-c">/* Calculate the actual jump target from the target_label */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC645" class="react-file-line html-div" data-testid="code-cell" data-line-number="645" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC646" class="react-file-line html-div" data-testid="code-cell" data-line-number="646" style="position:relative"><span class="pl-en">translate_jump_labels_to_targets</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC647" class="react-file-line html-div" data-testid="code-cell" data-line-number="647" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC648" class="react-file-line html-div" data-testid="code-cell" data-line-number="648" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">max_label</span> <span class="pl-c1">=</span> <span class="pl-en">get_max_label</span>(<span class="pl-s1">entryblock</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC649" class="react-file-line html-div" data-testid="code-cell" data-line-number="649" style="position:relative">    <span class="pl-smi">size_t</span> <span class="pl-s1">mapsize</span> <span class="pl-c1">=</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span>) <span class="pl-c1">*</span> (<span class="pl-s1">max_label</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC650" class="react-file-line html-div" data-testid="code-cell" data-line-number="650" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">label2block</span> <span class="pl-c1">=</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span>)<span class="pl-en">PyMem_Malloc</span>(<span class="pl-s1">mapsize</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC651" class="react-file-line html-div" data-testid="code-cell" data-line-number="651" style="position:relative">    <span class="pl-k">if</span> (!<span class="pl-s1">label2block</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC652" class="react-file-line html-div" data-testid="code-cell" data-line-number="652" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC653" class="react-file-line html-div" data-testid="code-cell" data-line-number="653" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC654" class="react-file-line html-div" data-testid="code-cell" data-line-number="654" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC655" class="react-file-line html-div" data-testid="code-cell" data-line-number="655" style="position:relative">    <span class="pl-en">memset</span>(<span class="pl-s1">label2block</span>, <span class="pl-c1">0</span>, <span class="pl-s1">mapsize</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC656" class="react-file-line html-div" data-testid="code-cell" data-line-number="656" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC657" class="react-file-line html-div" data-testid="code-cell" data-line-number="657" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span> &gt;= <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC658" class="react-file-line html-div" data-testid="code-cell" data-line-number="658" style="position:relative">            <span class="pl-s1">label2block</span>[<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span>] <span class="pl-c1">=</span> <span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC659" class="react-file-line html-div" data-testid="code-cell" data-line-number="659" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC660" class="react-file-line html-div" data-testid="code-cell" data-line-number="660" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC661" class="react-file-line html-div" data-testid="code-cell" data-line-number="661" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC662" class="react-file-line html-div" data-testid="code-cell" data-line-number="662" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC663" class="react-file-line html-div" data-testid="code-cell" data-line-number="663" style="position:relative">            <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC664" class="react-file-line html-div" data-testid="code-cell" data-line-number="664" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC665" class="react-file-line html-div" data-testid="code-cell" data-line-number="665" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">HAS_TARGET</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC666" class="react-file-line html-div" data-testid="code-cell" data-line-number="666" style="position:relative">                <span class="pl-smi">int</span> <span class="pl-s1">lbl</span> <span class="pl-c1">=</span> <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC667" class="react-file-line html-div" data-testid="code-cell" data-line-number="667" style="position:relative">                <span class="pl-en">assert</span>(<span class="pl-s1">lbl</span> &gt;= <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">lbl</span> &lt;= <span class="pl-s1">max_label</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC668" class="react-file-line html-div" data-testid="code-cell" data-line-number="668" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">=</span> <span class="pl-s1">label2block</span>[<span class="pl-s1">lbl</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC669" class="react-file-line html-div" data-testid="code-cell" data-line-number="669" style="position:relative">                <span class="pl-en">assert</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC670" class="react-file-line html-div" data-testid="code-cell" data-line-number="670" style="position:relative">                <span class="pl-en">assert</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_label</span>.<span class="pl-c1">id</span> <span class="pl-c1">==</span> <span class="pl-s1">lbl</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC671" class="react-file-line html-div" data-testid="code-cell" data-line-number="671" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC672" class="react-file-line html-div" data-testid="code-cell" data-line-number="672" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC673" class="react-file-line html-div" data-testid="code-cell" data-line-number="673" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC674" class="react-file-line html-div" data-testid="code-cell" data-line-number="674" style="position:relative">    <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">label2block</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC675" class="react-file-line html-div" data-testid="code-cell" data-line-number="675" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC676" class="react-file-line html-div" data-testid="code-cell" data-line-number="676" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC677" class="react-file-line html-div" data-testid="code-cell" data-line-number="677" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC678" class="react-file-line html-div" data-testid="code-cell" data-line-number="678" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC679" class="react-file-line html-div" data-testid="code-cell" data-line-number="679" style="position:relative"><span class="pl-en">mark_except_handlers</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC680" class="react-file-line html-div" data-testid="code-cell" data-line-number="680" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">NDEBUG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC681" class="react-file-line html-div" data-testid="code-cell" data-line-number="681" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC682" class="react-file-line html-div" data-testid="code-cell" data-line-number="682" style="position:relative">        <span class="pl-en">assert</span>(!<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_except_handler</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC683" class="react-file-line html-div" data-testid="code-cell" data-line-number="683" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC684" class="react-file-line html-div" data-testid="code-cell" data-line-number="684" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC685" class="react-file-line html-div" data-testid="code-cell" data-line-number="685" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC686" class="react-file-line html-div" data-testid="code-cell" data-line-number="686" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span><span class="pl-c1">=</span><span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC687" class="react-file-line html-div" data-testid="code-cell" data-line-number="687" style="position:relative">            <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC688" class="react-file-line html-div" data-testid="code-cell" data-line-number="688" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">is_block_push</span>(<span class="pl-s1">instr</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC689" class="react-file-line html-div" data-testid="code-cell" data-line-number="689" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_except_handler</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC690" class="react-file-line html-div" data-testid="code-cell" data-line-number="690" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC691" class="react-file-line html-div" data-testid="code-cell" data-line-number="691" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC692" class="react-file-line html-div" data-testid="code-cell" data-line-number="692" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC693" class="react-file-line html-div" data-testid="code-cell" data-line-number="693" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC694" class="react-file-line html-div" data-testid="code-cell" data-line-number="694" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC695" class="react-file-line html-div" data-testid="code-cell" data-line-number="695" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC696" class="react-file-line html-div" data-testid="code-cell" data-line-number="696" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC697" class="react-file-line html-div" data-testid="code-cell" data-line-number="697" style="position:relative"><span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC698" class="react-file-line html-div" data-testid="code-cell" data-line-number="698" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">handlers</span>[<span class="pl-c1">CO_MAXBLOCKS</span><span class="pl-c1">+</span><span class="pl-c1">2</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC699" class="react-file-line html-div" data-testid="code-cell" data-line-number="699" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">depth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC700" class="react-file-line html-div" data-testid="code-cell" data-line-number="700" style="position:relative">};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC701" class="react-file-line html-div" data-testid="code-cell" data-line-number="701" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC702" class="react-file-line html-div" data-testid="code-cell" data-line-number="702" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC703" class="react-file-line html-div" data-testid="code-cell" data-line-number="703" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC704" class="react-file-line html-div" data-testid="code-cell" data-line-number="704" style="position:relative"><span class="pl-en">push_except_block</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">stack</span>, <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">setup</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC705" class="react-file-line html-div" data-testid="code-cell" data-line-number="705" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-en">is_block_push</span>(<span class="pl-s1">setup</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC706" class="react-file-line html-div" data-testid="code-cell" data-line-number="706" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">opcode</span> <span class="pl-c1">=</span> <span class="pl-s1">setup</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC707" class="react-file-line html-div" data-testid="code-cell" data-line-number="707" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span> <span class="pl-s1">target</span> <span class="pl-c1">=</span> <span class="pl-s1">setup</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC708" class="react-file-line html-div" data-testid="code-cell" data-line-number="708" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">SETUP_WITH</span> <span class="pl-c1">||</span> <span class="pl-s1">opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">SETUP_CLEANUP</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC709" class="react-file-line html-div" data-testid="code-cell" data-line-number="709" style="position:relative">        <span class="pl-s1">target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_preserve_lasti</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC710" class="react-file-line html-div" data-testid="code-cell" data-line-number="710" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC711" class="react-file-line html-div" data-testid="code-cell" data-line-number="711" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span> &lt;= <span class="pl-c1">CO_MAXBLOCKS</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC712" class="react-file-line html-div" data-testid="code-cell" data-line-number="712" style="position:relative">    <span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">handlers</span>[<span class="pl-c1">++</span><span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span>] <span class="pl-c1">=</span> <span class="pl-s1">target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC713" class="react-file-line html-div" data-testid="code-cell" data-line-number="713" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC714" class="react-file-line html-div" data-testid="code-cell" data-line-number="714" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC715" class="react-file-line html-div" data-testid="code-cell" data-line-number="715" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC716" class="react-file-line html-div" data-testid="code-cell" data-line-number="716" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC717" class="react-file-line html-div" data-testid="code-cell" data-line-number="717" style="position:relative"><span class="pl-en">pop_except_block</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC718" class="react-file-line html-div" data-testid="code-cell" data-line-number="718" style="position:relative">    <span class="pl-en">assert</span>(<span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC719" class="react-file-line html-div" data-testid="code-cell" data-line-number="719" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">handlers</span>[<span class="pl-c1">--</span><span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC720" class="react-file-line html-div" data-testid="code-cell" data-line-number="720" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC721" class="react-file-line html-div" data-testid="code-cell" data-line-number="721" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC722" class="react-file-line html-div" data-testid="code-cell" data-line-number="722" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC723" class="react-file-line html-div" data-testid="code-cell" data-line-number="723" style="position:relative"><span class="pl-en">except_stack_top</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC724" class="react-file-line html-div" data-testid="code-cell" data-line-number="724" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">handlers</span>[<span class="pl-s1">stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC725" class="react-file-line html-div" data-testid="code-cell" data-line-number="725" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC726" class="react-file-line html-div" data-testid="code-cell" data-line-number="726" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC727" class="react-file-line html-div" data-testid="code-cell" data-line-number="727" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC728" class="react-file-line html-div" data-testid="code-cell" data-line-number="728" style="position:relative"><span class="pl-en">make_except_stack</span>(<span class="pl-smi">void</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC729" class="react-file-line html-div" data-testid="code-cell" data-line-number="729" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">new</span> <span class="pl-c1">=</span> <span class="pl-en">PyMem_Malloc</span>(<span class="pl-k">sizeof</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC730" class="react-file-line html-div" data-testid="code-cell" data-line-number="730" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">new</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC731" class="react-file-line html-div" data-testid="code-cell" data-line-number="731" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC732" class="react-file-line html-div" data-testid="code-cell" data-line-number="732" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC733" class="react-file-line html-div" data-testid="code-cell" data-line-number="733" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC734" class="react-file-line html-div" data-testid="code-cell" data-line-number="734" style="position:relative">    <span class="pl-s1">new</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC735" class="react-file-line html-div" data-testid="code-cell" data-line-number="735" style="position:relative">    <span class="pl-s1">new</span><span class="pl-c1">-&gt;</span><span class="pl-c1">handlers</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC736" class="react-file-line html-div" data-testid="code-cell" data-line-number="736" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">new</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC737" class="react-file-line html-div" data-testid="code-cell" data-line-number="737" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC738" class="react-file-line html-div" data-testid="code-cell" data-line-number="738" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC739" class="react-file-line html-div" data-testid="code-cell" data-line-number="739" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC740" class="react-file-line html-div" data-testid="code-cell" data-line-number="740" style="position:relative"><span class="pl-en">copy_except_stack</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC741" class="react-file-line html-div" data-testid="code-cell" data-line-number="741" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">copy</span> <span class="pl-c1">=</span> <span class="pl-en">PyMem_Malloc</span>(<span class="pl-k">sizeof</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC742" class="react-file-line html-div" data-testid="code-cell" data-line-number="742" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">copy</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC743" class="react-file-line html-div" data-testid="code-cell" data-line-number="743" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC744" class="react-file-line html-div" data-testid="code-cell" data-line-number="744" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC745" class="react-file-line html-div" data-testid="code-cell" data-line-number="745" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC746" class="react-file-line html-div" data-testid="code-cell" data-line-number="746" style="position:relative">    <span class="pl-en">memcpy</span>(<span class="pl-s1">copy</span>, <span class="pl-s1">stack</span>, <span class="pl-k">sizeof</span>(<span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC747" class="react-file-line html-div" data-testid="code-cell" data-line-number="747" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">copy</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC748" class="react-file-line html-div" data-testid="code-cell" data-line-number="748" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC749" class="react-file-line html-div" data-testid="code-cell" data-line-number="749" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC750" class="react-file-line html-div" data-testid="code-cell" data-line-number="750" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">basicblock</span><span class="pl-c1">*</span><span class="pl-c1">*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC751" class="react-file-line html-div" data-testid="code-cell" data-line-number="751" style="position:relative"><span class="pl-en">make_cfg_traversal_stack</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC752" class="react-file-line html-div" data-testid="code-cell" data-line-number="752" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">nblocks</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC753" class="react-file-line html-div" data-testid="code-cell" data-line-number="753" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC754" class="react-file-line html-div" data-testid="code-cell" data-line-number="754" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC755" class="react-file-line html-div" data-testid="code-cell" data-line-number="755" style="position:relative">        <span class="pl-s1">nblocks</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC756" class="react-file-line html-div" data-testid="code-cell" data-line-number="756" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC757" class="react-file-line html-div" data-testid="code-cell" data-line-number="757" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">stack</span> <span class="pl-c1">=</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span>)<span class="pl-en">PyMem_Malloc</span>(<span class="pl-k">sizeof</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span>) <span class="pl-c1">*</span> <span class="pl-s1">nblocks</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC758" class="react-file-line html-div" data-testid="code-cell" data-line-number="758" style="position:relative">    <span class="pl-k">if</span> (!<span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC759" class="react-file-line html-div" data-testid="code-cell" data-line-number="759" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC760" class="react-file-line html-div" data-testid="code-cell" data-line-number="760" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC761" class="react-file-line html-div" data-testid="code-cell" data-line-number="761" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">stack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC762" class="react-file-line html-div" data-testid="code-cell" data-line-number="762" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC763" class="react-file-line html-div" data-testid="code-cell" data-line-number="763" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC764" class="react-file-line html-div" data-testid="code-cell" data-line-number="764" style="position:relative"><span class="pl-c">/* Compute the stack effects of opcode with argument oparg.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC765" class="react-file-line html-div" data-testid="code-cell" data-line-number="765" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC766" class="react-file-line html-div" data-testid="code-cell" data-line-number="766" style="position:relative"><span class="pl-c">   Some opcodes have different stack effect when jump to the target and</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC767" class="react-file-line html-div" data-testid="code-cell" data-line-number="767" style="position:relative"><span class="pl-c">   when not jump. The &#039;jump&#039; parameter specifies the case:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC768" class="react-file-line html-div" data-testid="code-cell" data-line-number="768" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC769" class="react-file-line html-div" data-testid="code-cell" data-line-number="769" style="position:relative"><span class="pl-c">   * 0 -- when not jump</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC770" class="react-file-line html-div" data-testid="code-cell" data-line-number="770" style="position:relative"><span class="pl-c">   * 1 -- when jump</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC771" class="react-file-line html-div" data-testid="code-cell" data-line-number="771" style="position:relative"><span class="pl-c">   * -1 -- maximal</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC772" class="react-file-line html-div" data-testid="code-cell" data-line-number="772" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC773" class="react-file-line html-div" data-testid="code-cell" data-line-number="773" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC774" class="react-file-line html-div" data-testid="code-cell" data-line-number="774" style="position:relative">    <span class="pl-c">/* The stack effect of the instruction. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC775" class="react-file-line html-div" data-testid="code-cell" data-line-number="775" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">net</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC776" class="react-file-line html-div" data-testid="code-cell" data-line-number="776" style="position:relative">} <span class="pl-smi">stack_effects</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC777" class="react-file-line html-div" data-testid="code-cell" data-line-number="777" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC778" class="react-file-line html-div" data-testid="code-cell" data-line-number="778" style="position:relative"><span class="pl-s1">Py_LOCAL</span>(<span class="pl-smi">int</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC779" class="react-file-line html-div" data-testid="code-cell" data-line-number="779" style="position:relative"><span class="pl-en">get_stack_effects</span>(<span class="pl-smi">int</span> <span class="pl-s1">opcode</span>, <span class="pl-smi">int</span> <span class="pl-s1">oparg</span>, <span class="pl-smi">int</span> <span class="pl-s1">jump</span>, <span class="pl-smi">stack_effects</span> <span class="pl-c1">*</span><span class="pl-s1">effects</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC780" class="react-file-line html-div" data-testid="code-cell" data-line-number="780" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC781" class="react-file-line html-div" data-testid="code-cell" data-line-number="781" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">opcode</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC782" class="react-file-line html-div" data-testid="code-cell" data-line-number="782" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC783" class="react-file-line html-div" data-testid="code-cell" data-line-number="783" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC784" class="react-file-line html-div" data-testid="code-cell" data-line-number="784" style="position:relative">    <span class="pl-k">if</span> ((<span class="pl-s1">opcode</span> &lt;= <span class="pl-c1">MAX_REAL_OPCODE</span>) <span class="pl-c1">&amp;&amp;</span> (<span class="pl-s1">_PyOpcode_Deopt</span>[<span class="pl-s1">opcode</span>] <span class="pl-c1">!=</span> <span class="pl-s1">opcode</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC785" class="react-file-line html-div" data-testid="code-cell" data-line-number="785" style="position:relative">        <span class="pl-c">// Specialized instructions are not supported.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC786" class="react-file-line html-div" data-testid="code-cell" data-line-number="786" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC787" class="react-file-line html-div" data-testid="code-cell" data-line-number="787" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC788" class="react-file-line html-div" data-testid="code-cell" data-line-number="788" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">popped</span> <span class="pl-c1">=</span> <span class="pl-en">_PyOpcode_num_popped</span>(<span class="pl-s1">opcode</span>, <span class="pl-s1">oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC789" class="react-file-line html-div" data-testid="code-cell" data-line-number="789" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">pushed</span> <span class="pl-c1">=</span> <span class="pl-en">_PyOpcode_num_pushed</span>(<span class="pl-s1">opcode</span>, <span class="pl-s1">oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC790" class="react-file-line html-div" data-testid="code-cell" data-line-number="790" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">popped</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">pushed</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC791" class="react-file-line html-div" data-testid="code-cell" data-line-number="791" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC792" class="react-file-line html-div" data-testid="code-cell" data-line-number="792" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC793" class="react-file-line html-div" data-testid="code-cell" data-line-number="793" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">IS_BLOCK_PUSH_OPCODE</span>(<span class="pl-s1">opcode</span>) <span class="pl-c1">&amp;&amp;</span> !<span class="pl-s1">jump</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC794" class="react-file-line html-div" data-testid="code-cell" data-line-number="794" style="position:relative">        <span class="pl-s1">effects</span><span class="pl-c1">-&gt;</span><span class="pl-c1">net</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC795" class="react-file-line html-div" data-testid="code-cell" data-line-number="795" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC796" class="react-file-line html-div" data-testid="code-cell" data-line-number="796" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC797" class="react-file-line html-div" data-testid="code-cell" data-line-number="797" style="position:relative">    <span class="pl-s1">effects</span><span class="pl-c1">-&gt;</span><span class="pl-c1">net</span> <span class="pl-c1">=</span> <span class="pl-s1">pushed</span> <span class="pl-c1">-</span> <span class="pl-s1">popped</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC798" class="react-file-line html-div" data-testid="code-cell" data-line-number="798" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC799" class="react-file-line html-div" data-testid="code-cell" data-line-number="799" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC800" class="react-file-line html-div" data-testid="code-cell" data-line-number="800" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC801" class="react-file-line html-div" data-testid="code-cell" data-line-number="801" style="position:relative"><span class="pl-s1">Py_LOCAL_INLINE</span>(<span class="pl-smi">int</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC802" class="react-file-line html-div" data-testid="code-cell" data-line-number="802" style="position:relative"><span class="pl-en">stackdepth_push</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">sp</span>, <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span>, <span class="pl-smi">int</span> <span class="pl-s1">depth</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC803" class="react-file-line html-div" data-testid="code-cell" data-line-number="803" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC804" class="react-file-line html-div" data-testid="code-cell" data-line-number="804" style="position:relative">    <span class="pl-k">if</span> (!(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">==</span> <span class="pl-s1">depth</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC805" class="react-file-line html-div" data-testid="code-cell" data-line-number="805" style="position:relative">        <span class="pl-en">PyErr_Format</span>(<span class="pl-s1">PyExc_ValueError</span>, <span class="pl-s">&quot;Invalid CFG, inconsistent stackdepth&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC806" class="react-file-line html-div" data-testid="code-cell" data-line-number="806" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC807" class="react-file-line html-div" data-testid="code-cell" data-line-number="807" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC808" class="react-file-line html-div" data-testid="code-cell" data-line-number="808" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">depth</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">100</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC809" class="react-file-line html-div" data-testid="code-cell" data-line-number="809" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC810" class="react-file-line html-div" data-testid="code-cell" data-line-number="810" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">=</span> <span class="pl-s1">depth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC811" class="react-file-line html-div" data-testid="code-cell" data-line-number="811" style="position:relative">        <span class="pl-c1">*</span>(<span class="pl-c1">*</span><span class="pl-s1">sp</span>)<span class="pl-c1">++</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC812" class="react-file-line html-div" data-testid="code-cell" data-line-number="812" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC813" class="react-file-line html-div" data-testid="code-cell" data-line-number="813" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC814" class="react-file-line html-div" data-testid="code-cell" data-line-number="814" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC815" class="react-file-line html-div" data-testid="code-cell" data-line-number="815" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC816" class="react-file-line html-div" data-testid="code-cell" data-line-number="816" style="position:relative"><span class="pl-c">/* Find the flow path that needs the largest stack.  We assume that</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC817" class="react-file-line html-div" data-testid="code-cell" data-line-number="817" style="position:relative"><span class="pl-c"> * cycles in the flow graph have no net effect on the stack depth.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC818" class="react-file-line html-div" data-testid="code-cell" data-line-number="818" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC819" class="react-file-line html-div" data-testid="code-cell" data-line-number="819" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC820" class="react-file-line html-div" data-testid="code-cell" data-line-number="820" style="position:relative"><span class="pl-en">calculate_stackdepth</span>(<span class="pl-smi">cfg_builder</span> <span class="pl-c1">*</span><span class="pl-s1">g</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC821" class="react-file-line html-div" data-testid="code-cell" data-line-number="821" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC822" class="react-file-line html-div" data-testid="code-cell" data-line-number="822" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span><span class="pl-c1">-&gt;</span><span class="pl-c1">g_entryblock</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC823" class="react-file-line html-div" data-testid="code-cell" data-line-number="823" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC824" class="react-file-line html-div" data-testid="code-cell" data-line-number="824" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span> <span class="pl-c1">=</span> <span class="pl-c1">INT_MIN</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC825" class="react-file-line html-div" data-testid="code-cell" data-line-number="825" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC826" class="react-file-line html-div" data-testid="code-cell" data-line-number="826" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">stack</span> <span class="pl-c1">=</span> <span class="pl-en">make_cfg_traversal_stack</span>(<span class="pl-s1">entryblock</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC827" class="react-file-line html-div" data-testid="code-cell" data-line-number="827" style="position:relative">    <span class="pl-k">if</span> (!<span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC828" class="react-file-line html-div" data-testid="code-cell" data-line-number="828" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC829" class="react-file-line html-div" data-testid="code-cell" data-line-number="829" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC830" class="react-file-line html-div" data-testid="code-cell" data-line-number="830" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC831" class="react-file-line html-div" data-testid="code-cell" data-line-number="831" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC832" class="react-file-line html-div" data-testid="code-cell" data-line-number="832" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">stackdepth</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC833" class="react-file-line html-div" data-testid="code-cell" data-line-number="833" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">maxdepth</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC834" class="react-file-line html-div" data-testid="code-cell" data-line-number="834" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">sp</span> <span class="pl-c1">=</span> <span class="pl-s1">stack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC835" class="react-file-line html-div" data-testid="code-cell" data-line-number="835" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">stackdepth_push</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">sp</span>, <span class="pl-s1">entryblock</span>, <span class="pl-c1">0</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC836" class="react-file-line html-div" data-testid="code-cell" data-line-number="836" style="position:relative">        goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC837" class="react-file-line html-div" data-testid="code-cell" data-line-number="837" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC838" class="react-file-line html-div" data-testid="code-cell" data-line-number="838" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">sp</span> <span class="pl-c1">!=</span> <span class="pl-s1">stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC839" class="react-file-line html-div" data-testid="code-cell" data-line-number="839" style="position:relative">        <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-c1">*</span><span class="pl-c1">--</span><span class="pl-s1">sp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC840" class="react-file-line html-div" data-testid="code-cell" data-line-number="840" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">depth</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_startdepth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC841" class="react-file-line html-div" data-testid="code-cell" data-line-number="841" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">depth</span> &gt;= <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC842" class="react-file-line html-div" data-testid="code-cell" data-line-number="842" style="position:relative">        <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">next</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC843" class="react-file-line html-div" data-testid="code-cell" data-line-number="843" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC844" class="react-file-line html-div" data-testid="code-cell" data-line-number="844" style="position:relative">            <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC845" class="react-file-line html-div" data-testid="code-cell" data-line-number="845" style="position:relative">            <span class="pl-smi">stack_effects</span> <span class="pl-s1">effects</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC846" class="react-file-line html-div" data-testid="code-cell" data-line-number="846" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">get_stack_effects</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>, <span class="pl-c1">0</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">effects</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC847" class="react-file-line html-div" data-testid="code-cell" data-line-number="847" style="position:relative">                <span class="pl-en">PyErr_Format</span>(<span class="pl-s1">PyExc_SystemError</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC848" class="react-file-line html-div" data-testid="code-cell" data-line-number="848" style="position:relative">                             <span class="pl-s">&quot;Invalid stack effect for opcode=%d, arg=%i&quot;</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC849" class="react-file-line html-div" data-testid="code-cell" data-line-number="849" style="position:relative">                             <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC850" class="react-file-line html-div" data-testid="code-cell" data-line-number="850" style="position:relative">                goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC851" class="react-file-line html-div" data-testid="code-cell" data-line-number="851" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC852" class="react-file-line html-div" data-testid="code-cell" data-line-number="852" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">new_depth</span> <span class="pl-c1">=</span> <span class="pl-s1">depth</span> <span class="pl-c1">+</span> <span class="pl-s1">effects</span>.<span class="pl-c1">net</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC853" class="react-file-line html-div" data-testid="code-cell" data-line-number="853" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">new_depth</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC854" class="react-file-line html-div" data-testid="code-cell" data-line-number="854" style="position:relative">                <span class="pl-en">PyErr_Format</span>(<span class="pl-s1">PyExc_ValueError</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC855" class="react-file-line html-div" data-testid="code-cell" data-line-number="855" style="position:relative">                             <span class="pl-s">&quot;Invalid CFG, stack underflow at line %d&quot;</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_loc</span>.<span class="pl-c1">lineno</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC856" class="react-file-line html-div" data-testid="code-cell" data-line-number="856" style="position:relative">                goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC857" class="react-file-line html-div" data-testid="code-cell" data-line-number="857" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC858" class="react-file-line html-div" data-testid="code-cell" data-line-number="858" style="position:relative">            <span class="pl-s1">maxdepth</span> <span class="pl-c1">=</span> <span class="pl-en">Py_MAX</span>(<span class="pl-s1">maxdepth</span>, <span class="pl-s1">depth</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC859" class="react-file-line html-div" data-testid="code-cell" data-line-number="859" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">HAS_TARGET</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>) <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">!=</span> <span class="pl-c1">END_ASYNC_FOR</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC860" class="react-file-line html-div" data-testid="code-cell" data-line-number="860" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-en">get_stack_effects</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>, <span class="pl-c1">1</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">effects</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC861" class="react-file-line html-div" data-testid="code-cell" data-line-number="861" style="position:relative">                    <span class="pl-en">PyErr_Format</span>(<span class="pl-s1">PyExc_SystemError</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC862" class="react-file-line html-div" data-testid="code-cell" data-line-number="862" style="position:relative">                                 <span class="pl-s">&quot;Invalid stack effect for opcode=%d, arg=%i&quot;</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC863" class="react-file-line html-div" data-testid="code-cell" data-line-number="863" style="position:relative">                                 <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC864" class="react-file-line html-div" data-testid="code-cell" data-line-number="864" style="position:relative">                    goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC865" class="react-file-line html-div" data-testid="code-cell" data-line-number="865" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC866" class="react-file-line html-div" data-testid="code-cell" data-line-number="866" style="position:relative">                <span class="pl-smi">int</span> <span class="pl-s1">target_depth</span> <span class="pl-c1">=</span> <span class="pl-s1">depth</span> <span class="pl-c1">+</span> <span class="pl-s1">effects</span>.<span class="pl-c1">net</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC867" class="react-file-line html-div" data-testid="code-cell" data-line-number="867" style="position:relative">                <span class="pl-en">assert</span>(<span class="pl-s1">target_depth</span> &gt;= <span class="pl-c1">0</span>); <span class="pl-c">/* invalid code or bug in stackdepth() */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC868" class="react-file-line html-div" data-testid="code-cell" data-line-number="868" style="position:relative">                <span class="pl-s1">maxdepth</span> <span class="pl-c1">=</span> <span class="pl-en">Py_MAX</span>(<span class="pl-s1">maxdepth</span>, <span class="pl-s1">depth</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC869" class="react-file-line html-div" data-testid="code-cell" data-line-number="869" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-en">stackdepth_push</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">sp</span>, <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>, <span class="pl-s1">target_depth</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC870" class="react-file-line html-div" data-testid="code-cell" data-line-number="870" style="position:relative">                    goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC871" class="react-file-line html-div" data-testid="code-cell" data-line-number="871" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC872" class="react-file-line html-div" data-testid="code-cell" data-line-number="872" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC873" class="react-file-line html-div" data-testid="code-cell" data-line-number="873" style="position:relative">            <span class="pl-s1">depth</span> <span class="pl-c1">=</span> <span class="pl-s1">new_depth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC874" class="react-file-line html-div" data-testid="code-cell" data-line-number="874" style="position:relative">            <span class="pl-en">assert</span>(!<span class="pl-en">IS_ASSEMBLER_OPCODE</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC875" class="react-file-line html-div" data-testid="code-cell" data-line-number="875" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">IS_UNCONDITIONAL_JUMP_OPCODE</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>) <span class="pl-c1">||</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC876" class="react-file-line html-div" data-testid="code-cell" data-line-number="876" style="position:relative">                <span class="pl-en">IS_SCOPE_EXIT_OPCODE</span>(<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC877" class="react-file-line html-div" data-testid="code-cell" data-line-number="877" style="position:relative">            {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC878" class="react-file-line html-div" data-testid="code-cell" data-line-number="878" style="position:relative">                <span class="pl-c">/* remaining code is dead */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC879" class="react-file-line html-div" data-testid="code-cell" data-line-number="879" style="position:relative">                <span class="pl-s1">next</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC880" class="react-file-line html-div" data-testid="code-cell" data-line-number="880" style="position:relative">                <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC881" class="react-file-line html-div" data-testid="code-cell" data-line-number="881" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC882" class="react-file-line html-div" data-testid="code-cell" data-line-number="882" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC883" class="react-file-line html-div" data-testid="code-cell" data-line-number="883" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">next</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC884" class="react-file-line html-div" data-testid="code-cell" data-line-number="884" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-en">BB_HAS_FALLTHROUGH</span>(<span class="pl-s1">b</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC885" class="react-file-line html-div" data-testid="code-cell" data-line-number="885" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">stackdepth_push</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">sp</span>, <span class="pl-s1">next</span>, <span class="pl-s1">depth</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC886" class="react-file-line html-div" data-testid="code-cell" data-line-number="886" style="position:relative">                goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC887" class="react-file-line html-div" data-testid="code-cell" data-line-number="887" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC888" class="react-file-line html-div" data-testid="code-cell" data-line-number="888" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC889" class="react-file-line html-div" data-testid="code-cell" data-line-number="889" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC890" class="react-file-line html-div" data-testid="code-cell" data-line-number="890" style="position:relative">    <span class="pl-s1">stackdepth</span> <span class="pl-c1">=</span> <span class="pl-s1">maxdepth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC891" class="react-file-line html-div" data-testid="code-cell" data-line-number="891" style="position:relative"><span class="pl-ent">error</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC892" class="react-file-line html-div" data-testid="code-cell" data-line-number="892" style="position:relative">    <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC893" class="react-file-line html-div" data-testid="code-cell" data-line-number="893" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">stackdepth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC894" class="react-file-line html-div" data-testid="code-cell" data-line-number="894" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC895" class="react-file-line html-div" data-testid="code-cell" data-line-number="895" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC896" class="react-file-line html-div" data-testid="code-cell" data-line-number="896" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC897" class="react-file-line html-div" data-testid="code-cell" data-line-number="897" style="position:relative"><span class="pl-en">label_exception_targets</span>(<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">entryblock</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC898" class="react-file-line html-div" data-testid="code-cell" data-line-number="898" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">todo_stack</span> <span class="pl-c1">=</span> <span class="pl-en">make_cfg_traversal_stack</span>(<span class="pl-s1">entryblock</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC899" class="react-file-line html-div" data-testid="code-cell" data-line-number="899" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">todo_stack</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC900" class="react-file-line html-div" data-testid="code-cell" data-line-number="900" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC901" class="react-file-line html-div" data-testid="code-cell" data-line-number="901" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC902" class="react-file-line html-div" data-testid="code-cell" data-line-number="902" style="position:relative">    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">except_stack</span> <span class="pl-c1">=</span> <span class="pl-en">make_except_stack</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC903" class="react-file-line html-div" data-testid="code-cell" data-line-number="903" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">except_stack</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC904" class="react-file-line html-div" data-testid="code-cell" data-line-number="904" style="position:relative">        <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">todo_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC905" class="react-file-line html-div" data-testid="code-cell" data-line-number="905" style="position:relative">        <span class="pl-en">PyErr_NoMemory</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC906" class="react-file-line html-div" data-testid="code-cell" data-line-number="906" style="position:relative">        <span class="pl-k">return</span> <span class="pl-c1">ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC907" class="react-file-line html-div" data-testid="code-cell" data-line-number="907" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC908" class="react-file-line html-div" data-testid="code-cell" data-line-number="908" style="position:relative">    <span class="pl-s1">except_stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC909" class="react-file-line html-div" data-testid="code-cell" data-line-number="909" style="position:relative">    <span class="pl-s1">todo_stack</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC910" class="react-file-line html-div" data-testid="code-cell" data-line-number="910" style="position:relative">    <span class="pl-s1">entryblock</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC911" class="react-file-line html-div" data-testid="code-cell" data-line-number="911" style="position:relative">    <span class="pl-s1">entryblock</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-s1">except_stack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC912" class="react-file-line html-div" data-testid="code-cell" data-line-number="912" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">todo</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">todo_stack</span>[<span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC913" class="react-file-line html-div" data-testid="code-cell" data-line-number="913" style="position:relative">    <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">handler</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC914" class="react-file-line html-div" data-testid="code-cell" data-line-number="914" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">todo</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">todo_stack</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC915" class="react-file-line html-div" data-testid="code-cell" data-line-number="915" style="position:relative">        <span class="pl-s1">todo</span><span class="pl-c1">--</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC916" class="react-file-line html-div" data-testid="code-cell" data-line-number="916" style="position:relative">        <span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">todo</span>[<span class="pl-c1">0</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC917" class="react-file-line html-div" data-testid="code-cell" data-line-number="917" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC918" class="react-file-line html-div" data-testid="code-cell" data-line-number="918" style="position:relative">        <span class="pl-s1">except_stack</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC919" class="react-file-line html-div" data-testid="code-cell" data-line-number="919" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">except_stack</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC920" class="react-file-line html-div" data-testid="code-cell" data-line-number="920" style="position:relative">        <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC921" class="react-file-line html-div" data-testid="code-cell" data-line-number="921" style="position:relative">        <span class="pl-s1">handler</span> <span class="pl-c1">=</span> <span class="pl-en">except_stack_top</span>(<span class="pl-s1">except_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC922" class="react-file-line html-div" data-testid="code-cell" data-line-number="922" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">last_yield_except_depth</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC923" class="react-file-line html-div" data-testid="code-cell" data-line-number="923" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC924" class="react-file-line html-div" data-testid="code-cell" data-line-number="924" style="position:relative">            <span class="pl-smi">cfg_instr</span> <span class="pl-c1">*</span><span class="pl-s1">instr</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_instr</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC925" class="react-file-line html-div" data-testid="code-cell" data-line-number="925" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-en">is_block_push</span>(<span class="pl-s1">instr</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC926" class="react-file-line html-div" data-testid="code-cell" data-line-number="926" style="position:relative">                <span class="pl-k">if</span> (!<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC927" class="react-file-line html-div" data-testid="code-cell" data-line-number="927" style="position:relative">                    <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">copy</span> <span class="pl-c1">=</span> <span class="pl-en">copy_except_stack</span>(<span class="pl-s1">except_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC928" class="react-file-line html-div" data-testid="code-cell" data-line-number="928" style="position:relative">                    <span class="pl-k">if</span> (<span class="pl-s1">copy</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC929" class="react-file-line html-div" data-testid="code-cell" data-line-number="929" style="position:relative">                        goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC930" class="react-file-line html-div" data-testid="code-cell" data-line-number="930" style="position:relative">                    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC931" class="react-file-line html-div" data-testid="code-cell" data-line-number="931" style="position:relative">                    <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-s1">copy</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC932" class="react-file-line html-div" data-testid="code-cell" data-line-number="932" style="position:relative">                    <span class="pl-s1">todo</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC933" class="react-file-line html-div" data-testid="code-cell" data-line-number="933" style="position:relative">                    <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC934" class="react-file-line html-div" data-testid="code-cell" data-line-number="934" style="position:relative">                    <span class="pl-s1">todo</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC935" class="react-file-line html-div" data-testid="code-cell" data-line-number="935" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC936" class="react-file-line html-div" data-testid="code-cell" data-line-number="936" style="position:relative">                <span class="pl-s1">handler</span> <span class="pl-c1">=</span> <span class="pl-en">push_except_block</span>(<span class="pl-s1">except_stack</span>, <span class="pl-s1">instr</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC937" class="react-file-line html-div" data-testid="code-cell" data-line-number="937" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC938" class="react-file-line html-div" data-testid="code-cell" data-line-number="938" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">POP_BLOCK</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC939" class="react-file-line html-div" data-testid="code-cell" data-line-number="939" style="position:relative">                <span class="pl-s1">handler</span> <span class="pl-c1">=</span> <span class="pl-en">pop_except_block</span>(<span class="pl-s1">except_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC940" class="react-file-line html-div" data-testid="code-cell" data-line-number="940" style="position:relative">                <span class="pl-en">INSTR_SET_OP0</span>(<span class="pl-s1">instr</span>, <span class="pl-c1">NOP</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC941" class="react-file-line html-div" data-testid="code-cell" data-line-number="941" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC942" class="react-file-line html-div" data-testid="code-cell" data-line-number="942" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-en">is_jump</span>(<span class="pl-s1">instr</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC943" class="react-file-line html-div" data-testid="code-cell" data-line-number="943" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">=</span> <span class="pl-s1">handler</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC944" class="react-file-line html-div" data-testid="code-cell" data-line-number="944" style="position:relative">                <span class="pl-en">assert</span>(<span class="pl-s1">i</span> <span class="pl-c1">==</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_iused</span> <span class="pl-c1">-</span><span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC945" class="react-file-line html-div" data-testid="code-cell" data-line-number="945" style="position:relative">                <span class="pl-k">if</span> (!<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC946" class="react-file-line html-div" data-testid="code-cell" data-line-number="946" style="position:relative">                    <span class="pl-k">if</span> (<span class="pl-en">BB_HAS_FALLTHROUGH</span>(<span class="pl-s1">b</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC947" class="react-file-line html-div" data-testid="code-cell" data-line-number="947" style="position:relative">                        <span class="pl-k">struct</span> <span class="pl-smi">_PyCfgExceptStack</span> <span class="pl-c1">*</span><span class="pl-s1">copy</span> <span class="pl-c1">=</span> <span class="pl-en">copy_except_stack</span>(<span class="pl-s1">except_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC948" class="react-file-line html-div" data-testid="code-cell" data-line-number="948" style="position:relative">                        <span class="pl-k">if</span> (<span class="pl-s1">copy</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC949" class="react-file-line html-div" data-testid="code-cell" data-line-number="949" style="position:relative">                            goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC950" class="react-file-line html-div" data-testid="code-cell" data-line-number="950" style="position:relative">                        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC951" class="react-file-line html-div" data-testid="code-cell" data-line-number="951" style="position:relative">                        <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-s1">copy</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC952" class="react-file-line html-div" data-testid="code-cell" data-line-number="952" style="position:relative">                    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC953" class="react-file-line html-div" data-testid="code-cell" data-line-number="953" style="position:relative">                    <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC954" class="react-file-line html-div" data-testid="code-cell" data-line-number="954" style="position:relative">                        <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-s1">except_stack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC955" class="react-file-line html-div" data-testid="code-cell" data-line-number="955" style="position:relative">                        <span class="pl-s1">except_stack</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC956" class="react-file-line html-div" data-testid="code-cell" data-line-number="956" style="position:relative">                    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC957" class="react-file-line html-div" data-testid="code-cell" data-line-number="957" style="position:relative">                    <span class="pl-s1">todo</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC958" class="react-file-line html-div" data-testid="code-cell" data-line-number="958" style="position:relative">                    <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_target</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC959" class="react-file-line html-div" data-testid="code-cell" data-line-number="959" style="position:relative">                    <span class="pl-s1">todo</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC960" class="react-file-line html-div" data-testid="code-cell" data-line-number="960" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC961" class="react-file-line html-div" data-testid="code-cell" data-line-number="961" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC962" class="react-file-line html-div" data-testid="code-cell" data-line-number="962" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">YIELD_VALUE</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC963" class="react-file-line html-div" data-testid="code-cell" data-line-number="963" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">=</span> <span class="pl-s1">handler</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC964" class="react-file-line html-div" data-testid="code-cell" data-line-number="964" style="position:relative">                <span class="pl-s1">last_yield_except_depth</span> <span class="pl-c1">=</span> <span class="pl-s1">except_stack</span><span class="pl-c1">-&gt;</span><span class="pl-c1">depth</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC965" class="react-file-line html-div" data-testid="code-cell" data-line-number="965" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC966" class="react-file-line html-div" data-testid="code-cell" data-line-number="966" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">RESUME</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC967" class="react-file-line html-div" data-testid="code-cell" data-line-number="967" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">=</span> <span class="pl-s1">handler</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC968" class="react-file-line html-div" data-testid="code-cell" data-line-number="968" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span> <span class="pl-c1">!=</span> <span class="pl-c1">RESUME_AT_FUNC_START</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span> <span class="pl-c1">!=</span> <span class="pl-c1">RESUME_AT_GEN_EXPR_START</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC969" class="react-file-line html-div" data-testid="code-cell" data-line-number="969" style="position:relative">                    <span class="pl-en">assert</span>(<span class="pl-s1">last_yield_except_depth</span> &gt;= <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC970" class="react-file-line html-div" data-testid="code-cell" data-line-number="970" style="position:relative">                    <span class="pl-k">if</span> (<span class="pl-s1">last_yield_except_depth</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC971" class="react-file-line html-div" data-testid="code-cell" data-line-number="971" style="position:relative">                        <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_oparg</span> |= <span class="pl-c1">RESUME_OPARG_DEPTH1_MASK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC972" class="react-file-line html-div" data-testid="code-cell" data-line-number="972" style="position:relative">                    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC973" class="react-file-line html-div" data-testid="code-cell" data-line-number="973" style="position:relative">                    <span class="pl-s1">last_yield_except_depth</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC974" class="react-file-line html-div" data-testid="code-cell" data-line-number="974" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC975" class="react-file-line html-div" data-testid="code-cell" data-line-number="975" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC976" class="react-file-line html-div" data-testid="code-cell" data-line-number="976" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_opcode</span> <span class="pl-c1">==</span> <span class="pl-c1">RETURN_GENERATOR</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC977" class="react-file-line html-div" data-testid="code-cell" data-line-number="977" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC978" class="react-file-line html-div" data-testid="code-cell" data-line-number="978" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC979" class="react-file-line html-div" data-testid="code-cell" data-line-number="979" style="position:relative">            <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC980" class="react-file-line html-div" data-testid="code-cell" data-line-number="980" style="position:relative">                <span class="pl-s1">instr</span><span class="pl-c1">-&gt;</span><span class="pl-c1">i_except</span> <span class="pl-c1">=</span> <span class="pl-s1">handler</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC981" class="react-file-line html-div" data-testid="code-cell" data-line-number="981" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC982" class="react-file-line html-div" data-testid="code-cell" data-line-number="982" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC983" class="react-file-line html-div" data-testid="code-cell" data-line-number="983" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-en">BB_HAS_FALLTHROUGH</span>(<span class="pl-s1">b</span>) <span class="pl-c1">&amp;&amp;</span> !<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC984" class="react-file-line html-div" data-testid="code-cell" data-line-number="984" style="position:relative">            <span class="pl-en">assert</span>(<span class="pl-s1">except_stack</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC985" class="react-file-line html-div" data-testid="code-cell" data-line-number="985" style="position:relative">            <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">=</span> <span class="pl-s1">except_stack</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC986" class="react-file-line html-div" data-testid="code-cell" data-line-number="986" style="position:relative">            <span class="pl-s1">todo</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC987" class="react-file-line html-div" data-testid="code-cell" data-line-number="987" style="position:relative">            <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_visited</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC988" class="react-file-line html-div" data-testid="code-cell" data-line-number="988" style="position:relative">            <span class="pl-s1">todo</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC989" class="react-file-line html-div" data-testid="code-cell" data-line-number="989" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC990" class="react-file-line html-div" data-testid="code-cell" data-line-number="990" style="position:relative">        <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">except_stack</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC991" class="react-file-line html-div" data-testid="code-cell" data-line-number="991" style="position:relative">           <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">except_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC992" class="react-file-line html-div" data-testid="code-cell" data-line-number="992" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC993" class="react-file-line html-div" data-testid="code-cell" data-line-number="993" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC994" class="react-file-line html-div" data-testid="code-cell" data-line-number="994" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-s1">Py_DEBUG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC995" class="react-file-line html-div" data-testid="code-cell" data-line-number="995" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">basicblock</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">entryblock</span>; <span class="pl-s1">b</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_next</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC996" class="react-file-line html-div" data-testid="code-cell" data-line-number="996" style="position:relative">        <span class="pl-en">assert</span>(<span class="pl-s1">b</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b_exceptstack</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC997" class="react-file-line html-div" data-testid="code-cell" data-line-number="997" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC998" class="react-file-line html-div" data-testid="code-cell" data-line-number="998" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC999" class="react-file-line html-div" data-testid="code-cell" data-line-number="999" style="position:relative">    <span class="pl-en">PyMem_Free</span>(<span class="pl-s1">todo_stack</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1000" class="react-file-line html-div" data-testid="code-cell" data-line-number="1000" style="position:relative">    <span class="pl-k">return</span> <span class="pl-c1">SUCCESS</span>;</div></div></div></div></div><div class="CodeLinesSSR-module__viewRemainderLink__pd3EU"><a class="prc-Link-Link-9ZwDx" data-component="Link" href="https://github.com/python/cpython/raw/refs/heads/main/Python/flowgraph.c">View remainder of file in raw view</a></div></div><div id="copilot-button-container"></div></div><div id="highlighted-line-menu-container"></div><div class="HighlightedLineMenu-module__overlayPortalRoot__QDpCt"></div></div></div><!--/$--><div class="d-none"></div></section></div></div></div> </div> <!-- --> </div></div></div></div></div></div><div class="ScrollMarksContainer-module__scrollMarksContainer__Eu7uU" id="find-result-marks-container"></div><div class="d-none"></div><div class="d-none"></div></div> <!-- --> <!-- --> </div>
</react-app>




  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer f6 color-fg-muted color-border-subtle tmp-pt-7 tmp-pb-6 p-responsive" role="contentinfo"  >
  <h2 class='sr-only'>Footer</h2>

  


  <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
    <div class="d-flex flex-items-center flex-shrink-0 mx-2">
      <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" data-component="Octicon" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
      <span>
        &copy; 2026 GitHub,&nbsp;Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>

      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">


          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>


            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
            </li>

            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
            </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
          </li>

          
<li class="mx-2" >
  <cookie-consent-link>
    <button
      type="button"
      class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
      data-action="click:cookie-consent-link#showConsentManagement"
      data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"
    >
      Manage cookies
    </button>
  </cookie-consent-link>
</li>

  <li class="mx-2">
    <cookie-consent-link>
      <button
        type="button"
        class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left"
        data-action="click:cookie-consent-link#showConsentManagement"
        data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"
      >
        Do not share my personal information
      </button>
    </cookie-consent-link>
  </li>

      </ul>
    </nav>
  </div>
</footer>



    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
      data-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="true"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    You can’t perform that action at this time.
  </div>

    <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
    <summary role="button" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
      </button>
      <div class="octocat-spinner tmp-my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
  </div>
</div>

    <template id="snippet-clipboard-copy-button">
  <div class="zeroclipboard-container position-absolute right-0 top-0">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2 tmp-m-2">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2 tmp-m-2">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>
<template id="snippet-clipboard-copy-button-unpositioned">
  <div class="zeroclipboard-container">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>




    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
  </body>
</html>

