



  

<!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-5c4e9fc574bf49f3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-5c4e9fc574bf49f3.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-0f910d8806d5761b.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-a7abd4d4c49ac593.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-5fc4c4a9cb41e596.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-ed0cee9214dedabd.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-78a2491d538dab5a.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-c26b63d7c532d0a2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a6f60cea68c08405.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-f66faf28b2ea18b6.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-6701f6218c53cf5b.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-7037fa46ae124d97.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-97df7784617ce1ea.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-9be9fe6313f476af.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-62747e27e61258dc.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-7a418ea859d1654d.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-72bd7d974b5ac1cc.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4c5c0895f723f870.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_caches_react_shell","actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","actions_runners_react_shell","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_base_model_policy_row","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_early_task_provisioning","copilot_chat_persist_session_drafts","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_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_awps_batching","copilot_mission_control_early_stop","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_sandbox_remote_bypass","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_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_discussion_comment_trigger","copilot_swe_agent_discussion_opened_trigger","copilot_swe_agent_discussion_updated_trigger","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_assigned_trigger","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_issue_labeled_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_assigned_trigger","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_labeled_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_ready_for_review_trigger","copilot_swe_agent_pull_request_review_requested_trigger","copilot_swe_agent_pull_request_review_submitted_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_sub_issue_added_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_redirect","dashboard_agents_module_auth_token_check","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","fgpat_permissions_selector_redesign","glc_code_quality_repo_settings_workflow_config","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_team_vs_personal","issue_relative_time_micro","issues_dashboard_sso_structured_errors","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_index_data_router","issues_lazy_load_comment_box_suggestions","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_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_header_feedback","milestone_closed_issues_prioritization","milestone_show_data_router","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_copilot_attribution_header","pull_request_overview_merge_control","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_navigation_shortcuts","pull_request_virtualization_image_estimate","pull_request_virtualization_loader_batching","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_logged_out_repository_header","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_declutter","repo_pulls_dashboard_ga","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_nav_spark_models_removed","speculation_rules_ui_service","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","update_issue_suggestions","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","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-b752d992928a526c.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-6f18339bc0e09ad2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-2f08c823163591a8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-633ad94fa06c334b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-0fb4c544a797ec0d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-7c872b58ac9f1b39.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tp-7e9817cf5c068979.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-694ed3522b88a879.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.bef03fb24bb03be8.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-52ed81112a548e10.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e8810f64c443fb9b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-0417f617ad744a0d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-9da36843ba9d191d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-9a1160b939f2cd52.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3h-55903cf2303047ad.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hk-f1498fec45311acd.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-7aa1ff0a0e750f41.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-1d800d09e9a8720a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-9697c1c8f5cbf523.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-63917c615f3a9695.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-637fff6b1fed6b29.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-5e0b3ae3c4036207.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-524a06aa946df6fc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-b1ee53c2200b172a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-7bf7b9d689fe3d10.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a9-ca3bc10b816bcc1f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ur-21ec1e439ee2d87c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t-4c39f7195fc42cc8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/pb-53cfff089eaac51b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6n-afcf86ccabc4cad2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zj-4d9cf83cf08e1643.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wo-6991af5b3829ffe8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/nfv-a6c14301d3ea6d67.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b5-a2fde30ce0c692b9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sw-9d0489dbf9a9c942.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ttf-7d5abe1b447ced2c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sj-c7a44023ee90d468.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0pd-c46d8dfae89c2b64.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-35b6e01d82ddb59c.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.255cab819a92f7e1.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-d90ff3afa6f5153e.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-8503588299651923.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-66e64888bc4615bb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/qmp-c7cfba40cf5a93b0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-148a74299e5a01ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-a9404625ec30bbc7.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4u-8f9f1d6be01d6a22.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/s0-68d09e5e8a80cb94.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y5-0cb3f75cec297941.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4u-cd9039ad946274ad.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8s-00bd469c4017a543.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-27679061f16e1495.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/iu-2d03f5e6d4fdd54d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gru-2b0fac8887ff8c57.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a0-234e967e7c6d22ce.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gz3-5bdfbfceac967bb6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/15m-64f3034430471048.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/1e-c15441bdb94d54ae.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gzu-6ad9a0527a5d7afd.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bi-3a42b8714e06c4d0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tu1-37e16844272ddefa.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b1-ac66ededed061993.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gmn-1e5497c041b66231.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0l5-d1b2a63015b5eb6d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/c2-e85522be441acf73.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/f9-baf0a4193779952e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sp-87dce99c82a27004.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zkm-116b01b8485bbe3f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/og-518d12c9e011601d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b9-947db365ea875cfa.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/14-8c7b4ad3c845664c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dsj-2e7d883cb843e9e6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ec-38012819307fd539.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/du-6607da3b8b579202.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/20-f43eb09c2be69457.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ql0-107312645ac2b72d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-fa7cdc0f7656d876.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p0l-fe491d943adf7508.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/v1e-d099d9fd21ad25e5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fn-7b298a45c55fb6fb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7cw-6e493a20eaaa04b5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ok-290e4b9465ba9c5b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6d-ca6d584a0fd6368c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y8-e2f18f5a24733f3b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xc-3fd4a2e7dcbad8e2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/vjg-2874f95f389c4d3f.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-0d17a5be3319544d.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.501e99879e15a48e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/xc.de2b1dde0494f261.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.730449c159fa1239.module.css" />


  <title>node-addon-api/napi.h at main · nodejs/node-addon-api · 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:7f245e52-86f9-123d-dac2-f1759c177b6d">

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


  <meta name="request-id" content="AE48:2F516A:1513E0:13770B:6AC76429" data-pjax-transient="true"/><meta name="html-safe-nonce" content="5ee7fc1cce7639e2ac43c7b626ae7fe0da9581d61123b7849ef9da93c76d6c16" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRTQ4OjJGNTE2QToxNTEzRTA6MTM3NzBCOjZBQzc2NDI5IiwidmlzaXRvcl9pZCI6IjQxMDEyNzQyODg2MDU1ODY0NzMiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="fed649c19cf7816ab0e5b412e99649026159ea26b6dece5064fa401c202d023c" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:81384578" 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="Module for using Node-API from C++. Contribute to nodejs/node-addon-api 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/nodejs/node-addon-api/blob/main/napi.h" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/f40f962767b50056b72b8a38b0eac5b062452d5ce8f637ee5dafd68aacc5e019/nodejs/node-addon-api" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="node-addon-api/napi.h at main · nodejs/node-addon-api" /><meta name="twitter:description" content="Module for using Node-API from C++. Contribute to nodejs/node-addon-api development by creating an account on GitHub." />
  <meta property="og:image" content="https://opengraph.githubassets.com/f40f962767b50056b72b8a38b0eac5b062452d5ce8f637ee5dafd68aacc5e019/nodejs/node-addon-api" /><meta property="og:image:alt" content="Module for using Node-API from C++. Contribute to nodejs/node-addon-api 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="node-addon-api/napi.h at main · nodejs/node-addon-api" /><meta property="og:url" content="https://github.com/nodejs/node-addon-api/blob/main/napi.h" /><meta property="og:description" content="Module for using Node-API from C++. Contribute to nodejs/node-addon-api 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="a288640dbc5ccb4445d5b543c68408fc6a9071fef97b3fffb85462e55b0c76b8" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="c4a65e47b0c850e1157ae8e66298070851d7e3b558038de5a3b4ff7a93e630ed" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="1ff3f1d4e1abd61f6f135b47d3b815e2f7169f8dd418f0118c6b1cf4de6cbc86" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="5f5ac0c5f52648aacee5fcef49ee85be7c168ca0d642a046ca327ecce671d3fb" 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/nodejs/node-addon-api git https://github.com/nodejs/node-addon-api.git">

  <meta name="octolytics-dimension-user_id" content="9950313" /><meta name="octolytics-dimension-user_login" content="nodejs" /><meta name="octolytics-dimension-repository_id" content="81384578" /><meta name="octolytics-dimension-repository_nwo" content="nodejs/node-addon-api" /><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="81384578" /><meta name="octolytics-dimension-repository_network_root_nwo" content="nodejs/node-addon-api" />
  



    

    <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="40746f6e4248377c7225c0fa50d0fcdf383dfdae" 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/qc-1bbbe8787ea1cd4b.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-970767125be01beb.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.c558b73e06cb548a.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/app-install-banner-partial-3f0d3a4cb8534c59.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-install-banner-partial.0ae67b974cbebd8a.module.css" />

<react-partial
  partial-name="app-install-banner-partial"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>


          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2l-e468179ba7123a2e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/rwd-069fc3d9814ff9fe.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz-e662bc3745e171e7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jag-3559ee48016881a2.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3d-7f22b36f29a9dd94.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tua-4998592d21eb16f7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8i-756d611a52e5f265.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-aea18fe9932debb9.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.05b219cdb8e80c43.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/8i.779dd52a6bc5b0b6.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%2Fnodejs%2Fnode-addon-api%2Fblob%2Fmain%2Fnapi.h","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=nodejs%2Fnode-addon-api","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/nodejs/node-addon-api/blob/main/napi.h\",\"user_id\":null}}","auth_hydro_click_hmac":"0e957513e583e7a56d535d287ee0d601d924ef78bdca3abc0dd24be5e7ee5959","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%2Fnodejs%2Fnode-addon-api%2Fblob%2Fmain%2Fnapi.h" 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/nodejs/node-addon-api/blob/main/napi.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e957513e583e7a56d535d287ee0d601d924ef78bdca3abc0dd24be5e7ee5959"><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%2Fnodejs%2Fnode-addon-api%2Fblob%2Fmain%2Fnapi.h" 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/nodejs/node-addon-api/blob/main/napi.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e957513e583e7a56d535d287ee0d601d924ef78bdca3abc0dd24be5e7ee5959"><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=nodejs%2Fnode-addon-api" 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/nodejs/node-addon-api/blob/main/napi.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e957513e583e7a56d535d287ee0d601d924ef78bdca3abc0dd24be5e7ee5959"><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-c6e5d586-d59e-495b-8da0-bab70955c1fc" aria-labelledby="tooltip-dcd052dd-d42e-47c2-a561-7dd51f7ca419" 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-dcd052dd-d42e-47c2-a561-7dd51f7ca419" for="icon-button-c6e5d586-d59e-495b-8da0-bab70955c1fc" 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" >
      
      
    


    








  

    <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ym-1a7ce813a378e1f7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/mn-bb458474353a279e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t5-26d19272bbf73ca3.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2d5-9abb2f6ba5c935d0.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/24-b11e1c4108322883.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/mrn-12afac2ecd2be980.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dgq-bbf7670f9cdba2e0.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7w-740b4e942974ccba.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/we-c9f93392098ad6c9.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/775-5adcc74216a7c5ae.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bn-fcef0645a47703fc.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xgw-6c6cb7b2ed77f52e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ge-ca1c0ba8656f9680.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9f-e543bc691db8262e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/global-nav-bar-06aae1536c6cecb5.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.501e99879e15a48e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-nav-bar.1bbdbd712ae607bb.module.css" />

<react-partial
  partial-name="global-nav-bar"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"contextRegion":{"crumbs":[{"crumb_type":"organization","label":"nodejs","is_root":false,"href":"/nodejs"},{"crumb_type":"repository","label":"node-addon-api","is_root":false,"href":"/nodejs/node-addon-api"}],"localNavigation":[{"id":"code","icon":"code","label":"Code","href":"/nodejs/node-addon-api","selectedLinks":["repo_source","repo_downloads","repo_commits","repo_releases","repo_tags","repo_branches","repo_packages","repo_deployments","repo_attestations"],"popoverTarget":false,"commandId":"repositories:go-to-code","reactNav":{"appTarget":"code-view","anchor":"code-view-repo-link"},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"issues","icon":"issue-opened","label":"Issues","href":"/nodejs/node-addon-api/issues","selectedLinks":["repo_issues","repo_labels","repo_milestones"],"count":12,"popoverTarget":false,"commandId":"repositories:go-to-issues","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"pull-requests","icon":"git-pull-request","label":"Pull requests","href":"/nodejs/node-addon-api/pulls","selectedLinks":["repo_pulls","checks"],"count":3,"popoverTarget":false,"commandId":"repositories:go-to-pull-requests","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"actions","icon":"play","label":"Actions","href":"/nodejs/node-addon-api/actions","selectedLinks":["repo_actions"],"popoverTarget":false,"commandId":"repositories:go-to-actions","reactNav":{"appTarget":"actions-workflows","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"projects","icon":"table","label":"Projects","href":"/nodejs/node-addon-api/projects","selectedLinks":["repo_projects","new_repo_project","repo_project"],"popoverTarget":false,"commandId":"repositories:go-to-projects","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"wiki","icon":"book","label":"Wiki","href":"/nodejs/node-addon-api/wiki","selectedLinks":["repo_wiki"],"popoverTarget":false,"commandId":"repositories:go-to-wiki","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"security-and-quality","icon":"shield","label":"Security and quality","href":"/nodejs/node-addon-api/security","selectedLinks":["security","overview","alerts","policy","token_scanning","code_scanning"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-security","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"insights","icon":"graph","label":"Insights","href":"/nodejs/node-addon-api/pulse","selectedLinks":["repo_graphs","repo_contributors","dependency_graph","dependabot_updates","pulse","people","community"],"popoverTarget":false,"commandId":"repositories:go-to-insights","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}}],"localNavigationUpdateChannel":null,"selectedLink":"repo_source"},"owner":null,"headerLogo":{"href":"/","aria-label":"Homepage "},"notifications":{"indicatorMode":"disabled","websocketChannel":null,"fetchIndicatorSrc":"/notifications/indicator","fetchIndicatorEnabled":false},"issues":{"href":"/issues"},"pulls":{"href":"/pulls"},"contributedRepos":{"href":"/repos"},"copilot":{"show":false,"showAgentsButton":false,"showRelaunchAnnouncement":false,"copilotChatUrl":null,"copilotApiUrl":"https://api.githubcopilot.com"},"search":{"show":true,"showCommandPalette":false,"isSearchPage":false,"isJumpToSearch":false,"searchContext":{"scope":"repo:nodejs/node-addon-api","current_repo_name":"node-addon-api","current_repo_nwo":"nodejs/node-addon-api","current_repo_org":"nodejs","user_id":"nodejs"}},"commandPalette":null,"enterpriseBar":{"show":false},"globalTransactionalMessage":[],"payloadsUrl":"/_global-navigation/payloads.json?can_toggle_site_admin_and_employee_status=0\u0026is_admin_mode_on=0\u0026is_ui_opted_out=0\u0026show_ui_opt_out=0\u0026v=6","contextRegionUrl":"/_global-navigation/context-region.json"}}</script>
  <div data-target="react-partial.reactRoot"><header aria-label="Global navigation menu" data-component="Stack" class="GlobalNav styles-module__appHeader__YzYWk prc-Stack-Stack-UQ9k6" data-gap="none" data-direction="vertical" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="none"><div data-component="Stack" class="prc-Stack-Stack-UQ9k6" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="center" data-padding="none"><div data-testid="top-nav-center" data-component="Stack" class="styles-module__center__R3QRv styles-module__withLocalNavigation__rjTJ_ GlobalNavBar-module__loggedOut__Jv1rk prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="normal"><nav class="styles-module__contextRegion__VbSp2 prc-Breadcrumbs-BreadcrumbsBase-3Gb-B" aria-label="Breadcrumbs" data-overflow="menu" data-variant="normal" data-component="Breadcrumbs"><ol class="prc-Breadcrumbs-BreadcrumbsList-BKjpe"><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/nodejs" data-discover="true"><span class="">nodejs</span></a></li><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/nodejs/node-addon-api" data-discover="true"><span class="styles-module__contextCrumbLast__tI2e3">node-addon-api</span></a></li></ol></nav></div><div data-testid="top-nav-right" data-component="Stack" class="styles-module__right__mlBQg styles-module__withLocalNavigation__rjTJ_ styles-module__rightWithResponsiveCreateButton__SKn2W prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="start" data-padding="normal"></div></div><h2 class="prc-src-InternalVisuallyHidden-2YaI6">Repository navigation</h2><nav class="prc-components-UnderlineWrapper-eT-Yj prc-UnderlineNav-UnderlineWrapper-GWONT LocalNavigation-module__LocalNavigation__b0Xc0" aria-label="Repository" data-variant="inset" data-overflow-mode="wrap" data-hide-icons-breakpoint="medium"><ul class="prc-UnderlineNav-ItemsList-oj8gN prc-components-UnderlineItemList-xKlKC" role="list"><li role="presentation" aria-hidden="true" class="prc-UnderlineNav-WrapSpacer--aLgz"></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a aria-current="page" data-tab-item="code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code" 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></span><span data-component="text" data-content="Code">Code</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="issues" data-react-nav="repo" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/issues" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened" 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></span><span data-component="text" data-content="Issues">Issues</span><span data-component="counter"><span aria-hidden="true" data-variant="secondary" data-component="CounterLabel" class="prc-CounterLabel-CounterLabel-X-kRU">12</span><span class="prc-VisuallyHidden-VisuallyHidden-Q0qSB"> (<!-- -->12<!-- -->)</span></span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="pull-requests" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/pulls" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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-component="text" data-content="Pull requests">Pull requests</span><span data-component="counter"><span aria-hidden="true" data-variant="secondary" data-component="CounterLabel" class="prc-CounterLabel-CounterLabel-X-kRU">3</span><span class="prc-VisuallyHidden-VisuallyHidden-Q0qSB"> (<!-- -->3<!-- -->)</span></span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="actions" data-react-nav="actions-workflows" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/actions" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-play" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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-component="text" data-content="Actions">Actions</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="projects" data-react-nav="repo" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/projects" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-table" 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.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-component="text" data-content="Projects">Projects</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="wiki" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/wiki" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-book" 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.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="Wiki">Wiki</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="security-and-quality" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/security" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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-component="text" data-content="Security and quality">Security and quality</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="insights" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/nodejs/node-addon-api/pulse" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-graph" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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-component="text" data-content="Insights">Insights</span></a></li></ul><div class="prc-UnderlineNav-MoreButtonContainer-Dnrq6"><div class="prc-UnderlineNav-MoreButtonDivider-dN0a-"></div><button data-component="overflow-menu-button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk prc-UnderlineNav-MoreButton-Y8soj" data-loading="false" data-size="medium" data-variant="invisible" id="_R_2ktl_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3"><span>More<span class="prc-src-InternalVisuallyHidden-2YaI6"> items</span></span></span></span><span data-component="trailingAction" 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></button></div></nav><div class="d-none"></div></header></div>
</react-partial>


  



<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="/nodejs/node-addon-api/blob/main/napi.h"
  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":true,"not_analyzed":false,"symbols":[{"name":"Env","fully_qualified_name":"Env","kind":"class","ident_start":8927,"ident_end":8930,"extent_start":8921,"extent_end":8930,"ident_utf16":{"start":{"line_number":211,"utf16_col":6},"end":{"line_number":211,"utf16_col":9}},"extent_utf16":{"start":{"line_number":211,"utf16_col":0},"end":{"line_number":211,"utf16_col":9}}},{"name":"Value","fully_qualified_name":"Value","kind":"class","ident_start":8938,"ident_end":8943,"extent_start":8932,"extent_end":8943,"ident_utf16":{"start":{"line_number":212,"utf16_col":6},"end":{"line_number":212,"utf16_col":11}},"extent_utf16":{"start":{"line_number":212,"utf16_col":0},"end":{"line_number":212,"utf16_col":11}}},{"name":"Boolean","fully_qualified_name":"Boolean","kind":"class","ident_start":8951,"ident_end":8958,"extent_start":8945,"extent_end":8958,"ident_utf16":{"start":{"line_number":213,"utf16_col":6},"end":{"line_number":213,"utf16_col":13}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":213,"utf16_col":13}}},{"name":"Number","fully_qualified_name":"Number","kind":"class","ident_start":8966,"ident_end":8972,"extent_start":8960,"extent_end":8972,"ident_utf16":{"start":{"line_number":214,"utf16_col":6},"end":{"line_number":214,"utf16_col":12}},"extent_utf16":{"start":{"line_number":214,"utf16_col":0},"end":{"line_number":214,"utf16_col":12}}},{"name":"BigInt","fully_qualified_name":"BigInt","kind":"class","ident_start":9001,"ident_end":9007,"extent_start":8995,"extent_end":9007,"ident_utf16":{"start":{"line_number":216,"utf16_col":6},"end":{"line_number":216,"utf16_col":12}},"extent_utf16":{"start":{"line_number":216,"utf16_col":0},"end":{"line_number":216,"utf16_col":12}}},{"name":"Date","fully_qualified_name":"Date","kind":"class","ident_start":9066,"ident_end":9070,"extent_start":9060,"extent_end":9070,"ident_utf16":{"start":{"line_number":219,"utf16_col":6},"end":{"line_number":219,"utf16_col":10}},"extent_utf16":{"start":{"line_number":219,"utf16_col":0},"end":{"line_number":219,"utf16_col":10}}},{"name":"String","fully_qualified_name":"String","kind":"class","ident_start":9085,"ident_end":9091,"extent_start":9079,"extent_end":9091,"ident_utf16":{"start":{"line_number":221,"utf16_col":6},"end":{"line_number":221,"utf16_col":12}},"extent_utf16":{"start":{"line_number":221,"utf16_col":0},"end":{"line_number":221,"utf16_col":12}}},{"name":"Object","fully_qualified_name":"Object","kind":"class","ident_start":9099,"ident_end":9105,"extent_start":9093,"extent_end":9105,"ident_utf16":{"start":{"line_number":222,"utf16_col":6},"end":{"line_number":222,"utf16_col":12}},"extent_utf16":{"start":{"line_number":222,"utf16_col":0},"end":{"line_number":222,"utf16_col":12}}},{"name":"Array","fully_qualified_name":"Array","kind":"class","ident_start":9113,"ident_end":9118,"extent_start":9107,"extent_end":9118,"ident_utf16":{"start":{"line_number":223,"utf16_col":6},"end":{"line_number":223,"utf16_col":11}},"extent_utf16":{"start":{"line_number":223,"utf16_col":0},"end":{"line_number":223,"utf16_col":11}}},{"name":"ArrayBuffer","fully_qualified_name":"ArrayBuffer","kind":"class","ident_start":9126,"ident_end":9137,"extent_start":9120,"extent_end":9137,"ident_utf16":{"start":{"line_number":224,"utf16_col":6},"end":{"line_number":224,"utf16_col":17}},"extent_utf16":{"start":{"line_number":224,"utf16_col":0},"end":{"line_number":224,"utf16_col":17}}},{"name":"Function","fully_qualified_name":"Function","kind":"class","ident_start":9145,"ident_end":9153,"extent_start":9139,"extent_end":9153,"ident_utf16":{"start":{"line_number":225,"utf16_col":6},"end":{"line_number":225,"utf16_col":14}},"extent_utf16":{"start":{"line_number":225,"utf16_col":0},"end":{"line_number":225,"utf16_col":14}}},{"name":"Error","fully_qualified_name":"Error","kind":"class","ident_start":9161,"ident_end":9166,"extent_start":9155,"extent_end":9166,"ident_utf16":{"start":{"line_number":226,"utf16_col":6},"end":{"line_number":226,"utf16_col":11}},"extent_utf16":{"start":{"line_number":226,"utf16_col":0},"end":{"line_number":226,"utf16_col":11}}},{"name":"PropertyDescriptor","fully_qualified_name":"PropertyDescriptor","kind":"class","ident_start":9174,"ident_end":9192,"extent_start":9168,"extent_end":9192,"ident_utf16":{"start":{"line_number":227,"utf16_col":6},"end":{"line_number":227,"utf16_col":24}},"extent_utf16":{"start":{"line_number":227,"utf16_col":0},"end":{"line_number":227,"utf16_col":24}}},{"name":"CallbackInfo","fully_qualified_name":"CallbackInfo","kind":"class","ident_start":9200,"ident_end":9212,"extent_start":9194,"extent_end":9212,"ident_utf16":{"start":{"line_number":228,"utf16_col":6},"end":{"line_number":228,"utf16_col":18}},"extent_utf16":{"start":{"line_number":228,"utf16_col":0},"end":{"line_number":228,"utf16_col":18}}},{"name":"TypedArray","fully_qualified_name":"TypedArray","kind":"class","ident_start":9220,"ident_end":9230,"extent_start":9214,"extent_end":9230,"ident_utf16":{"start":{"line_number":229,"utf16_col":6},"end":{"line_number":229,"utf16_col":16}},"extent_utf16":{"start":{"line_number":229,"utf16_col":0},"end":{"line_number":229,"utf16_col":16}}},{"name":"TypedArrayOf","fully_qualified_name":"TypedArrayOf","kind":"class","ident_start":9260,"ident_end":9272,"extent_start":9254,"extent_end":9272,"ident_utf16":{"start":{"line_number":231,"utf16_col":6},"end":{"line_number":231,"utf16_col":18}},"extent_utf16":{"start":{"line_number":231,"utf16_col":0},"end":{"line_number":231,"utf16_col":18}}},{"name":"MemoryManagement","fully_qualified_name":"MemoryManagement","kind":"class","ident_start":10446,"ident_end":10462,"extent_start":10440,"extent_end":10462,"ident_utf16":{"start":{"line_number":260,"utf16_col":6},"end":{"line_number":260,"utf16_col":22}},"extent_utf16":{"start":{"line_number":260,"utf16_col":0},"end":{"line_number":260,"utf16_col":22}}},{"name":"Maybe","fully_qualified_name":"Maybe","kind":"class","ident_start":10870,"ident_end":10875,"extent_start":10864,"extent_end":11981,"ident_utf16":{"start":{"line_number":270,"utf16_col":6},"end":{"line_number":270,"utf16_col":11}},"extent_utf16":{"start":{"line_number":270,"utf16_col":0},"end":{"line_number":307,"utf16_col":1}}},{"name":"IsNothing","fully_qualified_name":"Maybe::IsNothing","kind":"method","ident_start":10894,"ident_end":10903,"extent_start":10889,"extent_end":10912,"ident_utf16":{"start":{"line_number":272,"utf16_col":7},"end":{"line_number":272,"utf16_col":16}},"extent_utf16":{"start":{"line_number":272,"utf16_col":2},"end":{"line_number":272,"utf16_col":25}}},{"name":"IsJust","fully_qualified_name":"Maybe::IsJust","kind":"method","ident_start":10920,"ident_end":10926,"extent_start":10915,"extent_end":10935,"ident_utf16":{"start":{"line_number":273,"utf16_col":7},"end":{"line_number":273,"utf16_col":13}},"extent_utf16":{"start":{"line_number":273,"utf16_col":2},"end":{"line_number":273,"utf16_col":22}}},{"name":"Check","fully_qualified_name":"Maybe::Check","kind":"method","ident_start":11178,"ident_end":11183,"extent_start":11173,"extent_end":11192,"ident_utf16":{"start":{"line_number":279,"utf16_col":7},"end":{"line_number":279,"utf16_col":12}},"extent_utf16":{"start":{"line_number":279,"utf16_col":2},"end":{"line_number":279,"utf16_col":21}}},{"name":"Unwrap","fully_qualified_name":"Maybe::Unwrap","kind":"method","ident_start":11334,"ident_end":11340,"extent_start":11332,"extent_end":11349,"ident_utf16":{"start":{"line_number":283,"utf16_col":4},"end":{"line_number":283,"utf16_col":10}},"extent_utf16":{"start":{"line_number":283,"utf16_col":2},"end":{"line_number":283,"utf16_col":19}}},{"name":"UnwrapOr","fully_qualified_name":"Maybe::UnwrapOr","kind":"method","ident_start":11477,"ident_end":11485,"extent_start":11475,"extent_end":11516,"ident_utf16":{"start":{"line_number":287,"utf16_col":4},"end":{"line_number":287,"utf16_col":12}},"extent_utf16":{"start":{"line_number":287,"utf16_col":2},"end":{"line_number":287,"utf16_col":43}}},{"name":"UnwrapTo","fully_qualified_name":"Maybe::UnwrapTo","kind":"method","ident_start":11673,"ident_end":11681,"extent_start":11668,"extent_end":11696,"ident_utf16":{"start":{"line_number":291,"utf16_col":7},"end":{"line_number":291,"utf16_col":15}},"extent_utf16":{"start":{"line_number":291,"utf16_col":2},"end":{"line_number":291,"utf16_col":30}}},{"name":"BasicEnv","fully_qualified_name":"BasicEnv","kind":"class","ident_start":13128,"ident_end":13136,"extent_start":13122,"extent_end":16290,"ident_utf16":{"start":{"line_number":343,"utf16_col":6},"end":{"line_number":343,"utf16_col":14}},"extent_utf16":{"start":{"line_number":343,"utf16_col":0},"end":{"line_number":443,"utf16_col":1}}},{"name":"CleanupHook","fully_qualified_name":"BasicEnv::CleanupHook","kind":"class","ident_start":14010,"ident_end":14021,"extent_start":14004,"extent_end":14021,"ident_utf16":{"start":{"line_number":372,"utf16_col":8},"end":{"line_number":372,"utf16_col":19}},"extent_utf16":{"start":{"line_number":372,"utf16_col":2},"end":{"line_number":372,"utf16_col":19}}},{"name":"CleanupHook","fully_qualified_name":"BasicEnv::CleanupHook","kind":"class","ident_start":14942,"ident_end":14953,"extent_start":14936,"extent_end":15381,"ident_utf16":{"start":{"line_number":401,"utf16_col":8},"end":{"line_number":401,"utf16_col":19}},"extent_utf16":{"start":{"line_number":401,"utf16_col":2},"end":{"line_number":418,"utf16_col":3}}},{"name":"Remove","fully_qualified_name":"BasicEnv::CleanupHook::Remove","kind":"method","ident_start":15089,"ident_end":15095,"extent_start":15084,"extent_end":15110,"ident_utf16":{"start":{"line_number":406,"utf16_col":9},"end":{"line_number":406,"utf16_col":15}},"extent_utf16":{"start":{"line_number":406,"utf16_col":4},"end":{"line_number":406,"utf16_col":30}}},{"name":"IsEmpty","fully_qualified_name":"BasicEnv::CleanupHook::IsEmpty","kind":"method","ident_start":15120,"ident_end":15127,"extent_start":15115,"extent_end":15136,"ident_utf16":{"start":{"line_number":407,"utf16_col":9},"end":{"line_number":407,"utf16_col":16}},"extent_utf16":{"start":{"line_number":407,"utf16_col":4},"end":{"line_number":407,"utf16_col":25}}},{"name":"Wrapper","fully_qualified_name":"BasicEnv::CleanupHook::Wrapper","kind":"method","ident_start":15173,"ident_end":15180,"extent_start":15154,"extent_end":15192,"ident_utf16":{"start":{"line_number":410,"utf16_col":23},"end":{"line_number":410,"utf16_col":30}},"extent_utf16":{"start":{"line_number":410,"utf16_col":4},"end":{"line_number":410,"utf16_col":42}}},{"name":"WrapperWithArg","fully_qualified_name":"BasicEnv::CleanupHook::WrapperWithArg","kind":"method","ident_start":15231,"ident_end":15245,"extent_start":15212,"extent_end":15257,"ident_utf16":{"start":{"line_number":411,"utf16_col":23},"end":{"line_number":411,"utf16_col":37}},"extent_utf16":{"start":{"line_number":411,"utf16_col":4},"end":{"line_number":411,"utf16_col":49}}},{"name":"CleanupData","fully_qualified_name":"BasicEnv::CleanupHook::CleanupData","kind":"class","ident_start":15317,"ident_end":15328,"extent_start":15310,"extent_end":15369,"ident_utf16":{"start":{"line_number":414,"utf16_col":11},"end":{"line_number":414,"utf16_col":22}},"extent_utf16":{"start":{"line_number":414,"utf16_col":4},"end":{"line_number":417,"utf16_col":5}}},{"name":"Env","fully_qualified_name":"Env","kind":"class","ident_start":16299,"ident_end":16302,"extent_start":16293,"extent_end":16728,"ident_utf16":{"start":{"line_number":445,"utf16_col":6},"end":{"line_number":445,"utf16_col":9}},"extent_utf16":{"start":{"line_number":445,"utf16_col":0},"end":{"line_number":461,"utf16_col":1}}},{"name":"Global","fully_qualified_name":"Env::Global","kind":"method","ident_start":16393,"ident_end":16399,"extent_start":16386,"extent_end":16408,"ident_utf16":{"start":{"line_number":451,"utf16_col":9},"end":{"line_number":451,"utf16_col":15}},"extent_utf16":{"start":{"line_number":451,"utf16_col":2},"end":{"line_number":451,"utf16_col":24}}},{"name":"Undefined","fully_qualified_name":"Env::Undefined","kind":"method","ident_start":16417,"ident_end":16426,"extent_start":16411,"extent_end":16435,"ident_utf16":{"start":{"line_number":452,"utf16_col":8},"end":{"line_number":452,"utf16_col":17}},"extent_utf16":{"start":{"line_number":452,"utf16_col":2},"end":{"line_number":452,"utf16_col":26}}},{"name":"Null","fully_qualified_name":"Env::Null","kind":"method","ident_start":16444,"ident_end":16448,"extent_start":16438,"extent_end":16457,"ident_utf16":{"start":{"line_number":453,"utf16_col":8},"end":{"line_number":453,"utf16_col":12}},"extent_utf16":{"start":{"line_number":453,"utf16_col":2},"end":{"line_number":453,"utf16_col":21}}},{"name":"IsExceptionPending","fully_qualified_name":"Env::IsExceptionPending","kind":"method","ident_start":16466,"ident_end":16484,"extent_start":16461,"extent_end":16493,"ident_utf16":{"start":{"line_number":455,"utf16_col":7},"end":{"line_number":455,"utf16_col":25}},"extent_utf16":{"start":{"line_number":455,"utf16_col":2},"end":{"line_number":455,"utf16_col":34}}},{"name":"GetAndClearPendingException","fully_qualified_name":"Env::GetAndClearPendingException","kind":"method","ident_start":16502,"ident_end":16529,"extent_start":16496,"extent_end":16538,"ident_utf16":{"start":{"line_number":456,"utf16_col":8},"end":{"line_number":456,"utf16_col":35}},"extent_utf16":{"start":{"line_number":456,"utf16_col":2},"end":{"line_number":456,"utf16_col":44}}},{"name":"RunScript","fully_qualified_name":"Env::RunScript","kind":"method","ident_start":16562,"ident_end":16571,"extent_start":16542,"extent_end":16602,"ident_utf16":{"start":{"line_number":458,"utf16_col":22},"end":{"line_number":458,"utf16_col":31}},"extent_utf16":{"start":{"line_number":458,"utf16_col":2},"end":{"line_number":458,"utf16_col":62}}},{"name":"RunScript","fully_qualified_name":"Env::RunScript","kind":"method","ident_start":16625,"ident_end":16634,"extent_start":16605,"extent_end":16672,"ident_utf16":{"start":{"line_number":459,"utf16_col":22},"end":{"line_number":459,"utf16_col":31}},"extent_utf16":{"start":{"line_number":459,"utf16_col":2},"end":{"line_number":459,"utf16_col":69}}},{"name":"RunScript","fully_qualified_name":"Env::RunScript","kind":"method","ident_start":16695,"ident_end":16704,"extent_start":16675,"extent_end":16726,"ident_utf16":{"start":{"line_number":460,"utf16_col":22},"end":{"line_number":460,"utf16_col":31}},"extent_utf16":{"start":{"line_number":460,"utf16_col":2},"end":{"line_number":460,"utf16_col":53}}},{"name":"Value","fully_qualified_name":"Value","kind":"class","ident_start":17285,"ident_end":17290,"extent_start":17279,"extent_end":21643,"ident_utf16":{"start":{"line_number":476,"utf16_col":6},"end":{"line_number":476,"utf16_col":11}},"extent_utf16":{"start":{"line_number":476,"utf16_col":0},"end":{"line_number":586,"utf16_col":1}}},{"name":"CheckCast","fully_qualified_name":"Value::CheckCast","kind":"method","ident_start":17919,"ident_end":17928,"extent_start":17907,"extent_end":17961,"ident_utf16":{"start":{"line_number":497,"utf16_col":14},"end":{"line_number":497,"utf16_col":23}},"extent_utf16":{"start":{"line_number":497,"utf16_col":2},"end":{"line_number":497,"utf16_col":56}}},{"name":"StrictEquals","fully_qualified_name":"Value::StrictEquals","kind":"method","ident_start":18383,"ident_end":18395,"extent_start":18378,"extent_end":18422,"ident_utf16":{"start":{"line_number":511,"utf16_col":7},"end":{"line_number":511,"utf16_col":19}},"extent_utf16":{"start":{"line_number":511,"utf16_col":2},"end":{"line_number":511,"utf16_col":46}}},{"name":"Env","fully_qualified_name":"Value::Env","kind":"method","ident_start":18493,"ident_end":18496,"extent_start":18483,"extent_end":18505,"ident_utf16":{"start":{"line_number":514,"utf16_col":12},"end":{"line_number":514,"utf16_col":15}},"extent_utf16":{"start":{"line_number":514,"utf16_col":2},"end":{"line_number":514,"utf16_col":24}}},{"name":"IsEmpty","fully_qualified_name":"Value::IsEmpty","kind":"method","ident_start":19087,"ident_end":19094,"extent_start":19082,"extent_end":19103,"ident_utf16":{"start":{"line_number":526,"utf16_col":7},"end":{"line_number":526,"utf16_col":14}},"extent_utf16":{"start":{"line_number":526,"utf16_col":2},"end":{"line_number":526,"utf16_col":23}}},{"name":"Type","fully_qualified_name":"Value::Type","kind":"method","ident_start":19122,"ident_end":19126,"extent_start":19107,"extent_end":19135,"ident_utf16":{"start":{"line_number":528,"utf16_col":17},"end":{"line_number":528,"utf16_col":21}},"extent_utf16":{"start":{"line_number":528,"utf16_col":2},"end":{"line_number":528,"utf16_col":30}}},{"name":"IsUndefined","fully_qualified_name":"Value::IsUndefined","kind":"method","ident_start":19178,"ident_end":19189,"extent_start":19173,"extent_end":19204,"ident_utf16":{"start":{"line_number":530,"utf16_col":7},"end":{"line_number":530,"utf16_col":18}},"extent_utf16":{"start":{"line_number":530,"utf16_col":2},"end":{"line_number":531,"utf16_col":12}}},{"name":"IsNull","fully_qualified_name":"Value::IsNull","kind":"method","ident_start":19279,"ident_end":19285,"extent_start":19274,"extent_end":19294,"ident_utf16":{"start":{"line_number":532,"utf16_col":7},"end":{"line_number":532,"utf16_col":13}},"extent_utf16":{"start":{"line_number":532,"utf16_col":2},"end":{"line_number":532,"utf16_col":22}}},{"name":"IsBoolean","fully_qualified_name":"Value::IsBoolean","kind":"method","ident_start":19353,"ident_end":19362,"extent_start":19348,"extent_end":19371,"ident_utf16":{"start":{"line_number":533,"utf16_col":7},"end":{"line_number":533,"utf16_col":16}},"extent_utf16":{"start":{"line_number":533,"utf16_col":2},"end":{"line_number":533,"utf16_col":25}}},{"name":"IsNumber","fully_qualified_name":"Value::IsNumber","kind":"method","ident_start":19427,"ident_end":19435,"extent_start":19422,"extent_end":19444,"ident_utf16":{"start":{"line_number":534,"utf16_col":7},"end":{"line_number":534,"utf16_col":15}},"extent_utf16":{"start":{"line_number":534,"utf16_col":2},"end":{"line_number":534,"utf16_col":24}}},{"name":"IsString","fully_qualified_name":"Value::IsString","kind":"method","ident_start":19737,"ident_end":19745,"extent_start":19732,"extent_end":19754,"ident_utf16":{"start":{"line_number":541,"utf16_col":7},"end":{"line_number":541,"utf16_col":15}},"extent_utf16":{"start":{"line_number":541,"utf16_col":2},"end":{"line_number":541,"utf16_col":24}}},{"name":"IsSymbol","fully_qualified_name":"Value::IsSymbol","kind":"method","ident_start":19809,"ident_end":19817,"extent_start":19804,"extent_end":19826,"ident_utf16":{"start":{"line_number":542,"utf16_col":7},"end":{"line_number":542,"utf16_col":15}},"extent_utf16":{"start":{"line_number":542,"utf16_col":2},"end":{"line_number":542,"utf16_col":24}}},{"name":"IsArray","fully_qualified_name":"Value::IsArray","kind":"method","ident_start":19881,"ident_end":19888,"extent_start":19876,"extent_end":19897,"ident_utf16":{"start":{"line_number":543,"utf16_col":7},"end":{"line_number":543,"utf16_col":14}},"extent_utf16":{"start":{"line_number":543,"utf16_col":2},"end":{"line_number":543,"utf16_col":23}}},{"name":"IsArrayBuffer","fully_qualified_name":"Value::IsArrayBuffer","kind":"method","ident_start":19952,"ident_end":19965,"extent_start":19947,"extent_end":19980,"ident_utf16":{"start":{"line_number":544,"utf16_col":7},"end":{"line_number":544,"utf16_col":20}},"extent_utf16":{"start":{"line_number":544,"utf16_col":2},"end":{"line_number":545,"utf16_col":12}}},{"name":"IsTypedArray","fully_qualified_name":"Value::IsTypedArray","kind":"method","ident_start":20041,"ident_end":20053,"extent_start":20036,"extent_end":20062,"ident_utf16":{"start":{"line_number":546,"utf16_col":7},"end":{"line_number":546,"utf16_col":19}},"extent_utf16":{"start":{"line_number":546,"utf16_col":2},"end":{"line_number":546,"utf16_col":28}}},{"name":"IsObject","fully_qualified_name":"Value::IsObject","kind":"method","ident_start":20122,"ident_end":20130,"extent_start":20117,"extent_end":20139,"ident_utf16":{"start":{"line_number":547,"utf16_col":7},"end":{"line_number":547,"utf16_col":15}},"extent_utf16":{"start":{"line_number":547,"utf16_col":2},"end":{"line_number":547,"utf16_col":24}}},{"name":"IsFunction","fully_qualified_name":"Value::IsFunction","kind":"method","ident_start":20198,"ident_end":20208,"extent_start":20193,"extent_end":20217,"ident_utf16":{"start":{"line_number":548,"utf16_col":7},"end":{"line_number":548,"utf16_col":17}},"extent_utf16":{"start":{"line_number":548,"utf16_col":2},"end":{"line_number":548,"utf16_col":26}}},{"name":"IsPromise","fully_qualified_name":"Value::IsPromise","kind":"method","ident_start":20276,"ident_end":20285,"extent_start":20271,"extent_end":20294,"ident_utf16":{"start":{"line_number":549,"utf16_col":7},"end":{"line_number":549,"utf16_col":16}},"extent_utf16":{"start":{"line_number":549,"utf16_col":2},"end":{"line_number":549,"utf16_col":25}}},{"name":"IsDataView","fully_qualified_name":"Value::IsDataView","kind":"method","ident_start":20353,"ident_end":20363,"extent_start":20348,"extent_end":20372,"ident_utf16":{"start":{"line_number":550,"utf16_col":7},"end":{"line_number":550,"utf16_col":17}},"extent_utf16":{"start":{"line_number":550,"utf16_col":2},"end":{"line_number":550,"utf16_col":26}}},{"name":"IsBuffer","fully_qualified_name":"Value::IsBuffer","kind":"method","ident_start":20432,"ident_end":20440,"extent_start":20427,"extent_end":20449,"ident_utf16":{"start":{"line_number":551,"utf16_col":7},"end":{"line_number":551,"utf16_col":15}},"extent_utf16":{"start":{"line_number":551,"utf16_col":2},"end":{"line_number":551,"utf16_col":24}}},{"name":"IsExternal","fully_qualified_name":"Value::IsExternal","kind":"method","ident_start":20502,"ident_end":20512,"extent_start":20497,"extent_end":20521,"ident_utf16":{"start":{"line_number":552,"utf16_col":7},"end":{"line_number":552,"utf16_col":17}},"extent_utf16":{"start":{"line_number":552,"utf16_col":2},"end":{"line_number":552,"utf16_col":26}}},{"name":"ToBoolean","fully_qualified_name":"Value::ToBoolean","kind":"method","ident_start":21204,"ident_end":21213,"extent_start":21182,"extent_end":21228,"ident_utf16":{"start":{"line_number":572,"utf16_col":24},"end":{"line_number":572,"utf16_col":33}},"extent_utf16":{"start":{"line_number":572,"utf16_col":2},"end":{"line_number":573,"utf16_col":12}}},{"name":"ToNumber","fully_qualified_name":"Value::ToNumber","kind":"method","ident_start":21299,"ident_end":21307,"extent_start":21278,"extent_end":21322,"ident_utf16":{"start":{"line_number":574,"utf16_col":23},"end":{"line_number":574,"utf16_col":31}},"extent_utf16":{"start":{"line_number":574,"utf16_col":2},"end":{"line_number":575,"utf16_col":12}}},{"name":"ToString","fully_qualified_name":"Value::ToString","kind":"method","ident_start":21392,"ident_end":21400,"extent_start":21371,"extent_end":21415,"ident_utf16":{"start":{"line_number":576,"utf16_col":23},"end":{"line_number":576,"utf16_col":31}},"extent_utf16":{"start":{"line_number":576,"utf16_col":2},"end":{"line_number":577,"utf16_col":12}}},{"name":"ToObject","fully_qualified_name":"Value::ToObject","kind":"method","ident_start":21485,"ident_end":21493,"extent_start":21464,"extent_end":21508,"ident_utf16":{"start":{"line_number":578,"utf16_col":23},"end":{"line_number":578,"utf16_col":31}},"extent_utf16":{"start":{"line_number":578,"utf16_col":2},"end":{"line_number":579,"utf16_col":12}}},{"name":"Boolean","fully_qualified_name":"Boolean","kind":"class","ident_start":21684,"ident_end":21691,"extent_start":21678,"extent_end":22213,"ident_utf16":{"start":{"line_number":589,"utf16_col":6},"end":{"line_number":589,"utf16_col":13}},"extent_utf16":{"start":{"line_number":589,"utf16_col":0},"end":{"line_number":603,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Boolean::New","kind":"method","ident_start":21735,"ident_end":21738,"extent_start":21720,"extent_end":21839,"ident_utf16":{"start":{"line_number":591,"utf16_col":17},"end":{"line_number":591,"utf16_col":20}},"extent_utf16":{"start":{"line_number":591,"utf16_col":2},"end":{"line_number":593,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"Boolean::CheckCast","kind":"method","ident_start":21855,"ident_end":21864,"extent_start":21843,"extent_end":21897,"ident_utf16":{"start":{"line_number":595,"utf16_col":14},"end":{"line_number":595,"utf16_col":23}},"extent_utf16":{"start":{"line_number":595,"utf16_col":2},"end":{"line_number":595,"utf16_col":56}}},{"name":"Value","fully_qualified_name":"Boolean::Value","kind":"method","ident_start":22139,"ident_end":22144,"extent_start":22134,"extent_end":22153,"ident_utf16":{"start":{"line_number":602,"utf16_col":7},"end":{"line_number":602,"utf16_col":12}},"extent_utf16":{"start":{"line_number":602,"utf16_col":2},"end":{"line_number":602,"utf16_col":21}}},{"name":"Number","fully_qualified_name":"Number","kind":"class","ident_start":22253,"ident_end":22259,"extent_start":22247,"extent_end":23607,"ident_utf16":{"start":{"line_number":606,"utf16_col":6},"end":{"line_number":606,"utf16_col":12}},"extent_utf16":{"start":{"line_number":606,"utf16_col":0},"end":{"line_number":639,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Number::New","kind":"method","ident_start":22302,"ident_end":22305,"extent_start":22288,"extent_end":22404,"ident_utf16":{"start":{"line_number":608,"utf16_col":16},"end":{"line_number":608,"utf16_col":19}},"extent_utf16":{"start":{"line_number":608,"utf16_col":2},"end":{"line_number":610,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"Number::CheckCast","kind":"method","ident_start":22420,"ident_end":22429,"extent_start":22408,"extent_end":22462,"ident_utf16":{"start":{"line_number":612,"utf16_col":14},"end":{"line_number":612,"utf16_col":23}},"extent_utf16":{"start":{"line_number":612,"utf16_col":2},"end":{"line_number":612,"utf16_col":56}}},{"name":"Int32Value","fully_qualified_name":"Number::Int32Value","kind":"method","ident_start":23114,"ident_end":23124,"extent_start":23106,"extent_end":23139,"ident_utf16":{"start":{"line_number":629,"utf16_col":10},"end":{"line_number":629,"utf16_col":20}},"extent_utf16":{"start":{"line_number":629,"utf16_col":2},"end":{"line_number":630,"utf16_col":12}}},{"name":"Uint32Value","fully_qualified_name":"Number::Uint32Value","kind":"method","ident_start":23215,"ident_end":23226,"extent_start":23206,"extent_end":23241,"ident_utf16":{"start":{"line_number":631,"utf16_col":11},"end":{"line_number":631,"utf16_col":22}},"extent_utf16":{"start":{"line_number":631,"utf16_col":2},"end":{"line_number":632,"utf16_col":12}}},{"name":"Int64Value","fully_qualified_name":"Number::Int64Value","kind":"method","ident_start":23318,"ident_end":23328,"extent_start":23310,"extent_end":23343,"ident_utf16":{"start":{"line_number":633,"utf16_col":10},"end":{"line_number":633,"utf16_col":20}},"extent_utf16":{"start":{"line_number":633,"utf16_col":2},"end":{"line_number":634,"utf16_col":12}}},{"name":"FloatValue","fully_qualified_name":"Number::FloatValue","kind":"method","ident_start":23416,"ident_end":23426,"extent_start":23410,"extent_end":23441,"ident_utf16":{"start":{"line_number":635,"utf16_col":8},"end":{"line_number":635,"utf16_col":18}},"extent_utf16":{"start":{"line_number":635,"utf16_col":2},"end":{"line_number":636,"utf16_col":12}}},{"name":"DoubleValue","fully_qualified_name":"Number::DoubleValue","kind":"method","ident_start":23515,"ident_end":23526,"extent_start":23508,"extent_end":23541,"ident_utf16":{"start":{"line_number":637,"utf16_col":9},"end":{"line_number":637,"utf16_col":20}},"extent_utf16":{"start":{"line_number":637,"utf16_col":2},"end":{"line_number":638,"utf16_col":12}}},{"name":"BigInt","fully_qualified_name":"BigInt","kind":"class","ident_start":23668,"ident_end":23674,"extent_start":23662,"extent_end":25488,"ident_utf16":{"start":{"line_number":643,"utf16_col":6},"end":{"line_number":643,"utf16_col":12}},"extent_utf16":{"start":{"line_number":643,"utf16_col":0},"end":{"line_number":683,"utf16_col":1}}},{"name":"New","fully_qualified_name":"BigInt::New","kind":"method","ident_start":23717,"ident_end":23720,"extent_start":23703,"extent_end":23819,"ident_utf16":{"start":{"line_number":645,"utf16_col":16},"end":{"line_number":645,"utf16_col":19}},"extent_utf16":{"start":{"line_number":645,"utf16_col":2},"end":{"line_number":647,"utf16_col":4}}},{"name":"New","fully_qualified_name":"BigInt::New","kind":"method","ident_start":23836,"ident_end":23839,"extent_start":23822,"extent_end":23940,"ident_utf16":{"start":{"line_number":648,"utf16_col":16},"end":{"line_number":648,"utf16_col":19}},"extent_utf16":{"start":{"line_number":648,"utf16_col":2},"end":{"line_number":650,"utf16_col":4}}},{"name":"New","fully_qualified_name":"BigInt::New","kind":"method","ident_start":24180,"ident_end":24183,"extent_start":24166,"extent_end":24446,"ident_utf16":{"start":{"line_number":656,"utf16_col":16},"end":{"line_number":656,"utf16_col":19}},"extent_utf16":{"start":{"line_number":656,"utf16_col":2},"end":{"line_number":660,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"BigInt::CheckCast","kind":"method","ident_start":24462,"ident_end":24471,"extent_start":24450,"extent_end":24504,"ident_utf16":{"start":{"line_number":662,"utf16_col":14},"end":{"line_number":662,"utf16_col":23}},"extent_utf16":{"start":{"line_number":662,"utf16_col":2},"end":{"line_number":662,"utf16_col":56}}},{"name":"Int64Value","fully_qualified_name":"BigInt::Int64Value","kind":"method","ident_start":24665,"ident_end":24675,"extent_start":24657,"extent_end":24704,"ident_utf16":{"start":{"line_number":668,"utf16_col":10},"end":{"line_number":668,"utf16_col":20}},"extent_utf16":{"start":{"line_number":668,"utf16_col":2},"end":{"line_number":669,"utf16_col":12}}},{"name":"Uint64Value","fully_qualified_name":"BigInt::Uint64Value","kind":"method","ident_start":24780,"ident_end":24791,"extent_start":24771,"extent_end":24820,"ident_utf16":{"start":{"line_number":670,"utf16_col":11},"end":{"line_number":670,"utf16_col":22}},"extent_utf16":{"start":{"line_number":670,"utf16_col":2},"end":{"line_number":671,"utf16_col":12}}},{"name":"WordCount","fully_qualified_name":"BigInt::WordCount","kind":"method","ident_start":24897,"ident_end":24906,"extent_start":24890,"extent_end":24915,"ident_utf16":{"start":{"line_number":673,"utf16_col":9},"end":{"line_number":673,"utf16_col":18}},"extent_utf16":{"start":{"line_number":673,"utf16_col":2},"end":{"line_number":673,"utf16_col":27}}},{"name":"ToWords","fully_qualified_name":"BigInt::ToWords","kind":"method","ident_start":25426,"ident_end":25433,"extent_start":25421,"extent_end":25486,"ident_utf16":{"start":{"line_number":682,"utf16_col":7},"end":{"line_number":682,"utf16_col":14}},"extent_utf16":{"start":{"line_number":682,"utf16_col":2},"end":{"line_number":682,"utf16_col":67}}},{"name":"Date","fully_qualified_name":"Date","kind":"class","ident_start":25577,"ident_end":25581,"extent_start":25571,"extent_end":26352,"ident_utf16":{"start":{"line_number":688,"utf16_col":6},"end":{"line_number":688,"utf16_col":10}},"extent_utf16":{"start":{"line_number":688,"utf16_col":0},"end":{"line_number":708,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Date::New","kind":"method","ident_start":25678,"ident_end":25681,"extent_start":25666,"extent_end":25778,"ident_utf16":{"start":{"line_number":691,"utf16_col":14},"end":{"line_number":691,"utf16_col":17}},"extent_utf16":{"start":{"line_number":691,"utf16_col":2},"end":{"line_number":693,"utf16_col":4}}},{"name":"New","fully_qualified_name":"Date::New","kind":"method","ident_start":25871,"ident_end":25874,"extent_start":25859,"extent_end":26005,"ident_utf16":{"start":{"line_number":696,"utf16_col":14},"end":{"line_number":696,"utf16_col":17}},"extent_utf16":{"start":{"line_number":696,"utf16_col":2},"end":{"line_number":699,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"Date::CheckCast","kind":"method","ident_start":26021,"ident_end":26030,"extent_start":26009,"extent_end":26063,"ident_utf16":{"start":{"line_number":701,"utf16_col":14},"end":{"line_number":701,"utf16_col":23}},"extent_utf16":{"start":{"line_number":701,"utf16_col":2},"end":{"line_number":701,"utf16_col":56}}},{"name":"ValueOf","fully_qualified_name":"Date::ValueOf","kind":"method","ident_start":26283,"ident_end":26290,"extent_start":26276,"extent_end":26299,"ident_utf16":{"start":{"line_number":707,"utf16_col":9},"end":{"line_number":707,"utf16_col":16}},"extent_utf16":{"start":{"line_number":707,"utf16_col":2},"end":{"line_number":707,"utf16_col":25}}},{"name":"Name","fully_qualified_name":"Name","kind":"class","ident_start":26447,"ident_end":26451,"extent_start":26441,"extent_end":26677,"ident_utf16":{"start":{"line_number":712,"utf16_col":6},"end":{"line_number":712,"utf16_col":10}},"extent_utf16":{"start":{"line_number":712,"utf16_col":0},"end":{"line_number":719,"utf16_col":1}}},{"name":"CheckCast","fully_qualified_name":"Name::CheckCast","kind":"method","ident_start":26492,"ident_end":26501,"extent_start":26480,"extent_end":26534,"ident_utf16":{"start":{"line_number":714,"utf16_col":14},"end":{"line_number":714,"utf16_col":23}},"extent_utf16":{"start":{"line_number":714,"utf16_col":2},"end":{"line_number":714,"utf16_col":56}}},{"name":"String","fully_qualified_name":"String","kind":"class","ident_start":26717,"ident_end":26723,"extent_start":26711,"extent_end":29604,"ident_utf16":{"start":{"line_number":722,"utf16_col":6},"end":{"line_number":722,"utf16_col":12}},"extent_utf16":{"start":{"line_number":722,"utf16_col":0},"end":{"line_number":792,"utf16_col":1}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":26831,"ident_end":26834,"extent_start":26817,"extent_end":26967,"ident_utf16":{"start":{"line_number":725,"utf16_col":16},"end":{"line_number":725,"utf16_col":19}},"extent_utf16":{"start":{"line_number":725,"utf16_col":2},"end":{"line_number":727,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":27052,"ident_end":27055,"extent_start":27038,"extent_end":27195,"ident_utf16":{"start":{"line_number":730,"utf16_col":16},"end":{"line_number":730,"utf16_col":19}},"extent_utf16":{"start":{"line_number":730,"utf16_col":2},"end":{"line_number":732,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":27284,"ident_end":27287,"extent_start":27270,"extent_end":27421,"ident_utf16":{"start":{"line_number":735,"utf16_col":16},"end":{"line_number":735,"utf16_col":19}},"extent_utf16":{"start":{"line_number":735,"utf16_col":2},"end":{"line_number":737,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":27503,"ident_end":27506,"extent_start":27489,"extent_end":27632,"ident_utf16":{"start":{"line_number":740,"utf16_col":16},"end":{"line_number":740,"utf16_col":19}},"extent_utf16":{"start":{"line_number":740,"utf16_col":2},"end":{"line_number":743,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":27715,"ident_end":27718,"extent_start":27701,"extent_end":27853,"ident_utf16":{"start":{"line_number":746,"utf16_col":16},"end":{"line_number":746,"utf16_col":19}},"extent_utf16":{"start":{"line_number":746,"utf16_col":2},"end":{"line_number":749,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":27963,"ident_end":27966,"extent_start":27949,"extent_end":28239,"ident_utf16":{"start":{"line_number":753,"utf16_col":16},"end":{"line_number":753,"utf16_col":19}},"extent_utf16":{"start":{"line_number":753,"utf16_col":2},"end":{"line_number":757,"utf16_col":4}}},{"name":"New","fully_qualified_name":"String::New","kind":"method","ident_start":28350,"ident_end":28353,"extent_start":28336,"extent_end":28620,"ident_utf16":{"start":{"line_number":761,"utf16_col":16},"end":{"line_number":761,"utf16_col":19}},"extent_utf16":{"start":{"line_number":761,"utf16_col":2},"end":{"line_number":766,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"String::CheckCast","kind":"method","ident_start":29003,"ident_end":29012,"extent_start":28991,"extent_end":29045,"ident_utf16":{"start":{"line_number":778,"utf16_col":14},"end":{"line_number":778,"utf16_col":23}},"extent_utf16":{"start":{"line_number":778,"utf16_col":2},"end":{"line_number":778,"utf16_col":56}}},{"name":"Utf8Value","fully_qualified_name":"String::Utf8Value","kind":"method","ident_start":29412,"ident_end":29421,"extent_start":29400,"extent_end":29436,"ident_utf16":{"start":{"line_number":788,"utf16_col":14},"end":{"line_number":788,"utf16_col":23}},"extent_utf16":{"start":{"line_number":788,"utf16_col":2},"end":{"line_number":789,"utf16_col":12}}},{"name":"Utf16Value","fully_qualified_name":"String::Utf16Value","kind":"method","ident_start":29515,"ident_end":29525,"extent_start":29500,"extent_end":29540,"ident_utf16":{"start":{"line_number":790,"utf16_col":17},"end":{"line_number":790,"utf16_col":27}},"extent_utf16":{"start":{"line_number":790,"utf16_col":2},"end":{"line_number":791,"utf16_col":12}}},{"name":"string_convertible_probe","fully_qualified_name":"string_convertible_probe","kind":"class","ident_start":29708,"ident_end":29732,"extent_start":29701,"extent_end":29917,"ident_utf16":{"start":{"line_number":797,"utf16_col":7},"end":{"line_number":797,"utf16_col":31}},"extent_utf16":{"start":{"line_number":797,"utf16_col":0},"end":{"line_number":803,"utf16_col":1}}},{"name":"has_unambiguous_string_convertible_overload","fully_qualified_name":"has_unambiguous_string_convertible_overload","kind":"class","ident_start":29966,"ident_end":30009,"extent_start":29959,"extent_end":30030,"ident_utf16":{"start":{"line_number":806,"utf16_col":7},"end":{"line_number":806,"utf16_col":50}},"extent_utf16":{"start":{"line_number":806,"utf16_col":0},"end":{"line_number":806,"utf16_col":71}}},{"name":"Symbol","fully_qualified_name":"Symbol","kind":"class","ident_start":30942,"ident_end":30948,"extent_start":30936,"extent_end":33486,"ident_utf16":{"start":{"line_number":830,"utf16_col":6},"end":{"line_number":830,"utf16_col":12}},"extent_utf16":{"start":{"line_number":830,"utf16_col":0},"end":{"line_number":894,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Symbol::New","kind":"method","ident_start":31053,"ident_end":31056,"extent_start":31039,"extent_end":31259,"ident_utf16":{"start":{"line_number":833,"utf16_col":16},"end":{"line_number":833,"utf16_col":19}},"extent_utf16":{"start":{"line_number":833,"utf16_col":2},"end":{"line_number":838,"utf16_col":4}}},{"name":"New","fully_qualified_name":"Symbol::New","kind":"method","ident_start":31330,"ident_end":31333,"extent_start":31316,"extent_end":31486,"ident_utf16":{"start":{"line_number":841,"utf16_col":16},"end":{"line_number":841,"utf16_col":19}},"extent_utf16":{"start":{"line_number":841,"utf16_col":2},"end":{"line_number":845,"utf16_col":4}}},{"name":"New","fully_qualified_name":"Symbol::New","kind":"method","ident_start":31557,"ident_end":31560,"extent_start":31543,"extent_end":31716,"ident_utf16":{"start":{"line_number":848,"utf16_col":16},"end":{"line_number":848,"utf16_col":19}},"extent_utf16":{"start":{"line_number":848,"utf16_col":2},"end":{"line_number":852,"utf16_col":4}}},{"name":"New","fully_qualified_name":"Symbol::New","kind":"method","ident_start":31787,"ident_end":31790,"extent_start":31773,"extent_end":31921,"ident_utf16":{"start":{"line_number":855,"utf16_col":16},"end":{"line_number":855,"utf16_col":19}},"extent_utf16":{"start":{"line_number":855,"utf16_col":2},"end":{"line_number":857,"utf16_col":4}}},{"name":"New","fully_qualified_name":"Symbol::New","kind":"method","ident_start":31992,"ident_end":31995,"extent_start":31978,"extent_end":32127,"ident_utf16":{"start":{"line_number":860,"utf16_col":16},"end":{"line_number":860,"utf16_col":19}},"extent_utf16":{"start":{"line_number":860,"utf16_col":2},"end":{"line_number":863,"utf16_col":4}}},{"name":"WellKnown","fully_qualified_name":"Symbol::WellKnown","kind":"method","ident_start":32209,"ident_end":32218,"extent_start":32181,"extent_end":32254,"ident_utf16":{"start":{"line_number":866,"utf16_col":30},"end":{"line_number":866,"utf16_col":39}},"extent_utf16":{"start":{"line_number":866,"utf16_col":2},"end":{"line_number":866,"utf16_col":75}}},{"name":"For","fully_qualified_name":"Symbol::For","kind":"method","ident_start":32356,"ident_end":32359,"extent_start":32328,"extent_end":32406,"ident_utf16":{"start":{"line_number":869,"utf16_col":30},"end":{"line_number":869,"utf16_col":33}},"extent_utf16":{"start":{"line_number":869,"utf16_col":2},"end":{"line_number":869,"utf16_col":80}}},{"name":"For","fully_qualified_name":"Symbol::For","kind":"method","ident_start":32513,"ident_end":32516,"extent_start":32485,"extent_end":32561,"ident_utf16":{"start":{"line_number":872,"utf16_col":30},"end":{"line_number":872,"utf16_col":33}},"extent_utf16":{"start":{"line_number":872,"utf16_col":2},"end":{"line_number":872,"utf16_col":78}}},{"name":"For","fully_qualified_name":"Symbol::For","kind":"method","ident_start":32932,"ident_end":32935,"extent_start":32904,"extent_end":32975,"ident_utf16":{"start":{"line_number":881,"utf16_col":30},"end":{"line_number":881,"utf16_col":33}},"extent_utf16":{"start":{"line_number":881,"utf16_col":2},"end":{"line_number":881,"utf16_col":73}}},{"name":"For","fully_qualified_name":"Symbol::For","kind":"method","ident_start":33087,"ident_end":33090,"extent_start":33059,"extent_end":33125,"ident_utf16":{"start":{"line_number":884,"utf16_col":30},"end":{"line_number":884,"utf16_col":33}},"extent_utf16":{"start":{"line_number":884,"utf16_col":2},"end":{"line_number":884,"utf16_col":68}}},{"name":"For","fully_qualified_name":"Symbol::For","kind":"method","ident_start":33235,"ident_end":33238,"extent_start":33207,"extent_end":33277,"ident_utf16":{"start":{"line_number":887,"utf16_col":30},"end":{"line_number":887,"utf16_col":33}},"extent_utf16":{"start":{"line_number":887,"utf16_col":2},"end":{"line_number":887,"utf16_col":72}}},{"name":"CheckCast","fully_qualified_name":"Symbol::CheckCast","kind":"method","ident_start":33293,"ident_end":33302,"extent_start":33281,"extent_end":33335,"ident_utf16":{"start":{"line_number":889,"utf16_col":14},"end":{"line_number":889,"utf16_col":23}},"extent_utf16":{"start":{"line_number":889,"utf16_col":2},"end":{"line_number":889,"utf16_col":56}}},{"name":"TypeTaggable","fully_qualified_name":"TypeTaggable","kind":"class","ident_start":33495,"ident_end":33507,"extent_start":33489,"extent_end":33775,"ident_utf16":{"start":{"line_number":896,"utf16_col":6},"end":{"line_number":896,"utf16_col":18}},"extent_utf16":{"start":{"line_number":896,"utf16_col":0},"end":{"line_number":905,"utf16_col":1}}},{"name":"Object","fully_qualified_name":"Object","kind":"class","ident_start":33815,"ident_end":33821,"extent_start":33809,"extent_end":44078,"ident_utf16":{"start":{"line_number":908,"utf16_col":6},"end":{"line_number":908,"utf16_col":12}},"extent_utf16":{"start":{"line_number":908,"utf16_col":0},"end":{"line_number":1209,"utf16_col":1}}},{"name":"PropertyLValue","fully_qualified_name":"Object::PropertyLValue","kind":"class","ident_start":34477,"ident_end":34491,"extent_start":34471,"extent_end":35032,"ident_utf16":{"start":{"line_number":925,"utf16_col":8},"end":{"line_number":925,"utf16_col":22}},"extent_utf16":{"start":{"line_number":925,"utf16_col":2},"end":{"line_number":946,"utf16_col":3}}},{"name":"AsValue","fully_qualified_name":"Object::PropertyLValue::AsValue","kind":"method","ident_start":34835,"ident_end":34842,"extent_start":34829,"extent_end":34851,"ident_utf16":{"start":{"line_number":936,"utf16_col":10},"end":{"line_number":936,"utf16_col":17}},"extent_utf16":{"start":{"line_number":936,"utf16_col":4},"end":{"line_number":936,"utf16_col":26}}},{"name":"PropertyLValue","fully_qualified_name":"Object::PropertyLValue::PropertyLValue","kind":"function","ident_start":34869,"ident_end":34883,"extent_start":34869,"extent_end":34895,"ident_utf16":{"start":{"line_number":939,"utf16_col":4},"end":{"line_number":939,"utf16_col":18}},"extent_utf16":{"start":{"line_number":939,"utf16_col":4},"end":{"line_number":939,"utf16_col":30}}},{"name":"New","fully_qualified_name":"Object::New","kind":"method","ident_start":35085,"ident_end":35088,"extent_start":35071,"extent_end":35133,"ident_utf16":{"start":{"line_number":949,"utf16_col":16},"end":{"line_number":949,"utf16_col":19}},"extent_utf16":{"start":{"line_number":949,"utf16_col":2},"end":{"line_number":950,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"Object::CheckCast","kind":"method","ident_start":35610,"ident_end":35619,"extent_start":35598,"extent_end":35652,"ident_utf16":{"start":{"line_number":962,"utf16_col":14},"end":{"line_number":962,"utf16_col":23}},"extent_utf16":{"start":{"line_number":962,"utf16_col":2},"end":{"line_number":962,"utf16_col":56}}},{"name":"Has","fully_qualified_name":"Object::Has","kind":"method","ident_start":36917,"ident_end":36920,"extent_start":36898,"extent_end":36975,"ident_utf16":{"start":{"line_number":1002,"utf16_col":21},"end":{"line_number":1002,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1002,"utf16_col":2},"end":{"line_number":1003,"utf16_col":10}}},{"name":"Has","fully_qualified_name":"Object::Has","kind":"method","ident_start":37042,"ident_end":37045,"extent_start":37023,"extent_end":37085,"ident_utf16":{"start":{"line_number":1006,"utf16_col":21},"end":{"line_number":1006,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1006,"utf16_col":2},"end":{"line_number":1007,"utf16_col":10}}},{"name":"Has","fully_qualified_name":"Object::Has","kind":"method","ident_start":37158,"ident_end":37161,"extent_start":37139,"extent_end":37250,"ident_utf16":{"start":{"line_number":1010,"utf16_col":21},"end":{"line_number":1010,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1010,"utf16_col":2},"end":{"line_number":1012,"utf16_col":10}}},{"name":"Has","fully_qualified_name":"Object::Has","kind":"method","ident_start":37323,"ident_end":37326,"extent_start":37304,"extent_end":37406,"ident_utf16":{"start":{"line_number":1015,"utf16_col":21},"end":{"line_number":1015,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1015,"utf16_col":2},"end":{"line_number":1017,"utf16_col":10}}},{"name":"HasOwnProperty","fully_qualified_name":"Object::HasOwnProperty","kind":"method","ident_start":37477,"ident_end":37491,"extent_start":37458,"extent_end":37546,"ident_utf16":{"start":{"line_number":1020,"utf16_col":21},"end":{"line_number":1020,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1020,"utf16_col":2},"end":{"line_number":1021,"utf16_col":10}}},{"name":"HasOwnProperty","fully_qualified_name":"Object::HasOwnProperty","kind":"method","ident_start":37617,"ident_end":37631,"extent_start":37598,"extent_end":37671,"ident_utf16":{"start":{"line_number":1024,"utf16_col":21},"end":{"line_number":1024,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1024,"utf16_col":2},"end":{"line_number":1025,"utf16_col":10}}},{"name":"HasOwnProperty","fully_qualified_name":"Object::HasOwnProperty","kind":"method","ident_start":37742,"ident_end":37756,"extent_start":37723,"extent_end":37845,"ident_utf16":{"start":{"line_number":1028,"utf16_col":21},"end":{"line_number":1028,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1028,"utf16_col":2},"end":{"line_number":1030,"utf16_col":10}}},{"name":"HasOwnProperty","fully_qualified_name":"Object::HasOwnProperty","kind":"method","ident_start":37916,"ident_end":37930,"extent_start":37897,"extent_end":38010,"ident_utf16":{"start":{"line_number":1033,"utf16_col":21},"end":{"line_number":1033,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1033,"utf16_col":2},"end":{"line_number":1035,"utf16_col":10}}},{"name":"Get","fully_qualified_name":"Object::Get","kind":"method","ident_start":38057,"ident_end":38060,"extent_start":38037,"extent_end":38115,"ident_utf16":{"start":{"line_number":1038,"utf16_col":22},"end":{"line_number":1038,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1038,"utf16_col":2},"end":{"line_number":1039,"utf16_col":10}}},{"name":"Get","fully_qualified_name":"Object::Get","kind":"method","ident_start":38162,"ident_end":38165,"extent_start":38142,"extent_end":38205,"ident_utf16":{"start":{"line_number":1042,"utf16_col":22},"end":{"line_number":1042,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1042,"utf16_col":2},"end":{"line_number":1043,"utf16_col":10}}},{"name":"Get","fully_qualified_name":"Object::Get","kind":"method","ident_start":38258,"ident_end":38261,"extent_start":38238,"extent_end":38350,"ident_utf16":{"start":{"line_number":1046,"utf16_col":22},"end":{"line_number":1046,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1046,"utf16_col":2},"end":{"line_number":1048,"utf16_col":10}}},{"name":"Get","fully_qualified_name":"Object::Get","kind":"method","ident_start":38403,"ident_end":38406,"extent_start":38383,"extent_end":38486,"ident_utf16":{"start":{"line_number":1051,"utf16_col":22},"end":{"line_number":1051,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1051,"utf16_col":2},"end":{"line_number":1053,"utf16_col":10}}},{"name":"Delete","fully_qualified_name":"Object::Delete","kind":"method","ident_start":39395,"ident_end":39401,"extent_start":39376,"extent_end":39456,"ident_utf16":{"start":{"line_number":1081,"utf16_col":21},"end":{"line_number":1081,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1081,"utf16_col":2},"end":{"line_number":1082,"utf16_col":10}}},{"name":"Delete","fully_qualified_name":"Object::Delete","kind":"method","ident_start":39502,"ident_end":39508,"extent_start":39483,"extent_end":39548,"ident_utf16":{"start":{"line_number":1085,"utf16_col":21},"end":{"line_number":1085,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1085,"utf16_col":2},"end":{"line_number":1086,"utf16_col":10}}},{"name":"Delete","fully_qualified_name":"Object::Delete","kind":"method","ident_start":39594,"ident_end":39600,"extent_start":39575,"extent_end":39689,"ident_utf16":{"start":{"line_number":1089,"utf16_col":21},"end":{"line_number":1089,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1089,"utf16_col":2},"end":{"line_number":1091,"utf16_col":10}}},{"name":"Delete","fully_qualified_name":"Object::Delete","kind":"method","ident_start":39735,"ident_end":39741,"extent_start":39716,"extent_end":39821,"ident_utf16":{"start":{"line_number":1094,"utf16_col":21},"end":{"line_number":1094,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1094,"utf16_col":2},"end":{"line_number":1096,"utf16_col":10}}},{"name":"Has","fully_qualified_name":"Object::Has","kind":"method","ident_start":39897,"ident_end":39900,"extent_start":39878,"extent_end":39957,"ident_utf16":{"start":{"line_number":1099,"utf16_col":21},"end":{"line_number":1099,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1099,"utf16_col":2},"end":{"line_number":1100,"utf16_col":10}}},{"name":"Get","fully_qualified_name":"Object::Get","kind":"method","ident_start":40030,"ident_end":40033,"extent_start":40010,"extent_end":40090,"ident_utf16":{"start":{"line_number":1103,"utf16_col":22},"end":{"line_number":1103,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1103,"utf16_col":2},"end":{"line_number":1104,"utf16_col":10}}},{"name":"Delete","fully_qualified_name":"Object::Delete","kind":"method","ident_start":40416,"ident_end":40422,"extent_start":40397,"extent_end":40479,"ident_utf16":{"start":{"line_number":1113,"utf16_col":21},"end":{"line_number":1113,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1113,"utf16_col":2},"end":{"line_number":1114,"utf16_col":10}}},{"name":"GetPropertyNames","fully_qualified_name":"Object::GetPropertyNames","kind":"method","ident_start":40852,"ident_end":40868,"extent_start":40832,"extent_end":40877,"ident_utf16":{"start":{"line_number":1122,"utf16_col":22},"end":{"line_number":1122,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1122,"utf16_col":2},"end":{"line_number":1122,"utf16_col":47}}},{"name":"DefineProperty","fully_qualified_name":"Object::DefineProperty","kind":"method","ident_start":41188,"ident_end":41202,"extent_start":41169,"extent_end":41313,"ident_utf16":{"start":{"line_number":1129,"utf16_col":21},"end":{"line_number":1129,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1129,"utf16_col":2},"end":{"line_number":1132,"utf16_col":10}}},{"name":"DefineProperties","fully_qualified_name":"Object::DefineProperties","kind":"method","ident_start":41595,"ident_end":41611,"extent_start":41576,"extent_end":41753,"ident_utf16":{"start":{"line_number":1139,"utf16_col":21},"end":{"line_number":1139,"utf16_col":37}},"extent_utf16":{"start":{"line_number":1139,"utf16_col":2},"end":{"line_number":1142,"utf16_col":10}}},{"name":"DefineProperties","fully_qualified_name":"Object::DefineProperties","kind":"method","ident_start":42035,"ident_end":42051,"extent_start":42016,"extent_end":42185,"ident_utf16":{"start":{"line_number":1149,"utf16_col":21},"end":{"line_number":1149,"utf16_col":37}},"extent_utf16":{"start":{"line_number":1149,"utf16_col":2},"end":{"line_number":1152,"utf16_col":10}}},{"name":"InstanceOf","fully_qualified_name":"Object::InstanceOf","kind":"method","ident_start":42568,"ident_end":42578,"extent_start":42549,"extent_end":42651,"ident_utf16":{"start":{"line_number":1162,"utf16_col":21},"end":{"line_number":1162,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1162,"utf16_col":2},"end":{"line_number":1164,"utf16_col":10}}},{"name":"const_iterator","fully_qualified_name":"Object::const_iterator","kind":"class","ident_start":43170,"ident_end":43184,"extent_start":43164,"extent_end":43184,"ident_utf16":{"start":{"line_number":1178,"utf16_col":8},"end":{"line_number":1178,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1178,"utf16_col":2},"end":{"line_number":1178,"utf16_col":22}}},{"name":"iterator","fully_qualified_name":"Object::iterator","kind":"class","ident_start":43273,"ident_end":43281,"extent_start":43267,"extent_end":43281,"ident_utf16":{"start":{"line_number":1184,"utf16_col":8},"end":{"line_number":1184,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1184,"utf16_col":2},"end":{"line_number":1184,"utf16_col":16}}},{"name":"GetPrototype","fully_qualified_name":"Object::GetPrototype","kind":"method","ident_start":43938,"ident_end":43950,"extent_start":43917,"extent_end":43959,"ident_utf16":{"start":{"line_number":1204,"utf16_col":23},"end":{"line_number":1204,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1204,"utf16_col":2},"end":{"line_number":1204,"utf16_col":44}}},{"name":"External","fully_qualified_name":"External","kind":"class","ident_start":44109,"ident_end":44117,"extent_start":44103,"extent_end":44800,"ident_utf16":{"start":{"line_number":1212,"utf16_col":6},"end":{"line_number":1212,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1212,"utf16_col":0},"end":{"line_number":1233,"utf16_col":1}}},{"name":"New","fully_qualified_name":"External::New","kind":"method","ident_start":44169,"ident_end":44172,"extent_start":44153,"extent_end":44196,"ident_utf16":{"start":{"line_number":1214,"utf16_col":18},"end":{"line_number":1214,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1214,"utf16_col":2},"end":{"line_number":1214,"utf16_col":45}}},{"name":"CheckCast","fully_qualified_name":"External::CheckCast","kind":"method","ident_start":44677,"ident_end":44686,"extent_start":44665,"extent_end":44719,"ident_utf16":{"start":{"line_number":1227,"utf16_col":14},"end":{"line_number":1227,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1227,"utf16_col":2},"end":{"line_number":1227,"utf16_col":56}}},{"name":"Array","fully_qualified_name":"Array","kind":"class","ident_start":44809,"ident_end":44814,"extent_start":44803,"extent_end":45065,"ident_utf16":{"start":{"line_number":1235,"utf16_col":6},"end":{"line_number":1235,"utf16_col":11}},"extent_utf16":{"start":{"line_number":1235,"utf16_col":0},"end":{"line_number":1246,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Array::New","kind":"method","ident_start":44857,"ident_end":44860,"extent_start":44844,"extent_end":44875,"ident_utf16":{"start":{"line_number":1237,"utf16_col":15},"end":{"line_number":1237,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1237,"utf16_col":2},"end":{"line_number":1237,"utf16_col":33}}},{"name":"New","fully_qualified_name":"Array::New","kind":"method","ident_start":44891,"ident_end":44894,"extent_start":44878,"extent_end":44924,"ident_utf16":{"start":{"line_number":1238,"utf16_col":15},"end":{"line_number":1238,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1238,"utf16_col":2},"end":{"line_number":1238,"utf16_col":48}}},{"name":"CheckCast","fully_qualified_name":"Array::CheckCast","kind":"method","ident_start":44940,"ident_end":44949,"extent_start":44928,"extent_end":44982,"ident_utf16":{"start":{"line_number":1240,"utf16_col":14},"end":{"line_number":1240,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1240,"utf16_col":2},"end":{"line_number":1240,"utf16_col":56}}},{"name":"Length","fully_qualified_name":"Array::Length","kind":"method","ident_start":45048,"ident_end":45054,"extent_start":45039,"extent_end":45063,"ident_utf16":{"start":{"line_number":1245,"utf16_col":11},"end":{"line_number":1245,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1245,"utf16_col":2},"end":{"line_number":1245,"utf16_col":26}}},{"name":"Type","fully_qualified_name":"Type","kind":"type","ident_start":45159,"ident_end":45163,"extent_start":45148,"extent_end":45178,"ident_utf16":{"start":{"line_number":1251,"utf16_col":13},"end":{"line_number":1251,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1251,"utf16_col":2},"end":{"line_number":1251,"utf16_col":32}}},{"name":"Type","fully_qualified_name":"Type","kind":"type","ident_start":45659,"ident_end":45663,"extent_start":45648,"extent_end":45678,"ident_utf16":{"start":{"line_number":1275,"utf16_col":13},"end":{"line_number":1275,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1275,"utf16_col":2},"end":{"line_number":1275,"utf16_col":32}}},{"name":"SharedArrayBuffer","fully_qualified_name":"SharedArrayBuffer","kind":"class","ident_start":46155,"ident_end":46172,"extent_start":46149,"extent_end":46441,"ident_utf16":{"start":{"line_number":1298,"utf16_col":6},"end":{"line_number":1298,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1298,"utf16_col":0},"end":{"line_number":1309,"utf16_col":1}}},{"name":"New","fully_qualified_name":"SharedArrayBuffer::New","kind":"method","ident_start":46304,"ident_end":46307,"extent_start":46279,"extent_end":46341,"ident_utf16":{"start":{"line_number":1303,"utf16_col":27},"end":{"line_number":1303,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1303,"utf16_col":2},"end":{"line_number":1303,"utf16_col":64}}},{"name":"CheckCast","fully_qualified_name":"SharedArrayBuffer::CheckCast","kind":"method","ident_start":46357,"ident_end":46366,"extent_start":46345,"extent_end":46399,"ident_utf16":{"start":{"line_number":1305,"utf16_col":14},"end":{"line_number":1305,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1305,"utf16_col":2},"end":{"line_number":1305,"utf16_col":56}}},{"name":"ByteLength","fully_qualified_name":"SharedArrayBuffer::ByteLength","kind":"method","ident_start":46426,"ident_end":46436,"extent_start":46419,"extent_end":46439,"ident_utf16":{"start":{"line_number":1308,"utf16_col":9},"end":{"line_number":1308,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1308,"utf16_col":2},"end":{"line_number":1308,"utf16_col":22}}},{"name":"ArrayBuffer","fully_qualified_name":"ArrayBuffer","kind":"class","ident_start":46494,"ident_end":46505,"extent_start":46488,"extent_end":49473,"ident_utf16":{"start":{"line_number":1313,"utf16_col":6},"end":{"line_number":1313,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1313,"utf16_col":0},"end":{"line_number":1381,"utf16_col":1}}},{"name":"New","fully_qualified_name":"ArrayBuffer::New","kind":"method","ident_start":46644,"ident_end":46647,"extent_start":46625,"extent_end":46781,"ident_utf16":{"start":{"line_number":1317,"utf16_col":21},"end":{"line_number":1317,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1317,"utf16_col":2},"end":{"line_number":1320,"utf16_col":4}}},{"name":"CheckCast","fully_qualified_name":"ArrayBuffer::CheckCast","kind":"method","ident_start":49024,"ident_end":49033,"extent_start":49012,"extent_end":49066,"ident_utf16":{"start":{"line_number":1368,"utf16_col":14},"end":{"line_number":1368,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1368,"utf16_col":2},"end":{"line_number":1368,"utf16_col":56}}},{"name":"ByteLength","fully_qualified_name":"ArrayBuffer::ByteLength","kind":"method","ident_start":49310,"ident_end":49320,"extent_start":49303,"extent_end":49323,"ident_utf16":{"start":{"line_number":1375,"utf16_col":9},"end":{"line_number":1375,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1375,"utf16_col":2},"end":{"line_number":1375,"utf16_col":22}}},{"name":"TypedArrayTypeForPrimitiveType","fully_qualified_name":"TypedArrayTypeForPrimitiveType","kind":"function","ident_start":51485,"ident_end":51515,"extent_start":51435,"extent_end":52299,"ident_utf16":{"start":{"line_number":1441,"utf16_col":6},"end":{"line_number":1441,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1438,"utf16_col":6},"end":{"line_number":1455,"utf16_col":3}}},{"name":"TypedArrayOf","fully_qualified_name":"TypedArrayOf","kind":"class","ident_start":52560,"ident_end":52572,"extent_start":52554,"extent_end":56588,"ident_utf16":{"start":{"line_number":1464,"utf16_col":6},"end":{"line_number":1464,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1464,"utf16_col":0},"end":{"line_number":1567,"utf16_col":1}}},{"name":"New","fully_qualified_name":"TypedArrayOf::New","kind":"method","ident_start":52955,"ident_end":52958,"extent_start":52935,"extent_end":53167,"ident_utf16":{"start":{"line_number":1473,"utf16_col":22},"end":{"line_number":1473,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1473,"utf16_col":2},"end":{"line_number":1477,"utf16_col":31}}},{"name":"New","fully_qualified_name":"TypedArrayOf::New","kind":"method","ident_start":53756,"ident_end":53759,"extent_start":53736,"extent_end":54172,"ident_utf16":{"start":{"line_number":1493,"utf16_col":22},"end":{"line_number":1493,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1493,"utf16_col":2},"end":{"line_number":1500,"utf16_col":31}}},{"name":"CheckCast","fully_qualified_name":"TypedArrayOf::CheckCast","kind":"method","ident_start":55533,"ident_end":55542,"extent_start":55521,"extent_end":55575,"ident_utf16":{"start":{"line_number":1536,"utf16_col":14},"end":{"line_number":1536,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1536,"utf16_col":2},"end":{"line_number":1536,"utf16_col":56}}},{"name":"DataView","fully_qualified_name":"DataView","kind":"class","ident_start":56752,"ident_end":56760,"extent_start":56746,"extent_end":59660,"ident_utf16":{"start":{"line_number":1571,"utf16_col":6},"end":{"line_number":1571,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1571,"utf16_col":0},"end":{"line_number":1646,"utf16_col":1}}},{"name":"New","fully_qualified_name":"DataView::New","kind":"method","ident_start":56806,"ident_end":56809,"extent_start":56790,"extent_end":56855,"ident_utf16":{"start":{"line_number":1573,"utf16_col":18},"end":{"line_number":1573,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1573,"utf16_col":2},"end":{"line_number":1573,"utf16_col":67}}},{"name":"New","fully_qualified_name":"DataView::New","kind":"method","ident_start":56874,"ident_end":56877,"extent_start":56858,"extent_end":56986,"ident_utf16":{"start":{"line_number":1574,"utf16_col":18},"end":{"line_number":1574,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1574,"utf16_col":2},"end":{"line_number":1576,"utf16_col":41}}},{"name":"New","fully_qualified_name":"DataView::New","kind":"method","ident_start":57005,"ident_end":57008,"extent_start":56989,"extent_end":57158,"ident_utf16":{"start":{"line_number":1577,"utf16_col":18},"end":{"line_number":1577,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1577,"utf16_col":2},"end":{"line_number":1580,"utf16_col":41}}},{"name":"CheckCast","fully_qualified_name":"DataView::CheckCast","kind":"method","ident_start":57622,"ident_end":57631,"extent_start":57610,"extent_end":57664,"ident_utf16":{"start":{"line_number":1593,"utf16_col":14},"end":{"line_number":1593,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1593,"utf16_col":2},"end":{"line_number":1593,"utf16_col":56}}},{"name":"ArrayBuffer","fully_qualified_name":"DataView::ArrayBuffer","kind":"method","ident_start":58191,"ident_end":58202,"extent_start":58173,"extent_end":58211,"ident_utf16":{"start":{"line_number":1606,"utf16_col":20},"end":{"line_number":1606,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1606,"utf16_col":2},"end":{"line_number":1606,"utf16_col":40}}},{"name":"Buffer","fully_qualified_name":"DataView::Buffer","kind":"method","ident_start":58436,"ident_end":58442,"extent_start":58424,"extent_end":58451,"ident_utf16":{"start":{"line_number":1612,"utf16_col":14},"end":{"line_number":1612,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1612,"utf16_col":2},"end":{"line_number":1612,"utf16_col":29}}},{"name":"ByteOffset","fully_qualified_name":"DataView::ByteOffset","kind":"method","ident_start":58461,"ident_end":58471,"extent_start":58454,"extent_end":58486,"ident_utf16":{"start":{"line_number":1613,"utf16_col":9},"end":{"line_number":1613,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1613,"utf16_col":2},"end":{"line_number":1614,"utf16_col":12}}},{"name":"ByteLength","fully_qualified_name":"DataView::ByteLength","kind":"method","ident_start":58558,"ident_end":58568,"extent_start":58551,"extent_end":58577,"ident_utf16":{"start":{"line_number":1615,"utf16_col":9},"end":{"line_number":1615,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1615,"utf16_col":2},"end":{"line_number":1615,"utf16_col":28}}},{"name":"GetFloat32","fully_qualified_name":"DataView::GetFloat32","kind":"method","ident_start":58655,"ident_end":58665,"extent_start":58649,"extent_end":58691,"ident_utf16":{"start":{"line_number":1619,"utf16_col":8},"end":{"line_number":1619,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1619,"utf16_col":2},"end":{"line_number":1619,"utf16_col":44}}},{"name":"GetFloat64","fully_qualified_name":"DataView::GetFloat64","kind":"method","ident_start":58701,"ident_end":58711,"extent_start":58694,"extent_end":58737,"ident_utf16":{"start":{"line_number":1620,"utf16_col":9},"end":{"line_number":1620,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1620,"utf16_col":2},"end":{"line_number":1620,"utf16_col":45}}},{"name":"GetInt8","fully_qualified_name":"DataView::GetInt8","kind":"method","ident_start":58747,"ident_end":58754,"extent_start":58740,"extent_end":58780,"ident_utf16":{"start":{"line_number":1621,"utf16_col":9},"end":{"line_number":1621,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1621,"utf16_col":2},"end":{"line_number":1621,"utf16_col":42}}},{"name":"GetInt16","fully_qualified_name":"DataView::GetInt16","kind":"method","ident_start":58791,"ident_end":58799,"extent_start":58783,"extent_end":58825,"ident_utf16":{"start":{"line_number":1622,"utf16_col":10},"end":{"line_number":1622,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1622,"utf16_col":2},"end":{"line_number":1622,"utf16_col":44}}},{"name":"GetInt32","fully_qualified_name":"DataView::GetInt32","kind":"method","ident_start":58836,"ident_end":58844,"extent_start":58828,"extent_end":58870,"ident_utf16":{"start":{"line_number":1623,"utf16_col":10},"end":{"line_number":1623,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1623,"utf16_col":2},"end":{"line_number":1623,"utf16_col":44}}},{"name":"GetUint8","fully_qualified_name":"DataView::GetUint8","kind":"method","ident_start":58881,"ident_end":58889,"extent_start":58873,"extent_end":58915,"ident_utf16":{"start":{"line_number":1624,"utf16_col":10},"end":{"line_number":1624,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1624,"utf16_col":2},"end":{"line_number":1624,"utf16_col":44}}},{"name":"GetUint16","fully_qualified_name":"DataView::GetUint16","kind":"method","ident_start":58927,"ident_end":58936,"extent_start":58918,"extent_end":58962,"ident_utf16":{"start":{"line_number":1625,"utf16_col":11},"end":{"line_number":1625,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1625,"utf16_col":2},"end":{"line_number":1625,"utf16_col":46}}},{"name":"GetUint32","fully_qualified_name":"DataView::GetUint32","kind":"method","ident_start":58974,"ident_end":58983,"extent_start":58965,"extent_end":59009,"ident_utf16":{"start":{"line_number":1626,"utf16_col":11},"end":{"line_number":1626,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1626,"utf16_col":2},"end":{"line_number":1626,"utf16_col":46}}},{"name":"SetFloat32","fully_qualified_name":"DataView::SetFloat32","kind":"method","ident_start":59018,"ident_end":59028,"extent_start":59013,"extent_end":59067,"ident_utf16":{"start":{"line_number":1628,"utf16_col":7},"end":{"line_number":1628,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1628,"utf16_col":2},"end":{"line_number":1628,"utf16_col":56}}},{"name":"SetFloat64","fully_qualified_name":"DataView::SetFloat64","kind":"method","ident_start":59075,"ident_end":59085,"extent_start":59070,"extent_end":59125,"ident_utf16":{"start":{"line_number":1629,"utf16_col":7},"end":{"line_number":1629,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1629,"utf16_col":2},"end":{"line_number":1629,"utf16_col":57}}},{"name":"SetInt8","fully_qualified_name":"DataView::SetInt8","kind":"method","ident_start":59133,"ident_end":59140,"extent_start":59128,"extent_end":59180,"ident_utf16":{"start":{"line_number":1630,"utf16_col":7},"end":{"line_number":1630,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1630,"utf16_col":2},"end":{"line_number":1630,"utf16_col":54}}},{"name":"SetInt16","fully_qualified_name":"DataView::SetInt16","kind":"method","ident_start":59188,"ident_end":59196,"extent_start":59183,"extent_end":59237,"ident_utf16":{"start":{"line_number":1631,"utf16_col":7},"end":{"line_number":1631,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1631,"utf16_col":2},"end":{"line_number":1631,"utf16_col":56}}},{"name":"SetInt32","fully_qualified_name":"DataView::SetInt32","kind":"method","ident_start":59245,"ident_end":59253,"extent_start":59240,"extent_end":59294,"ident_utf16":{"start":{"line_number":1632,"utf16_col":7},"end":{"line_number":1632,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1632,"utf16_col":2},"end":{"line_number":1632,"utf16_col":56}}},{"name":"SetUint8","fully_qualified_name":"DataView::SetUint8","kind":"method","ident_start":59302,"ident_end":59310,"extent_start":59297,"extent_end":59351,"ident_utf16":{"start":{"line_number":1633,"utf16_col":7},"end":{"line_number":1633,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1633,"utf16_col":2},"end":{"line_number":1633,"utf16_col":56}}},{"name":"SetUint16","fully_qualified_name":"DataView::SetUint16","kind":"method","ident_start":59359,"ident_end":59368,"extent_start":59354,"extent_end":59410,"ident_utf16":{"start":{"line_number":1634,"utf16_col":7},"end":{"line_number":1634,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1634,"utf16_col":2},"end":{"line_number":1634,"utf16_col":58}}},{"name":"SetUint32","fully_qualified_name":"DataView::SetUint32","kind":"method","ident_start":59418,"ident_end":59427,"extent_start":59413,"extent_end":59469,"ident_utf16":{"start":{"line_number":1635,"utf16_col":7},"end":{"line_number":1635,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1635,"utf16_col":2},"end":{"line_number":1635,"utf16_col":58}}},{"name":"Function","fully_qualified_name":"Function","kind":"class","ident_start":59669,"ident_end":59677,"extent_start":59663,"extent_end":62916,"ident_utf16":{"start":{"line_number":1648,"utf16_col":6},"end":{"line_number":1648,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1648,"utf16_col":0},"end":{"line_number":1725,"utf16_col":1}}},{"name":"CheckCast","fully_qualified_name":"Function::CheckCast","kind":"method","ident_start":61105,"ident_end":61114,"extent_start":61093,"extent_end":61147,"ident_utf16":{"start":{"line_number":1688,"utf16_col":14},"end":{"line_number":1688,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1688,"utf16_col":2},"end":{"line_number":1688,"utf16_col":56}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61325,"ident_end":61329,"extent_start":61305,"extent_end":61383,"ident_utf16":{"start":{"line_number":1696,"utf16_col":22},"end":{"line_number":1696,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1696,"utf16_col":2},"end":{"line_number":1696,"utf16_col":80}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61406,"ident_end":61410,"extent_start":61386,"extent_end":61454,"ident_utf16":{"start":{"line_number":1697,"utf16_col":22},"end":{"line_number":1697,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1697,"utf16_col":2},"end":{"line_number":1697,"utf16_col":70}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61477,"ident_end":61481,"extent_start":61457,"extent_end":61520,"ident_utf16":{"start":{"line_number":1698,"utf16_col":22},"end":{"line_number":1698,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1698,"utf16_col":2},"end":{"line_number":1698,"utf16_col":65}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61543,"ident_end":61547,"extent_start":61523,"extent_end":61591,"ident_utf16":{"start":{"line_number":1699,"utf16_col":22},"end":{"line_number":1699,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1699,"utf16_col":2},"end":{"line_number":1699,"utf16_col":70}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61614,"ident_end":61618,"extent_start":61594,"extent_end":61716,"ident_utf16":{"start":{"line_number":1700,"utf16_col":22},"end":{"line_number":1700,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1700,"utf16_col":2},"end":{"line_number":1701,"utf16_col":80}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61739,"ident_end":61743,"extent_start":61719,"extent_end":61831,"ident_utf16":{"start":{"line_number":1702,"utf16_col":22},"end":{"line_number":1702,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1702,"utf16_col":2},"end":{"line_number":1703,"utf16_col":70}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61854,"ident_end":61858,"extent_start":61834,"extent_end":61941,"ident_utf16":{"start":{"line_number":1704,"utf16_col":22},"end":{"line_number":1704,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1704,"utf16_col":2},"end":{"line_number":1705,"utf16_col":65}}},{"name":"Call","fully_qualified_name":"Function::Call","kind":"method","ident_start":61964,"ident_end":61968,"extent_start":61944,"extent_end":62083,"ident_utf16":{"start":{"line_number":1706,"utf16_col":22},"end":{"line_number":1706,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1706,"utf16_col":2},"end":{"line_number":1708,"utf16_col":57}}},{"name":"MakeCallback","fully_qualified_name":"Function::MakeCallback","kind":"method","ident_start":62107,"ident_end":62119,"extent_start":62087,"extent_end":62247,"ident_utf16":{"start":{"line_number":1710,"utf16_col":22},"end":{"line_number":1710,"utf16_col":34}},"extent_utf16":{"start":{"line_number":1710,"utf16_col":2},"end":{"line_number":1713,"utf16_col":50}}},{"name":"MakeCallback","fully_qualified_name":"Function::MakeCallback","kind":"method","ident_start":62270,"ident_end":62282,"extent_start":62250,"extent_end":62451,"ident_utf16":{"start":{"line_number":1714,"utf16_col":22},"end":{"line_number":1714,"utf16_col":34}},"extent_utf16":{"start":{"line_number":1714,"utf16_col":2},"end":{"line_number":1716,"utf16_col":79}}},{"name":"MakeCallback","fully_qualified_name":"Function::MakeCallback","kind":"method","ident_start":62474,"ident_end":62486,"extent_start":62454,"extent_end":62690,"ident_utf16":{"start":{"line_number":1717,"utf16_col":22},"end":{"line_number":1717,"utf16_col":34}},"extent_utf16":{"start":{"line_number":1717,"utf16_col":2},"end":{"line_number":1720,"utf16_col":79}}},{"name":"New","fully_qualified_name":"Function::New","kind":"method","ident_start":62715,"ident_end":62718,"extent_start":62694,"extent_end":62772,"ident_utf16":{"start":{"line_number":1722,"utf16_col":23},"end":{"line_number":1722,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1722,"utf16_col":2},"end":{"line_number":1722,"utf16_col":80}}},{"name":"New","fully_qualified_name":"Function::New","kind":"method","ident_start":62796,"ident_end":62799,"extent_start":62775,"extent_end":62843,"ident_utf16":{"start":{"line_number":1723,"utf16_col":23},"end":{"line_number":1723,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1723,"utf16_col":2},"end":{"line_number":1723,"utf16_col":70}}},{"name":"New","fully_qualified_name":"Function::New","kind":"method","ident_start":62867,"ident_end":62870,"extent_start":62846,"extent_end":62914,"ident_utf16":{"start":{"line_number":1724,"utf16_col":23},"end":{"line_number":1724,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1724,"utf16_col":2},"end":{"line_number":1724,"utf16_col":70}}},{"name":"Promise","fully_qualified_name":"Promise","kind":"class","ident_start":62925,"ident_end":62932,"extent_start":62919,"extent_end":63897,"ident_utf16":{"start":{"line_number":1727,"utf16_col":6},"end":{"line_number":1727,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1727,"utf16_col":0},"end":{"line_number":1760,"utf16_col":1}}},{"name":"Deferred","fully_qualified_name":"Promise::Deferred","kind":"class","ident_start":62968,"ident_end":62976,"extent_start":62962,"extent_end":63293,"ident_utf16":{"start":{"line_number":1729,"utf16_col":8},"end":{"line_number":1729,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1729,"utf16_col":2},"end":{"line_number":1744,"utf16_col":3}}},{"name":"New","fully_qualified_name":"Promise::Deferred::New","kind":"method","ident_start":63010,"ident_end":63013,"extent_start":62994,"extent_end":63028,"ident_utf16":{"start":{"line_number":1731,"utf16_col":20},"end":{"line_number":1731,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1731,"utf16_col":4},"end":{"line_number":1731,"utf16_col":38}}},{"name":"Promise","fully_qualified_name":"Promise::Deferred::Promise","kind":"method","ident_start":63076,"ident_end":63083,"extent_start":63062,"extent_end":63092,"ident_utf16":{"start":{"line_number":1734,"utf16_col":18},"end":{"line_number":1734,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1734,"utf16_col":4},"end":{"line_number":1734,"utf16_col":34}}},{"name":"Env","fully_qualified_name":"Promise::Deferred::Env","kind":"method","ident_start":63107,"ident_end":63110,"extent_start":63097,"extent_end":63119,"ident_utf16":{"start":{"line_number":1735,"utf16_col":14},"end":{"line_number":1735,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1735,"utf16_col":4},"end":{"line_number":1735,"utf16_col":26}}},{"name":"Resolve","fully_qualified_name":"Promise::Deferred::Resolve","kind":"method","ident_start":63130,"ident_end":63137,"extent_start":63125,"extent_end":63162,"ident_utf16":{"start":{"line_number":1737,"utf16_col":9},"end":{"line_number":1737,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1737,"utf16_col":4},"end":{"line_number":1737,"utf16_col":41}}},{"name":"Reject","fully_qualified_name":"Promise::Deferred::Reject","kind":"method","ident_start":63172,"ident_end":63178,"extent_start":63167,"extent_end":63203,"ident_utf16":{"start":{"line_number":1738,"utf16_col":9},"end":{"line_number":1738,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1738,"utf16_col":4},"end":{"line_number":1738,"utf16_col":40}}},{"name":"CheckCast","fully_qualified_name":"Promise::CheckCast","kind":"method","ident_start":63310,"ident_end":63319,"extent_start":63298,"extent_end":63352,"ident_utf16":{"start":{"line_number":1746,"utf16_col":14},"end":{"line_number":1746,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1746,"utf16_col":2},"end":{"line_number":1746,"utf16_col":56}}},{"name":"Then","fully_qualified_name":"Promise::Then","kind":"method","ident_start":63435,"ident_end":63439,"extent_start":63413,"extent_end":63470,"ident_utf16":{"start":{"line_number":1751,"utf16_col":24},"end":{"line_number":1751,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1751,"utf16_col":2},"end":{"line_number":1751,"utf16_col":59}}},{"name":"Then","fully_qualified_name":"Promise::Then","kind":"method","ident_start":63495,"ident_end":63499,"extent_start":63473,"extent_end":63582,"ident_utf16":{"start":{"line_number":1752,"utf16_col":24},"end":{"line_number":1752,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1752,"utf16_col":2},"end":{"line_number":1753,"utf16_col":58}}},{"name":"Catch","fully_qualified_name":"Promise::Catch","kind":"method","ident_start":63607,"ident_end":63612,"extent_start":63585,"extent_end":63642,"ident_utf16":{"start":{"line_number":1754,"utf16_col":24},"end":{"line_number":1754,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1754,"utf16_col":2},"end":{"line_number":1754,"utf16_col":59}}},{"name":"Then","fully_qualified_name":"Promise::Then","kind":"method","ident_start":63668,"ident_end":63672,"extent_start":63646,"extent_end":63708,"ident_utf16":{"start":{"line_number":1756,"utf16_col":24},"end":{"line_number":1756,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1756,"utf16_col":2},"end":{"line_number":1756,"utf16_col":64}}},{"name":"Then","fully_qualified_name":"Promise::Then","kind":"method","ident_start":63733,"ident_end":63737,"extent_start":63711,"extent_end":63830,"ident_utf16":{"start":{"line_number":1757,"utf16_col":24},"end":{"line_number":1757,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1757,"utf16_col":2},"end":{"line_number":1758,"utf16_col":63}}},{"name":"Catch","fully_qualified_name":"Promise::Catch","kind":"method","ident_start":63855,"ident_end":63860,"extent_start":63833,"extent_end":63895,"ident_utf16":{"start":{"line_number":1759,"utf16_col":24},"end":{"line_number":1759,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1759,"utf16_col":2},"end":{"line_number":1759,"utf16_col":64}}},{"name":"Buffer","fully_qualified_name":"Buffer","kind":"class","ident_start":63928,"ident_end":63934,"extent_start":63922,"extent_end":65719,"ident_utf16":{"start":{"line_number":1763,"utf16_col":6},"end":{"line_number":1763,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1763,"utf16_col":0},"end":{"line_number":1811,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Buffer::New","kind":"method","ident_start":63985,"ident_end":63988,"extent_start":63968,"extent_end":64018,"ident_utf16":{"start":{"line_number":1765,"utf16_col":19},"end":{"line_number":1765,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1765,"utf16_col":2},"end":{"line_number":1765,"utf16_col":52}}},{"name":"NewOrCopy","fully_qualified_name":"Buffer::NewOrCopy","kind":"method","ident_start":64786,"ident_end":64795,"extent_start":64769,"extent_end":64834,"ident_utf16":{"start":{"line_number":1785,"utf16_col":19},"end":{"line_number":1785,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1785,"utf16_col":2},"end":{"line_number":1785,"utf16_col":67}}},{"name":"Copy","fully_qualified_name":"Buffer::Copy","kind":"method","ident_start":65500,"ident_end":65504,"extent_start":65483,"extent_end":65549,"ident_utf16":{"start":{"line_number":1801,"utf16_col":19},"end":{"line_number":1801,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1801,"utf16_col":2},"end":{"line_number":1801,"utf16_col":68}}},{"name":"CheckCast","fully_qualified_name":"Buffer::CheckCast","kind":"method","ident_start":65565,"ident_end":65574,"extent_start":65553,"extent_end":65607,"ident_utf16":{"start":{"line_number":1803,"utf16_col":14},"end":{"line_number":1803,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1803,"utf16_col":2},"end":{"line_number":1803,"utf16_col":56}}},{"name":"Length","fully_qualified_name":"Buffer::Length","kind":"method","ident_start":65672,"ident_end":65678,"extent_start":65665,"extent_end":65687,"ident_utf16":{"start":{"line_number":1807,"utf16_col":9},"end":{"line_number":1807,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1807,"utf16_col":2},"end":{"line_number":1807,"utf16_col":24}}},{"name":"Reference","fully_qualified_name":"Reference","kind":"class","ident_start":66121,"ident_end":66130,"extent_start":66115,"extent_end":67497,"ident_utf16":{"start":{"line_number":1821,"utf16_col":6},"end":{"line_number":1821,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1821,"utf16_col":0},"end":{"line_number":1867,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Reference::New","kind":"method","ident_start":66164,"ident_end":66167,"extent_start":66144,"extent_end":66214,"ident_utf16":{"start":{"line_number":1823,"utf16_col":22},"end":{"line_number":1823,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1823,"utf16_col":2},"end":{"line_number":1823,"utf16_col":72}}},{"name":"Env","fully_qualified_name":"Reference::Env","kind":"method","ident_start":66609,"ident_end":66612,"extent_start":66599,"extent_end":66621,"ident_utf16":{"start":{"line_number":1838,"utf16_col":12},"end":{"line_number":1838,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1838,"utf16_col":2},"end":{"line_number":1838,"utf16_col":24}}},{"name":"IsEmpty","fully_qualified_name":"Reference::IsEmpty","kind":"method","ident_start":66629,"ident_end":66636,"extent_start":66624,"extent_end":66645,"ident_utf16":{"start":{"line_number":1839,"utf16_col":7},"end":{"line_number":1839,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1839,"utf16_col":2},"end":{"line_number":1839,"utf16_col":23}}},{"name":"Value","fully_qualified_name":"Reference::Value","kind":"method","ident_start":66810,"ident_end":66815,"extent_start":66808,"extent_end":66824,"ident_utf16":{"start":{"line_number":1843,"utf16_col":4},"end":{"line_number":1843,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1843,"utf16_col":2},"end":{"line_number":1843,"utf16_col":18}}},{"name":"Ref","fully_qualified_name":"Reference::Ref","kind":"method","ident_start":66837,"ident_end":66840,"extent_start":66828,"extent_end":66849,"ident_utf16":{"start":{"line_number":1845,"utf16_col":11},"end":{"line_number":1845,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1845,"utf16_col":2},"end":{"line_number":1845,"utf16_col":23}}},{"name":"Unref","fully_qualified_name":"Reference::Unref","kind":"method","ident_start":66861,"ident_end":66866,"extent_start":66852,"extent_end":66875,"ident_utf16":{"start":{"line_number":1846,"utf16_col":11},"end":{"line_number":1846,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1846,"utf16_col":2},"end":{"line_number":1846,"utf16_col":25}}},{"name":"Reset","fully_qualified_name":"Reference::Reset","kind":"method","ident_start":66883,"ident_end":66888,"extent_start":66878,"extent_end":66891,"ident_utf16":{"start":{"line_number":1847,"utf16_col":7},"end":{"line_number":1847,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1847,"utf16_col":2},"end":{"line_number":1847,"utf16_col":15}}},{"name":"Reset","fully_qualified_name":"Reference::Reset","kind":"method","ident_start":66899,"ident_end":66904,"extent_start":66894,"extent_end":66944,"ident_utf16":{"start":{"line_number":1848,"utf16_col":7},"end":{"line_number":1848,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1848,"utf16_col":2},"end":{"line_number":1848,"utf16_col":52}}},{"name":"SuppressDestruct","fully_qualified_name":"Reference::SuppressDestruct","kind":"method","ident_start":67321,"ident_end":67337,"extent_start":67316,"extent_end":67340,"ident_utf16":{"start":{"line_number":1855,"utf16_col":7},"end":{"line_number":1855,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1855,"utf16_col":2},"end":{"line_number":1855,"utf16_col":26}}},{"name":"ObjectReference","fully_qualified_name":"ObjectReference","kind":"class","ident_start":67506,"ident_end":67521,"extent_start":67500,"extent_end":69391,"ident_utf16":{"start":{"line_number":1869,"utf16_col":6},"end":{"line_number":1869,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1869,"utf16_col":0},"end":{"line_number":1905,"utf16_col":1}}},{"name":"Get","fully_qualified_name":"ObjectReference::Get","kind":"method","ident_start":67952,"ident_end":67955,"extent_start":67926,"extent_end":67984,"ident_utf16":{"start":{"line_number":1881,"utf16_col":28},"end":{"line_number":1881,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1881,"utf16_col":2},"end":{"line_number":1881,"utf16_col":60}}},{"name":"Get","fully_qualified_name":"ObjectReference::Get","kind":"method","ident_start":68013,"ident_end":68016,"extent_start":67987,"extent_end":68052,"ident_utf16":{"start":{"line_number":1882,"utf16_col":28},"end":{"line_number":1882,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1882,"utf16_col":2},"end":{"line_number":1882,"utf16_col":67}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68074,"ident_end":68077,"extent_start":68055,"extent_end":68124,"ident_utf16":{"start":{"line_number":1883,"utf16_col":21},"end":{"line_number":1883,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1883,"utf16_col":2},"end":{"line_number":1883,"utf16_col":71}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68146,"ident_end":68149,"extent_start":68127,"extent_end":68197,"ident_utf16":{"start":{"line_number":1884,"utf16_col":21},"end":{"line_number":1884,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1884,"utf16_col":2},"end":{"line_number":1884,"utf16_col":72}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68219,"ident_end":68222,"extent_start":68200,"extent_end":68274,"ident_utf16":{"start":{"line_number":1885,"utf16_col":21},"end":{"line_number":1885,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1885,"utf16_col":2},"end":{"line_number":1885,"utf16_col":76}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68296,"ident_end":68299,"extent_start":68277,"extent_end":68344,"ident_utf16":{"start":{"line_number":1886,"utf16_col":21},"end":{"line_number":1886,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1886,"utf16_col":2},"end":{"line_number":1886,"utf16_col":69}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68366,"ident_end":68369,"extent_start":68347,"extent_end":68418,"ident_utf16":{"start":{"line_number":1887,"utf16_col":21},"end":{"line_number":1887,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1887,"utf16_col":2},"end":{"line_number":1887,"utf16_col":73}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68440,"ident_end":68443,"extent_start":68421,"extent_end":68497,"ident_utf16":{"start":{"line_number":1888,"utf16_col":21},"end":{"line_number":1888,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1888,"utf16_col":2},"end":{"line_number":1888,"utf16_col":78}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68519,"ident_end":68522,"extent_start":68500,"extent_end":68577,"ident_utf16":{"start":{"line_number":1889,"utf16_col":21},"end":{"line_number":1889,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1889,"utf16_col":2},"end":{"line_number":1889,"utf16_col":79}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68599,"ident_end":68602,"extent_start":68580,"extent_end":68693,"ident_utf16":{"start":{"line_number":1890,"utf16_col":21},"end":{"line_number":1890,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1890,"utf16_col":2},"end":{"line_number":1891,"utf16_col":61}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68715,"ident_end":68718,"extent_start":68696,"extent_end":68770,"ident_utf16":{"start":{"line_number":1892,"utf16_col":21},"end":{"line_number":1892,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1892,"utf16_col":2},"end":{"line_number":1892,"utf16_col":76}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68792,"ident_end":68795,"extent_start":68773,"extent_end":68851,"ident_utf16":{"start":{"line_number":1893,"utf16_col":21},"end":{"line_number":1893,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1893,"utf16_col":2},"end":{"line_number":1893,"utf16_col":80}}},{"name":"Get","fully_qualified_name":"ObjectReference::Get","kind":"method","ident_start":68881,"ident_end":68884,"extent_start":68855,"extent_end":68907,"ident_utf16":{"start":{"line_number":1895,"utf16_col":28},"end":{"line_number":1895,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1895,"utf16_col":2},"end":{"line_number":1895,"utf16_col":54}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":68929,"ident_end":68932,"extent_start":68910,"extent_end":68979,"ident_utf16":{"start":{"line_number":1896,"utf16_col":21},"end":{"line_number":1896,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1896,"utf16_col":2},"end":{"line_number":1896,"utf16_col":71}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":69001,"ident_end":69004,"extent_start":68982,"extent_end":69052,"ident_utf16":{"start":{"line_number":1897,"utf16_col":21},"end":{"line_number":1897,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1897,"utf16_col":2},"end":{"line_number":1897,"utf16_col":72}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":69074,"ident_end":69077,"extent_start":69055,"extent_end":69123,"ident_utf16":{"start":{"line_number":1898,"utf16_col":21},"end":{"line_number":1898,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1898,"utf16_col":2},"end":{"line_number":1898,"utf16_col":70}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":69145,"ident_end":69148,"extent_start":69126,"extent_end":69201,"ident_utf16":{"start":{"line_number":1899,"utf16_col":21},"end":{"line_number":1899,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1899,"utf16_col":2},"end":{"line_number":1899,"utf16_col":77}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":69223,"ident_end":69226,"extent_start":69204,"extent_end":69265,"ident_utf16":{"start":{"line_number":1900,"utf16_col":21},"end":{"line_number":1900,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1900,"utf16_col":2},"end":{"line_number":1900,"utf16_col":63}}},{"name":"Set","fully_qualified_name":"ObjectReference::Set","kind":"method","ident_start":69287,"ident_end":69290,"extent_start":69268,"extent_end":69333,"ident_utf16":{"start":{"line_number":1901,"utf16_col":21},"end":{"line_number":1901,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1901,"utf16_col":2},"end":{"line_number":1901,"utf16_col":67}}},{"name":"FunctionReference","fully_qualified_name":"FunctionReference","kind":"class","ident_start":69400,"ident_end":69417,"extent_start":69394,"extent_end":71167,"ident_utf16":{"start":{"line_number":1907,"utf16_col":6},"end":{"line_number":1907,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1907,"utf16_col":0},"end":{"line_number":1949,"utf16_col":1}}},{"name":"Call","fully_qualified_name":"FunctionReference::Call","kind":"method","ident_start":69978,"ident_end":69982,"extent_start":69952,"extent_end":70043,"ident_utf16":{"start":{"line_number":1922,"utf16_col":28},"end":{"line_number":1922,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1922,"utf16_col":2},"end":{"line_number":1923,"utf16_col":59}}},{"name":"Call","fully_qualified_name":"FunctionReference::Call","kind":"method","ident_start":70072,"ident_end":70076,"extent_start":70046,"extent_end":70120,"ident_utf16":{"start":{"line_number":1924,"utf16_col":28},"end":{"line_number":1924,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1924,"utf16_col":2},"end":{"line_number":1924,"utf16_col":76}}},{"name":"Call","fully_qualified_name":"FunctionReference::Call","kind":"method","ident_start":70149,"ident_end":70153,"extent_start":70123,"extent_end":70231,"ident_utf16":{"start":{"line_number":1925,"utf16_col":28},"end":{"line_number":1925,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1925,"utf16_col":2},"end":{"line_number":1926,"utf16_col":76}}},{"name":"Call","fully_qualified_name":"FunctionReference::Call","kind":"method","ident_start":70260,"ident_end":70264,"extent_start":70234,"extent_end":70358,"ident_utf16":{"start":{"line_number":1927,"utf16_col":28},"end":{"line_number":1927,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1927,"utf16_col":2},"end":{"line_number":1928,"utf16_col":76}}},{"name":"Call","fully_qualified_name":"FunctionReference::Call","kind":"method","ident_start":70387,"ident_end":70391,"extent_start":70361,"extent_end":70518,"ident_utf16":{"start":{"line_number":1929,"utf16_col":28},"end":{"line_number":1929,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1929,"utf16_col":2},"end":{"line_number":1931,"utf16_col":63}}},{"name":"MakeCallback","fully_qualified_name":"FunctionReference::MakeCallback","kind":"method","ident_start":70548,"ident_end":70560,"extent_start":70522,"extent_end":70688,"ident_utf16":{"start":{"line_number":1933,"utf16_col":28},"end":{"line_number":1933,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1933,"utf16_col":2},"end":{"line_number":1936,"utf16_col":50}}},{"name":"MakeCallback","fully_qualified_name":"FunctionReference::MakeCallback","kind":"method","ident_start":70717,"ident_end":70729,"extent_start":70691,"extent_end":70847,"ident_utf16":{"start":{"line_number":1937,"utf16_col":28},"end":{"line_number":1937,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1937,"utf16_col":2},"end":{"line_number":1940,"utf16_col":50}}},{"name":"MakeCallback","fully_qualified_name":"FunctionReference::MakeCallback","kind":"method","ident_start":70876,"ident_end":70888,"extent_start":70850,"extent_end":71012,"ident_utf16":{"start":{"line_number":1941,"utf16_col":28},"end":{"line_number":1941,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1941,"utf16_col":2},"end":{"line_number":1945,"utf16_col":50}}},{"name":"New","fully_qualified_name":"FunctionReference::New","kind":"method","ident_start":71037,"ident_end":71040,"extent_start":71016,"extent_end":71094,"ident_utf16":{"start":{"line_number":1947,"utf16_col":23},"end":{"line_number":1947,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1947,"utf16_col":2},"end":{"line_number":1947,"utf16_col":80}}},{"name":"New","fully_qualified_name":"FunctionReference::New","kind":"method","ident_start":71118,"ident_end":71121,"extent_start":71097,"extent_end":71165,"ident_utf16":{"start":{"line_number":1948,"utf16_col":23},"end":{"line_number":1948,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1948,"utf16_col":2},"end":{"line_number":1948,"utf16_col":70}}},{"name":"Error","fully_qualified_name":"Error","kind":"class","ident_start":76148,"ident_end":76153,"extent_start":76142,"extent_end":77583,"ident_utf16":{"start":{"line_number":2061,"utf16_col":6},"end":{"line_number":2061,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2061,"utf16_col":0},"end":{"line_number":2109,"utf16_col":1}}},{"name":"New","fully_qualified_name":"Error::New","kind":"method","ident_start":76325,"ident_end":76328,"extent_start":76312,"extent_end":76343,"ident_utf16":{"start":{"line_number":2068,"utf16_col":15},"end":{"line_number":2068,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2068,"utf16_col":2},"end":{"line_number":2068,"utf16_col":33}}},{"name":"New","fully_qualified_name":"Error::New","kind":"method","ident_start":76359,"ident_end":76362,"extent_start":76346,"extent_end":76398,"ident_utf16":{"start":{"line_number":2069,"utf16_col":15},"end":{"line_number":2069,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2069,"utf16_col":2},"end":{"line_number":2069,"utf16_col":54}}},{"name":"New","fully_qualified_name":"Error::New","kind":"method","ident_start":76414,"ident_end":76417,"extent_start":76401,"extent_end":76460,"ident_utf16":{"start":{"line_number":2070,"utf16_col":15},"end":{"line_number":2070,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2070,"utf16_col":2},"end":{"line_number":2070,"utf16_col":61}}},{"name":"Fatal","fully_qualified_name":"Error::Fatal","kind":"method","ident_start":76491,"ident_end":76496,"extent_start":76464,"extent_end":76540,"ident_utf16":{"start":{"line_number":2072,"utf16_col":29},"end":{"line_number":2072,"utf16_col":34}},"extent_utf16":{"start":{"line_number":2072,"utf16_col":2},"end":{"line_number":2072,"utf16_col":78}}},{"name":"ThrowAsJavaScriptException","fully_qualified_name":"Error::ThrowAsJavaScriptException","kind":"method","ident_start":76809,"ident_end":76835,"extent_start":76804,"extent_end":76844,"ident_utf16":{"start":{"line_number":2084,"utf16_col":7},"end":{"line_number":2084,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2084,"utf16_col":2},"end":{"line_number":2084,"utf16_col":42}}},{"name":"Value","fully_qualified_name":"Error::Value","kind":"method","ident_start":76855,"ident_end":76860,"extent_start":76848,"extent_end":76869,"ident_utf16":{"start":{"line_number":2086,"utf16_col":9},"end":{"line_number":2086,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2086,"utf16_col":2},"end":{"line_number":2086,"utf16_col":23}}},{"name":"TypeError","fully_qualified_name":"TypeError","kind":"class","ident_start":77592,"ident_end":77601,"extent_start":77586,"extent_end":77815,"ident_utf16":{"start":{"line_number":2111,"utf16_col":6},"end":{"line_number":2111,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2111,"utf16_col":0},"end":{"line_number":2118,"utf16_col":1}}},{"name":"New","fully_qualified_name":"TypeError::New","kind":"method","ident_start":77647,"ident_end":77650,"extent_start":77630,"extent_end":77686,"ident_utf16":{"start":{"line_number":2113,"utf16_col":19},"end":{"line_number":2113,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2113,"utf16_col":2},"end":{"line_number":2113,"utf16_col":58}}},{"name":"New","fully_qualified_name":"TypeError::New","kind":"method","ident_start":77706,"ident_end":77709,"extent_start":77689,"extent_end":77752,"ident_utf16":{"start":{"line_number":2114,"utf16_col":19},"end":{"line_number":2114,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2114,"utf16_col":2},"end":{"line_number":2114,"utf16_col":65}}},{"name":"RangeError","fully_qualified_name":"RangeError","kind":"class","ident_start":77824,"ident_end":77834,"extent_start":77818,"extent_end":78052,"ident_utf16":{"start":{"line_number":2120,"utf16_col":6},"end":{"line_number":2120,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2120,"utf16_col":0},"end":{"line_number":2127,"utf16_col":1}}},{"name":"New","fully_qualified_name":"RangeError::New","kind":"method","ident_start":77881,"ident_end":77884,"extent_start":77863,"extent_end":77920,"ident_utf16":{"start":{"line_number":2122,"utf16_col":20},"end":{"line_number":2122,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2122,"utf16_col":2},"end":{"line_number":2122,"utf16_col":59}}},{"name":"New","fully_qualified_name":"RangeError::New","kind":"method","ident_start":77941,"ident_end":77944,"extent_start":77923,"extent_end":77987,"ident_utf16":{"start":{"line_number":2123,"utf16_col":20},"end":{"line_number":2123,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2123,"utf16_col":2},"end":{"line_number":2123,"utf16_col":66}}},{"name":"SyntaxError","fully_qualified_name":"SyntaxError","kind":"class","ident_start":78082,"ident_end":78093,"extent_start":78076,"extent_end":78315,"ident_utf16":{"start":{"line_number":2130,"utf16_col":6},"end":{"line_number":2130,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2130,"utf16_col":0},"end":{"line_number":2137,"utf16_col":1}}},{"name":"New","fully_qualified_name":"SyntaxError::New","kind":"method","ident_start":78141,"ident_end":78144,"extent_start":78122,"extent_end":78180,"ident_utf16":{"start":{"line_number":2132,"utf16_col":21},"end":{"line_number":2132,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2132,"utf16_col":2},"end":{"line_number":2132,"utf16_col":60}}},{"name":"New","fully_qualified_name":"SyntaxError::New","kind":"method","ident_start":78202,"ident_end":78205,"extent_start":78183,"extent_end":78248,"ident_utf16":{"start":{"line_number":2133,"utf16_col":21},"end":{"line_number":2133,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2133,"utf16_col":2},"end":{"line_number":2133,"utf16_col":67}}},{"name":"CallbackInfo","fully_qualified_name":"CallbackInfo","kind":"class","ident_start":78352,"ident_end":78364,"extent_start":78346,"extent_end":79056,"ident_utf16":{"start":{"line_number":2140,"utf16_col":6},"end":{"line_number":2140,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2140,"utf16_col":0},"end":{"line_number":2168,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"CallbackInfo::Env","kind":"method","ident_start":78569,"ident_end":78572,"extent_start":78559,"extent_end":78581,"ident_utf16":{"start":{"line_number":2148,"utf16_col":12},"end":{"line_number":2148,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2148,"utf16_col":2},"end":{"line_number":2148,"utf16_col":24}}},{"name":"NewTarget","fully_qualified_name":"CallbackInfo::NewTarget","kind":"method","ident_start":78590,"ident_end":78599,"extent_start":78584,"extent_end":78608,"ident_utf16":{"start":{"line_number":2149,"utf16_col":8},"end":{"line_number":2149,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2149,"utf16_col":2},"end":{"line_number":2149,"utf16_col":26}}},{"name":"IsConstructCall","fully_qualified_name":"CallbackInfo::IsConstructCall","kind":"method","ident_start":78616,"ident_end":78631,"extent_start":78611,"extent_end":78640,"ident_utf16":{"start":{"line_number":2150,"utf16_col":7},"end":{"line_number":2150,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2150,"utf16_col":2},"end":{"line_number":2150,"utf16_col":31}}},{"name":"Length","fully_qualified_name":"CallbackInfo::Length","kind":"method","ident_start":78650,"ident_end":78656,"extent_start":78643,"extent_end":78665,"ident_utf16":{"start":{"line_number":2151,"utf16_col":9},"end":{"line_number":2151,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2151,"utf16_col":2},"end":{"line_number":2151,"utf16_col":24}}},{"name":"This","fully_qualified_name":"CallbackInfo::This","kind":"method","ident_start":78720,"ident_end":78724,"extent_start":78714,"extent_end":78733,"ident_utf16":{"start":{"line_number":2153,"utf16_col":8},"end":{"line_number":2153,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2153,"utf16_col":2},"end":{"line_number":2153,"utf16_col":21}}},{"name":"SetData","fully_qualified_name":"CallbackInfo::SetData","kind":"method","ident_start":78763,"ident_end":78770,"extent_start":78758,"extent_end":78783,"ident_utf16":{"start":{"line_number":2155,"utf16_col":7},"end":{"line_number":2155,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2155,"utf16_col":2},"end":{"line_number":2155,"utf16_col":27}}},{"name":"PropertyDescriptor","fully_qualified_name":"PropertyDescriptor","kind":"class","ident_start":79065,"ident_end":79083,"extent_start":79059,"extent_end":86212,"ident_utf16":{"start":{"line_number":2170,"utf16_col":6},"end":{"line_number":2170,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2170,"utf16_col":0},"end":{"line_number":2389,"utf16_col":1}}},{"name":"Value","fully_qualified_name":"PropertyDescriptor::Value","kind":"method","ident_start":85471,"ident_end":85476,"extent_start":85445,"extent_end":85588,"ident_utf16":{"start":{"line_number":2365,"utf16_col":28},"end":{"line_number":2365,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2365,"utf16_col":2},"end":{"line_number":2368,"utf16_col":58}}},{"name":"Value","fully_qualified_name":"PropertyDescriptor::Value","kind":"method","ident_start":85617,"ident_end":85622,"extent_start":85591,"extent_end":85741,"ident_utf16":{"start":{"line_number":2369,"utf16_col":28},"end":{"line_number":2369,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2369,"utf16_col":2},"end":{"line_number":2372,"utf16_col":58}}},{"name":"Value","fully_qualified_name":"PropertyDescriptor::Value","kind":"method","ident_start":85770,"ident_end":85775,"extent_start":85744,"extent_end":85882,"ident_utf16":{"start":{"line_number":2373,"utf16_col":28},"end":{"line_number":2373,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2373,"utf16_col":2},"end":{"line_number":2376,"utf16_col":58}}},{"name":"Value","fully_qualified_name":"PropertyDescriptor::Value","kind":"method","ident_start":85911,"ident_end":85916,"extent_start":85885,"extent_end":86018,"ident_utf16":{"start":{"line_number":2377,"utf16_col":28},"end":{"line_number":2377,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2377,"utf16_col":2},"end":{"line_number":2380,"utf16_col":58}}},{"name":"ClassPropertyDescriptor","fully_qualified_name":"ClassPropertyDescriptor","kind":"class","ident_start":86592,"ident_end":86615,"extent_start":86586,"extent_end":86874,"ident_utf16":{"start":{"line_number":2398,"utf16_col":6},"end":{"line_number":2398,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2398,"utf16_col":0},"end":{"line_number":2407,"utf16_col":1}}},{"name":"ClassPropertyDescriptor","fully_qualified_name":"ClassPropertyDescriptor::ClassPropertyDescriptor","kind":"function","ident_start":86629,"ident_end":86652,"extent_start":86629,"extent_end":86700,"ident_utf16":{"start":{"line_number":2400,"utf16_col":2},"end":{"line_number":2400,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2400,"utf16_col":2},"end":{"line_number":2400,"utf16_col":73}}},{"name":"MethodCallbackData","fully_qualified_name":"MethodCallbackData","kind":"class","ident_start":86926,"ident_end":86944,"extent_start":86919,"extent_end":86984,"ident_utf16":{"start":{"line_number":2410,"utf16_col":7},"end":{"line_number":2410,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2410,"utf16_col":0},"end":{"line_number":2413,"utf16_col":1}}},{"name":"AccessorCallbackData","fully_qualified_name":"AccessorCallbackData","kind":"class","ident_start":87068,"ident_end":87088,"extent_start":87061,"extent_end":87174,"ident_utf16":{"start":{"line_number":2416,"utf16_col":7},"end":{"line_number":2416,"utf16_col":27}},"extent_utf16":{"start":{"line_number":2416,"utf16_col":0},"end":{"line_number":2420,"utf16_col":1}}},{"name":"InstanceWrap","fully_qualified_name":"InstanceWrap","kind":"class","ident_start":87205,"ident_end":87217,"extent_start":87199,"extent_end":92080,"ident_utf16":{"start":{"line_number":2423,"utf16_col":6},"end":{"line_number":2423,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2423,"utf16_col":0},"end":{"line_number":2544,"utf16_col":1}}},{"name":"InstanceMethod","fully_qualified_name":"InstanceWrap::InstanceMethod","kind":"method","ident_start":87693,"ident_end":87707,"extent_start":87667,"extent_end":87864,"ident_utf16":{"start":{"line_number":2433,"utf16_col":28},"end":{"line_number":2433,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2433,"utf16_col":2},"end":{"line_number":2437,"utf16_col":28}}},{"name":"InstanceMethod","fully_qualified_name":"InstanceWrap::InstanceMethod","kind":"method","ident_start":87893,"ident_end":87907,"extent_start":87867,"extent_end":88060,"ident_utf16":{"start":{"line_number":2438,"utf16_col":28},"end":{"line_number":2438,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2438,"utf16_col":2},"end":{"line_number":2442,"utf16_col":28}}},{"name":"InstanceMethod","fully_qualified_name":"InstanceWrap::InstanceMethod","kind":"method","ident_start":88089,"ident_end":88103,"extent_start":88063,"extent_end":88251,"ident_utf16":{"start":{"line_number":2443,"utf16_col":28},"end":{"line_number":2443,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2443,"utf16_col":2},"end":{"line_number":2447,"utf16_col":28}}},{"name":"InstanceMethod","fully_qualified_name":"InstanceWrap::InstanceMethod","kind":"method","ident_start":88280,"ident_end":88294,"extent_start":88254,"extent_end":88438,"ident_utf16":{"start":{"line_number":2448,"utf16_col":28},"end":{"line_number":2448,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2448,"utf16_col":2},"end":{"line_number":2452,"utf16_col":28}}},{"name":"InstanceAccessor","fully_qualified_name":"InstanceWrap::InstanceAccessor","kind":"method","ident_start":89265,"ident_end":89281,"extent_start":89239,"extent_end":89471,"ident_utf16":{"start":{"line_number":2473,"utf16_col":28},"end":{"line_number":2473,"utf16_col":44}},"extent_utf16":{"start":{"line_number":2473,"utf16_col":2},"end":{"line_number":2478,"utf16_col":28}}},{"name":"InstanceAccessor","fully_qualified_name":"InstanceWrap::InstanceAccessor","kind":"method","ident_start":89500,"ident_end":89516,"extent_start":89474,"extent_end":89697,"ident_utf16":{"start":{"line_number":2479,"utf16_col":28},"end":{"line_number":2479,"utf16_col":44}},"extent_utf16":{"start":{"line_number":2479,"utf16_col":2},"end":{"line_number":2484,"utf16_col":28}}},{"name":"InstanceValue","fully_qualified_name":"InstanceWrap::InstanceValue","kind":"method","ident_start":90231,"ident_end":90244,"extent_start":90205,"extent_end":90357,"ident_utf16":{"start":{"line_number":2497,"utf16_col":28},"end":{"line_number":2497,"utf16_col":41}},"extent_utf16":{"start":{"line_number":2497,"utf16_col":2},"end":{"line_number":2500,"utf16_col":58}}},{"name":"InstanceValue","fully_qualified_name":"InstanceWrap::InstanceValue","kind":"method","ident_start":90386,"ident_end":90399,"extent_start":90360,"extent_end":90503,"ident_utf16":{"start":{"line_number":2501,"utf16_col":28},"end":{"line_number":2501,"utf16_col":41}},"extent_utf16":{"start":{"line_number":2501,"utf16_col":2},"end":{"line_number":2504,"utf16_col":58}}},{"name":"AttachPropData","fully_qualified_name":"InstanceWrap::AttachPropData","kind":"method","ident_start":90531,"ident_end":90545,"extent_start":90519,"extent_end":90674,"ident_utf16":{"start":{"line_number":2507,"utf16_col":14},"end":{"line_number":2507,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2507,"utf16_col":2},"end":{"line_number":2509,"utf16_col":67}}},{"name":"InstanceVoidMethodCallbackWrapper","fully_qualified_name":"InstanceWrap::InstanceVoidMethodCallbackWrapper","kind":"method","ident_start":91046,"ident_end":91079,"extent_start":91028,"extent_end":91173,"ident_utf16":{"start":{"line_number":2521,"utf16_col":20},"end":{"line_number":2521,"utf16_col":53}},"extent_utf16":{"start":{"line_number":2521,"utf16_col":2},"end":{"line_number":2522,"utf16_col":79}}},{"name":"InstanceMethodCallbackWrapper","fully_qualified_name":"InstanceWrap::InstanceMethodCallbackWrapper","kind":"method","ident_start":91194,"ident_end":91223,"extent_start":91176,"extent_end":91313,"ident_utf16":{"start":{"line_number":2523,"utf16_col":20},"end":{"line_number":2523,"utf16_col":49}},"extent_utf16":{"start":{"line_number":2523,"utf16_col":2},"end":{"line_number":2524,"utf16_col":75}}},{"name":"InstanceGetterCallbackWrapper","fully_qualified_name":"InstanceWrap::InstanceGetterCallbackWrapper","kind":"method","ident_start":91334,"ident_end":91363,"extent_start":91316,"extent_end":91453,"ident_utf16":{"start":{"line_number":2525,"utf16_col":20},"end":{"line_number":2525,"utf16_col":49}},"extent_utf16":{"start":{"line_number":2525,"utf16_col":2},"end":{"line_number":2526,"utf16_col":75}}},{"name":"InstanceSetterCallbackWrapper","fully_qualified_name":"InstanceWrap::InstanceSetterCallbackWrapper","kind":"method","ident_start":91474,"ident_end":91503,"extent_start":91456,"extent_end":91593,"ident_utf16":{"start":{"line_number":2527,"utf16_col":20},"end":{"line_number":2527,"utf16_col":49}},"extent_utf16":{"start":{"line_number":2527,"utf16_col":2},"end":{"line_number":2528,"utf16_col":75}}},{"name":"SetterTag","fully_qualified_name":"InstanceWrap::SetterTag","kind":"class","ident_start":91813,"ident_end":91822,"extent_start":91806,"extent_end":91825,"ident_utf16":{"start":{"line_number":2535,"utf16_col":9},"end":{"line_number":2535,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2535,"utf16_col":2},"end":{"line_number":2535,"utf16_col":21}}},{"name":"WrapSetter","fully_qualified_name":"InstanceWrap::WrapSetter","kind":"function","ident_start":92008,"ident_end":92018,"extent_start":91987,"extent_end":92078,"ident_utf16":{"start":{"line_number":2541,"utf16_col":23},"end":{"line_number":2541,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2541,"utf16_col":2},"end":{"line_number":2543,"utf16_col":3}}},{"name":"ObjectWrap","fully_qualified_name":"ObjectWrap","kind":"class","ident_start":93345,"ident_end":93355,"extent_start":93339,"extent_end":99447,"ident_utf16":{"start":{"line_number":2574,"utf16_col":6},"end":{"line_number":2574,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2574,"utf16_col":0},"end":{"line_number":2724,"utf16_col":1}}},{"name":"DefineClass","fully_qualified_name":"ObjectWrap::DefineClass","kind":"method","ident_start":94048,"ident_end":94059,"extent_start":94032,"extent_end":94205,"ident_utf16":{"start":{"line_number":2591,"utf16_col":18},"end":{"line_number":2591,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2591,"utf16_col":2},"end":{"line_number":2595,"utf16_col":28}}},{"name":"DefineClass","fully_qualified_name":"ObjectWrap::DefineClass","kind":"method","ident_start":94224,"ident_end":94235,"extent_start":94208,"extent_end":94436,"ident_utf16":{"start":{"line_number":2596,"utf16_col":18},"end":{"line_number":2596,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2596,"utf16_col":2},"end":{"line_number":2599,"utf16_col":52}}},{"name":"StaticMethod","fully_qualified_name":"ObjectWrap::StaticMethod","kind":"method","ident_start":94465,"ident_end":94477,"extent_start":94439,"extent_end":94632,"ident_utf16":{"start":{"line_number":2600,"utf16_col":28},"end":{"line_number":2600,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2600,"utf16_col":2},"end":{"line_number":2604,"utf16_col":28}}},{"name":"StaticMethod","fully_qualified_name":"ObjectWrap::StaticMethod","kind":"method","ident_start":94661,"ident_end":94673,"extent_start":94635,"extent_end":94824,"ident_utf16":{"start":{"line_number":2605,"utf16_col":28},"end":{"line_number":2605,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2605,"utf16_col":2},"end":{"line_number":2609,"utf16_col":28}}},{"name":"StaticMethod","fully_qualified_name":"ObjectWrap::StaticMethod","kind":"method","ident_start":94853,"ident_end":94865,"extent_start":94827,"extent_end":95011,"ident_utf16":{"start":{"line_number":2610,"utf16_col":28},"end":{"line_number":2610,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2610,"utf16_col":2},"end":{"line_number":2614,"utf16_col":28}}},{"name":"StaticMethod","fully_qualified_name":"ObjectWrap::StaticMethod","kind":"method","ident_start":95040,"ident_end":95052,"extent_start":95014,"extent_end":95194,"ident_utf16":{"start":{"line_number":2615,"utf16_col":28},"end":{"line_number":2615,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2615,"utf16_col":2},"end":{"line_number":2619,"utf16_col":28}}},{"name":"StaticAccessor","fully_qualified_name":"ObjectWrap::StaticAccessor","kind":"method","ident_start":96005,"ident_end":96019,"extent_start":95979,"extent_end":96205,"ident_utf16":{"start":{"line_number":2640,"utf16_col":28},"end":{"line_number":2640,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2640,"utf16_col":2},"end":{"line_number":2645,"utf16_col":28}}},{"name":"StaticAccessor","fully_qualified_name":"ObjectWrap::StaticAccessor","kind":"method","ident_start":96234,"ident_end":96248,"extent_start":96208,"extent_end":96425,"ident_utf16":{"start":{"line_number":2646,"utf16_col":28},"end":{"line_number":2646,"utf16_col":42}},"extent_utf16":{"start":{"line_number":2646,"utf16_col":2},"end":{"line_number":2651,"utf16_col":28}}},{"name":"StaticValue","fully_qualified_name":"ObjectWrap::StaticValue","kind":"method","ident_start":96923,"ident_end":96934,"extent_start":96897,"extent_end":97047,"ident_utf16":{"start":{"line_number":2662,"utf16_col":28},"end":{"line_number":2662,"utf16_col":39}},"extent_utf16":{"start":{"line_number":2662,"utf16_col":2},"end":{"line_number":2665,"utf16_col":58}}},{"name":"StaticValue","fully_qualified_name":"ObjectWrap::StaticValue","kind":"method","ident_start":97076,"ident_end":97087,"extent_start":97050,"extent_end":97191,"ident_utf16":{"start":{"line_number":2666,"utf16_col":28},"end":{"line_number":2666,"utf16_col":39}},"extent_utf16":{"start":{"line_number":2666,"utf16_col":2},"end":{"line_number":2669,"utf16_col":58}}},{"name":"OnCalledAsFunction","fully_qualified_name":"ObjectWrap::OnCalledAsFunction","kind":"method","ident_start":97213,"ident_end":97231,"extent_start":97194,"extent_end":97272,"ident_utf16":{"start":{"line_number":2670,"utf16_col":21},"end":{"line_number":2670,"utf16_col":39}},"extent_utf16":{"start":{"line_number":2670,"utf16_col":2},"end":{"line_number":2670,"utf16_col":80}}},{"name":"Finalize","fully_qualified_name":"ObjectWrap::Finalize","kind":"method","ident_start":97288,"ident_end":97296,"extent_start":97275,"extent_end":97312,"ident_utf16":{"start":{"line_number":2671,"utf16_col":15},"end":{"line_number":2671,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2671,"utf16_col":2},"end":{"line_number":2671,"utf16_col":39}}},{"name":"Finalize","fully_qualified_name":"ObjectWrap::Finalize","kind":"method","ident_start":97328,"ident_end":97336,"extent_start":97315,"extent_end":97351,"ident_utf16":{"start":{"line_number":2672,"utf16_col":15},"end":{"line_number":2672,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2672,"utf16_col":2},"end":{"line_number":2672,"utf16_col":38}}},{"name":"ConstructorCallbackWrapper","fully_qualified_name":"ObjectWrap::ConstructorCallbackWrapper","kind":"method","ident_start":97414,"ident_end":97440,"extent_start":97396,"extent_end":97527,"ident_utf16":{"start":{"line_number":2677,"utf16_col":20},"end":{"line_number":2677,"utf16_col":46}},"extent_utf16":{"start":{"line_number":2677,"utf16_col":2},"end":{"line_number":2678,"utf16_col":72}}},{"name":"StaticVoidMethodCallbackWrapper","fully_qualified_name":"ObjectWrap::StaticVoidMethodCallbackWrapper","kind":"method","ident_start":97548,"ident_end":97579,"extent_start":97530,"extent_end":97671,"ident_utf16":{"start":{"line_number":2679,"utf16_col":20},"end":{"line_number":2679,"utf16_col":51}},"extent_utf16":{"start":{"line_number":2679,"utf16_col":2},"end":{"line_number":2680,"utf16_col":77}}},{"name":"StaticMethodCallbackWrapper","fully_qualified_name":"ObjectWrap::StaticMethodCallbackWrapper","kind":"method","ident_start":97692,"ident_end":97719,"extent_start":97674,"extent_end":97807,"ident_utf16":{"start":{"line_number":2681,"utf16_col":20},"end":{"line_number":2681,"utf16_col":47}},"extent_utf16":{"start":{"line_number":2681,"utf16_col":2},"end":{"line_number":2682,"utf16_col":73}}},{"name":"StaticGetterCallbackWrapper","fully_qualified_name":"ObjectWrap::StaticGetterCallbackWrapper","kind":"method","ident_start":97828,"ident_end":97855,"extent_start":97810,"extent_end":97943,"ident_utf16":{"start":{"line_number":2683,"utf16_col":20},"end":{"line_number":2683,"utf16_col":47}},"extent_utf16":{"start":{"line_number":2683,"utf16_col":2},"end":{"line_number":2684,"utf16_col":73}}},{"name":"StaticSetterCallbackWrapper","fully_qualified_name":"ObjectWrap::StaticSetterCallbackWrapper","kind":"method","ident_start":97964,"ident_end":97991,"extent_start":97946,"extent_end":98079,"ident_utf16":{"start":{"line_number":2685,"utf16_col":20},"end":{"line_number":2685,"utf16_col":47}},"extent_utf16":{"start":{"line_number":2685,"utf16_col":2},"end":{"line_number":2686,"utf16_col":73}}},{"name":"FinalizeCallback","fully_qualified_name":"ObjectWrap::FinalizeCallback","kind":"method","ident_start":98094,"ident_end":98110,"extent_start":98082,"extent_end":98227,"ident_utf16":{"start":{"line_number":2687,"utf16_col":14},"end":{"line_number":2687,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2687,"utf16_col":2},"end":{"line_number":2689,"utf16_col":43}}},{"name":"PostFinalizeCallback","fully_qualified_name":"ObjectWrap::PostFinalizeCallback","kind":"method","ident_start":98243,"ident_end":98263,"extent_start":98231,"extent_end":98302,"ident_utf16":{"start":{"line_number":2691,"utf16_col":14},"end":{"line_number":2691,"utf16_col":34}},"extent_utf16":{"start":{"line_number":2691,"utf16_col":2},"end":{"line_number":2691,"utf16_col":73}}},{"name":"DefineClass","fully_qualified_name":"ObjectWrap::DefineClass","kind":"method","ident_start":98322,"ident_end":98333,"extent_start":98306,"extent_end":98578,"ident_utf16":{"start":{"line_number":2693,"utf16_col":18},"end":{"line_number":2693,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2693,"utf16_col":2},"end":{"line_number":2697,"utf16_col":52}}},{"name":"StaticSetterTag","fully_qualified_name":"ObjectWrap::StaticSetterTag","kind":"class","ident_start":99082,"ident_end":99097,"extent_start":99075,"extent_end":99100,"ident_utf16":{"start":{"line_number":2711,"utf16_col":9},"end":{"line_number":2711,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2711,"utf16_col":2},"end":{"line_number":2711,"utf16_col":27}}},{"name":"WrapStaticSetter","fully_qualified_name":"ObjectWrap::WrapStaticSetter","kind":"function","ident_start":99293,"ident_end":99309,"extent_start":99272,"extent_end":99381,"ident_utf16":{"start":{"line_number":2717,"utf16_col":23},"end":{"line_number":2717,"utf16_col":39}},"extent_utf16":{"start":{"line_number":2717,"utf16_col":2},"end":{"line_number":2720,"utf16_col":3}}},{"name":"HandleScope","fully_qualified_name":"HandleScope","kind":"class","ident_start":99456,"ident_end":99467,"extent_start":99450,"extent_end":99821,"ident_utf16":{"start":{"line_number":2726,"utf16_col":6},"end":{"line_number":2726,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2726,"utf16_col":0},"end":{"line_number":2742,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"HandleScope::Env","kind":"method","ident_start":99751,"ident_end":99754,"extent_start":99741,"extent_end":99763,"ident_utf16":{"start":{"line_number":2737,"utf16_col":12},"end":{"line_number":2737,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2737,"utf16_col":2},"end":{"line_number":2737,"utf16_col":24}}},{"name":"EscapableHandleScope","fully_qualified_name":"EscapableHandleScope","kind":"class","ident_start":99830,"ident_end":99850,"extent_start":99824,"extent_end":100316,"ident_utf16":{"start":{"line_number":2744,"utf16_col":6},"end":{"line_number":2744,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2744,"utf16_col":0},"end":{"line_number":2761,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"EscapableHandleScope::Env","kind":"method","ident_start":100200,"ident_end":100203,"extent_start":100190,"extent_end":100212,"ident_utf16":{"start":{"line_number":2755,"utf16_col":12},"end":{"line_number":2755,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2755,"utf16_col":2},"end":{"line_number":2755,"utf16_col":24}}},{"name":"Escape","fully_qualified_name":"EscapableHandleScope::Escape","kind":"method","ident_start":100221,"ident_end":100227,"extent_start":100215,"extent_end":100248,"ident_utf16":{"start":{"line_number":2756,"utf16_col":8},"end":{"line_number":2756,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2756,"utf16_col":2},"end":{"line_number":2756,"utf16_col":35}}},{"name":"CallbackScope","fully_qualified_name":"CallbackScope","kind":"class","ident_start":100348,"ident_end":100361,"extent_start":100342,"extent_end":100757,"ident_utf16":{"start":{"line_number":2764,"utf16_col":6},"end":{"line_number":2764,"utf16_col":19}},"extent_utf16":{"start":{"line_number":2764,"utf16_col":0},"end":{"line_number":2780,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"CallbackScope::Env","kind":"method","ident_start":100685,"ident_end":100688,"extent_start":100675,"extent_end":100697,"ident_utf16":{"start":{"line_number":2775,"utf16_col":12},"end":{"line_number":2775,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2775,"utf16_col":2},"end":{"line_number":2775,"utf16_col":24}}},{"name":"AsyncContext","fully_qualified_name":"AsyncContext","kind":"class","ident_start":100773,"ident_end":100785,"extent_start":100767,"extent_end":101284,"ident_utf16":{"start":{"line_number":2783,"utf16_col":6},"end":{"line_number":2783,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2783,"utf16_col":0},"end":{"line_number":2802,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"AsyncContext::Env","kind":"method","ident_start":101211,"ident_end":101214,"extent_start":101201,"extent_end":101223,"ident_utf16":{"start":{"line_number":2797,"utf16_col":12},"end":{"line_number":2797,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2797,"utf16_col":2},"end":{"line_number":2797,"utf16_col":24}}},{"name":"AsyncWorker","fully_qualified_name":"AsyncWorker","kind":"class","ident_start":101314,"ident_end":101325,"extent_start":101308,"extent_end":103285,"ident_utf16":{"start":{"line_number":2805,"utf16_col":6},"end":{"line_number":2805,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2805,"utf16_col":0},"end":{"line_number":2866,"utf16_col":1}}},{"name":"Env","fully_qualified_name":"AsyncWorker::Env","kind":"method","ident_start":101455,"ident_end":101458,"extent_start":101445,"extent_end":101467,"ident_utf16":{"start":{"line_number":2813,"utf16_col":12},"end":{"line_number":2813,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2813,"utf16_col":2},"end":{"line_number":2813,"utf16_col":24}}},{"name":"Queue","fully_qualified_name":"AsyncWorker::Queue","kind":"method","ident_start":101476,"ident_end":101481,"extent_start":101471,"extent_end":101484,"ident_utf16":{"start":{"line_number":2815,"utf16_col":7},"end":{"line_number":2815,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2815,"utf16_col":2},"end":{"line_number":2815,"utf16_col":15}}},{"name":"Cancel","fully_qualified_name":"AsyncWorker::Cancel","kind":"method","ident_start":101492,"ident_end":101498,"extent_start":101487,"extent_end":101501,"ident_utf16":{"start":{"line_number":2816,"utf16_col":7},"end":{"line_number":2816,"utf16_col":13}},"extent_utf16":{"start":{"line_number":2816,"utf16_col":2},"end":{"line_number":2816,"utf16_col":16}}},{"name":"SuppressDestruct","fully_qualified_name":"AsyncWorker::SuppressDestruct","kind":"method","ident_start":101509,"ident_end":101525,"extent_start":101504,"extent_end":101528,"ident_utf16":{"start":{"line_number":2817,"utf16_col":7},"end":{"line_number":2817,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2817,"utf16_col":2},"end":{"line_number":2817,"utf16_col":26}}},{"name":"OnExecute","fully_qualified_name":"AsyncWorker::OnExecute","kind":"method","ident_start":101610,"ident_end":101619,"extent_start":101597,"extent_end":101635,"ident_utf16":{"start":{"line_number":2822,"utf16_col":15},"end":{"line_number":2822,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2822,"utf16_col":2},"end":{"line_number":2822,"utf16_col":40}}},{"name":"OnWorkComplete","fully_qualified_name":"AsyncWorker::OnWorkComplete","kind":"method","ident_start":101651,"ident_end":101665,"extent_start":101638,"extent_end":101701,"ident_utf16":{"start":{"line_number":2823,"utf16_col":15},"end":{"line_number":2823,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2823,"utf16_col":2},"end":{"line_number":2823,"utf16_col":65}}},{"name":"Execute","fully_qualified_name":"AsyncWorker::Execute","kind":"method","ident_start":102662,"ident_end":102669,"extent_start":102649,"extent_end":102676,"ident_utf16":{"start":{"line_number":2846,"utf16_col":15},"end":{"line_number":2846,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2846,"utf16_col":2},"end":{"line_number":2846,"utf16_col":29}}},{"name":"OnOK","fully_qualified_name":"AsyncWorker::OnOK","kind":"method","ident_start":102692,"ident_end":102696,"extent_start":102679,"extent_end":102699,"ident_utf16":{"start":{"line_number":2847,"utf16_col":15},"end":{"line_number":2847,"utf16_col":19}},"extent_utf16":{"start":{"line_number":2847,"utf16_col":2},"end":{"line_number":2847,"utf16_col":22}}},{"name":"OnError","fully_qualified_name":"AsyncWorker::OnError","kind":"method","ident_start":102715,"ident_end":102722,"extent_start":102702,"extent_end":102739,"ident_utf16":{"start":{"line_number":2848,"utf16_col":15},"end":{"line_number":2848,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2848,"utf16_col":2},"end":{"line_number":2848,"utf16_col":39}}},{"name":"Destroy","fully_qualified_name":"AsyncWorker::Destroy","kind":"method","ident_start":102755,"ident_end":102762,"extent_start":102742,"extent_end":102765,"ident_utf16":{"start":{"line_number":2849,"utf16_col":15},"end":{"line_number":2849,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2849,"utf16_col":2},"end":{"line_number":2849,"utf16_col":25}}},{"name":"GetResult","fully_qualified_name":"AsyncWorker::GetResult","kind":"method","ident_start":102800,"ident_end":102809,"extent_start":102768,"extent_end":102825,"ident_utf16":{"start":{"line_number":2850,"utf16_col":34},"end":{"line_number":2850,"utf16_col":43}},"extent_utf16":{"start":{"line_number":2850,"utf16_col":2},"end":{"line_number":2850,"utf16_col":59}}},{"name":"SetError","fully_qualified_name":"AsyncWorker::SetError","kind":"method","ident_start":102834,"ident_end":102842,"extent_start":102829,"extent_end":102869,"ident_utf16":{"start":{"line_number":2852,"utf16_col":7},"end":{"line_number":2852,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2852,"utf16_col":2},"end":{"line_number":2852,"utf16_col":42}}},{"name":"OnAsyncWorkExecute","fully_qualified_name":"AsyncWorker::OnAsyncWorkExecute","kind":"method","ident_start":102902,"ident_end":102920,"extent_start":102883,"extent_end":102954,"ident_utf16":{"start":{"line_number":2855,"utf16_col":21},"end":{"line_number":2855,"utf16_col":39}},"extent_utf16":{"start":{"line_number":2855,"utf16_col":2},"end":{"line_number":2855,"utf16_col":73}}},{"name":"OnAsyncWorkComplete","fully_qualified_name":"AsyncWorker::OnAsyncWorkComplete","kind":"method","ident_start":102976,"ident_end":102995,"extent_start":102957,"extent_end":103131,"ident_utf16":{"start":{"line_number":2856,"utf16_col":21},"end":{"line_number":2856,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2856,"utf16_col":2},"end":{"line_number":2858,"utf16_col":60}}},{"name":"ThreadSafeFunction","fully_qualified_name":"ThreadSafeFunction","kind":"class","ident_start":103365,"ident_end":103383,"extent_start":103359,"extent_end":113067,"ident_utf16":{"start":{"line_number":2870,"utf16_col":6},"end":{"line_number":2870,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2870,"utf16_col":0},"end":{"line_number":3096,"utf16_col":1}}},{"name":"BlockingCall","fully_qualified_name":"ThreadSafeFunction::BlockingCall","kind":"method","ident_start":110615,"ident_end":110627,"extent_start":110603,"extent_end":110636,"ident_utf16":{"start":{"line_number":3022,"utf16_col":14},"end":{"line_number":3022,"utf16_col":26}},"extent_utf16":{"start":{"line_number":3022,"utf16_col":2},"end":{"line_number":3022,"utf16_col":35}}},{"name":"NonBlockingCall","fully_qualified_name":"ThreadSafeFunction::NonBlockingCall","kind":"method","ident_start":110992,"ident_end":111007,"extent_start":110980,"extent_end":111016,"ident_utf16":{"start":{"line_number":3033,"utf16_col":14},"end":{"line_number":3033,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3033,"utf16_col":2},"end":{"line_number":3033,"utf16_col":38}}},{"name":"Ref","fully_qualified_name":"ThreadSafeFunction::Ref","kind":"method","ident_start":111381,"ident_end":111384,"extent_start":111376,"extent_end":111405,"ident_utf16":{"start":{"line_number":3044,"utf16_col":7},"end":{"line_number":3044,"utf16_col":10}},"extent_utf16":{"start":{"line_number":3044,"utf16_col":2},"end":{"line_number":3044,"utf16_col":31}}},{"name":"Unref","fully_qualified_name":"ThreadSafeFunction::Unref","kind":"method","ident_start":111469,"ident_end":111474,"extent_start":111464,"extent_end":111495,"ident_utf16":{"start":{"line_number":3047,"utf16_col":7},"end":{"line_number":3047,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3047,"utf16_col":2},"end":{"line_number":3047,"utf16_col":33}}},{"name":"Acquire","fully_qualified_name":"ThreadSafeFunction::Acquire","kind":"method","ident_start":111556,"ident_end":111563,"extent_start":111544,"extent_end":111572,"ident_utf16":{"start":{"line_number":3050,"utf16_col":14},"end":{"line_number":3050,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3050,"utf16_col":2},"end":{"line_number":3050,"utf16_col":30}}},{"name":"Release","fully_qualified_name":"ThreadSafeFunction::Release","kind":"method","ident_start":111633,"ident_end":111640,"extent_start":111621,"extent_end":111649,"ident_utf16":{"start":{"line_number":3053,"utf16_col":14},"end":{"line_number":3053,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3053,"utf16_col":2},"end":{"line_number":3053,"utf16_col":30}}},{"name":"Abort","fully_qualified_name":"ThreadSafeFunction::Abort","kind":"method","ident_start":111710,"ident_end":111715,"extent_start":111698,"extent_end":111724,"ident_utf16":{"start":{"line_number":3056,"utf16_col":14},"end":{"line_number":3056,"utf16_col":19}},"extent_utf16":{"start":{"line_number":3056,"utf16_col":2},"end":{"line_number":3056,"utf16_col":28}}},{"name":"ConvertibleContext","fully_qualified_name":"ThreadSafeFunction::ConvertibleContext","kind":"class","ident_start":111735,"ident_end":111753,"extent_start":111728,"extent_end":111866,"ident_utf16":{"start":{"line_number":3058,"utf16_col":9},"end":{"line_number":3058,"utf16_col":27}},"extent_utf16":{"start":{"line_number":3058,"utf16_col":2},"end":{"line_number":3064,"utf16_col":3}}},{"name":"GetContext","fully_qualified_name":"ThreadSafeFunction::GetContext","kind":"method","ident_start":111935,"ident_end":111945,"extent_start":111916,"extent_end":111954,"ident_utf16":{"start":{"line_number":3067,"utf16_col":21},"end":{"line_number":3067,"utf16_col":31}},"extent_utf16":{"start":{"line_number":3067,"utf16_col":2},"end":{"line_number":3067,"utf16_col":40}}},{"name":"CallInternal","fully_qualified_name":"ThreadSafeFunction::CallInternal","kind":"method","ident_start":112759,"ident_end":112771,"extent_start":112747,"extent_end":112880,"ident_utf16":{"start":{"line_number":3087,"utf16_col":14},"end":{"line_number":3087,"utf16_col":26}},"extent_utf16":{"start":{"line_number":3087,"utf16_col":2},"end":{"line_number":3088,"utf16_col":74}}},{"name":"CallJS","fully_qualified_name":"ThreadSafeFunction::CallJS","kind":"method","ident_start":112896,"ident_end":112902,"extent_start":112884,"extent_end":113030,"ident_utf16":{"start":{"line_number":3090,"utf16_col":14},"end":{"line_number":3090,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3090,"utf16_col":2},"end":{"line_number":3093,"utf16_col":33}}},{"name":"TypedThreadSafeFunction","fully_qualified_name":"TypedThreadSafeFunction","kind":"class","ident_start":113377,"ident_end":113400,"extent_start":113371,"extent_end":120294,"ident_utf16":{"start":{"line_number":3104,"utf16_col":6},"end":{"line_number":3104,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3104,"utf16_col":0},"end":{"line_number":3294,"utf16_col":1}}},{"name":"FunctionOrEmpty","fully_qualified_name":"TypedThreadSafeFunction::FunctionOrEmpty","kind":"method","ident_start":113916,"ident_end":113931,"extent_start":113894,"extent_end":114013,"ident_utf16":{"start":{"line_number":3116,"utf16_col":24},"end":{"line_number":3116,"utf16_col":39}},"extent_utf16":{"start":{"line_number":3116,"utf16_col":2},"end":{"line_number":3117,"utf16_col":66}}},{"name":"BlockingCall","fully_qualified_name":"TypedThreadSafeFunction::BlockingCall","kind":"method","ident_start":118932,"ident_end":118944,"extent_start":118920,"extent_end":118977,"ident_utf16":{"start":{"line_number":3248,"utf16_col":14},"end":{"line_number":3248,"utf16_col":26}},"extent_utf16":{"start":{"line_number":3248,"utf16_col":2},"end":{"line_number":3248,"utf16_col":59}}},{"name":"NonBlockingCall","fully_qualified_name":"TypedThreadSafeFunction::NonBlockingCall","kind":"method","ident_start":119038,"ident_end":119053,"extent_start":119026,"extent_end":119086,"ident_utf16":{"start":{"line_number":3251,"utf16_col":14},"end":{"line_number":3251,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3251,"utf16_col":2},"end":{"line_number":3251,"utf16_col":62}}},{"name":"Ref","fully_qualified_name":"TypedThreadSafeFunction::Ref","kind":"method","ident_start":119150,"ident_end":119153,"extent_start":119145,"extent_end":119174,"ident_utf16":{"start":{"line_number":3254,"utf16_col":7},"end":{"line_number":3254,"utf16_col":10}},"extent_utf16":{"start":{"line_number":3254,"utf16_col":2},"end":{"line_number":3254,"utf16_col":31}}},{"name":"Unref","fully_qualified_name":"TypedThreadSafeFunction::Unref","kind":"method","ident_start":119238,"ident_end":119243,"extent_start":119233,"extent_end":119264,"ident_utf16":{"start":{"line_number":3257,"utf16_col":7},"end":{"line_number":3257,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3257,"utf16_col":2},"end":{"line_number":3257,"utf16_col":33}}},{"name":"Acquire","fully_qualified_name":"TypedThreadSafeFunction::Acquire","kind":"method","ident_start":119325,"ident_end":119332,"extent_start":119313,"extent_end":119341,"ident_utf16":{"start":{"line_number":3260,"utf16_col":14},"end":{"line_number":3260,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3260,"utf16_col":2},"end":{"line_number":3260,"utf16_col":30}}},{"name":"Release","fully_qualified_name":"TypedThreadSafeFunction::Release","kind":"method","ident_start":119402,"ident_end":119409,"extent_start":119390,"extent_end":119418,"ident_utf16":{"start":{"line_number":3263,"utf16_col":14},"end":{"line_number":3263,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3263,"utf16_col":2},"end":{"line_number":3263,"utf16_col":30}}},{"name":"Abort","fully_qualified_name":"TypedThreadSafeFunction::Abort","kind":"method","ident_start":119479,"ident_end":119484,"extent_start":119467,"extent_end":119493,"ident_utf16":{"start":{"line_number":3266,"utf16_col":14},"end":{"line_number":3266,"utf16_col":19}},"extent_utf16":{"start":{"line_number":3266,"utf16_col":2},"end":{"line_number":3266,"utf16_col":28}}},{"name":"CallJsInternal","fully_qualified_name":"TypedThreadSafeFunction::CallJsInternal","kind":"method","ident_start":120079,"ident_end":120093,"extent_start":120067,"extent_end":120245,"ident_utf16":{"start":{"line_number":3287,"utf16_col":14},"end":{"line_number":3287,"utf16_col":28}},"extent_utf16":{"start":{"line_number":3287,"utf16_col":2},"end":{"line_number":3290,"utf16_col":41}}},{"name":"AsyncProgressWorkerBase","fully_qualified_name":"AsyncProgressWorkerBase","kind":"class","ident_start":120331,"ident_end":120354,"extent_start":120325,"extent_end":122111,"ident_utf16":{"start":{"line_number":3296,"utf16_col":6},"end":{"line_number":3296,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3296,"utf16_col":0},"end":{"line_number":3344,"utf16_col":1}}},{"name":"OnWorkProgress","fully_qualified_name":"AsyncProgressWorkerBase::OnWorkProgress","kind":"method","ident_start":120402,"ident_end":120416,"extent_start":120389,"extent_end":120437,"ident_utf16":{"start":{"line_number":3298,"utf16_col":15},"end":{"line_number":3298,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3298,"utf16_col":2},"end":{"line_number":3298,"utf16_col":50}}},{"name":"ThreadSafeData","fully_qualified_name":"AsyncProgressWorkerBase::ThreadSafeData","kind":"class","ident_start":120446,"ident_end":120460,"extent_start":120440,"extent_end":120845,"ident_utf16":{"start":{"line_number":3299,"utf16_col":8},"end":{"line_number":3299,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3299,"utf16_col":2},"end":{"line_number":3312,"utf16_col":3}}},{"name":"ThreadSafeData","fully_qualified_name":"AsyncProgressWorkerBase::ThreadSafeData::ThreadSafeData","kind":"function","ident_start":120478,"ident_end":120492,"extent_start":120478,"extent_end":120622,"ident_utf16":{"start":{"line_number":3301,"utf16_col":4},"end":{"line_number":3301,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3301,"utf16_col":4},"end":{"line_number":3302,"utf16_col":67}}},{"name":"OnWorkComplete","fully_qualified_name":"AsyncProgressWorkerBase::OnWorkComplete","kind":"method","ident_start":120854,"ident_end":120868,"extent_start":120849,"extent_end":120913,"ident_utf16":{"start":{"line_number":3313,"utf16_col":7},"end":{"line_number":3313,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3313,"utf16_col":2},"end":{"line_number":3313,"utf16_col":66}}},{"name":"OnAsyncWorkProgress","fully_qualified_name":"AsyncProgressWorkerBase::OnAsyncWorkProgress","kind":"method","ident_start":121683,"ident_end":121702,"extent_start":121664,"extent_end":121839,"ident_utf16":{"start":{"line_number":3332,"utf16_col":21},"end":{"line_number":3332,"utf16_col":40}},"extent_utf16":{"start":{"line_number":3332,"utf16_col":2},"end":{"line_number":3334,"utf16_col":53}}},{"name":"NonBlockingCall","fully_qualified_name":"AsyncProgressWorkerBase::NonBlockingCall","kind":"method","ident_start":121855,"ident_end":121870,"extent_start":121843,"extent_end":121887,"ident_utf16":{"start":{"line_number":3336,"utf16_col":14},"end":{"line_number":3336,"utf16_col":29}},"extent_utf16":{"start":{"line_number":3336,"utf16_col":2},"end":{"line_number":3336,"utf16_col":46}}},{"name":"OnThreadSafeFunctionFinalize","fully_qualified_name":"AsyncProgressWorkerBase::OnThreadSafeFunctionFinalize","kind":"method","ident_start":122012,"ident_end":122040,"extent_start":121993,"extent_end":122109,"ident_utf16":{"start":{"line_number":3342,"utf16_col":21},"end":{"line_number":3342,"utf16_col":49}},"extent_utf16":{"start":{"line_number":3342,"utf16_col":2},"end":{"line_number":3343,"utf16_col":67}}},{"name":"AsyncProgressWorker","fully_qualified_name":"AsyncProgressWorker","kind":"class","ident_start":122139,"ident_end":122158,"extent_start":122133,"extent_end":124199,"ident_utf16":{"start":{"line_number":3347,"utf16_col":6},"end":{"line_number":3347,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3347,"utf16_col":0},"end":{"line_number":3403,"utf16_col":1}}},{"name":"ExecutionProgress","fully_qualified_name":"AsyncProgressWorker::ExecutionProgress","kind":"class","ident_start":122252,"ident_end":122269,"extent_start":122246,"extent_end":122534,"ident_utf16":{"start":{"line_number":3351,"utf16_col":8},"end":{"line_number":3351,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3351,"utf16_col":2},"end":{"line_number":3361,"utf16_col":3}}},{"name":"Signal","fully_qualified_name":"AsyncProgressWorker::ExecutionProgress::Signal","kind":"method","ident_start":122331,"ident_end":122337,"extent_start":122326,"extent_end":122346,"ident_utf16":{"start":{"line_number":3355,"utf16_col":9},"end":{"line_number":3355,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3355,"utf16_col":4},"end":{"line_number":3355,"utf16_col":24}}},{"name":"Send","fully_qualified_name":"AsyncProgressWorker::ExecutionProgress::Send","kind":"method","ident_start":122356,"ident_end":122360,"extent_start":122351,"extent_end":122396,"ident_utf16":{"start":{"line_number":3356,"utf16_col":9},"end":{"line_number":3356,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3356,"utf16_col":4},"end":{"line_number":3356,"utf16_col":49}}},{"name":"ExecutionProgress","fully_qualified_name":"AsyncProgressWorker::ExecutionProgress::ExecutionProgress","kind":"function","ident_start":122423,"ident_end":122440,"extent_start":122414,"extent_end":122490,"ident_utf16":{"start":{"line_number":3359,"utf16_col":13},"end":{"line_number":3359,"utf16_col":30}},"extent_utf16":{"start":{"line_number":3359,"utf16_col":4},"end":{"line_number":3359,"utf16_col":80}}},{"name":"OnWorkProgress","fully_qualified_name":"AsyncProgressWorker::OnWorkProgress","kind":"method","ident_start":122544,"ident_end":122558,"extent_start":122539,"extent_end":122575,"ident_utf16":{"start":{"line_number":3363,"utf16_col":7},"end":{"line_number":3363,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3363,"utf16_col":2},"end":{"line_number":3363,"utf16_col":38}}},{"name":"Execute","fully_qualified_name":"AsyncProgressWorker::Execute","kind":"method","ident_start":123906,"ident_end":123913,"extent_start":123893,"extent_end":123953,"ident_utf16":{"start":{"line_number":3391,"utf16_col":15},"end":{"line_number":3391,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3391,"utf16_col":2},"end":{"line_number":3391,"utf16_col":62}}},{"name":"OnProgress","fully_qualified_name":"AsyncProgressWorker::OnProgress","kind":"method","ident_start":123969,"ident_end":123979,"extent_start":123956,"extent_end":124013,"ident_utf16":{"start":{"line_number":3392,"utf16_col":15},"end":{"line_number":3392,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3392,"utf16_col":2},"end":{"line_number":3392,"utf16_col":59}}},{"name":"Execute","fully_qualified_name":"AsyncProgressWorker::Execute","kind":"method","ident_start":124032,"ident_end":124039,"extent_start":124027,"extent_end":124051,"ident_utf16":{"start":{"line_number":3395,"utf16_col":7},"end":{"line_number":3395,"utf16_col":14}},"extent_utf16":{"start":{"line_number":3395,"utf16_col":2},"end":{"line_number":3395,"utf16_col":26}}},{"name":"Signal","fully_qualified_name":"AsyncProgressWorker::Signal","kind":"method","ident_start":124059,"ident_end":124065,"extent_start":124054,"extent_end":124068,"ident_utf16":{"start":{"line_number":3396,"utf16_col":7},"end":{"line_number":3396,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3396,"utf16_col":2},"end":{"line_number":3396,"utf16_col":16}}},{"name":"SendProgress_","fully_qualified_name":"AsyncProgressWorker::SendProgress_","kind":"method","ident_start":124076,"ident_end":124089,"extent_start":124071,"extent_end":124119,"ident_utf16":{"start":{"line_number":3397,"utf16_col":7},"end":{"line_number":3397,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3397,"utf16_col":2},"end":{"line_number":3397,"utf16_col":50}}},{"name":"AsyncProgressQueueWorker","fully_qualified_name":"AsyncProgressQueueWorker","kind":"class","ident_start":124227,"ident_end":124251,"extent_start":124221,"extent_end":126455,"ident_utf16":{"start":{"line_number":3406,"utf16_col":6},"end":{"line_number":3406,"utf16_col":30}},"extent_utf16":{"start":{"line_number":3406,"utf16_col":0},"end":{"line_number":3460,"utf16_col":1}}},{"name":"ExecutionProgress","fully_qualified_name":"AsyncProgressQueueWorker::ExecutionProgress","kind":"class","ident_start":124373,"ident_end":124390,"extent_start":124367,"extent_end":124678,"ident_utf16":{"start":{"line_number":3411,"utf16_col":8},"end":{"line_number":3411,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3411,"utf16_col":2},"end":{"line_number":3422,"utf16_col":3}}},{"name":"Signal","fully_qualified_name":"AsyncProgressQueueWorker::ExecutionProgress::Signal","kind":"method","ident_start":124457,"ident_end":124463,"extent_start":124452,"extent_end":124472,"ident_utf16":{"start":{"line_number":3415,"utf16_col":9},"end":{"line_number":3415,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3415,"utf16_col":4},"end":{"line_number":3415,"utf16_col":24}}},{"name":"Send","fully_qualified_name":"AsyncProgressQueueWorker::ExecutionProgress::Send","kind":"method","ident_start":124482,"ident_end":124486,"extent_start":124477,"extent_end":124522,"ident_utf16":{"start":{"line_number":3416,"utf16_col":9},"end":{"line_number":3416,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3416,"utf16_col":4},"end":{"line_number":3416,"utf16_col":49}}},{"name":"ExecutionProgress","fully_qualified_name":"AsyncProgressQueueWorker::ExecutionProgress::ExecutionProgress","kind":"function","ident_start":124549,"ident_end":124566,"extent_start":124540,"extent_end":124629,"ident_utf16":{"start":{"line_number":3419,"utf16_col":13},"end":{"line_number":3419,"utf16_col":30}},"extent_utf16":{"start":{"line_number":3419,"utf16_col":4},"end":{"line_number":3420,"utf16_col":28}}},{"name":"OnWorkComplete","fully_qualified_name":"AsyncProgressQueueWorker::OnWorkComplete","kind":"method","ident_start":124688,"ident_end":124702,"extent_start":124683,"extent_end":124747,"ident_utf16":{"start":{"line_number":3424,"utf16_col":7},"end":{"line_number":3424,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3424,"utf16_col":2},"end":{"line_number":3424,"utf16_col":66}}},{"name":"OnWorkProgress","fully_qualified_name":"AsyncProgressQueueWorker::OnWorkProgress","kind":"method","ident_start":124755,"ident_end":124769,"extent_start":124750,"extent_end":124803,"ident_utf16":{"start":{"line_number":3425,"utf16_col":7},"end":{"line_number":3425,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3425,"utf16_col":2},"end":{"line_number":3425,"utf16_col":55}}},{"name":"Execute","fully_qualified_name":"AsyncProgressQueueWorker::Execute","kind":"method","ident_start":126234,"ident_end":126241,"extent_start":126221,"extent_end":126281,"ident_utf16":{"start":{"line_number":3453,"utf16_col":15},"end":{"line_number":3453,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3453,"utf16_col":2},"end":{"line_number":3453,"utf16_col":62}}},{"name":"OnProgress","fully_qualified_name":"AsyncProgressQueueWorker::OnProgress","kind":"method","ident_start":126297,"ident_end":126307,"extent_start":126284,"extent_end":126341,"ident_utf16":{"start":{"line_number":3454,"utf16_col":15},"end":{"line_number":3454,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3454,"utf16_col":2},"end":{"line_number":3454,"utf16_col":59}}},{"name":"Execute","fully_qualified_name":"AsyncProgressQueueWorker::Execute","kind":"method","ident_start":126360,"ident_end":126367,"extent_start":126355,"extent_end":126379,"ident_utf16":{"start":{"line_number":3457,"utf16_col":7},"end":{"line_number":3457,"utf16_col":14}},"extent_utf16":{"start":{"line_number":3457,"utf16_col":2},"end":{"line_number":3457,"utf16_col":26}}},{"name":"Signal","fully_qualified_name":"AsyncProgressQueueWorker::Signal","kind":"method","ident_start":126387,"ident_end":126393,"extent_start":126382,"extent_end":126402,"ident_utf16":{"start":{"line_number":3458,"utf16_col":7},"end":{"line_number":3458,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3458,"utf16_col":2},"end":{"line_number":3458,"utf16_col":22}}},{"name":"SendProgress_","fully_qualified_name":"AsyncProgressQueueWorker::SendProgress_","kind":"method","ident_start":126410,"ident_end":126423,"extent_start":126405,"extent_end":126453,"ident_utf16":{"start":{"line_number":3459,"utf16_col":7},"end":{"line_number":3459,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3459,"utf16_col":2},"end":{"line_number":3459,"utf16_col":50}}},{"name":"MemoryManagement","fully_qualified_name":"MemoryManagement","kind":"class","ident_start":126534,"ident_end":126550,"extent_start":126528,"extent_end":126641,"ident_utf16":{"start":{"line_number":3464,"utf16_col":6},"end":{"line_number":3464,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3464,"utf16_col":0},"end":{"line_number":3467,"utf16_col":1}}},{"name":"AdjustExternalMemory","fully_qualified_name":"MemoryManagement::AdjustExternalMemory","kind":"method","ident_start":126579,"ident_end":126599,"extent_start":126564,"extent_end":126639,"ident_utf16":{"start":{"line_number":3466,"utf16_col":17},"end":{"line_number":3466,"utf16_col":37}},"extent_utf16":{"start":{"line_number":3466,"utf16_col":2},"end":{"line_number":3466,"utf16_col":77}}},{"name":"VersionManagement","fully_qualified_name":"VersionManagement","kind":"class","ident_start":126672,"ident_end":126689,"extent_start":126666,"extent_end":126814,"ident_utf16":{"start":{"line_number":3470,"utf16_col":6},"end":{"line_number":3470,"utf16_col":23}},"extent_utf16":{"start":{"line_number":3470,"utf16_col":0},"end":{"line_number":3474,"utf16_col":1}}},{"name":"GetNapiVersion","fully_qualified_name":"VersionManagement::GetNapiVersion","kind":"method","ident_start":126719,"ident_end":126733,"extent_start":126703,"extent_end":126748,"ident_utf16":{"start":{"line_number":3472,"utf16_col":18},"end":{"line_number":3472,"utf16_col":32}},"extent_utf16":{"start":{"line_number":3472,"utf16_col":2},"end":{"line_number":3472,"utf16_col":47}}},{"name":"Addon","fully_qualified_name":"Addon","kind":"class","ident_start":126866,"ident_end":126871,"extent_start":126860,"extent_end":127323,"ident_utf16":{"start":{"line_number":3478,"utf16_col":6},"end":{"line_number":3478,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3478,"utf16_col":0},"end":{"line_number":3492,"utf16_col":1}}},{"name":"Init","fully_qualified_name":"Addon::Init","kind":"method","ident_start":126931,"ident_end":126935,"extent_start":126910,"extent_end":126961,"ident_utf16":{"start":{"line_number":3480,"utf16_col":23},"end":{"line_number":3480,"utf16_col":27}},"extent_utf16":{"start":{"line_number":3480,"utf16_col":2},"end":{"line_number":3480,"utf16_col":53}}},{"name":"DefineAddon","fully_qualified_name":"Addon::DefineAddon","kind":"method","ident_start":127066,"ident_end":127077,"extent_start":127061,"extent_end":127160,"ident_utf16":{"start":{"line_number":3485,"utf16_col":7},"end":{"line_number":3485,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3485,"utf16_col":2},"end":{"line_number":3486,"utf16_col":66}}},{"name":"DefineProperties","fully_qualified_name":"Addon::DefineProperties","kind":"method","ident_start":127176,"ident_end":127192,"extent_start":127163,"extent_end":127287,"ident_utf16":{"start":{"line_number":3487,"utf16_col":15},"end":{"line_number":3487,"utf16_col":31}},"extent_utf16":{"start":{"line_number":3487,"utf16_col":2},"end":{"line_number":3488,"utf16_col":79}}}]}},"codeViewLayoutRoute":{"repo":{"id":81384578,"defaultBranch":"main","name":"node-addon-api","ownerLogin":"nodejs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-08T22:54:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9950313?v=4","public":true,"private":false,"isOrgOwned":true,"isArchived":false},"currentUser":null,"uploadToken":"ZaIbRpZI5-kUV0ManitE7HMI9oh0npruqvMi_tvoPM8Mu0CByKutE3-zvZIqKk0oOU24-sh4iiPjiqhdTfu9Bg","allShortcutsEnabled":false,"treeExpanded":true,"path":"napi.h","symbolsExpanded":false,"refInfo":{"name":"main","listCacheKey":"v0:1788359064.0","canEdit":false,"currentOid":"25c6b211f0395b38a3a1230f15e9c523dca50fdb"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"benchmark","path":"benchmark","contentType":"directory"},{"name":"doc","path":"doc","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":"unit-test","path":"unit-test","contentType":"directory"},{"name":".clang-format","path":".clang-format","contentType":"file"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".npmrc","path":".npmrc","contentType":"file"},{"name":".release-please-manifest.json","path":".release-please-manifest.json","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE.md","path":"LICENSE.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"appveyor.yml","path":"appveyor.yml","contentType":"file"},{"name":"common.gypi","path":"common.gypi","contentType":"file"},{"name":"eslint.config.js","path":"eslint.config.js","contentType":"file"},{"name":"except.gypi","path":"except.gypi","contentType":"file"},{"name":"index.js","path":"index.js","contentType":"file"},{"name":"napi-inl.deprecated.h","path":"napi-inl.deprecated.h","contentType":"file"},{"name":"napi-inl.h","path":"napi-inl.h","contentType":"file"},{"name":"napi.h","path":"napi.h","contentType":"file"},{"name":"node_addon_api.gyp","path":"node_addon_api.gyp","contentType":"file"},{"name":"node_api.gyp","path":"node_api.gyp","contentType":"file"},{"name":"noexcept.gypi","path":"noexcept.gypi","contentType":"file"},{"name":"nothing.c","path":"nothing.c","contentType":"file"},{"name":"package-support.json","path":"package-support.json","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"},{"name":"release-please-config.json","path":"release-please-config.json","contentType":"file"}],"totalCount":31}},"fileTreeProcessingTime":24.089126,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"main","listCacheKey":"v0:1788359064.0","canEdit":false,"refType":"branch","currentOid":"25c6b211f0395b38a3a1230f15e9c523dca50fdb","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"napi.h","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/nodejs/node-addon-api/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"napi.h","displayUrl":"https://github.com/nodejs/node-addon-api/blob/main/napi.h?raw=true","headerInfo":{"blobSize":"125 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":"6b4692c","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode-addon-api%2Fblob%2Fmain%2Fnapi.h","isCSV":false,"isRichtext":false,"lineInfo":{"truncatedLoc":"3505","truncatedSloc":"3006"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"C++","languageID":43,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/nodejs/node-addon-api/blob/main/napi.h","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/nodejs/node-addon-api/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/nodejs/node-addon-api/raw/refs/heads/main/napi.h","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":2,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/nodejs/.github/blob/6569f95f29066e837e43d7bf838f3d1fcb74ccac/.github/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":["#ifndef SRC_NAPI_H_","#define SRC_NAPI_H_","","#ifndef NAPI_HAS_THREADS","#if !defined(__wasm__) || (defined(__EMSCRIPTEN_PTHREADS__) ||                 \\","                           (defined(__wasi__) \u0026\u0026 defined(_REENTRANT)))","#define NAPI_HAS_THREADS 1","#else","#define NAPI_HAS_THREADS 0","#endif","#endif","","#include \u003cnode_api.h\u003e","#include \u003cfunctional\u003e","#include \u003cinitializer_list\u003e","#include \u003cmemory\u003e","#if NAPI_HAS_THREADS","#include \u003cmutex\u003e","#endif  // NAPI_HAS_THREADS","#include \u003cchrono\u003e","#include \u003cstring\u003e","#include \u003cstring_view\u003e","#include \u003ctype_traits\u003e","#include \u003cutility\u003e","#include \u003cvector\u003e","","// VS2015 RTM has bugs with constexpr, so require min of VS2015 Update 3 (known","// good version)","#if !defined(_MSC_VER) || _MSC_FULL_VER \u003e= 190024210","#define NAPI_HAS_CONSTEXPR 1","#endif","","// VS2013 does not support char16_t literal strings, so we'll work around it","// using wchar_t strings and casting them. This is safe as long as the character","// sizes are the same.","#if defined(_MSC_VER) \u0026\u0026 _MSC_VER \u003c= 1800","static_assert(sizeof(char16_t) == sizeof(wchar_t),","              \"Size mismatch between char16_t and wchar_t\");","#define NAPI_WIDE_TEXT(x) reinterpret_cast\u003cchar16_t*\u003e(L##x)","#else","#define NAPI_WIDE_TEXT(x) u##x","#endif","","// Backwards-compatibility to handle the rename of this macro definition, in","// case they are used within userland code.","#ifdef NAPI_CPP_EXCEPTIONS","#define NODE_ADDON_API_CPP_EXCEPTIONS","#endif","#if defined(NODE_ADDON_API_CPP_EXCEPTIONS) \u0026\u0026 !defined(NAPI_CPP_EXCEPTIONS)","#define NAPI_CPP_EXCEPTIONS","#endif","#ifdef NAPI_DISABLE_CPP_EXCEPTIONS","#define NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS","#endif","#if defined(NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS) \u0026\u0026                          \\","    !defined(NAPI_DISABLE_CPP_EXCEPTIONS)","#define NAPI_DISABLE_CPP_EXCEPTIONS","#endif","","// If C++ exceptions are not explicitly enabled or disabled, enable them","// if exceptions were enabled in the compiler settings.","#if !defined(NODE_ADDON_API_CPP_EXCEPTIONS) \u0026\u0026                                 \\","    !defined(NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS)","#if defined(_CPPUNWIND) || defined(__EXCEPTIONS)","#define NODE_ADDON_API_CPP_EXCEPTIONS","#else","#error Exception support not detected. \\","      Define either NODE_ADDON_API_CPP_EXCEPTIONS or NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS.","#endif","#endif","","// If C++ NODE_ADDON_API_CPP_EXCEPTIONS are enabled, NODE_ADDON_API_ENABLE_MAYBE","// should not be set","#if defined(NODE_ADDON_API_CPP_EXCEPTIONS) \u0026\u0026                                  \\","    defined(NODE_ADDON_API_ENABLE_MAYBE)","#error NODE_ADDON_API_ENABLE_MAYBE should not be set when \\","    NODE_ADDON_API_CPP_EXCEPTIONS is defined.","#endif","","#ifdef _NOEXCEPT","#define NAPI_NOEXCEPT _NOEXCEPT","#else","#define NAPI_NOEXCEPT noexcept","#endif","","#ifdef NODE_ADDON_API_CPP_EXCEPTIONS","","// When C++ exceptions are enabled, Errors are thrown directly. There is no need","// to return anything after the throw statements. The variadic parameter is an","// optional return value that is ignored.","// We need _VOID versions of the macros to avoid warnings resulting from","// leaving the NAPI_THROW_* `...` argument empty.","","#define NAPI_THROW(e, ...) throw e","#define NAPI_THROW_VOID(e) throw e","","#define NAPI_THROW_IF_FAILED(env, status, ...)                                 \\","  if ((status) != napi_ok) throw Napi::Error::New(env);","","#define NAPI_THROW_IF_FAILED_VOID(env, status)                                 \\","  if ((status) != napi_ok) throw Napi::Error::New(env);","","#else  // NODE_ADDON_API_CPP_EXCEPTIONS","","// When C++ exceptions are disabled, Errors are thrown as JavaScript exceptions,","// which are pending until the callback returns to JS.  The variadic parameter","// is an optional return value; usually it is an empty result.","// We need _VOID versions of the macros to avoid warnings resulting from","// leaving the NAPI_THROW_* `...` argument empty.","","#define NAPI_THROW(e, ...)                                                     \\","  do {                                                                         \\","    (e).ThrowAsJavaScriptException();                                          \\","    return __VA_ARGS__;                                                        \\","  } while (0)","","#define NAPI_THROW_VOID(e)                                                     \\","  do {                                                                         \\","    (e).ThrowAsJavaScriptException();                                          \\","    return;                                                                    \\","  } while (0)","","#define NAPI_THROW_IF_FAILED(env, status, ...)                                 \\","  if ((status) != napi_ok) {                                                   \\","    Napi::Error::New(env).ThrowAsJavaScriptException();                        \\","    return __VA_ARGS__;                                                        \\","  }","","#define NAPI_THROW_IF_FAILED_VOID(env, status)                                 \\","  if ((status) != napi_ok) {                                                   \\","    Napi::Error::New(env).ThrowAsJavaScriptException();                        \\","    return;                                                                    \\","  }","","#endif  // NODE_ADDON_API_CPP_EXCEPTIONS","","#ifdef NODE_ADDON_API_ENABLE_MAYBE","#define NAPI_MAYBE_THROW_IF_FAILED(env, status, type)                          \\","  NAPI_THROW_IF_FAILED(env, status, Napi::Nothing\u003ctype\u003e())","","#define NAPI_RETURN_OR_THROW_IF_FAILED(env, status, result, type)              \\","  NAPI_MAYBE_THROW_IF_FAILED(env, status, type);                               \\","  return Napi::Just\u003ctype\u003e(result);","#else","#define NAPI_MAYBE_THROW_IF_FAILED(env, status, type)                          \\","  NAPI_THROW_IF_FAILED(env, status, type())","","#define NAPI_RETURN_OR_THROW_IF_FAILED(env, status, result, type)              \\","  NAPI_MAYBE_THROW_IF_FAILED(env, status, type);                               \\","  return result;","#endif","","#define NAPI_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS\u0026) = delete;","#define NAPI_DISALLOW_COPY(CLASS) CLASS(const CLASS\u0026) = delete;","","#define NAPI_DISALLOW_ASSIGN_COPY(CLASS)                                       \\","  NAPI_DISALLOW_ASSIGN(CLASS)                                                  \\","  NAPI_DISALLOW_COPY(CLASS)","","#define NAPI_CHECK(condition, location, message)                               \\","  do {                                                                         \\","    if (!(condition)) {                                                        \\","      Napi::Error::Fatal((location), (message));                               \\","    }                                                                          \\","  } while (0)","","// Internal check helper. Be careful that the formatted message length should be","// max 255 size and null terminated.","#define NAPI_INTERNAL_CHECK(expr, location, ...)                               \\","  do {                                                                         \\","    if (!(expr)) {                                                             \\","      std::string msg = Napi::details::StringFormat(__VA_ARGS__);              \\","      Napi::Error::Fatal(location, msg.c_str());                               \\","    }                                                                          \\","  } while (0)","","#define NAPI_INTERNAL_CHECK_EQ(actual, expected, value_format, location)       \\","  do {                                                                         \\","    auto actual_value = (actual);                                              \\","    NAPI_INTERNAL_CHECK(actual_value == (expected),                            \\","                        location,                                              \\","                        \"Expected \" #actual \" to be equal to \" #expected       \\","                        \", but got \" value_format \".\",                         \\","                        actual_value);                                         \\","  } while (0)","","#define NAPI_FATAL_IF_FAILED(status, location, message)                        \\","  NAPI_CHECK((status) == napi_ok, location, message)","","////////////////////////////////////////////////////////////////////////////////","/// Node-API C++ Wrapper Classes","///","/// These classes wrap the \"Node-API\" ABI-stable C APIs for Node.js, providing a","/// C++ object model and C++ exception-handling semantics with low overhead.","/// The wrappers are all header-only so that they do not affect the ABI.","////////////////////////////////////////////////////////////////////////////////","namespace Napi {","","#ifdef NAPI_CPP_CUSTOM_NAMESPACE","// NAPI_CPP_CUSTOM_NAMESPACE can be #define'd per-addon to avoid symbol","// conflicts between different instances of node-addon-api","","// First dummy definition of the namespace to make sure that Napi::(name) still","// refers to the right things inside this file.","namespace NAPI_CPP_CUSTOM_NAMESPACE {}","using namespace NAPI_CPP_CUSTOM_NAMESPACE;","","namespace NAPI_CPP_CUSTOM_NAMESPACE {","#endif","","// Forward declarations","class Env;","class Value;","class Boolean;","class Number;","#if NAPI_VERSION \u003e 5","class BigInt;","#endif  // NAPI_VERSION \u003e 5","#if (NAPI_VERSION \u003e 4)","class Date;","#endif","class String;","class Object;","class Array;","class ArrayBuffer;","class Function;","class Error;","class PropertyDescriptor;","class CallbackInfo;","class TypedArray;","template \u003ctypename T\u003e","class TypedArrayOf;","","using Int8Array =","    TypedArrayOf\u003cint8_t\u003e;  ///\u003c Typed-array of signed 8-bit integers","using Uint8Array =","    TypedArrayOf\u003cuint8_t\u003e;  ///\u003c Typed-array of unsigned 8-bit integers","using Int16Array =","    TypedArrayOf\u003cint16_t\u003e;  ///\u003c Typed-array of signed 16-bit integers","using Uint16Array =","    TypedArrayOf\u003cuint16_t\u003e;  ///\u003c Typed-array of unsigned 16-bit integers","using Int32Array =","    TypedArrayOf\u003cint32_t\u003e;  ///\u003c Typed-array of signed 32-bit integers","using Uint32Array =","    TypedArrayOf\u003cuint32_t\u003e;  ///\u003c Typed-array of unsigned 32-bit integers","using Float32Array =","    TypedArrayOf\u003cfloat\u003e;  ///\u003c Typed-array of 32-bit floating-point values","using Float64Array =","    TypedArrayOf\u003cdouble\u003e;  ///\u003c Typed-array of 64-bit floating-point values","#if NAPI_VERSION \u003e 5","using BigInt64Array =","    TypedArrayOf\u003cint64_t\u003e;  ///\u003c Typed array of signed 64-bit integers","using BigUint64Array =","    TypedArrayOf\u003cuint64_t\u003e;  ///\u003c Typed array of unsigned 64-bit integers","#endif                       // NAPI_VERSION \u003e 5","","/// Defines the signature of a Node-API C++ module's registration callback","/// (init) function.","using ModuleRegisterCallback = Object (*)(Env env, Object exports);","","class MemoryManagement;","","/// A simple Maybe type, representing an object which may or may not have a","/// value.","///","/// If an API method returns a Maybe\u003c\u003e, the API method can potentially fail","/// either because an exception is thrown, or because an exception is pending,","/// e.g. because a previous API call threw an exception that hasn't been","/// caught yet. In that case, a \"Nothing\" value is returned.","template \u003cclass T\u003e","class Maybe {"," public:","  bool IsNothing() const;","  bool IsJust() const;","","  /// Short-hand for Unwrap(), which doesn't return a value. Could be used","  /// where the actual value of the Maybe is not needed like Object::Set.","  /// If this Maybe is nothing (empty), node-addon-api will crash the","  /// process.","  void Check() const;","","  /// Return the value of type T contained in the Maybe. If this Maybe is","  /// nothing (empty), node-addon-api will crash the process.","  T Unwrap() const;","","  /// Return the value of type T contained in the Maybe, or using a default","  /// value if this Maybe is nothing (empty).","  T UnwrapOr(const T\u0026 default_value) const;","","  /// Converts this Maybe to a value of type T in the out. If this Maybe is","  /// nothing (empty), `false` is returned and `out` is left untouched.","  bool UnwrapTo(T* out) const;","","  bool operator==(const Maybe\u0026 other) const;","  bool operator!=(const Maybe\u0026 other) const;",""," private:","  Maybe();","  explicit Maybe(const T\u0026 t);","","  bool _has_value;","  T _value;","","  template \u003cclass U\u003e","  friend Maybe\u003cU\u003e Nothing();","  template \u003cclass U\u003e","  friend Maybe\u003cU\u003e Just(const U\u0026 u);","};","","template \u003cclass T\u003e","inline Maybe\u003cT\u003e Nothing();","","template \u003cclass T\u003e","inline Maybe\u003cT\u003e Just(const T\u0026 t);","","#if defined(NODE_ADDON_API_ENABLE_MAYBE)","template \u003ctypename T\u003e","using MaybeOrValue = Maybe\u003cT\u003e;","#else","template \u003ctypename T\u003e","using MaybeOrValue = T;","#endif","","#ifdef NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER","using node_addon_api_basic_env = node_api_nogc_env;","using node_addon_api_basic_finalize = node_api_nogc_finalize;","#else","using node_addon_api_basic_env = napi_env;","using node_addon_api_basic_finalize = napi_finalize;","#endif","","/// Environment for Node-API values and operations.","///","/// All Node-API values and operations must be associated with an environment.","/// An environment instance is always provided to callback functions; that","/// environment must then be used for any creation of Node-API values or other","/// Node-API operations within the callback. (Many methods infer the","/// environment from the `this` instance that the method is called on.)","///","/// Multiple environments may co-exist in a single process or a thread.","///","/// In the V8 JavaScript engine, a Node-API environment approximately","/// corresponds to an Isolate.","class BasicEnv {"," private:","  node_addon_api_basic_env _env;","#if NAPI_VERSION \u003e 5","  template \u003ctypename T\u003e","  static void DefaultFini(Env, T* data);","  template \u003ctypename DataType, typename HintType\u003e","  static void DefaultFiniWithHint(Env, DataType* data, HintType* hint);","#endif  // NAPI_VERSION \u003e 5"," public:","  BasicEnv(node_addon_api_basic_env env);","","  operator node_addon_api_basic_env() const;","","  // Without these operator overloads, the error:","  //","  //    Use of overloaded operator '==' is ambiguous (with operand types","  //    'Napi::Env' and 'Napi::Env')","  //","  // ... occurs when comparing foo.Env() == bar.Env() or foo.Env() == nullptr","  bool operator==(const BasicEnv\u0026 other) const {","    return _env == other._env;","  }","  bool operator==(std::nullptr_t /*other*/) const {","    return _env == nullptr;","  }","","#if NAPI_VERSION \u003e 2","  template \u003ctypename Hook, typename Arg = void\u003e","  class CleanupHook;","","  template \u003ctypename Hook\u003e","  CleanupHook\u003cHook\u003e AddCleanupHook(Hook hook);","","  template \u003ctypename Hook, typename Arg\u003e","  CleanupHook\u003cHook, Arg\u003e AddCleanupHook(Hook hook, Arg* arg);","#endif  // NAPI_VERSION \u003e 2","","#if NAPI_VERSION \u003e 5","  template \u003ctypename T\u003e","  T* GetInstanceData() const;","","  template \u003ctypename T\u003e","  using Finalizer = void (*)(Env, T*);","  template \u003ctypename T, Finalizer\u003cT\u003e fini = BasicEnv::DefaultFini\u003cT\u003e\u003e","  void SetInstanceData(T* data) const;","","  template \u003ctypename DataType, typename HintType\u003e","  using FinalizerWithHint = void (*)(Env, DataType*, HintType*);","  template \u003ctypename DataType,","            typename HintType,","            FinalizerWithHint\u003cDataType, HintType\u003e fini =","                BasicEnv::DefaultFiniWithHint\u003cDataType, HintType\u003e\u003e","  void SetInstanceData(DataType* data, HintType* hint) const;","#endif  // NAPI_VERSION \u003e 5","","#if NAPI_VERSION \u003e 2","  template \u003ctypename Hook, typename Arg\u003e","  class CleanupHook {","   public:","    CleanupHook();","    CleanupHook(BasicEnv env, Hook hook, Arg* arg);","    CleanupHook(BasicEnv env, Hook hook);","    bool Remove(BasicEnv env);","    bool IsEmpty() const;","","   private:","    static inline void Wrapper(void* data) NAPI_NOEXCEPT;","    static inline void WrapperWithArg(void* data) NAPI_NOEXCEPT;","","    void (*wrapper)(void* arg);","    struct CleanupData {","      Hook hook;","      Arg* arg;","    } * data;","  };","#endif  // NAPI_VERSION \u003e 2","","#if NAPI_VERSION \u003e 8","  const char* GetModuleFileName() const;","#endif  // NAPI_VERSION \u003e 8","","#ifdef NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER","  // FinalizerType must implement `void operator()(Env env)`.","  template \u003ctypename FinalizerType\u003e","  inline void PostFinalizer(FinalizerType finalizeCallback) const;","","  // FinalizerType must implement `void operator()(Env env, T* data)`.","  template \u003ctypename FinalizerType, typename T\u003e","  inline void PostFinalizer(FinalizerType finalizeCallback, T* data) const;","","  // FinalizerType must implement `void operator()(Env env, T* data,","  // Hint* hint)`.","  template \u003ctypename FinalizerType, typename T, typename Hint\u003e","  inline void PostFinalizer(FinalizerType finalizeCallback,","                            T* data,","                            Hint* finalizeHint) const;","#endif  // NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER","","  friend class Env;","};","","class Env : public BasicEnv {"," public:","  Env(napi_env env);","","  operator napi_env() const;","","  Object Global() const;","  Value Undefined() const;","  Value Null() const;","","  bool IsExceptionPending() const;","  Error GetAndClearPendingException() const;","","  MaybeOrValue\u003cValue\u003e RunScript(const char* utf8script) const;","  MaybeOrValue\u003cValue\u003e RunScript(const std::string\u0026 utf8script) const;","  MaybeOrValue\u003cValue\u003e RunScript(String script) const;","};","","/// A JavaScript value of unknown type.","///","/// For type-specific operations, convert to one of the Value subclasses using a","/// `To*` or `As()` method. The `To*` methods do type coercion; the `As()`","/// method does not.","///","///     Napi::Value value = ...","///     if (!value.IsString()) throw Napi::TypeError::New(env, \"Invalid","///     arg...\"); Napi::String str = value.As\u003cNapi::String\u003e(); // Cast to a","///     string value","///","///     Napi::Value anotherValue = ...","///     bool isTruthy = anotherValue.ToBoolean(); // Coerce to a boolean value","class Value {"," public:","  Value();  ///\u003c Creates a new _empty_ Value instance.","  Value(napi_env env,","        napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  /// Creates a JS value from a C++ primitive.","  ///","  /// `value` may be any of:","  /// - bool","  /// - Any integer type","  /// - Any floating point type","  /// - const char* (encoded using UTF-8, null-terminated)","  /// - const char16_t* (encoded using UTF-16-LE, null-terminated)","  /// - std::string (encoded using UTF-8)","  /// - std::u16string","  /// - napi::Value","  /// - napi_value","  template \u003ctypename T\u003e","  static Value From(napi_env env, const T\u0026 value);","","  static void CheckCast(napi_env env, napi_value value);","","  /// Converts to a Node-API value primitive.","  ///","  /// If the instance is _empty_, this returns `nullptr`.","  operator napi_value() const;","","  /// Tests if this value strictly equals another value.","  bool operator==(const Value\u0026 other) const;","","  /// Tests if this value does not strictly equal another value.","  bool operator!=(const Value\u0026 other) const;","","  /// Tests if this value strictly equals another value.","  bool StrictEquals(const Value\u0026 other) const;","","  /// Gets the environment the value is associated with.","  Napi::Env Env() const;","","  /// Checks if the value is empty (uninitialized).","  ///","  /// An empty value is invalid, and most attempts to perform an operation on an","  /// empty value will result in an exception. Note an empty value is distinct","  /// from JavaScript `null` or `undefined`, which are valid values.","  ///","  /// When C++ exceptions are disabled at compile time, a method with a `Value`","  /// return type may return an empty value to indicate a pending exception. So","  /// when not using C++ exceptions, callers should check whether the value is","  /// empty before attempting to use it.","  bool IsEmpty() const;","","  napi_valuetype Type() const;  ///\u003c Gets the type of the value.","","  bool IsUndefined()","      const;            ///\u003c Tests if a value is an undefined JavaScript value.","  bool IsNull() const;  ///\u003c Tests if a value is a null JavaScript value.","  bool IsBoolean() const;  ///\u003c Tests if a value is a JavaScript boolean.","  bool IsNumber() const;   ///\u003c Tests if a value is a JavaScript number.","#if NAPI_VERSION \u003e 5","  bool IsBigInt() const;  ///\u003c Tests if a value is a JavaScript bigint.","#endif                    // NAPI_VERSION \u003e 5","#if (NAPI_VERSION \u003e 4)","  bool IsDate() const;  ///\u003c Tests if a value is a JavaScript date.","#endif","  bool IsString() const;  ///\u003c Tests if a value is a JavaScript string.","  bool IsSymbol() const;  ///\u003c Tests if a value is a JavaScript symbol.","  bool IsArray() const;   ///\u003c Tests if a value is a JavaScript array.","  bool IsArrayBuffer()","      const;  ///\u003c Tests if a value is a JavaScript array buffer.","  bool IsTypedArray() const;  ///\u003c Tests if a value is a JavaScript typed array.","  bool IsObject() const;      ///\u003c Tests if a value is a JavaScript object.","  bool IsFunction() const;    ///\u003c Tests if a value is a JavaScript function.","  bool IsPromise() const;     ///\u003c Tests if a value is a JavaScript promise.","  bool IsDataView() const;    ///\u003c Tests if a value is a JavaScript data view.","  bool IsBuffer() const;      ///\u003c Tests if a value is a Node buffer.","  bool IsExternal() const;  ///\u003c Tests if a value is a pointer to external data.","#ifdef NODE_API_EXPERIMENTAL_HAS_SHAREDARRAYBUFFER","  bool IsSharedArrayBuffer() const;","#endif","","  /// Casts to another type of `Napi::Value`, when the actual type is known or","  /// assumed.","  ///","  /// This conversion does NOT coerce the type. Calling any methods","  /// inappropriate for the actual value type will throw `Napi::Error`.","  ///","  /// If `NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS` is defined, this method","  /// asserts that the actual type is the expected type.","  template \u003ctypename T\u003e","  T As() const;","","  // Unsafe Value::As(), should be avoided.","  template \u003ctypename T\u003e","  T UnsafeAs() const;","","  MaybeOrValue\u003cBoolean\u003e ToBoolean()","      const;  ///\u003c Coerces a value to a JavaScript boolean.","  MaybeOrValue\u003cNumber\u003e ToNumber()","      const;  ///\u003c Coerces a value to a JavaScript number.","  MaybeOrValue\u003cString\u003e ToString()","      const;  ///\u003c Coerces a value to a JavaScript string.","  MaybeOrValue\u003cObject\u003e ToObject()","      const;  ///\u003c Coerces a value to a JavaScript object.",""," protected:","  /// !cond INTERNAL","  napi_env _env;","  napi_value _value;","  /// !endcond","};","","/// A JavaScript boolean value.","class Boolean : public Value {"," public:","  static Boolean New(napi_env env,  ///\u003c Node-API environment","                     bool value     ///\u003c Boolean value","  );","","  static void CheckCast(napi_env env, napi_value value);","","  Boolean();  ///\u003c Creates a new _empty_ Boolean instance.","  Boolean(napi_env env,","          napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  operator bool() const;  ///\u003c Converts a Boolean value to a boolean primitive.","  bool Value() const;     ///\u003c Converts a Boolean value to a boolean primitive.","};","","/// A JavaScript number value.","class Number : public Value {"," public:","  static Number New(napi_env env,  ///\u003c Node-API environment","                    double value   ///\u003c Number value","  );","","  static void CheckCast(napi_env env, napi_value value);","","  Number();  ///\u003c Creates a new _empty_ Number instance.","  Number(napi_env env,","         napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  operator int32_t()","      const;  ///\u003c Converts a Number value to a 32-bit signed integer value.","  operator uint32_t()","      const;  ///\u003c Converts a Number value to a 32-bit unsigned integer value.","  operator int64_t()","      const;  ///\u003c Converts a Number value to a 64-bit signed integer value.","  operator float()","      const;  ///\u003c Converts a Number value to a 32-bit floating-point value.","  operator double()","      const;  ///\u003c Converts a Number value to a 64-bit floating-point value.","","  int32_t Int32Value()","      const;  ///\u003c Converts a Number value to a 32-bit signed integer value.","  uint32_t Uint32Value()","      const;  ///\u003c Converts a Number value to a 32-bit unsigned integer value.","  int64_t Int64Value()","      const;  ///\u003c Converts a Number value to a 64-bit signed integer value.","  float FloatValue()","      const;  ///\u003c Converts a Number value to a 32-bit floating-point value.","  double DoubleValue()","      const;  ///\u003c Converts a Number value to a 64-bit floating-point value.","};","","#if NAPI_VERSION \u003e 5","/// A JavaScript bigint value.","class BigInt : public Value {"," public:","  static BigInt New(napi_env env,  ///\u003c Node-API environment","                    int64_t value  ///\u003c Number value","  );","  static BigInt New(napi_env env,   ///\u003c Node-API environment","                    uint64_t value  ///\u003c Number value","  );","","  /// Creates a new BigInt object using a specified sign bit and a","  /// specified list of digits/words.","  /// The resulting number is calculated as:","  /// (-1)^sign_bit * (words[0] * (2^64)^0 + words[1] * (2^64)^1 + ...)","  static BigInt New(napi_env env,          ///\u003c Node-API environment","                    int sign_bit,          ///\u003c Sign bit. 1 if negative.","                    size_t word_count,     ///\u003c Number of words in array","                    const uint64_t* words  ///\u003c Array of words","  );","","  static void CheckCast(napi_env env, napi_value value);","","  BigInt();  ///\u003c Creates a new _empty_ BigInt instance.","  BigInt(napi_env env,","         napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  int64_t Int64Value(bool* lossless)","      const;  ///\u003c Converts a BigInt value to a 64-bit signed integer value.","  uint64_t Uint64Value(bool* lossless)","      const;  ///\u003c Converts a BigInt value to a 64-bit unsigned integer value.","","  size_t WordCount() const;  ///\u003c The number of 64-bit words needed to store","                             ///\u003c the result of ToWords().","","  /// Writes the contents of this BigInt to a specified memory location.","  /// `sign_bit` must be provided and will be set to 1 if this BigInt is","  /// negative.","  /// `*word_count` has to be initialized to the length of the `words` array.","  /// Upon return, it will be set to the actual number of words that would","  /// be needed to store this BigInt (i.e. the return value of `WordCount()`).","  void ToWords(int* sign_bit, size_t* word_count, uint64_t* words);","};","#endif  // NAPI_VERSION \u003e 5","","#if (NAPI_VERSION \u003e 4)","/// A JavaScript date value.","class Date : public Value {"," public:","  /// Creates a new Date value from a double primitive.","  static Date New(napi_env env,  ///\u003c Node-API environment","                  double value   ///\u003c Number value","  );","","  /// Creates a new Date value from a std::chrono::system_clock::time_point.","  static Date New(","      napi_env env,  ///\u003c Node-API environment","      std::chrono::system_clock::time_point time_point  ///\u003c Time point value","  );","","  static void CheckCast(napi_env env, napi_value value);","","  Date();  ///\u003c Creates a new _empty_ Date instance.","  Date(napi_env env, napi_value value);  ///\u003c Wraps a Node-API value primitive.","  operator double() const;  ///\u003c Converts a Date value to double primitive","","  double ValueOf() const;  ///\u003c Converts a Date value to a double primitive.","};","#endif","","/// A JavaScript string or symbol value (that can be used as a property name).","class Name : public Value {"," public:","  static void CheckCast(napi_env env, napi_value value);","","  Name();  ///\u003c Creates a new _empty_ Name instance.","  Name(napi_env env,","       napi_value value);  ///\u003c Wraps a Node-API value primitive.","};","","/// A JavaScript string value.","class String : public Name {"," public:","  /// Creates a new String value from a UTF-8 encoded C++ string.","  static String New(napi_env env,             ///\u003c Node-API environment","                    const std::string\u0026 value  ///\u003c UTF-8 encoded C++ string","  );","","  /// Creates a new String value from a UTF-16 encoded C++ string.","  static String New(napi_env env,                ///\u003c Node-API environment","                    const std::u16string\u0026 value  ///\u003c UTF-16 encoded C++ string","  );","","  /// Creates a new String value from a UTF-8 encoded C++ string view.","  static String New(napi_env env,           ///\u003c Node-API environment","                    std::string_view value  ///\u003c UTF-8 encoded C++ string view","  );","","  /// Creates a new String value from a UTF-8 encoded C string.","  static String New(","      napi_env env,      ///\u003c Node-API environment","      const char* value  ///\u003c UTF-8 encoded null-terminated C string","  );","","  /// Creates a new String value from a UTF-16 encoded C string.","  static String New(","      napi_env env,          ///\u003c Node-API environment","      const char16_t* value  ///\u003c UTF-16 encoded null-terminated C string","  );","","  /// Creates a new String value from a UTF-8 encoded C string with specified","  /// length.","  static String New(napi_env env,       ///\u003c Node-API environment","                    const char* value,  ///\u003c UTF-8 encoded C string (not","                                        ///\u003c necessarily null-terminated)","                    size_t length       ///\u003c length of the string in bytes","  );","","  /// Creates a new String value from a UTF-16 encoded C string with specified","  /// length.","  static String New(","      napi_env env,           ///\u003c Node-API environment","      const char16_t* value,  ///\u003c UTF-16 encoded C string (not necessarily","                              ///\u003c null-terminated)","      size_t length           ///\u003c Length of the string in 2-byte code units","  );","","  /// Creates a new String based on the original object's type.","  ///","  /// `value` may be any of:","  /// - const char* (encoded using UTF-8, null-terminated)","  /// - const char16_t* (encoded using UTF-16-LE, null-terminated)","  /// - std::string (encoded using UTF-8)","  /// - std::u16string","  template \u003ctypename T\u003e","  static String From(napi_env env, const T\u0026 value);","","  static void CheckCast(napi_env env, napi_value value);","","  String();  ///\u003c Creates a new _empty_ String instance.","  String(napi_env env,","         napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  operator std::string()","      const;  ///\u003c Converts a String value to a UTF-8 encoded C++ string.","  operator std::u16string()","      const;  ///\u003c Converts a String value to a UTF-16 encoded C++ string.","  std::string Utf8Value()","      const;  ///\u003c Converts a String value to a UTF-8 encoded C++ string.","  std::u16string Utf16Value()","      const;  ///\u003c Converts a String value to a UTF-16 encoded C++ string.","};","","namespace details {","","// This overload set must mirror the non-template Symbol::For overloads.","struct string_convertible_probe {","  static void select(const std::string\u0026);","  static void select(std::string_view);","  static void select(const char*);","  static void select(String);","  static void select(napi_value);","};","","template \u003ctypename T, typename = void\u003e","struct has_unambiguous_string_convertible_overload : std::false_type {};","","template \u003ctypename T\u003e","struct has_unambiguous_string_convertible_overload\u003c","    T,","    std::void_t\u003cdecltype(string_convertible_probe::select(std::declval\u003cT\u003e()))\u003e\u003e","    : std::true_type {};","","// Enable the template overload only for string-like arguments that have no","// unique best match among the non-template Symbol::For overloads.","//","// Exclude nullptr because it matches the pointer overloads equally well and","// cannot safely initialize a std::string_view.","template \u003ctypename T\u003e","using enable_if_ambiguous_string_convertible_t =","    std::enable_if_t\u003c!std::is_null_pointer_v\u003cstd::decay_t\u003cT\u003e\u003e \u0026\u0026","                         std::is_convertible_v\u003cT, const std::string\u0026\u003e \u0026\u0026","                         std::is_convertible_v\u003cT, std::string_view\u003e \u0026\u0026","                         !has_unambiguous_string_convertible_overload\u003cT\u003e::value,","                     int\u003e;","","}  // namespace details","","/// A JavaScript symbol value.","class Symbol : public Name {"," public:","  /// Creates a new Symbol value with an optional description.","  static Symbol New(","      napi_env env,  ///\u003c Node-API environment","      const char* description =","          nullptr  ///\u003c Optional UTF-8 encoded null-terminated C string","                   ///  describing the symbol","  );","","  /// Creates a new Symbol value with a description.","  static Symbol New(","      napi_env env,  ///\u003c Node-API environment","      const std::string\u0026","          description  ///\u003c UTF-8 encoded C++ string describing the symbol","  );","","  /// Creates a new Symbol value with a description.","  static Symbol New(","      napi_env env,  ///\u003c Node-API environment","      std::string_view","          description  ///\u003c UTF-8 encoded C++ string view describing the symbol","  );","","  /// Creates a new Symbol value with a description.","  static Symbol New(napi_env env,       ///\u003c Node-API environment","                    String description  ///\u003c String value describing the symbol","  );","","  /// Creates a new Symbol value with a description.","  static Symbol New(","      napi_env env,           ///\u003c Node-API environment","      napi_value description  ///\u003c String value describing the symbol","  );","","  /// Get a public Symbol (e.g. Symbol.iterator).","  static MaybeOrValue\u003cSymbol\u003e WellKnown(napi_env, const std::string\u0026 name);","","  // Create a symbol in the global registry, UTF-8 Encoded cpp string","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, const std::string\u0026 description);","","  // Create a symbol in the global registry, UTF-8 encoded cpp string view","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, std::string_view description);","","  // Resolve otherwise ambiguous string-like arguments through the","  // std::string_view overload","  template \u003ctypename T,","            details::enable_if_ambiguous_string_convertible_t\u003cT\u0026\u0026\u003e = 0\u003e","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, T\u0026\u0026 description);","","  // Create a symbol in the global registry, C style string (null terminated)","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, const char* description);","","  // Create a symbol in the global registry, String value describing the symbol","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, String description);","","  // Create a symbol in the global registry, napi_value describing the symbol","  static MaybeOrValue\u003cSymbol\u003e For(napi_env env, napi_value description);","","  static void CheckCast(napi_env env, napi_value value);","","  Symbol();  ///\u003c Creates a new _empty_ Symbol instance.","  Symbol(napi_env env,","         napi_value value);  ///\u003c Wraps a Node-API value primitive.","};","","class TypeTaggable : public Value {"," public:","#if NAPI_VERSION \u003e= 8","  void TypeTag(const napi_type_tag* type_tag) const;","  bool CheckTypeTag(const napi_type_tag* type_tag) const;","#endif  // NAPI_VERSION \u003e= 8"," protected:","  TypeTaggable();","  TypeTaggable(napi_env env, napi_value value);","};","","/// A JavaScript object value.","class Object : public TypeTaggable {"," public:","  /// Enables property and element assignments using indexing syntax.","  ///","  /// This is a convenient helper to get and set object properties. As","  /// getting and setting object properties may throw with JavaScript","  /// exceptions, it is notable that these operations may fail.","  /// When NODE_ADDON_API_ENABLE_MAYBE is defined, the process will abort","  /// on JavaScript exceptions.","  ///","  /// Example:","  ///","  ///     Napi::Value propertyValue = object1['A'];","  ///     object2['A'] = propertyValue;","  ///     Napi::Value elementValue = array[0];","  ///     array[1] = elementValue;","  template \u003ctypename Key\u003e","  class PropertyLValue {","   public:","    /// Converts an L-value to a value.","    operator Value() const;","","    /// Assigns a value to the property. The type of value can be","    /// anything supported by `Object::Set`.","    template \u003ctypename ValueType\u003e","    PropertyLValue\u0026 operator=(ValueType value);","","    /// Converts an L-value to a value. For convenience.","    Value AsValue() const;","","   private:","    PropertyLValue() = delete;","    PropertyLValue(Object object, Key key);","    napi_env _env;","    napi_value _object;","    Key _key;","","    friend class Napi::Object;","  };","","  /// Creates a new Object value.","  static Object New(napi_env env  ///\u003c Node-API environment","  );","","#ifdef NODE_API_EXPERIMENTAL_HAS_CREATE_OBJECT_WITH_PROPERTIES","  /// Creates a new Object value with the given property names and values.","  static Object New(","      napi_env env,                ///\u003c Node-API environment","      napi_value prototypeOrNull,  ///\u003c Prototype (Object) or null / empty Value","      const std::vector\u003cnapi_value\u003e\u0026 propertyNames,  ///\u003c Property names","      const std::vector\u003cnapi_value\u003e\u0026 propertyValues  ///\u003c Property values","  );","#endif","","  static void CheckCast(napi_env env, napi_value value);","","  Object();  ///\u003c Creates a new _empty_ Object instance.","  Object(napi_env env,","         napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  /// Gets or sets a named property.","  PropertyLValue\u003cstd::string\u003e operator[](","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  );","","  /// Gets or sets a named property.","  PropertyLValue\u003cstd::string\u003e operator[](","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  );","","  /// Gets or sets an indexed property or array element.","  PropertyLValue\u003cuint32_t\u003e operator[](","      uint32_t index  /// Property / element index","  );","","  /// Gets or sets an indexed property or array element.","  PropertyLValue\u003cValue\u003e operator[](Value index  /// Property / element index","  ) const;","","  /// Gets a named property.","  MaybeOrValue\u003cValue\u003e operator[](","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  ) const;","","  /// Gets a named property.","  MaybeOrValue\u003cValue\u003e operator[](","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  ) const;","","  /// Gets an indexed property or array element.","  MaybeOrValue\u003cValue\u003e operator[](uint32_t index  ///\u003c Property / element index","  ) const;","","  /// Checks whether a property is present.","  MaybeOrValue\u003cbool\u003e Has(napi_value key  ///\u003c Property key primitive","  ) const;","","  /// Checks whether a property is present.","  MaybeOrValue\u003cbool\u003e Has(Value key  ///\u003c Property key","  ) const;","","  /// Checks whether a named property is present.","  MaybeOrValue\u003cbool\u003e Has(","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  ) const;","","  /// Checks whether a named property is present.","  MaybeOrValue\u003cbool\u003e Has(","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  ) const;","","  /// Checks whether a own property is present.","  MaybeOrValue\u003cbool\u003e HasOwnProperty(napi_value key  ///\u003c Property key primitive","  ) const;","","  /// Checks whether a own property is present.","  MaybeOrValue\u003cbool\u003e HasOwnProperty(Value key  ///\u003c Property key","  ) const;","","  /// Checks whether a own property is present.","  MaybeOrValue\u003cbool\u003e HasOwnProperty(","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  ) const;","","  /// Checks whether a own property is present.","  MaybeOrValue\u003cbool\u003e HasOwnProperty(","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  ) const;","","  /// Gets a property.","  MaybeOrValue\u003cValue\u003e Get(napi_value key  ///\u003c Property key primitive","  ) const;","","  /// Gets a property.","  MaybeOrValue\u003cValue\u003e Get(Value key  ///\u003c Property key","  ) const;","","  /// Gets a named property.","  MaybeOrValue\u003cValue\u003e Get(","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  ) const;","","  /// Gets a named property.","  MaybeOrValue\u003cValue\u003e Get(","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  ) const;","","  /// Sets a property.","  template \u003ctypename ValueType\u003e","  MaybeOrValue\u003cbool\u003e Set(napi_value key,         ///\u003c Property key primitive","                         const ValueType\u0026 value  ///\u003c Property value primitive","  ) const;","","  /// Sets a property.","  template \u003ctypename ValueType\u003e","  MaybeOrValue\u003cbool\u003e Set(Value key,              ///\u003c Property key","                         const ValueType\u0026 value  ///\u003c Property value","  ) const;","","  /// Sets a named property.","  template \u003ctypename ValueType\u003e","  MaybeOrValue\u003cbool\u003e Set(","      const char* utf8name,  ///\u003c UTF-8 encoded null-terminated property name","      const ValueType\u0026 value) const;","","  /// Sets a named property.","  template \u003ctypename ValueType\u003e","  MaybeOrValue\u003cbool\u003e Set(","      const std::string\u0026 utf8name,  ///\u003c UTF-8 encoded property name","      const ValueType\u0026 value        ///\u003c Property value primitive","  ) const;","","  /// Delete property.","  MaybeOrValue\u003cbool\u003e Delete(napi_value key  ///\u003c Property key primitive","  ) const;","","  /// Delete property.","  MaybeOrValue\u003cbool\u003e Delete(Value key  ///\u003c Property key","  ) const;","","  /// Delete property.","  MaybeOrValue\u003cbool\u003e Delete(","      const char* utf8name  ///\u003c UTF-8 encoded null-terminated property name","  ) const;","","  /// Delete property.","  MaybeOrValue\u003cbool\u003e Delete(","      const std::string\u0026 utf8name  ///\u003c UTF-8 encoded property name","  ) const;","","  /// Checks whether an indexed property is present.","  MaybeOrValue\u003cbool\u003e Has(uint32_t index  ///\u003c Property / element index","  ) const;","","  /// Gets an indexed property or array element.","  MaybeOrValue\u003cValue\u003e Get(uint32_t index  ///\u003c Property / element index","  ) const;","","  /// Sets an indexed property or array element.","  template \u003ctypename ValueType\u003e","  MaybeOrValue\u003cbool\u003e Set(uint32_t index,         ///\u003c Property / element index","                         const ValueType\u0026 value  ///\u003c Property value primitive","  ) const;","","  /// Deletes an indexed property or array element.","  MaybeOrValue\u003cbool\u003e Delete(uint32_t index  ///\u003c Property / element index","  ) const;","","  /// This operation can fail in case of Proxy.[[OwnPropertyKeys]] and","  /// Proxy.[[GetOwnProperty]] calling into JavaScript. See:","  /// -","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys","  /// -","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p","  MaybeOrValue\u003cArray\u003e GetPropertyNames() const;  ///\u003c Get all property names","","  /// Defines a property on the object.","  ///","  /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling","  /// into JavaScript. See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc","  MaybeOrValue\u003cbool\u003e DefineProperty(","      const PropertyDescriptor\u0026","          property  ///\u003c Descriptor for the property to be defined","  ) const;","","  /// Defines properties on the object.","  ///","  /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling","  /// into JavaScript. See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc","  MaybeOrValue\u003cbool\u003e DefineProperties(","      const std::initializer_list\u003cPropertyDescriptor\u003e\u0026 properties","      ///\u003c List of descriptors for the properties to be defined","  ) const;","","  /// Defines properties on the object.","  ///","  /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling","  /// into JavaScript. See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc","  MaybeOrValue\u003cbool\u003e DefineProperties(","      const std::vector\u003cPropertyDescriptor\u003e\u0026 properties","      ///\u003c Vector of descriptors for the properties to be defined","  ) const;","","  /// Checks if an object is an instance created by a constructor function.","  ///","  /// This is equivalent to the JavaScript `instanceof` operator.","  ///","  /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into","  /// JavaScript.","  /// See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof","  MaybeOrValue\u003cbool\u003e InstanceOf(","      const Function\u0026 constructor  ///\u003c Constructor function","  ) const;","","  // Finalizer must implement `void operator()(Env env, T* data)`.","  template \u003ctypename Finalizer, typename T\u003e","  inline void AddFinalizer(Finalizer finalizeCallback, T* data) const;","","  // Finalizer must implement `void operator()(Env env, T* data,","  // Hint* hint)`.","  template \u003ctypename Finalizer, typename T, typename Hint\u003e","  inline void AddFinalizer(Finalizer finalizeCallback,","                           T* data,","                           Hint* finalizeHint) const;","","#ifdef NODE_ADDON_API_CPP_EXCEPTIONS","  class const_iterator;","","  inline const_iterator begin() const;","","  inline const_iterator end() const;","","  class iterator;","","  inline iterator begin();","","  inline iterator end();","#endif  // NODE_ADDON_API_CPP_EXCEPTIONS","","#if NAPI_VERSION \u003e= 8","  /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into","  /// JavaScript.","  /// See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof","  MaybeOrValue\u003cbool\u003e Freeze() const;","  /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into","  /// JavaScript.","  /// See","  /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof","  MaybeOrValue\u003cbool\u003e Seal() const;","#endif  // NAPI_VERSION \u003e= 8","","  MaybeOrValue\u003cObject\u003e GetPrototype() const;","","#ifdef NODE_API_EXPERIMENTAL_HAS_SET_PROTOTYPE","  MaybeOrValue\u003cbool\u003e SetPrototype(const Object\u0026 value) const;","#endif","};","","template \u003ctypename T\u003e","class External : public TypeTaggable {"," public:","  static External New(napi_env env, T* data);","","  // Finalizer must implement `void operator()(Env env, T* data)`.","  template \u003ctypename Finalizer\u003e","  static External New(napi_env env, T* data, Finalizer finalizeCallback);","  // Finalizer must implement `void operator()(Env env, T* data,","  // Hint* hint)`.","  template \u003ctypename Finalizer, typename Hint\u003e","  static External New(napi_env env,","                      T* data,","                      Finalizer finalizeCallback,","                      Hint* finalizeHint);","","  static void CheckCast(napi_env env, napi_value value);","","  External();","  External(napi_env env, napi_value value);","","  T* Data() const;","};","","class Array : public Object {"," public:","  static Array New(napi_env env);","  static Array New(napi_env env, size_t length);","","  static void CheckCast(napi_env env, napi_value value);","","  Array();","  Array(napi_env env, napi_value value);","","  uint32_t Length() const;","};","","#ifdef NODE_ADDON_API_CPP_EXCEPTIONS","class Object::const_iterator {"," private:","  enum class Type { BEGIN, END };","","  inline const_iterator(const Object* object, const Type type);",""," public:","  inline const_iterator\u0026 operator++();","","  inline bool operator==(const const_iterator\u0026 other) const;","","  inline bool operator!=(const const_iterator\u0026 other) const;","","  inline const std::pair\u003cValue, Object::PropertyLValue\u003cValue\u003e\u003e operator*()","      const;",""," private:","  const Napi::Object* _object;","  Array _keys;","  uint32_t _index;","","  friend class Object;","};","","class Object::iterator {"," private:","  enum class Type { BEGIN, END };","","  inline iterator(Object* object, const Type type);",""," public:","  inline iterator\u0026 operator++();","","  inline bool operator==(const iterator\u0026 other) const;","","  inline bool operator!=(const iterator\u0026 other) const;","","  inline std::pair\u003cValue, Object::PropertyLValue\u003cValue\u003e\u003e operator*();",""," private:","  Napi::Object* _object;","  Array _keys;","  uint32_t _index;","","  friend class Object;","};","#endif  // NODE_ADDON_API_CPP_EXCEPTIONS","","#ifdef NODE_API_EXPERIMENTAL_HAS_SHAREDARRAYBUFFER","class SharedArrayBuffer : public Object {"," public:","  SharedArrayBuffer();","  SharedArrayBuffer(napi_env env, napi_value value);","","  static SharedArrayBuffer New(napi_env env, size_t byteLength);","","  static void CheckCast(napi_env env, napi_value value);","","  void* Data();","  size_t ByteLength();","};","#endif","","/// A JavaScript array buffer value.","class ArrayBuffer : public Object {"," public:","  /// Creates a new ArrayBuffer instance over a new automatically-allocated","  /// buffer.","  static ArrayBuffer New(","      napi_env env,      ///\u003c Node-API environment","      size_t byteLength  ///\u003c Length of the buffer to be allocated, in bytes","  );","","#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED","  /// Creates a new ArrayBuffer instance, using an external buffer with","  /// specified byte length.","  static ArrayBuffer New(","      napi_env env,        ///\u003c Node-API environment","      void* externalData,  ///\u003c Pointer to the external buffer to be used by","                           ///\u003c the array","      size_t byteLength    ///\u003c Length of the external buffer to be used by the","                           ///\u003c array, in bytes","  );","","  /// Creates a new ArrayBuffer instance, using an external buffer with","  /// specified byte length.","  template \u003ctypename Finalizer\u003e","  static ArrayBuffer New(","      napi_env env,        ///\u003c Node-API environment","      void* externalData,  ///\u003c Pointer to the external buffer to be used by","                           ///\u003c the array","      size_t byteLength,   ///\u003c Length of the external buffer to be used by the","                           ///\u003c array,","                           ///  in bytes","      Finalizer finalizeCallback  ///\u003c Function to be called when the array","                                  ///\u003c buffer is destroyed;","                                  ///  must implement `void operator()(Env env,","                                  ///  void* externalData)`","  );","","  /// Creates a new ArrayBuffer instance, using an external buffer with","  /// specified byte length.","  template \u003ctypename Finalizer, typename Hint\u003e","  static ArrayBuffer New(","      napi_env env,        ///\u003c Node-API environment","      void* externalData,  ///\u003c Pointer to the external buffer to be used by","                           ///\u003c the array","      size_t byteLength,   ///\u003c Length of the external buffer to be used by the","                           ///\u003c array,","                           ///  in bytes","      Finalizer finalizeCallback,  ///\u003c Function to be called when the array","                                   ///\u003c buffer is destroyed;","                                   ///  must implement `void operator()(Env","                                   ///  env, void* externalData, Hint* hint)`","      Hint* finalizeHint  ///\u003c Hint (second parameter) to be passed to the","                          ///\u003c finalize callback","  );","#endif  // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED","","  static void CheckCast(napi_env env, napi_value value);","","  ArrayBuffer();  ///\u003c Creates a new _empty_ ArrayBuffer instance.","  ArrayBuffer(napi_env env,","              napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  void* Data();         ///\u003c Gets a pointer to the data buffer.","  size_t ByteLength();  ///\u003c Gets the length of the array buffer in bytes.","","#if NAPI_VERSION \u003e= 7","  bool IsDetached() const;","  void Detach();","#endif  // NAPI_VERSION \u003e= 7","};","","/// A JavaScript typed-array value with unknown array type.","///","/// For type-specific operations, cast to a `TypedArrayOf\u003cT\u003e` instance using the","/// `As()` method:","///","///     Napi::TypedArray array = ...","///     if (t.TypedArrayType() == napi_int32_array) {","///         Napi::Int32Array int32Array = t.As\u003cNapi::Int32Array\u003e();","///     }","class TypedArray : public Object {"," public:","  static void CheckCast(napi_env env, napi_value value);","","  TypedArray();  ///\u003c Creates a new _empty_ TypedArray instance.","  TypedArray(napi_env env,","             napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  napi_typedarray_type TypedArrayType()","      const;  ///\u003c Gets the type of this typed-array.","","  // Gets the backing `ArrayBuffer`.","  //","  // If this `TypedArray` is not backed by an `ArrayBuffer`, this method will","  // terminate the process with a fatal error when using","  // `NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS` or exhibit undefined behavior","  // otherwise. Use `Buffer()` instead to get the backing buffer without","  // assuming its type.","  Napi::ArrayBuffer ArrayBuffer() const;","","  // Gets the backing buffer (an `ArrayBuffer` or `SharedArrayBuffer`).","  //","  // Use `IsArrayBuffer()` or `IsSharedArrayBuffer()` to check the type of the","  // backing buffer prior to casting with `As\u003cT\u003e()`.","  Napi::Value Buffer() const;","","  uint8_t ElementSize()","      const;  ///\u003c Gets the size in bytes of one element in the array.","  size_t ElementLength() const;  ///\u003c Gets the number of elements in the array.","  size_t ByteOffset()","      const;  ///\u003c Gets the offset into the buffer where the array starts.","  size_t ByteLength() const;  ///\u003c Gets the length of the array in bytes.",""," protected:","  /// !cond INTERNAL","  napi_typedarray_type _type;","  size_t _length;","","  TypedArray(napi_env env,","             napi_value value,","             napi_typedarray_type type,","             size_t length);","","  template \u003ctypename T\u003e","  static","#if defined(NAPI_HAS_CONSTEXPR)","      constexpr","#endif","      napi_typedarray_type","      TypedArrayTypeForPrimitiveType() {","    return std::is_same\u003cT, int8_t\u003e::value     ? napi_int8_array","           : std::is_same\u003cT, uint8_t\u003e::value  ? napi_uint8_array","           : std::is_same\u003cT, int16_t\u003e::value  ? napi_int16_array","           : std::is_same\u003cT, uint16_t\u003e::value ? napi_uint16_array","           : std::is_same\u003cT, int32_t\u003e::value  ? napi_int32_array","           : std::is_same\u003cT, uint32_t\u003e::value ? napi_uint32_array","           : std::is_same\u003cT, float\u003e::value    ? napi_float32_array","           : std::is_same\u003cT, double\u003e::value   ? napi_float64_array","#if NAPI_VERSION \u003e 5","           : std::is_same\u003cT, int64_t\u003e::value  ? napi_bigint64_array","           : std::is_same\u003cT, uint64_t\u003e::value ? napi_biguint64_array","#endif  // NAPI_VERSION \u003e 5","                                              : napi_int8_array;","  }","  /// !endcond","};","","/// A JavaScript typed-array value with known array type.","///","/// Note while it is possible to create and access Uint8 \"clamped\" arrays using","/// this class, the _clamping_ behavior is only applied in JavaScript.","template \u003ctypename T\u003e","class TypedArrayOf : public TypedArray {"," public:","  /// Creates a new TypedArray instance over a new automatically-allocated array","  /// buffer.","  ///","  /// The array type parameter can normally be omitted (because it is inferred","  /// from the template parameter T), except when creating a \"clamped\" array:","  ///","  ///     Uint8Array::New(env, length, napi_uint8_clamped_array)","  static TypedArrayOf New(","      napi_env env,          ///\u003c Node-API environment","      size_t elementLength,  ///\u003c Length of the created array, as a number of","                             ///\u003c elements","#if defined(NAPI_HAS_CONSTEXPR)","      napi_typedarray_type type =","          TypedArray::TypedArrayTypeForPrimitiveType\u003cT\u003e()","#else","      napi_typedarray_type type","#endif","      ///\u003c Type of array, if different from the default array type for the","      ///\u003c template parameter T.","  );","","  /// Creates a new TypedArray instance over a provided array buffer.","  ///","  /// The array type parameter can normally be omitted (because it is inferred","  /// from the template parameter T), except when creating a \"clamped\" array:","  ///","  ///     Uint8Array::New(env, length, buffer, 0, napi_uint8_clamped_array)","  static TypedArrayOf New(","      napi_env env,          ///\u003c Node-API environment","      size_t elementLength,  ///\u003c Length of the created array, as a number of","                             ///\u003c elements","      Napi::ArrayBuffer arrayBuffer,  ///\u003c Backing array buffer instance to use","      size_t bufferOffset,  ///\u003c Offset into the array buffer where the","                            ///\u003c typed-array starts","#if defined(NAPI_HAS_CONSTEXPR)","      napi_typedarray_type type =","          TypedArray::TypedArrayTypeForPrimitiveType\u003cT\u003e()","#else","      napi_typedarray_type type","#endif","      ///\u003c Type of array, if different from the default array type for the","      ///\u003c template parameter T.","  );","","#ifdef NODE_API_EXPERIMENTAL_HAS_SHAREDARRAYBUFFER","  /// Creates a new TypedArray instance over a provided SharedArrayBuffer.","  ///","  /// The array type parameter can normally be omitted (because it is inferred","  /// from the template parameter T), except when creating a \"clamped\" array:","  ///","  ///     Uint8Array::New(env, length, buffer, 0, napi_uint8_clamped_array)","  static TypedArrayOf New(","      napi_env env,          ///\u003c Node-API environment","      size_t elementLength,  ///\u003c Length of the created array, as a number of","                             ///\u003c elements","      Napi::SharedArrayBuffer","          arrayBuffer,      ///\u003c Backing shared array buffer instance to use","      size_t bufferOffset,  ///\u003c Offset into the array buffer where the","                            ///\u003c typed-array starts","#if defined(NAPI_HAS_CONSTEXPR)","      napi_typedarray_type type =","          TypedArray::TypedArrayTypeForPrimitiveType\u003cT\u003e()","#else","      napi_typedarray_type type","#endif","      ///\u003c Type of array, if different from the default array type for the","      ///\u003c template parameter T.","  );","#endif","","  static void CheckCast(napi_env env, napi_value value);","","  TypedArrayOf();  ///\u003c Creates a new _empty_ TypedArrayOf instance.","  TypedArrayOf(napi_env env,","               napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  T\u0026 operator[](size_t index);  ///\u003c Gets or sets an element in the array.","  const T\u0026 operator[](size_t index) const;  ///\u003c Gets an element in the array.","","  /// Gets a pointer to the array's backing buffer.","  ///","  /// This is not necessarily the same as the `ArrayBuffer::Data()` pointer,","  /// because the typed-array may have a non-zero `ByteOffset()` into the","  /// `ArrayBuffer`.","  T* Data();","","  /// Gets a pointer to the array's backing buffer.","  ///","  /// This is not necessarily the same as the `ArrayBuffer::Data()` pointer,","  /// because the typed-array may have a non-zero `ByteOffset()` into the","  /// `ArrayBuffer`.","  const T* Data() const;",""," private:","  T* _data;","","  TypedArrayOf(napi_env env,","               napi_value value,","               napi_typedarray_type type,","               size_t length,","               T* data);","};","","/// The DataView provides a low-level interface for reading/writing multiple","/// number types in an ArrayBuffer irrespective of the platform's endianness.","class DataView : public Object {"," public:","  static DataView New(napi_env env, Napi::ArrayBuffer arrayBuffer);","  static DataView New(napi_env env,","                      Napi::ArrayBuffer arrayBuffer,","                      size_t byteOffset);","  static DataView New(napi_env env,","                      Napi::ArrayBuffer arrayBuffer,","                      size_t byteOffset,","                      size_t byteLength);","","#ifdef NODE_API_EXPERIMENTAL_HAS_SHAREDARRAYBUFFER","  static DataView New(napi_env env, Napi::SharedArrayBuffer arrayBuffer);","  static DataView New(napi_env env,","                      Napi::SharedArrayBuffer arrayBuffer,","                      size_t byteOffset);","  static DataView New(napi_env env,","                      Napi::SharedArrayBuffer arrayBuffer,","                      size_t byteOffset,","                      size_t byteLength);","#endif","","  static void CheckCast(napi_env env, napi_value value);","","  DataView();  ///\u003c Creates a new _empty_ DataView instance.","  DataView(napi_env env,","           napi_value value);  ///\u003c Wraps a Node-API value primitive.","","  // Gets the backing `ArrayBuffer`.","  //","  // If this `DataView` is not backed by an `ArrayBuffer`, this method will","  // terminate the process with a fatal error when using","  // `NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS` or exhibit undefined behavior","  // otherwise. Use `Buffer()` instead to get the backing buffer without","  // assuming its type.","  Napi::ArrayBuffer ArrayBuffer() const;","","  // Gets the backing buffer (an `ArrayBuffer` or `SharedArrayBuffer`).","  //","  // Use `IsArrayBuffer()` or `IsSharedArrayBuffer()` to check the type of the","  // backing buffer prior to casting with `As\u003cT\u003e()`.","  Napi::Value Buffer() const;","  size_t ByteOffset()","      const;  ///\u003c Gets the offset into the buffer where the array starts.","  size_t ByteLength() const;  ///\u003c Gets the length of the array in bytes.","","  void* Data() const;","","  float GetFloat32(size_t byteOffset) const;","  double GetFloat64(size_t byteOffset) const;","  int8_t GetInt8(size_t byteOffset) const;","  int16_t GetInt16(size_t byteOffset) const;","  int32_t GetInt32(size_t byteOffset) const;","  uint8_t GetUint8(size_t byteOffset) const;","  uint16_t GetUint16(size_t byteOffset) const;","  uint32_t GetUint32(size_t byteOffset) const;","","  void SetFloat32(size_t byteOffset, float value) const;","  void SetFloat64(size_t byteOffset, double value) const;","  void SetInt8(size_t byteOffset, int8_t value) const;","  void SetInt16(size_t byteOffset, int16_t value) const;","  void SetInt32(size_t byteOffset, int32_t value) const;","  void SetUint8(size_t byteOffset, uint8_t value) const;","  void SetUint16(size_t byteOffset, uint16_t value) const;","  void SetUint32(size_t byteOffset, uint32_t value) const;",""," private:","  template \u003ctypename T\u003e","  T ReadData(size_t byteOffset) const;","","  template \u003ctypename T\u003e","  void WriteData(size_t byteOffset, T value) const;","","  void* _data{};","  size_t _length{};","};","","class Function : public Object {"," public:","  using VoidCallback = void (*)(const CallbackInfo\u0026 info);","  using Callback = Value (*)(const CallbackInfo\u0026 info);","","  template \u003cVoidCallback cb\u003e","  static Function New(napi_env env,","                      const char* utf8name = nullptr,","                      void* data = nullptr);","","  template \u003cCallback cb\u003e","  static Function New(napi_env env,","                      const char* utf8name = nullptr,","                      void* data = nullptr);","","  template \u003cVoidCallback cb\u003e","  static Function New(napi_env env,","                      const std::string\u0026 utf8name,","                      void* data = nullptr);","","  template \u003cCallback cb\u003e","  static Function New(napi_env env,","                      const std::string\u0026 utf8name,","                      void* data = nullptr);","","  /// Callable must implement operator() accepting a const CallbackInfo\u0026","  /// and return either void or Value.","  template \u003ctypename Callable\u003e","  static Function New(napi_env env,","                      Callable cb,","                      const char* utf8name = nullptr,","                      void* data = nullptr);","  /// Callable must implement operator() accepting a const CallbackInfo\u0026","  /// and return either void or Value.","  template \u003ctypename Callable\u003e","  static Function New(napi_env env,","                      Callable cb,","                      const std::string\u0026 utf8name,","                      void* data = nullptr);","","  static void CheckCast(napi_env env, napi_value value);","","  Function();","  Function(napi_env env, napi_value value);","","  MaybeOrValue\u003cValue\u003e operator()(","      const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","","  MaybeOrValue\u003cValue\u003e Call(const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(const std::vector\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(const std::vector\u003cValue\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(size_t argc, const napi_value* args) const;","  MaybeOrValue\u003cValue\u003e Call(napi_value recv,","                           const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(napi_value recv,","                           const std::vector\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(napi_value recv,","                           const std::vector\u003cValue\u003e\u0026 args) const;","  MaybeOrValue\u003cValue\u003e Call(napi_value recv,","                           size_t argc,","                           const napi_value* args) const;","","  MaybeOrValue\u003cValue\u003e MakeCallback(","      napi_value recv,","      const std::initializer_list\u003cnapi_value\u003e\u0026 args,","      napi_async_context context = nullptr) const;","  MaybeOrValue\u003cValue\u003e MakeCallback(napi_value recv,","                                   const std::vector\u003cnapi_value\u003e\u0026 args,","                                   napi_async_context context = nullptr) const;","  MaybeOrValue\u003cValue\u003e MakeCallback(napi_value recv,","                                   size_t argc,","                                   const napi_value* args,","                                   napi_async_context context = nullptr) const;","","  MaybeOrValue\u003cObject\u003e New(const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cObject\u003e New(const std::vector\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cObject\u003e New(size_t argc, const napi_value* args) const;","};","","class Promise : public Object {"," public:","  class Deferred {","   public:","    static Deferred New(napi_env env);","    Deferred(napi_env env);","","    Napi::Promise Promise() const;","    Napi::Env Env() const;","","    void Resolve(napi_value value) const;","    void Reject(napi_value value) const;","","   private:","    napi_env _env;","    napi_deferred _deferred;","    napi_value _promise;","  };","","  static void CheckCast(napi_env env, napi_value value);","","  Promise();","  Promise(napi_env env, napi_value value);","","  MaybeOrValue\u003cPromise\u003e Then(napi_value onFulfilled) const;","  MaybeOrValue\u003cPromise\u003e Then(napi_value onFulfilled,","                             napi_value onRejected) const;","  MaybeOrValue\u003cPromise\u003e Catch(napi_value onRejected) const;","","  MaybeOrValue\u003cPromise\u003e Then(const Function\u0026 onFulfilled) const;","  MaybeOrValue\u003cPromise\u003e Then(const Function\u0026 onFulfilled,","                             const Function\u0026 onRejected) const;","  MaybeOrValue\u003cPromise\u003e Catch(const Function\u0026 onRejected) const;","};","","template \u003ctypename T\u003e","class Buffer : public Uint8Array {"," public:","  static Buffer\u003cT\u003e New(napi_env env, size_t length);","#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED","  static Buffer\u003cT\u003e New(napi_env env, T* data, size_t length);","","  // Finalizer must implement `void operator()(Env env, T* data)`.","  template \u003ctypename Finalizer\u003e","  static Buffer\u003cT\u003e New(napi_env env,","                       T* data,","                       size_t length,","                       Finalizer finalizeCallback);","  // Finalizer must implement `void operator()(Env env, T* data,","  // Hint* hint)`.","  template \u003ctypename Finalizer, typename Hint\u003e","  static Buffer\u003cT\u003e New(napi_env env,","                       T* data,","                       size_t length,","                       Finalizer finalizeCallback,","                       Hint* finalizeHint);","#endif  // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED","","  static Buffer\u003cT\u003e NewOrCopy(napi_env env, T* data, size_t length);","  // Finalizer must implement `void operator()(Env env, T* data)`.","  template \u003ctypename Finalizer\u003e","  static Buffer\u003cT\u003e NewOrCopy(napi_env env,","                             T* data,","                             size_t length,","                             Finalizer finalizeCallback);","  // Finalizer must implement `void operator()(Env env, T* data,","  // Hint* hint)`.","  template \u003ctypename Finalizer, typename Hint\u003e","  static Buffer\u003cT\u003e NewOrCopy(napi_env env,","                             T* data,","                             size_t length,","                             Finalizer finalizeCallback,","                             Hint* finalizeHint);","","  static Buffer\u003cT\u003e Copy(napi_env env, const T* data, size_t length);","","  static void CheckCast(napi_env env, napi_value value);","","  Buffer();","  Buffer(napi_env env, napi_value value);","  size_t Length() const;","  T* Data() const;",""," private:","};","","/// Holds a counted reference to a value; initially a weak reference unless","/// otherwise specified, may be changed to/from a strong reference by adjusting","/// the refcount.","///","/// The referenced value is not immediately destroyed when the reference count","/// is zero; it is merely then eligible for garbage-collection if there are no","/// other references to the value.","template \u003ctypename T\u003e","class Reference {"," public:","  static Reference\u003cT\u003e New(const T\u0026 value, uint32_t initialRefcount = 0);","","  Reference();","  Reference(napi_env env, napi_ref ref);","  ~Reference();","","  // A reference can be moved but cannot be copied.","  Reference(Reference\u003cT\u003e\u0026\u0026 other);","  Reference\u003cT\u003e\u0026 operator=(Reference\u003cT\u003e\u0026\u0026 other);","  NAPI_DISALLOW_ASSIGN(Reference\u003cT\u003e)","","  operator napi_ref() const;","  bool operator==(const Reference\u003cT\u003e\u0026 other) const;","  bool operator!=(const Reference\u003cT\u003e\u0026 other) const;","","  Napi::Env Env() const;","  bool IsEmpty() const;","","  // Note when getting the value of a Reference it is usually correct to do so","  // within a HandleScope so that the value handle gets cleaned up efficiently.","  T Value() const;","","  uint32_t Ref() const;","  uint32_t Unref() const;","  void Reset();","  void Reset(const T\u0026 value, uint32_t refcount = 0);","","  // Call this on a reference that is declared as static data, to prevent its","  // destructor from running at program shutdown time, which would attempt to","  // reset the reference when the environment is no longer valid. Avoid using","  // this if at all possible. If you do need to use static data, MAKE SURE to","  // warn your users that your addon is NOT threadsafe.","  void SuppressDestruct();",""," protected:","  Reference(const Reference\u003cT\u003e\u0026);","","  /// !cond INTERNAL","  napi_env _env;","  napi_ref _ref;","  /// !endcond",""," private:","  bool _suppressDestruct;","};","","class ObjectReference : public Reference\u003cObject\u003e {"," public:","  ObjectReference();","  ObjectReference(napi_env env, napi_ref ref);","","  // A reference can be moved but cannot be copied.","  ObjectReference(Reference\u003cObject\u003e\u0026\u0026 other);","  ObjectReference\u0026 operator=(Reference\u003cObject\u003e\u0026\u0026 other);","  ObjectReference(ObjectReference\u0026\u0026 other);","  ObjectReference\u0026 operator=(ObjectReference\u0026\u0026 other);","  NAPI_DISALLOW_ASSIGN(ObjectReference)","","  MaybeOrValue\u003cNapi::Value\u003e Get(const char* utf8name) const;","  MaybeOrValue\u003cNapi::Value\u003e Get(const std::string\u0026 utf8name) const;","  MaybeOrValue\u003cbool\u003e Set(const char* utf8name, napi_value value) const;","  MaybeOrValue\u003cbool\u003e Set(const char* utf8name, Napi::Value value) const;","  MaybeOrValue\u003cbool\u003e Set(const char* utf8name, const char* utf8value) const;","  MaybeOrValue\u003cbool\u003e Set(const char* utf8name, bool boolValue) const;","  MaybeOrValue\u003cbool\u003e Set(const char* utf8name, double numberValue) const;","  MaybeOrValue\u003cbool\u003e Set(const std::string\u0026 utf8name, napi_value value) const;","  MaybeOrValue\u003cbool\u003e Set(const std::string\u0026 utf8name, Napi::Value value) const;","  MaybeOrValue\u003cbool\u003e Set(const std::string\u0026 utf8name,","                         const std::string\u0026 utf8value) const;","  MaybeOrValue\u003cbool\u003e Set(const std::string\u0026 utf8name, bool boolValue) const;","  MaybeOrValue\u003cbool\u003e Set(const std::string\u0026 utf8name, double numberValue) const;","","  MaybeOrValue\u003cNapi::Value\u003e Get(uint32_t index) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, const napi_value value) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, const Napi::Value value) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, const char* utf8value) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, const std::string\u0026 utf8value) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, bool boolValue) const;","  MaybeOrValue\u003cbool\u003e Set(uint32_t index, double numberValue) const;",""," protected:","  ObjectReference(const ObjectReference\u0026);","};","","class FunctionReference : public Reference\u003cFunction\u003e {"," public:","  FunctionReference();","  FunctionReference(napi_env env, napi_ref ref);","","  // A reference can be moved but cannot be copied.","  FunctionReference(Reference\u003cFunction\u003e\u0026\u0026 other);","  FunctionReference\u0026 operator=(Reference\u003cFunction\u003e\u0026\u0026 other);","  FunctionReference(FunctionReference\u0026\u0026 other);","  FunctionReference\u0026 operator=(FunctionReference\u0026\u0026 other);","  NAPI_DISALLOW_ASSIGN_COPY(FunctionReference)","","  MaybeOrValue\u003cNapi::Value\u003e operator()(","      const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","","  MaybeOrValue\u003cNapi::Value\u003e Call(","      const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cNapi::Value\u003e Call(const std::vector\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cNapi::Value\u003e Call(","      napi_value recv, const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cNapi::Value\u003e Call(napi_value recv,","                                 const std::vector\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cNapi::Value\u003e Call(napi_value recv,","                                 size_t argc,","                                 const napi_value* args) const;","","  MaybeOrValue\u003cNapi::Value\u003e MakeCallback(","      napi_value recv,","      const std::initializer_list\u003cnapi_value\u003e\u0026 args,","      napi_async_context context = nullptr) const;","  MaybeOrValue\u003cNapi::Value\u003e MakeCallback(","      napi_value recv,","      const std::vector\u003cnapi_value\u003e\u0026 args,","      napi_async_context context = nullptr) const;","  MaybeOrValue\u003cNapi::Value\u003e MakeCallback(","      napi_value recv,","      size_t argc,","      const napi_value* args,","      napi_async_context context = nullptr) const;","","  MaybeOrValue\u003cObject\u003e New(const std::initializer_list\u003cnapi_value\u003e\u0026 args) const;","  MaybeOrValue\u003cObject\u003e New(const std::vector\u003cnapi_value\u003e\u0026 args) const;","};","","// Shortcuts to creating a new reference with inferred type and refcount = 0.","template \u003ctypename T\u003e","Reference\u003cT\u003e Weak(T value);","ObjectReference Weak(Object value);","FunctionReference Weak(Function value);","","// Shortcuts to creating a new reference with inferred type and refcount = 1.","template \u003ctypename T\u003e","Reference\u003cT\u003e Persistent(T value);","ObjectReference Persistent(Object value);","FunctionReference Persistent(Function value);","","/// A persistent reference to a JavaScript error object. Use of this class","/// depends somewhat on whether C++ exceptions are enabled at compile time.","///","/// ### Handling Errors With C++ Exceptions","///","/// If C++ exceptions are enabled, then the `Error` class extends","/// `std::exception` and enables integrated error-handling for C++ exceptions","/// and JavaScript exceptions.","///","/// If a Node-API call fails without executing any JavaScript code (for","/// example due to an invalid argument), then the Node-API wrapper","/// automatically converts and throws the error as a C++ exception of type","/// `Napi::Error`. Or if a JavaScript function called by C++ code via Node-API","/// throws a JavaScript exception, then the Node-API wrapper automatically","/// converts and throws it as a C++ exception of type `Napi::Error`.","///","/// If a C++ exception of type `Napi::Error` escapes from a Node-API C++","/// callback, then the Node-API wrapper automatically converts and throws it","/// as a JavaScript exception. Therefore, catching a C++ exception of type","/// `Napi::Error` prevents a JavaScript exception from being thrown.","///","/// #### Example 1A - Throwing a C++ exception:","///","///     Napi::Env env = ...","///     throw Napi::Error::New(env, \"Example exception\");","///","/// Following C++ statements will not be executed. The exception will bubble","/// up as a C++ exception of type `Napi::Error`, until it is either caught","/// while still in C++, or else automatically propagated as a JavaScript","/// exception when the callback returns to JavaScript.","///","/// #### Example 2A - Propagating a Node-API C++ exception:","///","///     Napi::Function jsFunctionThatThrows = someObj.As\u003cNapi::Function\u003e();","///     Napi::Value result = jsFunctionThatThrows({ arg1, arg2 });","///","/// Following C++ statements will not be executed. The exception will bubble","/// up as a C++ exception of type `Napi::Error`, until it is either caught","/// while still in C++, or else automatically propagated as a JavaScript","/// exception when the callback returns to JavaScript.","///","/// #### Example 3A - Handling a Node-API C++ exception:","///","///     Napi::Function jsFunctionThatThrows = someObj.As\u003cNapi::Function\u003e();","///     Napi::Value result;","///     try {","///        result = jsFunctionThatThrows({ arg1, arg2 });","///     } catch (const Napi::Error\u0026 e) {","///       cerr \u003c\u003c \"Caught JavaScript exception: \" + e.what();","///     }","///","/// Since the exception was caught here, it will not be propagated as a","/// JavaScript exception.","///","/// ### Handling Errors Without C++ Exceptions","///","/// If C++ exceptions are disabled (by defining","/// `NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS`) then this class does not extend","/// `std::exception`, and APIs in the `Napi` namespace do not throw C++","/// exceptions when they fail. Instead, they raise _pending_ JavaScript","/// exceptions and return _empty_ `Value`s. Calling code should check","/// `Value::IsEmpty()` before attempting to use a returned value, and may use","/// methods on the `Env` class to check for, get, and clear a pending JavaScript","/// exception. If the pending exception is not cleared, it will be thrown when","/// the native callback returns to JavaScript.","///","/// #### Example 1B - Throwing a JS exception","///","///     Napi::Env env = ...","///     Napi::Error::New(env, \"Example","///     exception\").ThrowAsJavaScriptException(); return;","///","/// After throwing a JS exception, the code should generally return","/// immediately from the native callback, after performing any necessary","/// cleanup.","///","/// #### Example 2B - Propagating a Node-API JS exception:","///","///     Napi::Function jsFunctionThatThrows = someObj.As\u003cNapi::Function\u003e();","///     Napi::Value result = jsFunctionThatThrows({ arg1, arg2 });","///     if (result.IsEmpty()) return;","///","/// An empty value result from a Node-API call indicates an error occurred,","/// and a JavaScript exception is pending. To let the exception propagate, the","/// code should generally return immediately from the native callback, after","/// performing any necessary cleanup.","///","/// #### Example 3B - Handling a Node-API JS exception:","///","///     Napi::Function jsFunctionThatThrows = someObj.As\u003cNapi::Function\u003e();","///     Napi::Value result = jsFunctionThatThrows({ arg1, arg2 });","///     if (result.IsEmpty()) {","///       Napi::Error e = env.GetAndClearPendingException();","///       cerr \u003c\u003c \"Caught JavaScript exception: \" + e.Message();","///     }","///","/// Since the exception was cleared here, it will not be propagated as a","/// JavaScript exception after the native callback returns.","class Error : public ObjectReference","#ifdef NODE_ADDON_API_CPP_EXCEPTIONS","    ,","              public std::exception","#endif  // NODE_ADDON_API_CPP_EXCEPTIONS","{"," public:","  static Error New(napi_env env);","  static Error New(napi_env env, const char* message);","  static Error New(napi_env env, const std::string\u0026 message);","","  static NAPI_NO_RETURN void Fatal(const char* location, const char* message);","","  Error();","  Error(napi_env env, napi_value value);","","  // An error can be moved or copied.","  Error(Error\u0026\u0026 other);","  Error\u0026 operator=(Error\u0026\u0026 other);","  Error(const Error\u0026);","  Error\u0026 operator=(const Error\u0026);","","  const std::string\u0026 Message() const NAPI_NOEXCEPT;","  void ThrowAsJavaScriptException() const;","","  Object Value() const;","","#ifdef NODE_ADDON_API_CPP_EXCEPTIONS","  const char* what() const NAPI_NOEXCEPT override;","#endif  // NODE_ADDON_API_CPP_EXCEPTIONS",""," protected:","  /// !cond INTERNAL","  using create_error_fn = napi_status (*)(napi_env envb,","                                          napi_value code,","                                          napi_value msg,","                                          napi_value* result);","","  template \u003ctypename TError\u003e","  static TError New(napi_env env,","                    const char* message,","                    size_t length,","                    create_error_fn create_error);","  /// !endcond",""," private:","  static inline const char* ERROR_WRAP_VALUE() NAPI_NOEXCEPT;","  mutable std::string _message;","};","","class TypeError : public Error {"," public:","  static TypeError New(napi_env env, const char* message);","  static TypeError New(napi_env env, const std::string\u0026 message);","","  TypeError();","  TypeError(napi_env env, napi_value value);","};","","class RangeError : public Error {"," public:","  static RangeError New(napi_env env, const char* message);","  static RangeError New(napi_env env, const std::string\u0026 message);","","  RangeError();","  RangeError(napi_env env, napi_value value);","};","","#if NAPI_VERSION \u003e 8","class SyntaxError : public Error {"," public:","  static SyntaxError New(napi_env env, const char* message);","  static SyntaxError New(napi_env env, const std::string\u0026 message);","","  SyntaxError();","  SyntaxError(napi_env env, napi_value value);","};","#endif  // NAPI_VERSION \u003e 8","","class CallbackInfo {"," public:","  CallbackInfo(napi_env env, napi_callback_info info);","  ~CallbackInfo();","","  // Disallow copying to prevent multiple free of _dynamicArgs","  NAPI_DISALLOW_ASSIGN_COPY(CallbackInfo)","","  Napi::Env Env() const;","  Value NewTarget() const;","  bool IsConstructCall() const;","  size_t Length() const;","  const Value operator[](size_t index) const;","  Value This() const;","  void* Data() const;","  void SetData(void* data);","  explicit operator napi_callback_info() const;",""," private:","  const size_t _staticArgCount = 6;","  napi_env _env;","  napi_callback_info _info;","  napi_value _this;","  size_t _argc;","  napi_value* _argv;","  napi_value _staticArgs[6]{};","  napi_value* _dynamicArgs;","  void* _data;","};","","class PropertyDescriptor {"," public:","  using GetterCallback = Napi::Value (*)(const Napi::CallbackInfo\u0026 info);","  using SetterCallback = void (*)(const Napi::CallbackInfo\u0026 info);","","#ifndef NODE_ADDON_API_DISABLE_DEPRECATED","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      const char* utf8name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      const std::string\u0026 utf8name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      napi_value name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      Name name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      const char* utf8name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      const std::string\u0026 utf8name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      napi_value name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      Name name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      const char* utf8name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      const std::string\u0026 utf8name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      napi_value name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      Name name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","#endif  // !NODE_ADDON_API_DISABLE_DEPRECATED","","  template \u003cGetterCallback Getter\u003e","  static PropertyDescriptor Accessor(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003cGetterCallback Getter\u003e","  static PropertyDescriptor Accessor(","      const std::string\u0026 utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003cGetterCallback Getter\u003e","  static PropertyDescriptor Accessor(","      Name name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003cGetterCallback Getter, SetterCallback Setter\u003e","  static PropertyDescriptor Accessor(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003cGetterCallback Getter, SetterCallback Setter\u003e","  static PropertyDescriptor Accessor(","      const std::string\u0026 utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003cGetterCallback Getter, SetterCallback Setter\u003e","  static PropertyDescriptor Accessor(","      Name name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      const char* utf8name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      const std::string\u0026 utf8name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      Name name,","      Getter getter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      const char* utf8name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      const std::string\u0026 utf8name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Getter, typename Setter\u003e","  static PropertyDescriptor Accessor(","      Napi::Env env,","      Napi::Object object,","      Name name,","      Getter getter,","      Setter setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      Napi::Env env,","      Napi::Object object,","      const char* utf8name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      Napi::Env env,","      Napi::Object object,","      const std::string\u0026 utf8name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003ctypename Callable\u003e","  static PropertyDescriptor Function(","      Napi::Env env,","      Napi::Object object,","      Name name,","      Callable cb,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor Value(","      const char* utf8name,","      napi_value value,","      napi_property_attributes attributes = napi_default);","  static PropertyDescriptor Value(","      const std::string\u0026 utf8name,","      napi_value value,","      napi_property_attributes attributes = napi_default);","  static PropertyDescriptor Value(","      napi_value name,","      napi_value value,","      napi_property_attributes attributes = napi_default);","  static PropertyDescriptor Value(","      Name name,","      Napi::Value value,","      napi_property_attributes attributes = napi_default);","","  PropertyDescriptor(napi_property_descriptor desc);","","  operator napi_property_descriptor\u0026();","  operator const napi_property_descriptor\u0026() const;",""," private:","  napi_property_descriptor _desc;","};","","/// Property descriptor for use with `ObjectWrap::DefineClass()`.","///","/// This is different from the standalone `PropertyDescriptor` because it is","/// specific to each `ObjectWrap\u003cT\u003e` subclass. This prevents using descriptors","/// from a different class when defining a new class (preventing the callbacks","/// from having incorrect `this` pointers).","template \u003ctypename T\u003e","class ClassPropertyDescriptor {"," public:","  ClassPropertyDescriptor(napi_property_descriptor desc) : _desc(desc) {}","","  operator napi_property_descriptor\u0026() { return _desc; }","  operator const napi_property_descriptor\u0026() const { return _desc; }",""," private:","  napi_property_descriptor _desc;","};","","template \u003ctypename T, typename TCallback\u003e","struct MethodCallbackData {","  TCallback callback;","  void* data;","};","","template \u003ctypename T, typename TGetterCallback, typename TSetterCallback\u003e","struct AccessorCallbackData {","  TGetterCallback getterCallback;","  TSetterCallback setterCallback;","  void* data;","};","","template \u003ctypename T\u003e","class InstanceWrap {"," public:","  using InstanceVoidMethodCallback = void (T::*)(const CallbackInfo\u0026 info);","  using InstanceMethodCallback = Napi::Value (T::*)(const CallbackInfo\u0026 info);","  using InstanceGetterCallback = Napi::Value (T::*)(const CallbackInfo\u0026 info);","  using InstanceSetterCallback = void (T::*)(const CallbackInfo\u0026 info,","                                             const Napi::Value\u0026 value);","","  using PropertyDescriptor = ClassPropertyDescriptor\u003cT\u003e;","","  static PropertyDescriptor InstanceMethod(","      const char* utf8name,","      InstanceVoidMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceMethod(","      const char* utf8name,","      InstanceMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceMethod(","      Symbol name,","      InstanceVoidMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceMethod(","      Symbol name,","      InstanceMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceVoidMethodCallback method\u003e","  static PropertyDescriptor InstanceMethod(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceMethodCallback method\u003e","  static PropertyDescriptor InstanceMethod(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceVoidMethodCallback method\u003e","  static PropertyDescriptor InstanceMethod(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceMethodCallback method\u003e","  static PropertyDescriptor InstanceMethod(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceAccessor(","      const char* utf8name,","      InstanceGetterCallback getter,","      InstanceSetterCallback setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceAccessor(","      Symbol name,","      InstanceGetterCallback getter,","      InstanceSetterCallback setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceGetterCallback getter,","            InstanceSetterCallback setter = nullptr\u003e","  static PropertyDescriptor InstanceAccessor(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cInstanceGetterCallback getter,","            InstanceSetterCallback setter = nullptr\u003e","  static PropertyDescriptor InstanceAccessor(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor InstanceValue(","      const char* utf8name,","      Napi::Value value,","      napi_property_attributes attributes = napi_default);","  static PropertyDescriptor InstanceValue(","      Symbol name,","      Napi::Value value,","      napi_property_attributes attributes = napi_default);",""," protected:","  static void AttachPropData(napi_env env,","                             napi_value value,","                             const napi_property_descriptor* prop);",""," private:","  using This = InstanceWrap\u003cT\u003e;","","  using InstanceVoidMethodCallbackData =","      MethodCallbackData\u003cT, InstanceVoidMethodCallback\u003e;","  using InstanceMethodCallbackData =","      MethodCallbackData\u003cT, InstanceMethodCallback\u003e;","  using InstanceAccessorCallbackData =","      AccessorCallbackData\u003cT, InstanceGetterCallback, InstanceSetterCallback\u003e;","","  static napi_value InstanceVoidMethodCallbackWrapper(napi_env env,","                                                      napi_callback_info info);","  static napi_value InstanceMethodCallbackWrapper(napi_env env,","                                                  napi_callback_info info);","  static napi_value InstanceGetterCallbackWrapper(napi_env env,","                                                  napi_callback_info info);","  static napi_value InstanceSetterCallbackWrapper(napi_env env,","                                                  napi_callback_info info);","","  template \u003cInstanceSetterCallback method\u003e","  static napi_value WrappedMethod(napi_env env,","                                  napi_callback_info info) NAPI_NOEXCEPT;","","  template \u003cInstanceSetterCallback setter\u003e","  struct SetterTag {};","","  template \u003cInstanceSetterCallback setter\u003e","  static napi_callback WrapSetter(SetterTag\u003csetter\u003e) NAPI_NOEXCEPT {","    return \u0026This::WrappedMethod\u003csetter\u003e;","  }","  static napi_callback WrapSetter(SetterTag\u003cnullptr\u003e) NAPI_NOEXCEPT {","    return nullptr;","  }","};","","/// Base class to be extended by C++ classes exposed to JavaScript; each C++","/// class instance gets \"wrapped\" by a JavaScript object that is managed by this","/// class.","///","/// At initialization time, the `DefineClass()` method must be used to","/// hook up the accessor and method callbacks. It takes a list of","/// property descriptors, which can be constructed via the various","/// static methods on the base class.","///","/// #### Example:","///","///     class Example: public Napi::ObjectWrap\u003cExample\u003e {","///       public:","///         static void Initialize(Napi::Env\u0026 env, Napi::Object\u0026 target) {","///           Napi::Function constructor = DefineClass(env, \"Example\", {","///             InstanceAccessor\u003c\u0026Example::GetSomething,","///             \u0026Example::SetSomething\u003e(\"value\"),","///             InstanceMethod\u003c\u0026Example::DoSomething\u003e(\"doSomething\"),","///           });","///           target.Set(\"Example\", constructor);","///         }","///","///         Example(const Napi::CallbackInfo\u0026 info); // Constructor","///         Napi::Value GetSomething(const Napi::CallbackInfo\u0026 info);","///         void SetSomething(const Napi::CallbackInfo\u0026 info, const Napi::Value\u0026","///         value); Napi::Value DoSomething(const Napi::CallbackInfo\u0026 info);","///     }","template \u003ctypename T\u003e","class ObjectWrap : public InstanceWrap\u003cT\u003e, public Reference\u003cObject\u003e {"," public:","  ObjectWrap(const CallbackInfo\u0026 callbackInfo);","  virtual ~ObjectWrap();","","  static T* Unwrap(Object wrapper);","","  // Methods exposed to JavaScript must conform to one of these callback","  // signatures.","  using StaticVoidMethodCallback = void (*)(const CallbackInfo\u0026 info);","  using StaticMethodCallback = Napi::Value (*)(const CallbackInfo\u0026 info);","  using StaticGetterCallback = Napi::Value (*)(const CallbackInfo\u0026 info);","  using StaticSetterCallback = void (*)(const CallbackInfo\u0026 info,","                                        const Napi::Value\u0026 value);","","  using PropertyDescriptor = ClassPropertyDescriptor\u003cT\u003e;","","  static Function DefineClass(","      Napi::Env env,","      const char* utf8name,","      const std::initializer_list\u003cPropertyDescriptor\u003e\u0026 properties,","      void* data = nullptr);","  static Function DefineClass(Napi::Env env,","                              const char* utf8name,","                              const std::vector\u003cPropertyDescriptor\u003e\u0026 properties,","                              void* data = nullptr);","  static PropertyDescriptor StaticMethod(","      const char* utf8name,","      StaticVoidMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticMethod(","      const char* utf8name,","      StaticMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticMethod(","      Symbol name,","      StaticVoidMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticMethod(","      Symbol name,","      StaticMethodCallback method,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticVoidMethodCallback method\u003e","  static PropertyDescriptor StaticMethod(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticVoidMethodCallback method\u003e","  static PropertyDescriptor StaticMethod(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticMethodCallback method\u003e","  static PropertyDescriptor StaticMethod(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticMethodCallback method\u003e","  static PropertyDescriptor StaticMethod(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticAccessor(","      const char* utf8name,","      StaticGetterCallback getter,","      StaticSetterCallback setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticAccessor(","      Symbol name,","      StaticGetterCallback getter,","      StaticSetterCallback setter,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticGetterCallback getter, StaticSetterCallback setter = nullptr\u003e","  static PropertyDescriptor StaticAccessor(","      const char* utf8name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  template \u003cStaticGetterCallback getter, StaticSetterCallback setter = nullptr\u003e","  static PropertyDescriptor StaticAccessor(","      Symbol name,","      napi_property_attributes attributes = napi_default,","      void* data = nullptr);","  static PropertyDescriptor StaticValue(","      const char* utf8name,","      Napi::Value value,","      napi_property_attributes attributes = napi_default);","  static PropertyDescriptor StaticValue(","      Symbol name,","      Napi::Value value,","      napi_property_attributes attributes = napi_default);","  static Napi::Value OnCalledAsFunction(const Napi::CallbackInfo\u0026 callbackInfo);","  virtual void Finalize(Napi::Env env);","  virtual void Finalize(BasicEnv env);",""," private:","  using This = ObjectWrap\u003cT\u003e;","","  static napi_value ConstructorCallbackWrapper(napi_env env,","                                               napi_callback_info info);","  static napi_value StaticVoidMethodCallbackWrapper(napi_env env,","                                                    napi_callback_info info);","  static napi_value StaticMethodCallbackWrapper(napi_env env,","                                                napi_callback_info info);","  static napi_value StaticGetterCallbackWrapper(napi_env env,","                                                napi_callback_info info);","  static napi_value StaticSetterCallbackWrapper(napi_env env,","                                                napi_callback_info info);","  static void FinalizeCallback(node_addon_api_basic_env env,","                               void* data,","                               void* hint);","","  static void PostFinalizeCallback(napi_env env, void* data, void* hint);","","  static Function DefineClass(Napi::Env env,","                              const char* utf8name,","                              const size_t props_count,","                              const napi_property_descriptor* props,","                              void* data = nullptr);","","  using StaticVoidMethodCallbackData =","      MethodCallbackData\u003cT, StaticVoidMethodCallback\u003e;","  using StaticMethodCallbackData = MethodCallbackData\u003cT, StaticMethodCallback\u003e;","","  using StaticAccessorCallbackData =","      AccessorCallbackData\u003cT, StaticGetterCallback, StaticSetterCallback\u003e;","","  template \u003cStaticSetterCallback method\u003e","  static napi_value WrappedMethod(napi_env env,","                                  napi_callback_info info) NAPI_NOEXCEPT;","","  template \u003cStaticSetterCallback setter\u003e","  struct StaticSetterTag {};","","  template \u003cStaticSetterCallback setter\u003e","  static napi_callback WrapStaticSetter(StaticSetterTag\u003csetter\u003e) NAPI_NOEXCEPT {","    return \u0026This::WrappedMethod\u003csetter\u003e;","  }","  static napi_callback WrapStaticSetter(StaticSetterTag\u003cnullptr\u003e)","      NAPI_NOEXCEPT {","    return nullptr;","  }","","  bool _construction_failed = true;","  bool _finalized = false;","};","","class HandleScope {"," public:","  HandleScope(napi_env env, napi_handle_scope scope);","  explicit HandleScope(Napi::Env env);","  ~HandleScope();","","  // Disallow copying to prevent double close of napi_handle_scope","  NAPI_DISALLOW_ASSIGN_COPY(HandleScope)","","  operator napi_handle_scope() const;","","  Napi::Env Env() const;",""," private:","  napi_env _env;","  napi_handle_scope _scope;","};","","class EscapableHandleScope {"," public:","  EscapableHandleScope(napi_env env, napi_escapable_handle_scope scope);","  explicit EscapableHandleScope(Napi::Env env);","  ~EscapableHandleScope();","","  // Disallow copying to prevent double close of napi_escapable_handle_scope","  NAPI_DISALLOW_ASSIGN_COPY(EscapableHandleScope)","","  operator napi_escapable_handle_scope() const;","","  Napi::Env Env() const;","  Value Escape(napi_value escapee);",""," private:","  napi_env _env;","  napi_escapable_handle_scope _scope;","};","","#if (NAPI_VERSION \u003e 2)","class CallbackScope {"," public:","  CallbackScope(napi_env env, napi_callback_scope scope);","  CallbackScope(napi_env env, napi_async_context context);","  virtual ~CallbackScope();","","  // Disallow copying to prevent double close of napi_callback_scope","  NAPI_DISALLOW_ASSIGN_COPY(CallbackScope)","","  operator napi_callback_scope() const;","","  Napi::Env Env() const;",""," private:","  napi_env _env;","  napi_callback_scope _scope;","};","#endif","","class AsyncContext {"," public:","  explicit AsyncContext(napi_env env, const char* resource_name);","  explicit AsyncContext(napi_env env,","                        const char* resource_name,","                        const Object\u0026 resource);","  virtual ~AsyncContext();","","  AsyncContext(AsyncContext\u0026\u0026 other);","  AsyncContext\u0026 operator=(AsyncContext\u0026\u0026 other);","  NAPI_DISALLOW_ASSIGN_COPY(AsyncContext)","","  operator napi_async_context() const;","","  Napi::Env Env() const;",""," private:","  napi_env _env;","  napi_async_context _context;","};","","#if NAPI_HAS_THREADS","class AsyncWorker {"," public:","  virtual ~AsyncWorker();","","  NAPI_DISALLOW_ASSIGN_COPY(AsyncWorker)","","  operator napi_async_work() const;","","  Napi::Env Env() const;","","  void Queue();","  void Cancel();","  void SuppressDestruct();","","  ObjectReference\u0026 Receiver();","  FunctionReference\u0026 Callback();","","  virtual void OnExecute(Napi::Env env);","  virtual void OnWorkComplete(Napi::Env env, napi_status status);",""," protected:","  explicit AsyncWorker(const Function\u0026 callback);","  explicit AsyncWorker(const Function\u0026 callback, const char* resource_name);","  explicit AsyncWorker(const Function\u0026 callback,","                       const char* resource_name,","                       const Object\u0026 resource);","  explicit AsyncWorker(const Object\u0026 receiver, const Function\u0026 callback);","  explicit AsyncWorker(const Object\u0026 receiver,","                       const Function\u0026 callback,","                       const char* resource_name);","  explicit AsyncWorker(const Object\u0026 receiver,","                       const Function\u0026 callback,","                       const char* resource_name,","                       const Object\u0026 resource);","","  explicit AsyncWorker(Napi::Env env);","  explicit AsyncWorker(Napi::Env env, const char* resource_name);","  explicit AsyncWorker(Napi::Env env,","                       const char* resource_name,","                       const Object\u0026 resource);","","  virtual void Execute() = 0;","  virtual void OnOK();","  virtual void OnError(const Error\u0026 e);","  virtual void Destroy();","  virtual std::vector\u003cnapi_value\u003e GetResult(Napi::Env env);","","  void SetError(const std::string\u0026 error);",""," private:","  static inline void OnAsyncWorkExecute(napi_env env, void* asyncworker);","  static inline void OnAsyncWorkComplete(napi_env env,","                                         napi_status status,","                                         void* asyncworker);","","  napi_env _env;","  napi_async_work _work;","  ObjectReference _receiver;","  FunctionReference _callback;","  std::string _error;","  bool _suppress_destruct;","};","#endif  // NAPI_HAS_THREADS","","#if (NAPI_VERSION \u003e 3 \u0026\u0026 NAPI_HAS_THREADS)","class ThreadSafeFunction {"," public:","  // This API may only be called from the main thread.","  template \u003ctypename ResourceString\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount);","","  // This API may only be called from the main thread.","  template \u003ctypename ResourceString, typename ContextType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context);","","  // This API may only be called from the main thread.","  // Finalizer must implement `void operator()(Env env)`.","  template \u003ctypename ResourceString, typename Finalizer\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                Finalizer finalizeCallback);","","  // This API may only be called from the main thread.","  // Finalizer must implement","  // `void operator()(Env env, FinalizerDataType* data)`.","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                Finalizer finalizeCallback,","                                FinalizerDataType* data);","","  // This API may only be called from the main thread.","  // Finalizer must implement","  // `void operator()(Env env, ContextType* context)`.","  template \u003ctypename ResourceString, typename ContextType, typename Finalizer\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context,","                                Finalizer finalizeCallback);","","  // This API may only be called from the main thread.","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename ResourceString,","            typename ContextType,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context,","                                Finalizer finalizeCallback,","                                FinalizerDataType* data);","","  // This API may only be called from the main thread.","  template \u003ctypename ResourceString\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount);","","  // This API may only be called from the main thread.","  template \u003ctypename ResourceString, typename ContextType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context);","","  // This API may only be called from the main thread.","  // Finalizer must implement `void operator()(Env env)`.","  template \u003ctypename ResourceString, typename Finalizer\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                Finalizer finalizeCallback);","","  // This API may only be called from the main thread.","  // Finalizer must implement","  // `void operator()(Env env, FinalizerDataType* data)`.","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                Finalizer finalizeCallback,","                                FinalizerDataType* data);","","  // This API may only be called from the main thread.","  // Finalizer must implement","  // `void operator()(Env env, ContextType* context)`.","  template \u003ctypename ResourceString, typename ContextType, typename Finalizer\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context,","                                Finalizer finalizeCallback);","","  // This API may only be called from the main thread.","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename ResourceString,","            typename ContextType,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context,","                                Finalizer finalizeCallback,","                                FinalizerDataType* data);","","  ThreadSafeFunction();","  ThreadSafeFunction(napi_threadsafe_function tsFunctionValue);","","  operator napi_threadsafe_function() const;","","  // This API may be called from any thread.","  napi_status BlockingCall() const;","","  // This API may be called from any thread.","  template \u003ctypename Callback\u003e","  napi_status BlockingCall(Callback callback) const;","","  // This API may be called from any thread.","  template \u003ctypename DataType, typename Callback\u003e","  napi_status BlockingCall(DataType* data, Callback callback) const;","","  // This API may be called from any thread.","  napi_status NonBlockingCall() const;","","  // This API may be called from any thread.","  template \u003ctypename Callback\u003e","  napi_status NonBlockingCall(Callback callback) const;","","  // This API may be called from any thread.","  template \u003ctypename DataType, typename Callback\u003e","  napi_status NonBlockingCall(DataType* data, Callback callback) const;","","  // This API may only be called from the main thread.","  void Ref(napi_env env) const;","","  // This API may only be called from the main thread.","  void Unref(napi_env env) const;","","  // This API may be called from any thread.","  napi_status Acquire() const;","","  // This API may be called from any thread.","  napi_status Release() const;","","  // This API may be called from any thread.","  napi_status Abort() const;","","  struct ConvertibleContext {","    template \u003cclass T\u003e","    operator T*() {","      return static_cast\u003cT*\u003e(context);","    }","    void* context;","  };","","  // This API may be called from any thread.","  ConvertibleContext GetContext() const;",""," private:","  using CallbackWrapper = std::function\u003cvoid(Napi::Env, Napi::Function)\u003e;","","  template \u003ctypename ResourceString,","            typename ContextType,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static ThreadSafeFunction New(napi_env env,","                                const Function\u0026 callback,","                                const Object\u0026 resource,","                                ResourceString resourceName,","                                size_t maxQueueSize,","                                size_t initialThreadCount,","                                ContextType* context,","                                Finalizer finalizeCallback,","                                FinalizerDataType* data,","                                napi_finalize wrapper);","","  napi_status CallInternal(CallbackWrapper* callbackWrapper,","                           napi_threadsafe_function_call_mode mode) const;","","  static void CallJS(napi_env env,","                     napi_value jsCallback,","                     void* context,","                     void* data);","","  napi_threadsafe_function _tsfn;","};","","// A TypedThreadSafeFunction by default has no context (nullptr) and can","// accept any type (void) to its CallJs.","template \u003ctypename ContextType = std::nullptr_t,","          typename DataType = void,","          void (*CallJs)(Napi::Env, Napi::Function, ContextType*, DataType*) =","              nullptr\u003e","class TypedThreadSafeFunction {"," public:","  // This API may only be called from the main thread.","  // Helper function that returns nullptr if running Node-API 5+, otherwise a","  // non-empty, no-op Function. This provides the ability to specify at","  // compile-time a callback parameter to `New` that safely does no action","  // when targeting _any_ Node-API version.","#if NAPI_VERSION \u003e 4","  static std::nullptr_t EmptyFunctionFactory(Napi::Env env);","#else","  static Napi::Function EmptyFunctionFactory(Napi::Env env);","#endif","  static Napi::Function FunctionOrEmpty(Napi::Env env,","                                        Napi::Function\u0026 callback);","","#if NAPI_VERSION \u003e 4","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [missing] Resource [missing] Finalizer [missing]","  template \u003ctypename ResourceString\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [missing] Resource [passed] Finalizer [missing]","  template \u003ctypename ResourceString\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Object\u0026 resource,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [missing] Resource [missing] Finalizer [passed]","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType = void\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context,","      Finalizer finalizeCallback,","      FinalizerDataType* data = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [missing] Resource [passed] Finalizer [passed]","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType = void\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Object\u0026 resource,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context,","      Finalizer finalizeCallback,","      FinalizerDataType* data = nullptr);","#endif","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [passed] Resource [missing] Finalizer [missing]","  template \u003ctypename ResourceString\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Function\u0026 callback,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [passed] Resource [passed] Finalizer [missing]","  template \u003ctypename ResourceString\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Function\u0026 callback,","      const Object\u0026 resource,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [passed] Resource [missing] Finalizer [passed]","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType = void\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Function\u0026 callback,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context,","      Finalizer finalizeCallback,","      FinalizerDataType* data = nullptr);","","  // This API may only be called from the main thread.","  // Creates a new threadsafe function with:","  //   Callback [passed] Resource [passed] Finalizer [passed]","  // Finalizer must implement `void operator()(Env env,","  // FinalizerDataType* data, ContextType* context)`.","  template \u003ctypename CallbackType,","            typename ResourceString,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      CallbackType callback,","      const Object\u0026 resource,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context,","      Finalizer finalizeCallback,","      FinalizerDataType* data = nullptr);","","  TypedThreadSafeFunction();","  TypedThreadSafeFunction(napi_threadsafe_function tsFunctionValue);","","  operator napi_threadsafe_function() const;","","  // This API may be called from any thread.","  napi_status BlockingCall(DataType* data = nullptr) const;","","  // This API may be called from any thread.","  napi_status NonBlockingCall(DataType* data = nullptr) const;","","  // This API may only be called from the main thread.","  void Ref(napi_env env) const;","","  // This API may only be called from the main thread.","  void Unref(napi_env env) const;","","  // This API may be called from any thread.","  napi_status Acquire() const;","","  // This API may be called from any thread.","  napi_status Release() const;","","  // This API may be called from any thread.","  napi_status Abort() const;","","  // This API may be called from any thread.","  ContextType* GetContext() const;",""," private:","  template \u003ctypename ResourceString,","            typename Finalizer,","            typename FinalizerDataType\u003e","  static TypedThreadSafeFunction\u003cContextType, DataType, CallJs\u003e New(","      napi_env env,","      const Function\u0026 callback,","      const Object\u0026 resource,","      ResourceString resourceName,","      size_t maxQueueSize,","      size_t initialThreadCount,","      ContextType* context,","      Finalizer finalizeCallback,","      FinalizerDataType* data,","      napi_finalize wrapper);","","  static void CallJsInternal(napi_env env,","                             napi_value jsCallback,","                             void* context,","                             void* data);",""," protected:","  napi_threadsafe_function _tsfn;","};","template \u003ctypename DataType\u003e","class AsyncProgressWorkerBase : public AsyncWorker {"," public:","  virtual void OnWorkProgress(DataType* data) = 0;","  class ThreadSafeData {","   public:","    ThreadSafeData(AsyncProgressWorkerBase* asyncprogressworker, DataType* data)","        : _asyncprogressworker(asyncprogressworker), _data(data) {}","","    AsyncProgressWorkerBase* asyncprogressworker() {","      return _asyncprogressworker;","    }","    DataType* data() { return _data; }","","   private:","    AsyncProgressWorkerBase* _asyncprogressworker;","    DataType* _data;","  };","  void OnWorkComplete(Napi::Env env, napi_status status) override;",""," protected:","  explicit AsyncProgressWorkerBase(const Object\u0026 receiver,","                                   const Function\u0026 callback,","                                   const char* resource_name,","                                   const Object\u0026 resource,","                                   size_t queue_size = 1);","  virtual ~AsyncProgressWorkerBase();","","// Optional callback of Napi::ThreadSafeFunction only available after","// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791","#if NAPI_VERSION \u003e 4","  explicit AsyncProgressWorkerBase(Napi::Env env,","                                   const char* resource_name,","                                   const Object\u0026 resource,","                                   size_t queue_size = 1);","#endif","","  static inline void OnAsyncWorkProgress(Napi::Env env,","                                         Napi::Function jsCallback,","                                         void* data);","","  napi_status NonBlockingCall(DataType* data);",""," private:","  ThreadSafeFunction _tsfn;","  bool _work_completed = false;","  napi_status _complete_status;","  static inline void OnThreadSafeFunctionFinalize(","      Napi::Env env, void* data, AsyncProgressWorkerBase* context);","};","","template \u003cclass T\u003e","class AsyncProgressWorker : public AsyncProgressWorkerBase\u003cvoid\u003e {"," public:","  virtual ~AsyncProgressWorker();","","  class ExecutionProgress {","    friend class AsyncProgressWorker;","","   public:","    void Signal() const;","    void Send(const T* data, size_t count) const;","","   private:","    explicit ExecutionProgress(AsyncProgressWorker* worker) : _worker(worker) {}","    AsyncProgressWorker* const _worker;","  };","","  void OnWorkProgress(void*) override;",""," protected:","  explicit AsyncProgressWorker(const Function\u0026 callback);","  explicit AsyncProgressWorker(const Function\u0026 callback,","                               const char* resource_name);","  explicit AsyncProgressWorker(const Function\u0026 callback,","                               const char* resource_name,","                               const Object\u0026 resource);","  explicit AsyncProgressWorker(const Object\u0026 receiver,","                               const Function\u0026 callback);","  explicit AsyncProgressWorker(const Object\u0026 receiver,","                               const Function\u0026 callback,","                               const char* resource_name);","  explicit AsyncProgressWorker(const Object\u0026 receiver,","                               const Function\u0026 callback,","                               const char* resource_name,","                               const Object\u0026 resource);","","// Optional callback of Napi::ThreadSafeFunction only available after","// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791","#if NAPI_VERSION \u003e 4","  explicit AsyncProgressWorker(Napi::Env env);","  explicit AsyncProgressWorker(Napi::Env env, const char* resource_name);","  explicit AsyncProgressWorker(Napi::Env env,","                               const char* resource_name,","                               const Object\u0026 resource);","#endif","  virtual void Execute(const ExecutionProgress\u0026 progress) = 0;","  virtual void OnProgress(const T* data, size_t count) = 0;",""," private:","  void Execute() override;","  void Signal();","  void SendProgress_(const T* data, size_t count);","","  std::mutex _mutex;","  T* _asyncdata;","  size_t _asyncsize;","  bool _signaled;","};","","template \u003cclass T\u003e","class AsyncProgressQueueWorker","    : public AsyncProgressWorkerBase\u003cstd::pair\u003cT*, size_t\u003e\u003e {"," public:","  virtual ~AsyncProgressQueueWorker(){};","","  class ExecutionProgress {","    friend class AsyncProgressQueueWorker;","","   public:","    void Signal() const;","    void Send(const T* data, size_t count) const;","","   private:","    explicit ExecutionProgress(AsyncProgressQueueWorker* worker)","        : _worker(worker) {}","    AsyncProgressQueueWorker* const _worker;","  };","","  void OnWorkComplete(Napi::Env env, napi_status status) override;","  void OnWorkProgress(std::pair\u003cT*, size_t\u003e*) override;",""," protected:","  explicit AsyncProgressQueueWorker(const Function\u0026 callback);","  explicit AsyncProgressQueueWorker(const Function\u0026 callback,","                                    const char* resource_name);","  explicit AsyncProgressQueueWorker(const Function\u0026 callback,","                                    const char* resource_name,","                                    const Object\u0026 resource);","  explicit AsyncProgressQueueWorker(const Object\u0026 receiver,","                                    const Function\u0026 callback);","  explicit AsyncProgressQueueWorker(const Object\u0026 receiver,","                                    const Function\u0026 callback,","                                    const char* resource_name);","  explicit AsyncProgressQueueWorker(const Object\u0026 receiver,","                                    const Function\u0026 callback,","                                    const char* resource_name,","                                    const Object\u0026 resource);","","// Optional callback of Napi::ThreadSafeFunction only available after","// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791","#if NAPI_VERSION \u003e 4","  explicit AsyncProgressQueueWorker(Napi::Env env);","  explicit AsyncProgressQueueWorker(Napi::Env env, const char* resource_name);","  explicit AsyncProgressQueueWorker(Napi::Env env,","                                    const char* resource_name,","                                    const Object\u0026 resource);","#endif","  virtual void Execute(const ExecutionProgress\u0026 progress) = 0;","  virtual void OnProgress(const T* data, size_t count) = 0;",""," private:","  void Execute() override;","  void Signal() const;","  void SendProgress_(const T* data, size_t count);","};","#endif  // NAPI_VERSION \u003e 3 \u0026\u0026 NAPI_HAS_THREADS","","// Memory management.","class MemoryManagement {"," public:","  static int64_t AdjustExternalMemory(BasicEnv env, int64_t change_in_bytes);","};","","// Version management","class VersionManagement {"," public:","  static uint32_t GetNapiVersion(BasicEnv env);","  static const napi_node_version* GetNodeVersion(BasicEnv env);","};","","#if NAPI_VERSION \u003e 5","template \u003ctypename T\u003e","class Addon : public InstanceWrap\u003cT\u003e {"," public:","  static inline Object Init(Env env, Object exports);","  static T* Unwrap(Object wrapper);",""," protected:","  using AddonProp = ClassPropertyDescriptor\u003cT\u003e;","  void DefineAddon(Object exports,","                   const std::initializer_list\u003cAddonProp\u003e\u0026 props);","  Napi::Object DefineProperties(Object object,","                                const std::initializer_list\u003cAddonProp\u003e\u0026 props);",""," private:","  Object entry_point_;","};","#endif  // NAPI_VERSION \u003e 5","","#ifdef NAPI_CPP_CUSTOM_NAMESPACE","}  // namespace NAPI_CPP_CUSTOM_NAMESPACE","#endif","","}  // namespace Napi","","// Inline implementations of all the above class methods are included here.","#include \"napi-inl.h\"","","#endif  // SRC_NAPI_H_"],"stylingDirectives":[[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,19,"pl-en"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[28,35,"pl-k"],[49,56,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,26,"pl-c1"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,26,"pl-c1"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[],[[1,8,"pl-k"],[9,21,"pl-s"],[9,10,"pl-pds"],[20,21,"pl-pds"]],[[1,8,"pl-k"],[9,21,"pl-s"],[9,10,"pl-pds"],[20,21,"pl-pds"]],[[1,8,"pl-k"],[9,27,"pl-s"],[9,10,"pl-pds"],[26,27,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,3,"pl-k"]],[[1,8,"pl-k"],[9,16,"pl-s"],[9,10,"pl-pds"],[15,16,"pl-pds"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,22,"pl-s"],[9,10,"pl-pds"],[21,22,"pl-pds"]],[[1,8,"pl-k"],[9,22,"pl-s"],[9,10,"pl-pds"],[21,22,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[],[[0,79,"pl-c"],[0,2,"pl-c"]],[[0,16,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,28,"pl-c1"]],[[1,6,"pl-k"]],[],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,22,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[0,13,"pl-k"],[14,20,"pl-k"],[21,29,"pl-k"],[34,40,"pl-k"],[41,48,"pl-k"]],[[14,58,"pl-s"],[14,15,"pl-pds"],[57,58,"pl-pds"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,24,"pl-v"],[26,42,"pl-k"],[43,51,"pl-k"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,24,"pl-v"]],[[1,6,"pl-k"]],[],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,43,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,6,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,45,"pl-en"]],[[1,6,"pl-k"]],[[1,3,"pl-k"]],[[5,12,"pl-k"],[13,40,"pl-c1"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,6,"pl-k"]],[],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,55,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[5,12,"pl-k"],[13,50,"pl-c1"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,5,"pl-k"]],[[1,6,"pl-k"]],[[20,49,"pl-c1"],[50,52,"pl-k"],[53,90,"pl-c1"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,20,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[4,11,"pl-en"],[12,39,"pl-c1"]],[[1,6,"pl-k"]],[[4,33,"pl-c1"],[37,44,"pl-k"]],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,30,"pl-k"]],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,41,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,49,"pl-c"],[0,2,"pl-c"]],[],[[1,7,"pl-k"],[8,18,"pl-en"],[27,32,"pl-k"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-v"],[27,32,"pl-k"]],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[[2,4,"pl-k"],[27,32,"pl-k"],[33,49,"pl-en"]],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,45,"pl-v"]],[[2,4,"pl-k"],[27,32,"pl-k"],[33,49,"pl-en"]],[],[[1,5,"pl-k"],[7,39,"pl-c"],[7,9,"pl-c"]],[],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,62,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,49,"pl-c"],[0,2,"pl-c"]],[],[[1,7,"pl-k"],[8,18,"pl-en"]],[[2,4,"pl-k"]],[[8,34,"pl-c1"]],[[4,10,"pl-k"]],[[4,9,"pl-k"],[11,12,"pl-c1"]],[],[[1,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-v"]],[[2,4,"pl-k"]],[[8,34,"pl-c1"]],[[4,10,"pl-k"]],[[4,9,"pl-k"],[11,12,"pl-c1"]],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[[2,4,"pl-k"]],[[4,20,"pl-c1"],[26,52,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,45,"pl-v"]],[[2,4,"pl-k"]],[[4,20,"pl-c1"],[26,52,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[1,6,"pl-k"],[8,40,"pl-c"],[8,10,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,34,"pl-en"],[35,52,"pl-v"]],[[2,22,"pl-en"]],[],[[1,7,"pl-k"],[8,38,"pl-en"],[39,64,"pl-v"]],[[2,28,"pl-en"]],[[2,8,"pl-k"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,34,"pl-en"],[35,52,"pl-v"]],[[2,22,"pl-en"]],[],[[1,7,"pl-k"],[8,38,"pl-en"],[39,64,"pl-v"]],[[2,28,"pl-en"]],[[2,8,"pl-k"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"],[8,28,"pl-en"],[29,34,"pl-v"],[36,40,"pl-k"],[41,49,"pl-k"],[51,56,"pl-k"],[57,62,"pl-c1"],[67,73,"pl-k"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,32,"pl-v"],[34,39,"pl-c1"],[40,45,"pl-k"],[46,51,"pl-c1"],[56,62,"pl-k"]],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,39,"pl-v"]],[[2,22,"pl-en"],[23,28,"pl-c1"]],[[21,26,"pl-c1"]],[],[[1,7,"pl-k"],[8,18,"pl-en"],[19,47,"pl-v"]],[[2,4,"pl-k"]],[[4,6,"pl-k"]],[[6,24,"pl-c1"]],[],[[4,9,"pl-k"],[11,12,"pl-c1"]],[],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,36,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[2,4,"pl-k"]],[[4,6,"pl-k"]],[[24,51,"pl-c1"]],[[6,24,"pl-c1"],[39,44,"pl-c1"]],[],[[4,9,"pl-k"],[11,12,"pl-c1"]],[],[[1,7,"pl-k"],[8,30,"pl-en"],[31,71,"pl-v"]],[[2,4,"pl-k"]],[[4,8,"pl-k"]],[[4,23,"pl-c1"]],[],[[24,35,"pl-s"],[24,25,"pl-pds"],[34,35,"pl-pds"],[44,62,"pl-s"],[44,45,"pl-pds"],[61,62,"pl-pds"]],[[24,36,"pl-s"],[24,25,"pl-pds"],[35,36,"pl-pds"],[50,53,"pl-s"],[50,51,"pl-pds"],[52,53,"pl-pds"]],[],[[4,9,"pl-k"],[11,12,"pl-c1"]],[],[[1,7,"pl-k"],[8,28,"pl-en"],[29,54,"pl-v"]],[[2,12,"pl-en"]],[],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,32,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[],[],[[1,6,"pl-k"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,58,"pl-c"],[0,2,"pl-c"]],[],[[0,79,"pl-c"],[0,2,"pl-c"]],[[0,47,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,35,"pl-en"]],[[0,5,"pl-k"],[6,15,"pl-k"],[16,41,"pl-en"],[41,42,"pl-k"]],[],[[0,9,"pl-k"],[10,35,"pl-en"]],[],[],[[0,23,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,9,"pl-en"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[0,5,"pl-k"],[6,13,"pl-en"]],[[0,5,"pl-k"],[6,12,"pl-en"]],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,12,"pl-en"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,10,"pl-en"]],[[1,6,"pl-k"]],[[0,5,"pl-k"],[6,12,"pl-en"]],[[0,5,"pl-k"],[6,12,"pl-en"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[0,5,"pl-k"],[6,17,"pl-en"]],[[0,5,"pl-k"],[6,14,"pl-en"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[0,5,"pl-k"],[6,24,"pl-en"]],[[0,5,"pl-k"],[6,18,"pl-en"]],[[0,5,"pl-k"],[6,16,"pl-en"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,18,"pl-en"]],[],[[0,5,"pl-k"]],[[17,23,"pl-c1"],[27,68,"pl-c"],[27,29,"pl-c"]],[[0,5,"pl-k"]],[[17,24,"pl-c1"],[28,71,"pl-c"],[28,30,"pl-c"]],[[0,5,"pl-k"]],[[17,24,"pl-c1"],[28,70,"pl-c"],[28,30,"pl-c"]],[[0,5,"pl-k"]],[[17,25,"pl-c1"],[29,73,"pl-c"],[29,31,"pl-c"]],[[0,5,"pl-k"]],[[17,24,"pl-c1"],[28,70,"pl-c"],[28,30,"pl-c"]],[[0,5,"pl-k"]],[[17,25,"pl-c1"],[29,73,"pl-c"],[29,31,"pl-c"]],[[0,5,"pl-k"]],[[17,22,"pl-k"],[26,74,"pl-c"],[26,28,"pl-c"]],[[0,5,"pl-k"]],[[17,23,"pl-k"],[27,75,"pl-c"],[27,29,"pl-c"]],[[1,3,"pl-k"]],[[0,5,"pl-k"]],[[17,24,"pl-c1"],[28,70,"pl-c"],[28,30,"pl-c"]],[[0,5,"pl-k"]],[[17,25,"pl-c1"],[29,73,"pl-c"],[29,31,"pl-c"]],[[1,6,"pl-k"],[29,48,"pl-c"],[29,31,"pl-c"]],[],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,20,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"]],[],[[0,5,"pl-k"],[6,22,"pl-en"]],[],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,10,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,60,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,17,"pl-en"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[1,8,"pl-k"]],[[2,6,"pl-k"],[7,16,"pl-en"],[19,24,"pl-k"]],[[2,6,"pl-k"],[7,13,"pl-en"],[16,21,"pl-k"]],[],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,69,"pl-c"],[2,4,"pl-c"]],[[2,14,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,12,"pl-en"],[15,20,"pl-k"]],[],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,61,"pl-c"],[2,4,"pl-c"]],[[4,10,"pl-en"],[13,18,"pl-k"]],[],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,45,"pl-c"],[2,4,"pl-c"]],[[4,12,"pl-en"],[13,18,"pl-k"],[37,42,"pl-k"]],[],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-en"],[24,29,"pl-k"]],[],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[38,43,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[38,43,"pl-k"]],[],[[1,9,"pl-k"]],[[2,7,"pl-en"]],[[2,10,"pl-k"],[11,16,"pl-en"],[17,22,"pl-k"]],[],[[2,6,"pl-k"]],[],[],[[2,11,"pl-k"],[12,17,"pl-k"],[18,19,"pl-en"]],[[2,8,"pl-k"],[18,25,"pl-en"]],[[2,11,"pl-k"],[12,17,"pl-k"],[18,19,"pl-en"]],[[2,8,"pl-k"],[18,22,"pl-en"],[23,28,"pl-k"]],[],[],[[0,9,"pl-k"],[10,15,"pl-k"],[16,17,"pl-en"]],[[0,6,"pl-k"],[16,23,"pl-en"]],[],[[0,9,"pl-k"],[10,15,"pl-k"],[16,17,"pl-en"]],[[0,6,"pl-k"],[16,20,"pl-en"],[21,26,"pl-k"]],[],[[1,3,"pl-k"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"]],[[1,5,"pl-k"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"]],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[[0,5,"pl-k"]],[[0,5,"pl-k"]],[[1,5,"pl-k"]],[[0,5,"pl-k"]],[[0,5,"pl-k"]],[[1,6,"pl-k"]],[],[[0,51,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,68,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,14,"pl-en"]],[[1,9,"pl-k"]],[],[[1,3,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,25,"pl-en"]],[[2,11,"pl-k"],[12,20,"pl-k"],[31,39,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,33,"pl-en"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[[1,8,"pl-k"]],[[2,10,"pl-en"]],[],[[2,10,"pl-k"],[11,35,"pl-en"],[38,43,"pl-k"]],[],[[2,49,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,36,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[41,46,"pl-k"]],[[4,10,"pl-k"],[25,29,"pl-smi"]],[],[[2,6,"pl-k"],[7,15,"pl-k"],[23,32,"pl-c1"],[33,42,"pl-c"],[33,35,"pl-c"],[40,42,"pl-c"],[44,49,"pl-k"]],[[4,10,"pl-k"],[19,26,"pl-c1"]],[],[],[[1,3,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"],[27,35,"pl-k"],[42,46,"pl-k"]],[[2,7,"pl-k"],[8,19,"pl-en"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[20,34,"pl-en"]],[],[[2,11,"pl-k"],[12,20,"pl-k"],[27,35,"pl-k"]],[[25,39,"pl-en"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[5,20,"pl-en"],[23,28,"pl-k"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,7,"pl-k"],[20,24,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,6,"pl-k"],[7,22,"pl-en"],[32,37,"pl-k"]],[],[[2,11,"pl-k"],[12,20,"pl-k"],[31,39,"pl-k"]],[[2,7,"pl-k"],[28,32,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[],[],[[2,6,"pl-k"],[7,22,"pl-en"],[55,60,"pl-k"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"],[27,35,"pl-k"]],[[2,7,"pl-k"],[8,19,"pl-en"]],[[3,10,"pl-k"]],[[4,15,"pl-en"]],[[4,15,"pl-en"]],[[4,15,"pl-en"]],[[4,8,"pl-k"],[9,15,"pl-en"]],[[4,8,"pl-k"],[9,16,"pl-en"],[19,24,"pl-k"]],[],[[3,11,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-k"],[18,22,"pl-k"],[23,30,"pl-en"],[31,35,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-k"],[18,22,"pl-k"],[23,37,"pl-en"],[38,42,"pl-k"]],[],[[4,8,"pl-en"],[20,24,"pl-k"]],[[4,10,"pl-k"],[11,22,"pl-en"]],[],[],[],[],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[2,7,"pl-k"],[8,12,"pl-k"],[14,31,"pl-en"],[34,39,"pl-k"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,6,"pl-k"]],[[2,61,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,27,"pl-en"],[60,65,"pl-k"]],[],[[2,70,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[36,44,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,27,"pl-en"],[69,74,"pl-k"]],[],[[2,68,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[36,44,"pl-k"],[48,56,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,27,"pl-en"]],[],[[48,53,"pl-k"]],[[1,6,"pl-k"],[8,51,"pl-c"],[8,10,"pl-c"]],[],[[2,8,"pl-k"],[9,14,"pl-k"],[15,18,"pl-en"]],[],[],[[0,5,"pl-k"],[6,9,"pl-en"],[12,18,"pl-k"],[19,27,"pl-en"]],[[1,8,"pl-k"]],[[2,5,"pl-en"]],[],[[2,10,"pl-k"],[11,19,"pl-en"],[22,27,"pl-k"]],[],[[9,15,"pl-en"],[18,23,"pl-k"]],[[8,17,"pl-en"],[20,25,"pl-k"]],[[8,12,"pl-en"],[15,20,"pl-k"]],[],[[2,6,"pl-k"],[7,25,"pl-en"],[28,33,"pl-k"]],[[8,35,"pl-en"],[38,43,"pl-k"]],[],[[22,31,"pl-en"],[32,37,"pl-k"],[38,42,"pl-k"],[56,61,"pl-k"]],[[22,31,"pl-en"],[32,37,"pl-k"],[63,68,"pl-k"]],[[22,31,"pl-en"],[47,52,"pl-k"]],[],[],[[0,39,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,20,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,31,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,20,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,38,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[1,8,"pl-k"]],[[2,7,"pl-en"],[12,54,"pl-c"],[12,14,"pl-c"]],[[2,7,"pl-en"]],[[28,66,"pl-c"],[28,30,"pl-c"]],[],[[2,46,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,12,"pl-c"],[2,4,"pl-c"]],[[2,24,"pl-c"],[2,4,"pl-c"]],[[2,31,"pl-c"],[2,4,"pl-c"]],[[2,58,"pl-c"],[2,4,"pl-c"]],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,41,"pl-c"],[2,4,"pl-c"]],[[2,22,"pl-c"],[2,4,"pl-c"]],[[2,19,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[15,19,"pl-en"],[34,39,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,45,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,57,"pl-c"],[2,4,"pl-c"]],[[2,10,"pl-k"],[11,21,"pl-en"],[24,29,"pl-k"]],[],[[2,56,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[38,43,"pl-k"]],[],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[38,43,"pl-k"]],[],[[2,56,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,19,"pl-en"],[20,25,"pl-k"],[40,45,"pl-k"]],[],[[2,56,"pl-c"],[2,4,"pl-c"]],[[12,15,"pl-en"],[18,23,"pl-k"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,80,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,68,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,79,"pl-c"],[2,4,"pl-c"]],[[2,79,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,40,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,14,"pl-en"],[17,22,"pl-k"]],[],[[17,21,"pl-en"],[24,29,"pl-k"],[32,64,"pl-c"],[32,34,"pl-c"]],[],[[2,6,"pl-k"],[7,18,"pl-en"]],[[6,11,"pl-k"],[24,79,"pl-c"],[24,26,"pl-c"]],[[2,6,"pl-k"],[7,13,"pl-en"],[16,21,"pl-k"],[24,73,"pl-c"],[24,26,"pl-c"]],[[2,6,"pl-k"],[7,16,"pl-en"],[19,24,"pl-k"],[27,73,"pl-c"],[27,29,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[27,72,"pl-c"],[27,29,"pl-c"]],[[1,3,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[26,71,"pl-c"],[26,28,"pl-c"]],[[1,6,"pl-k"],[26,45,"pl-c"],[26,28,"pl-c"]],[[1,3,"pl-k"]],[[2,6,"pl-k"],[7,13,"pl-en"],[16,21,"pl-k"],[24,67,"pl-c"],[24,26,"pl-c"]],[[1,6,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[26,71,"pl-c"],[26,28,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[26,71,"pl-c"],[26,28,"pl-c"]],[[2,6,"pl-k"],[7,14,"pl-en"],[17,22,"pl-k"],[26,70,"pl-c"],[26,28,"pl-c"]],[[2,6,"pl-k"],[7,20,"pl-en"]],[[6,11,"pl-k"],[14,65,"pl-c"],[14,16,"pl-c"]],[[2,6,"pl-k"],[7,19,"pl-en"],[22,27,"pl-k"],[30,80,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[30,75,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,17,"pl-en"],[20,25,"pl-k"],[30,77,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,16,"pl-en"],[19,24,"pl-k"],[30,76,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,17,"pl-en"],[20,25,"pl-k"],[30,78,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,15,"pl-en"],[18,23,"pl-k"],[30,69,"pl-c"],[30,32,"pl-c"]],[[2,6,"pl-k"],[7,17,"pl-en"],[20,25,"pl-k"],[28,80,"pl-c"],[28,30,"pl-c"]],[[1,6,"pl-k"]],[[2,6,"pl-k"],[7,26,"pl-en"],[29,34,"pl-k"]],[[1,6,"pl-k"]],[],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,14,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,67,"pl-c"],[2,4,"pl-c"]],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,56,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[4,6,"pl-en"],[9,14,"pl-k"]],[],[[2,43,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[4,12,"pl-en"],[15,20,"pl-k"]],[],[[24,33,"pl-en"]],[[6,11,"pl-k"],[14,59,"pl-c"],[14,16,"pl-c"]],[[23,31,"pl-en"]],[[6,11,"pl-k"],[14,58,"pl-c"],[14,16,"pl-c"]],[[23,31,"pl-en"]],[[6,11,"pl-k"],[14,58,"pl-c"],[14,16,"pl-c"]],[[23,31,"pl-en"]],[[6,11,"pl-k"],[14,58,"pl-c"],[14,16,"pl-c"]],[],[[1,11,"pl-k"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[],[[0,31,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,13,"pl-en"],[16,22,"pl-k"],[23,28,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[17,20,"pl-en"],[36,61,"pl-c"],[36,38,"pl-c"]],[[21,25,"pl-k"],[36,54,"pl-c"],[36,38,"pl-c"]],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,9,"pl-en"],[14,58,"pl-c"],[14,16,"pl-c"]],[[2,9,"pl-en"]],[[30,68,"pl-c"],[30,32,"pl-c"]],[],[[2,10,"pl-k"],[11,15,"pl-en"],[18,23,"pl-k"],[26,79,"pl-c"],[26,28,"pl-c"]],[[2,6,"pl-k"],[7,12,"pl-en"],[15,20,"pl-k"],[26,79,"pl-c"],[26,28,"pl-c"]],[],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,27,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[16,19,"pl-en"],[35,60,"pl-c"],[35,37,"pl-c"]],[[20,26,"pl-k"],[35,52,"pl-c"],[35,37,"pl-c"]],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"],[13,56,"pl-c"],[13,15,"pl-c"]],[[2,8,"pl-en"]],[[29,67,"pl-c"],[29,31,"pl-c"]],[],[[2,10,"pl-k"],[11,18,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-k"],[11,19,"pl-en"]],[[6,11,"pl-k"],[14,78,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-k"],[11,18,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-k"],[11,16,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-k"],[11,17,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[],[[2,9,"pl-c1"],[10,20,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-c1"],[11,22,"pl-en"]],[[6,11,"pl-k"],[14,78,"pl-c"],[14,16,"pl-c"]],[[2,9,"pl-c1"],[10,20,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,7,"pl-k"],[8,18,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,8,"pl-k"],[9,20,"pl-en"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[],[],[[1,3,"pl-k"]],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,27,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[16,19,"pl-en"],[35,60,"pl-c"],[35,37,"pl-c"]],[[20,27,"pl-c1"],[35,52,"pl-c"],[35,37,"pl-c"]],[],[[2,8,"pl-k"],[16,19,"pl-en"],[36,61,"pl-c"],[36,38,"pl-c"]],[[20,28,"pl-c1"],[36,53,"pl-c"],[36,38,"pl-c"]],[],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,37,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[43,68,"pl-c"],[43,45,"pl-c"]],[[20,23,"pl-k"],[43,72,"pl-c"],[43,45,"pl-c"]],[[20,26,"pl-c1"],[43,72,"pl-c"],[43,45,"pl-c"]],[[20,25,"pl-k"],[26,34,"pl-c1"],[43,62,"pl-c"],[43,45,"pl-c"]],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"],[13,56,"pl-c"],[13,15,"pl-c"]],[[2,8,"pl-en"]],[[29,67,"pl-c"],[29,31,"pl-c"]],[],[[2,9,"pl-c1"],[10,20,"pl-en"],[21,25,"pl-k"]],[[6,11,"pl-k"],[14,76,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-c1"],[11,22,"pl-en"],[23,27,"pl-k"]],[[6,11,"pl-k"],[14,78,"pl-c"],[14,16,"pl-c"]],[],[[2,8,"pl-c1"],[9,18,"pl-en"],[21,26,"pl-k"],[29,76,"pl-c"],[29,31,"pl-c"]],[[29,58,"pl-c"],[29,31,"pl-c"]],[],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,15,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,14,"pl-en"],[15,18,"pl-k"],[30,36,"pl-c1"],[50,58,"pl-c1"]],[],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[0,28,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,10,"pl-en"],[13,19,"pl-k"],[20,25,"pl-en"]],[[1,8,"pl-k"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[14,17,"pl-en"],[33,58,"pl-c"],[33,35,"pl-c"]],[[18,24,"pl-k"],[33,50,"pl-c"],[33,35,"pl-c"]],[],[],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[14,17,"pl-en"]],[[21,46,"pl-c"],[21,23,"pl-c"]],[[56,77,"pl-c"],[56,58,"pl-c"]],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,6,"pl-en"],[11,52,"pl-c"],[11,13,"pl-c"]],[[2,6,"pl-en"],[41,79,"pl-c"],[41,43,"pl-c"]],[[2,10,"pl-k"],[11,17,"pl-en"],[20,25,"pl-k"],[28,74,"pl-c"],[28,30,"pl-c"]],[],[[2,8,"pl-k"],[9,16,"pl-en"],[19,24,"pl-k"],[27,76,"pl-c"],[27,29,"pl-c"]],[],[[1,6,"pl-k"]],[],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,10,"pl-en"],[13,19,"pl-k"],[20,25,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,6,"pl-en"],[11,52,"pl-c"],[11,13,"pl-c"]],[[2,6,"pl-en"]],[[27,65,"pl-c"],[27,29,"pl-c"]],[],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,26,"pl-en"]],[[1,8,"pl-k"]],[[2,65,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[46,71,"pl-c"],[46,48,"pl-c"]],[[20,25,"pl-k"],[46,75,"pl-c"],[46,48,"pl-c"]],[],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[49,74,"pl-c"],[49,51,"pl-c"]],[[20,25,"pl-k"],[49,79,"pl-c"],[49,51,"pl-c"]],[],[],[[2,70,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[44,69,"pl-c"],[44,46,"pl-c"]],[[44,78,"pl-c"],[44,46,"pl-c"]],[],[],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[25,50,"pl-c"],[25,27,"pl-c"]],[[6,11,"pl-k"],[12,16,"pl-k"],[25,68,"pl-c"],[25,27,"pl-c"]],[],[],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[29,54,"pl-c"],[29,31,"pl-c"]],[[6,11,"pl-k"],[12,20,"pl-k"],[29,73,"pl-c"],[29,31,"pl-c"]],[],[],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,13,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[40,65,"pl-c"],[40,42,"pl-c"]],[[20,25,"pl-k"],[26,30,"pl-k"],[40,72,"pl-c"],[40,42,"pl-c"]],[[40,73,"pl-c"],[40,42,"pl-c"]],[[20,26,"pl-c1"],[40,74,"pl-c"],[40,42,"pl-c"]],[],[],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,13,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[30,55,"pl-c"],[30,32,"pl-c"]],[[6,11,"pl-k"],[12,20,"pl-k"],[30,75,"pl-c"],[30,32,"pl-c"]],[[30,51,"pl-c"],[30,32,"pl-c"]],[[6,12,"pl-c1"],[30,76,"pl-c"],[30,32,"pl-c"]],[],[],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,58,"pl-c"],[2,4,"pl-c"]],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,41,"pl-c"],[2,4,"pl-c"]],[[2,22,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[16,20,"pl-en"],[35,40,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"],[13,56,"pl-c"],[13,15,"pl-c"]],[[2,8,"pl-en"]],[[29,67,"pl-c"],[29,31,"pl-c"]],[],[[2,10,"pl-k"],[11,22,"pl-en"]],[[6,11,"pl-k"],[14,73,"pl-c"],[14,16,"pl-c"]],[[2,10,"pl-k"],[11,25,"pl-en"]],[[6,11,"pl-k"],[14,74,"pl-c"],[14,16,"pl-c"]],[[14,23,"pl-en"]],[[6,11,"pl-k"],[14,73,"pl-c"],[14,16,"pl-c"]],[[17,27,"pl-en"]],[[6,11,"pl-k"],[14,74,"pl-c"],[14,16,"pl-c"]],[],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,6,"pl-k"],[7,31,"pl-en"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"],[21,26,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"],[21,26,"pl-k"],[27,31,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"],[22,30,"pl-k"],[33,37,"pl-k"]],[[0,6,"pl-k"],[7,50,"pl-en"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,6,"pl-k"],[7,50,"pl-en"]],[],[[9,15,"pl-c1"],[16,24,"pl-k"]],[],[],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,47,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,46,"pl-c1"]],[[9,20,"pl-c1"],[50,57,"pl-c1"]],[[50,55,"pl-k"]],[],[],[[21,24,"pl-k"]],[],[[3,23,"pl-c"],[3,5,"pl-c"]],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,26,"pl-en"]],[[1,8,"pl-k"]],[[2,62,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[21,46,"pl-c"],[21,23,"pl-c"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[[10,17,"pl-c1"],[19,71,"pl-c"],[19,21,"pl-c"]],[[19,45,"pl-c"],[19,21,"pl-c"]],[],[],[[2,52,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[21,46,"pl-c"],[21,23,"pl-c"]],[[6,11,"pl-k"]],[[23,74,"pl-c"],[23,25,"pl-c"]],[],[],[[2,52,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[21,46,"pl-c"],[21,23,"pl-c"]],[],[[23,79,"pl-c"],[23,25,"pl-c"]],[],[],[[2,52,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[40,65,"pl-c"],[40,42,"pl-c"]],[[40,79,"pl-c"],[40,42,"pl-c"]],[],[],[[2,52,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[30,55,"pl-c"],[30,32,"pl-c"]],[[30,69,"pl-c"],[30,32,"pl-c"]],[],[],[[2,49,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,39,"pl-en"],[50,55,"pl-k"]],[],[[2,69,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,33,"pl-en"],[48,53,"pl-k"]],[],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,33,"pl-en"]],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,30,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[21,61,"pl-c1"],[69,70,"pl-c1"]],[[2,8,"pl-k"],[30,33,"pl-en"]],[],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,33,"pl-en"],[48,53,"pl-k"],[54,58,"pl-k"]],[],[[2,79,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,33,"pl-en"]],[],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[30,33,"pl-en"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"],[13,56,"pl-c"],[13,15,"pl-c"]],[[2,8,"pl-en"]],[[29,67,"pl-c"],[29,31,"pl-c"]],[],[],[[0,5,"pl-k"],[6,18,"pl-en"],[21,27,"pl-k"],[28,33,"pl-en"]],[[1,8,"pl-k"]],[[1,3,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[15,20,"pl-k"],[46,51,"pl-k"]],[[2,6,"pl-k"],[7,19,"pl-en"],[20,25,"pl-k"],[51,56,"pl-k"]],[[1,6,"pl-k"],[8,28,"pl-c"],[8,10,"pl-c"]],[[1,11,"pl-k"]],[[2,14,"pl-en"]],[[2,14,"pl-en"]],[],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,34,"pl-en"]],[[1,8,"pl-k"]],[[2,69,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,70,"pl-c"],[2,4,"pl-c"]],[[2,69,"pl-c"],[2,4,"pl-c"]],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,31,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,14,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,39,"pl-c"],[2,4,"pl-c"]],[[2,46,"pl-c"],[2,4,"pl-c"]],[[2,34,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,7,"pl-k"],[8,22,"pl-en"]],[[3,10,"pl-k"]],[[4,39,"pl-c"],[4,6,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-en"],[21,26,"pl-k"]],[],[[4,65,"pl-c"],[4,6,"pl-c"]],[[4,44,"pl-c"],[4,6,"pl-c"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[20,28,"pl-k"]],[],[[4,56,"pl-c"],[4,6,"pl-c"]],[[10,17,"pl-en"],[20,25,"pl-k"]],[],[[3,11,"pl-k"]],[[4,18,"pl-en"],[23,29,"pl-k"]],[[4,18,"pl-en"]],[],[],[],[],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-en"]],[],[],[[2,33,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"],[34,59,"pl-c"],[34,36,"pl-c"]],[],[],[[1,6,"pl-k"]],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[35,60,"pl-c"],[35,37,"pl-c"]],[[35,80,"pl-c"],[35,37,"pl-c"]],[[6,11,"pl-k"],[53,72,"pl-c"],[53,55,"pl-c"]],[[6,11,"pl-k"],[53,73,"pl-c"],[53,55,"pl-c"]],[],[[1,6,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"],[13,56,"pl-c"],[13,15,"pl-c"]],[[2,8,"pl-en"]],[[29,67,"pl-c"],[29,31,"pl-c"]],[],[[2,36,"pl-c"],[2,4,"pl-c"]],[[30,38,"pl-k"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[],[],[[2,36,"pl-c"],[2,4,"pl-c"]],[[30,38,"pl-k"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[],[],[[2,56,"pl-c"],[2,4,"pl-c"]],[[17,25,"pl-c1"],[27,35,"pl-k"]],[[6,14,"pl-c1"],[22,50,"pl-c"],[22,24,"pl-c"]],[],[],[[2,56,"pl-c"],[2,4,"pl-c"]],[[24,32,"pl-k"],[48,76,"pl-c"],[48,50,"pl-c"]],[[4,9,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[22,30,"pl-k"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[4,9,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[22,30,"pl-k"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,48,"pl-c"],[2,4,"pl-c"]],[[22,30,"pl-k"],[33,41,"pl-c1"],[49,78,"pl-c"],[49,51,"pl-c"]],[[4,9,"pl-k"]],[],[[2,43,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,24,"pl-en"],[41,68,"pl-c"],[41,43,"pl-c"]],[[4,9,"pl-k"]],[],[[2,43,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,24,"pl-en"],[36,53,"pl-c"],[36,38,"pl-c"]],[[4,9,"pl-k"]],[],[[2,49,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,24,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[4,9,"pl-k"]],[],[[2,49,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,24,"pl-en"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,47,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,35,"pl-en"],[52,79,"pl-c"],[52,54,"pl-c"]],[[4,9,"pl-k"]],[],[[2,47,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,35,"pl-en"],[47,64,"pl-c"],[47,49,"pl-c"]],[[4,9,"pl-k"]],[],[[2,47,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,35,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[4,9,"pl-k"]],[],[[2,47,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,35,"pl-en"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[22,25,"pl-en"],[42,69,"pl-c"],[42,44,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[22,25,"pl-en"],[37,54,"pl-c"],[37,39,"pl-c"]],[[4,9,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[22,25,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[4,9,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[22,25,"pl-en"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[49,76,"pl-c"],[49,51,"pl-c"]],[[25,30,"pl-k"],[49,78,"pl-c"],[49,51,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[49,66,"pl-c"],[49,51,"pl-c"]],[[25,30,"pl-k"],[49,68,"pl-c"],[49,51,"pl-c"]],[[4,9,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"],[29,77,"pl-c"],[29,31,"pl-c"]],[[6,11,"pl-k"],[30,35,"pl-k"]],[],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"]],[[6,11,"pl-k"],[36,68,"pl-c"],[36,38,"pl-c"]],[[6,11,"pl-k"],[36,65,"pl-c"],[36,38,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"],[44,71,"pl-c"],[44,46,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"],[39,56,"pl-c"],[39,41,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[4,9,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"]],[[6,11,"pl-k"],[35,67,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,52,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,70,"pl-c"],[41,43,"pl-c"]],[[4,9,"pl-k"]],[],[[2,48,"pl-c"],[2,4,"pl-c"]],[[22,25,"pl-en"],[26,34,"pl-c1"],[42,71,"pl-c"],[42,44,"pl-c"]],[[4,9,"pl-k"]],[],[[2,48,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[49,78,"pl-c"],[49,51,"pl-c"]],[[25,30,"pl-k"],[49,78,"pl-c"],[49,51,"pl-c"]],[[4,9,"pl-k"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"],[28,36,"pl-c1"],[44,73,"pl-c"],[44,46,"pl-c"]],[[4,9,"pl-k"]],[],[[2,70,"pl-c"],[2,4,"pl-c"]],[[2,60,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-c"],[2,4,"pl-c"]],[[2,99,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-c"],[2,4,"pl-c"]],[[2,100,"pl-c"],[2,4,"pl-c"]],[[22,38,"pl-en"],[41,46,"pl-k"],[49,76,"pl-c"],[49,51,"pl-c"]],[],[[2,39,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,26,"pl-c"],[2,4,"pl-c"]],[[2,108,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,35,"pl-en"]],[[6,11,"pl-k"]],[[20,66,"pl-c"],[20,22,"pl-c"]],[[4,9,"pl-k"]],[],[[2,39,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,26,"pl-c"],[2,4,"pl-c"]],[[2,108,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,37,"pl-en"]],[[6,11,"pl-k"]],[[6,63,"pl-c"],[6,8,"pl-c"]],[[4,9,"pl-k"]],[],[[2,39,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,26,"pl-c"],[2,4,"pl-c"]],[[2,108,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,37,"pl-en"]],[[6,11,"pl-k"]],[[6,65,"pl-c"],[6,8,"pl-c"]],[[4,9,"pl-k"]],[],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,65,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,17,"pl-c"],[2,4,"pl-c"]],[[2,9,"pl-c"],[2,4,"pl-c"]],[[2,98,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,31,"pl-en"]],[[6,11,"pl-k"],[35,60,"pl-c"],[35,37,"pl-c"]],[[4,9,"pl-k"]],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,26,"pl-en"],[64,69,"pl-k"]],[],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"],[44,52,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,26,"pl-en"]],[],[[47,52,"pl-k"]],[],[[1,6,"pl-k"]],[[2,7,"pl-k"],[8,22,"pl-en"]],[],[[2,8,"pl-k"],[24,29,"pl-en"],[32,37,"pl-k"]],[],[[2,8,"pl-k"],[24,27,"pl-en"],[30,35,"pl-k"]],[],[[2,7,"pl-k"],[8,16,"pl-en"]],[],[[2,8,"pl-k"],[18,23,"pl-en"]],[],[[2,8,"pl-k"],[18,21,"pl-en"]],[[1,6,"pl-k"],[8,40,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,17,"pl-c"],[2,4,"pl-c"]],[[2,9,"pl-c"],[2,4,"pl-c"]],[[2,98,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,27,"pl-en"],[30,35,"pl-k"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,17,"pl-c"],[2,4,"pl-c"]],[[2,9,"pl-c"],[2,4,"pl-c"]],[[2,98,"pl-c"],[2,4,"pl-c"]],[[15,19,"pl-k"],[21,25,"pl-en"],[28,33,"pl-k"]],[[1,6,"pl-k"],[8,28,"pl-c"],[8,10,"pl-c"]],[],[[23,35,"pl-en"],[38,43,"pl-k"]],[],[[1,6,"pl-k"]],[[15,19,"pl-k"],[21,33,"pl-en"],[34,39,"pl-k"],[55,60,"pl-k"]],[[1,6,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,14,"pl-en"],[17,23,"pl-k"],[24,36,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,10,"pl-en"]],[[2,10,"pl-en"]],[],[[5,9,"pl-en"],[12,17,"pl-k"]],[],[],[[0,5,"pl-k"],[6,11,"pl-en"],[14,20,"pl-k"],[21,27,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[15,18,"pl-en"]],[[2,8,"pl-k"],[15,18,"pl-en"],[33,39,"pl-c1"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,7,"pl-en"]],[[2,7,"pl-en"]],[],[[2,10,"pl-c1"],[11,17,"pl-en"],[20,25,"pl-k"]],[],[],[[1,6,"pl-k"]],[[0,5,"pl-k"],[6,12,"pl-en"]],[[1,9,"pl-k"]],[[2,6,"pl-k"],[7,12,"pl-k"],[13,17,"pl-en"],[20,25,"pl-c1"],[27,30,"pl-c1"]],[],[[2,8,"pl-k"],[9,23,"pl-en"],[24,29,"pl-k"],[46,51,"pl-k"]],[],[[1,8,"pl-k"]],[[2,8,"pl-k"],[25,33,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,22,"pl-k"],[25,30,"pl-k"],[54,59,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,22,"pl-k"],[25,30,"pl-k"],[54,59,"pl-k"]],[],[[2,8,"pl-k"],[9,14,"pl-k"],[63,71,"pl-k"]],[[6,11,"pl-k"]],[],[[1,9,"pl-k"]],[[2,7,"pl-k"]],[],[[2,10,"pl-c1"]],[],[[2,8,"pl-k"],[9,14,"pl-k"],[15,21,"pl-en"]],[],[],[[0,5,"pl-k"],[6,12,"pl-en"]],[[1,9,"pl-k"]],[[2,6,"pl-k"],[7,12,"pl-k"],[13,17,"pl-en"],[20,25,"pl-c1"],[27,30,"pl-c1"]],[],[[2,8,"pl-k"],[9,17,"pl-en"],[34,39,"pl-k"]],[],[[1,8,"pl-k"]],[[2,8,"pl-k"],[19,27,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,22,"pl-k"],[25,30,"pl-k"],[48,53,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,22,"pl-k"],[25,30,"pl-k"],[48,53,"pl-k"]],[],[[2,8,"pl-k"],[57,65,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[[2,10,"pl-c1"]],[],[[2,8,"pl-k"],[9,14,"pl-k"],[15,21,"pl-en"]],[],[[1,6,"pl-k"],[8,40,"pl-c"],[8,10,"pl-c"]],[],[[1,6,"pl-k"]],[[0,5,"pl-k"],[6,23,"pl-en"],[26,32,"pl-k"],[33,39,"pl-en"]],[[1,8,"pl-k"]],[[2,19,"pl-en"]],[[2,19,"pl-en"]],[],[[2,8,"pl-k"],[27,30,"pl-en"],[45,51,"pl-c1"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,6,"pl-k"],[8,12,"pl-en"]],[[2,8,"pl-c1"],[9,19,"pl-en"]],[],[[1,6,"pl-k"]],[],[[0,36,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,17,"pl-en"],[20,26,"pl-k"],[27,33,"pl-en"]],[[1,8,"pl-k"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,13,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[21,24,"pl-en"]],[[25,50,"pl-c"],[25,27,"pl-c"]],[[6,12,"pl-c1"],[25,76,"pl-c"],[25,27,"pl-c"]],[],[],[[1,7,"pl-k"]],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[21,24,"pl-en"]],[[27,52,"pl-c"],[27,29,"pl-c"]],[[6,10,"pl-k"],[27,76,"pl-c"],[27,29,"pl-c"]],[[27,41,"pl-c"],[27,29,"pl-c"]],[[6,12,"pl-c1"],[27,79,"pl-c"],[27,29,"pl-c"]],[[27,47,"pl-c"],[27,29,"pl-c"]],[],[],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[21,24,"pl-en"]],[[27,52,"pl-c"],[27,29,"pl-c"]],[[6,10,"pl-k"],[27,76,"pl-c"],[27,29,"pl-c"]],[[27,41,"pl-c"],[27,29,"pl-c"]],[[6,12,"pl-c1"],[27,79,"pl-c"],[27,29,"pl-c"]],[[27,38,"pl-c"],[27,29,"pl-c"]],[[27,40,"pl-c"],[27,29,"pl-c"]],[[34,75,"pl-c"],[34,36,"pl-c"]],[[34,59,"pl-c"],[34,36,"pl-c"]],[[34,79,"pl-c"],[34,36,"pl-c"]],[[34,59,"pl-c"],[34,36,"pl-c"]],[],[],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,28,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"]],[[2,8,"pl-k"],[21,24,"pl-en"]],[[27,52,"pl-c"],[27,29,"pl-c"]],[[6,10,"pl-k"],[27,76,"pl-c"],[27,29,"pl-c"]],[[27,41,"pl-c"],[27,29,"pl-c"]],[[6,12,"pl-c1"],[27,79,"pl-c"],[27,29,"pl-c"]],[[27,38,"pl-c"],[27,29,"pl-c"]],[[27,40,"pl-c"],[27,29,"pl-c"]],[[35,76,"pl-c"],[35,37,"pl-c"]],[[35,60,"pl-c"],[35,37,"pl-c"]],[[35,75,"pl-c"],[35,37,"pl-c"]],[[35,77,"pl-c"],[35,37,"pl-c"]],[[26,74,"pl-c"],[26,28,"pl-c"]],[[26,48,"pl-c"],[26,28,"pl-c"]],[],[[1,6,"pl-k"],[8,47,"pl-c"],[8,10,"pl-c"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,13,"pl-en"],[18,66,"pl-c"],[18,20,"pl-c"]],[[2,13,"pl-en"]],[[34,72,"pl-c"],[34,36,"pl-c"]],[],[[2,6,"pl-k"],[8,12,"pl-en"],[24,63,"pl-c"],[24,26,"pl-c"]],[[2,8,"pl-c1"],[9,19,"pl-en"],[24,74,"pl-c"],[24,26,"pl-c"]],[],[[1,3,"pl-k"]],[[2,6,"pl-k"],[7,17,"pl-en"],[20,25,"pl-k"]],[[2,6,"pl-k"],[7,13,"pl-en"]],[[1,6,"pl-k"],[8,28,"pl-c"],[8,10,"pl-c"]],[],[],[[0,59,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,36,"pl-c"],[0,2,"pl-c"]],[[0,53,"pl-c"],[0,2,"pl-c"]],[[0,67,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,16,"pl-en"],[19,25,"pl-k"],[26,32,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,12,"pl-en"],[17,64,"pl-c"],[17,19,"pl-c"]],[[2,12,"pl-en"]],[[33,71,"pl-c"],[33,35,"pl-c"]],[],[[23,37,"pl-en"]],[[6,11,"pl-k"],[14,53,"pl-c"],[14,16,"pl-c"]],[],[[2,36,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,56,"pl-c"],[2,4,"pl-c"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,23,"pl-c"],[2,4,"pl-c"]],[[20,31,"pl-en"],[34,39,"pl-k"]],[],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,52,"pl-c"],[2,4,"pl-c"]],[[14,20,"pl-en"],[23,28,"pl-k"]],[],[[2,9,"pl-c1"],[10,21,"pl-en"]],[[6,11,"pl-k"],[14,70,"pl-c"],[14,16,"pl-c"]],[[2,8,"pl-c1"],[9,22,"pl-en"],[25,30,"pl-k"],[33,79,"pl-c"],[33,35,"pl-c"]],[[2,8,"pl-c1"],[9,19,"pl-en"]],[[6,11,"pl-k"],[14,74,"pl-c"],[14,16,"pl-c"]],[[2,8,"pl-c1"],[9,19,"pl-en"],[22,27,"pl-k"],[30,73,"pl-c"],[30,32,"pl-c"]],[],[[1,11,"pl-k"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[],[[2,8,"pl-c1"]],[],[[2,12,"pl-en"]],[],[],[[13,19,"pl-c1"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"]],[[1,3,"pl-k"]],[[6,15,"pl-k"]],[[1,6,"pl-k"]],[],[[6,36,"pl-en"]],[[4,10,"pl-k"],[27,33,"pl-c1"]],[[29,36,"pl-c1"]],[[29,36,"pl-c1"]],[[29,37,"pl-c1"]],[[29,36,"pl-c1"]],[[29,37,"pl-c1"]],[[29,34,"pl-k"]],[[29,35,"pl-k"]],[[1,3,"pl-k"]],[[29,36,"pl-c1"]],[[29,37,"pl-c1"]],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,79,"pl-c"],[0,2,"pl-c"]],[[0,70,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,18,"pl-en"],[21,27,"pl-k"],[28,38,"pl-en"]],[[1,8,"pl-k"]],[[2,80,"pl-c"],[2,4,"pl-c"]],[[2,13,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[22,25,"pl-en"]],[[29,54,"pl-c"],[29,31,"pl-c"]],[[6,12,"pl-c1"],[29,77,"pl-c"],[29,31,"pl-c"]],[[29,42,"pl-c"],[29,31,"pl-c"]],[[1,3,"pl-k"]],[],[],[[1,5,"pl-k"]],[],[[1,6,"pl-k"]],[[6,74,"pl-c"],[6,8,"pl-c"]],[[6,32,"pl-c"],[6,8,"pl-c"]],[],[],[[2,69,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[22,25,"pl-en"]],[[29,54,"pl-c"],[29,31,"pl-c"]],[[6,12,"pl-c1"],[29,77,"pl-c"],[29,31,"pl-c"]],[[29,42,"pl-c"],[29,31,"pl-c"]],[[38,79,"pl-c"],[38,40,"pl-c"]],[[6,12,"pl-c1"],[28,71,"pl-c"],[28,30,"pl-c"]],[[28,51,"pl-c"],[28,30,"pl-c"]],[[1,3,"pl-k"]],[],[],[[1,5,"pl-k"]],[],[[1,6,"pl-k"]],[[6,74,"pl-c"],[6,8,"pl-c"]],[[6,32,"pl-c"],[6,8,"pl-c"]],[],[],[[1,6,"pl-k"]],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,8,"pl-k"],[22,25,"pl-en"]],[[29,54,"pl-c"],[29,31,"pl-c"]],[[6,12,"pl-c1"],[29,77,"pl-c"],[29,31,"pl-c"]],[[29,42,"pl-c"],[29,31,"pl-c"]],[],[[28,76,"pl-c"],[28,30,"pl-c"]],[[6,12,"pl-c1"],[28,71,"pl-c"],[28,30,"pl-c"]],[[28,51,"pl-c"],[28,30,"pl-c"]],[[1,3,"pl-k"]],[],[],[[1,5,"pl-k"]],[],[[1,6,"pl-k"]],[[6,74,"pl-c"],[6,8,"pl-c"]],[[6,32,"pl-c"],[6,8,"pl-c"]],[],[[1,6,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,14,"pl-en"],[19,68,"pl-c"],[19,21,"pl-c"]],[[2,14,"pl-en"]],[[35,73,"pl-c"],[35,37,"pl-c"]],[],[[5,13,"pl-k"],[16,22,"pl-c1"],[32,74,"pl-c"],[32,34,"pl-c"]],[[2,7,"pl-k"],[11,19,"pl-k"],[22,28,"pl-c1"],[36,41,"pl-k"],[44,78,"pl-c"],[44,46,"pl-c"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[[5,9,"pl-en"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,5,"pl-c"],[2,4,"pl-c"]],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,73,"pl-c"],[2,4,"pl-c"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-k"],[11,15,"pl-en"],[18,23,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[[2,14,"pl-en"]],[],[],[[15,21,"pl-c1"]],[],[],[],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,77,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,14,"pl-en"],[17,23,"pl-k"],[24,30,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,28,"pl-c1"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,28,"pl-c1"]],[[22,28,"pl-c1"]],[],[[1,6,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,28,"pl-c1"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,28,"pl-c1"]],[[22,28,"pl-c1"]],[[1,6,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,10,"pl-en"],[15,60,"pl-c"],[15,17,"pl-c"]],[[2,10,"pl-en"]],[[31,69,"pl-c"],[31,33,"pl-c"]],[],[[2,36,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,56,"pl-c"],[2,4,"pl-c"]],[[2,75,"pl-c"],[2,4,"pl-c"]],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,23,"pl-c"],[2,4,"pl-c"]],[[20,31,"pl-en"],[34,39,"pl-k"]],[],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,4,"pl-c"],[2,4,"pl-c"]],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,52,"pl-c"],[2,4,"pl-c"]],[[14,20,"pl-en"],[23,28,"pl-k"]],[[2,8,"pl-c1"],[9,19,"pl-en"]],[[6,11,"pl-k"],[14,74,"pl-c"],[14,16,"pl-c"]],[[2,8,"pl-c1"],[9,19,"pl-en"],[22,27,"pl-k"],[30,73,"pl-c"],[30,32,"pl-c"]],[],[[2,6,"pl-k"],[8,12,"pl-en"],[15,20,"pl-k"]],[],[[2,7,"pl-k"],[8,18,"pl-en"],[19,25,"pl-c1"],[38,43,"pl-k"]],[[2,8,"pl-k"],[9,19,"pl-en"],[20,26,"pl-c1"],[39,44,"pl-k"]],[[2,8,"pl-c1"],[9,16,"pl-en"],[17,23,"pl-c1"],[36,41,"pl-k"]],[[2,9,"pl-c1"],[10,18,"pl-en"],[19,25,"pl-c1"],[38,43,"pl-k"]],[[2,9,"pl-c1"],[10,18,"pl-en"],[19,25,"pl-c1"],[38,43,"pl-k"]],[[2,9,"pl-c1"],[10,18,"pl-en"],[19,25,"pl-c1"],[38,43,"pl-k"]],[[2,10,"pl-c1"],[11,20,"pl-en"],[21,27,"pl-c1"],[40,45,"pl-k"]],[[2,10,"pl-c1"],[11,20,"pl-en"],[21,27,"pl-c1"],[40,45,"pl-k"]],[],[[2,6,"pl-k"],[7,17,"pl-en"],[18,24,"pl-c1"],[37,42,"pl-k"],[50,55,"pl-k"]],[[2,6,"pl-k"],[7,17,"pl-en"],[18,24,"pl-c1"],[37,43,"pl-k"],[51,56,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[15,21,"pl-c1"],[34,40,"pl-c1"],[48,53,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-en"],[16,22,"pl-c1"],[35,42,"pl-c1"],[50,55,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-en"],[16,22,"pl-c1"],[35,42,"pl-c1"],[50,55,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-en"],[16,22,"pl-c1"],[35,42,"pl-c1"],[50,55,"pl-k"]],[[2,6,"pl-k"],[7,16,"pl-en"],[17,23,"pl-c1"],[36,44,"pl-c1"],[52,57,"pl-k"]],[[2,6,"pl-k"],[7,16,"pl-en"],[17,23,"pl-c1"],[36,44,"pl-c1"],[52,57,"pl-k"]],[],[[1,9,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[4,12,"pl-en"],[13,19,"pl-c1"],[32,37,"pl-k"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,6,"pl-k"],[7,16,"pl-en"],[17,23,"pl-c1"],[45,50,"pl-k"]],[],[[2,6,"pl-k"]],[[2,8,"pl-c1"]],[],[],[[0,5,"pl-k"],[6,14,"pl-en"],[17,23,"pl-k"],[24,30,"pl-en"]],[[1,8,"pl-k"]],[[2,7,"pl-k"],[23,27,"pl-k"],[32,37,"pl-k"]],[[2,7,"pl-k"],[29,34,"pl-k"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[22,27,"pl-k"],[28,32,"pl-k"],[45,52,"pl-c1"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[22,27,"pl-k"],[28,32,"pl-k"],[45,52,"pl-c1"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[22,27,"pl-k"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[[22,27,"pl-k"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,38,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,27,"pl-k"],[28,32,"pl-k"],[45,52,"pl-c1"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,38,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[18,21,"pl-en"]],[],[[22,27,"pl-k"]],[[22,26,"pl-k"],[35,42,"pl-c1"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,10,"pl-en"]],[[2,10,"pl-en"]],[],[[22,30,"pl-en"]],[[6,11,"pl-k"],[53,58,"pl-k"]],[],[[22,26,"pl-en"],[27,32,"pl-k"],[74,79,"pl-k"]],[[22,26,"pl-en"],[27,32,"pl-k"],[64,69,"pl-k"]],[[22,26,"pl-en"],[27,32,"pl-k"],[59,64,"pl-k"]],[[22,26,"pl-en"],[27,33,"pl-c1"],[40,45,"pl-k"],[64,69,"pl-k"]],[[22,26,"pl-en"]],[[27,32,"pl-k"],[74,79,"pl-k"]],[[22,26,"pl-en"]],[[27,32,"pl-k"],[64,69,"pl-k"]],[[22,26,"pl-en"]],[[27,32,"pl-k"],[59,64,"pl-k"]],[[22,26,"pl-en"]],[[27,33,"pl-c1"]],[[27,32,"pl-k"],[51,56,"pl-k"]],[],[[22,34,"pl-en"]],[],[[6,11,"pl-k"]],[[35,42,"pl-c1"],[44,49,"pl-k"]],[[22,34,"pl-en"]],[[35,40,"pl-k"]],[[64,71,"pl-c1"],[73,78,"pl-k"]],[[22,34,"pl-en"]],[[35,41,"pl-c1"]],[[35,40,"pl-k"]],[[64,71,"pl-c1"],[73,78,"pl-k"]],[],[[23,26,"pl-en"],[27,32,"pl-k"],[74,79,"pl-k"]],[[23,26,"pl-en"],[27,32,"pl-k"],[64,69,"pl-k"]],[[23,26,"pl-en"],[27,33,"pl-c1"],[40,45,"pl-k"],[64,69,"pl-k"]],[],[],[[0,5,"pl-k"],[6,13,"pl-en"],[16,22,"pl-k"],[23,29,"pl-en"]],[[1,8,"pl-k"]],[[2,7,"pl-k"],[8,16,"pl-en"]],[[3,10,"pl-k"]],[[4,10,"pl-k"],[20,23,"pl-en"]],[[4,12,"pl-en"]],[],[[18,25,"pl-en"],[28,33,"pl-k"]],[[14,17,"pl-en"],[20,25,"pl-k"]],[],[[4,8,"pl-k"],[9,16,"pl-en"],[35,40,"pl-k"]],[[4,8,"pl-k"],[9,15,"pl-en"],[34,39,"pl-k"]],[],[[3,11,"pl-k"]],[],[],[],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,9,"pl-en"]],[[2,9,"pl-en"]],[],[[24,28,"pl-en"],[53,58,"pl-k"]],[[24,28,"pl-en"]],[[52,57,"pl-k"]],[[24,29,"pl-en"],[53,58,"pl-k"]],[],[[24,28,"pl-en"],[29,34,"pl-k"],[58,63,"pl-k"]],[[24,28,"pl-en"],[29,34,"pl-k"]],[[29,34,"pl-k"],[57,62,"pl-k"]],[[24,29,"pl-en"],[30,35,"pl-k"],[58,63,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,12,"pl-en"],[15,21,"pl-k"],[22,32,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"],[37,43,"pl-c1"]],[[1,7,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"],[46,52,"pl-c1"]],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"]],[],[[23,29,"pl-c1"]],[],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"]],[],[[23,29,"pl-c1"]],[],[],[[1,6,"pl-k"],[8,47,"pl-c"],[8,10,"pl-c"]],[],[[2,8,"pl-k"],[19,28,"pl-en"],[52,58,"pl-c1"]],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[19,28,"pl-en"]],[],[[29,35,"pl-c1"]],[],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[32,40,"pl-k"]],[[2,8,"pl-k"],[19,28,"pl-en"]],[],[[29,35,"pl-c1"]],[],[],[],[[2,8,"pl-k"],[19,23,"pl-en"],[38,43,"pl-k"],[53,59,"pl-c1"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,23,"pl-en"]],[],[[2,8,"pl-en"]],[[2,8,"pl-en"]],[[2,8,"pl-c1"],[9,15,"pl-en"],[18,23,"pl-k"]],[[5,9,"pl-en"],[12,17,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,79,"pl-c"],[0,2,"pl-c"]],[[0,17,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,34,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,15,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[22,25,"pl-en"],[26,31,"pl-k"],[42,50,"pl-c1"],[69,70,"pl-c1"]],[],[[2,11,"pl-en"]],[[2,11,"pl-en"]],[[2,12,"pl-en"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-en"]],[[16,24,"pl-k"]],[[2,22,"pl-en"]],[],[[2,10,"pl-k"],[11,19,"pl-en"],[22,27,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[45,50,"pl-k"]],[[2,6,"pl-k"],[7,15,"pl-k"],[18,23,"pl-k"],[45,50,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[17,22,"pl-k"]],[],[[2,78,"pl-c"],[2,4,"pl-c"]],[[2,79,"pl-c"],[2,4,"pl-c"]],[[4,9,"pl-en"],[12,17,"pl-k"]],[],[[2,10,"pl-c1"],[11,14,"pl-en"],[17,22,"pl-k"]],[[2,10,"pl-c1"],[11,16,"pl-en"],[19,24,"pl-k"]],[[2,6,"pl-k"],[7,12,"pl-en"]],[[2,6,"pl-k"],[7,12,"pl-en"],[13,18,"pl-k"],[29,37,"pl-c1"],[49,50,"pl-c1"]],[],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,23,"pl-en"]],[],[[1,11,"pl-k"]],[[2,11,"pl-en"],[12,17,"pl-k"]],[],[[2,20,"pl-c"],[2,4,"pl-c"]],[],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[1,9,"pl-k"]],[[2,6,"pl-k"]],[],[],[[0,5,"pl-k"],[6,21,"pl-en"],[24,30,"pl-k"],[31,40,"pl-en"]],[[1,8,"pl-k"]],[[2,17,"pl-en"]],[[2,17,"pl-en"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,17,"pl-en"]],[[19,27,"pl-k"]],[[2,17,"pl-en"]],[[19,27,"pl-k"]],[[2,22,"pl-en"]],[],[[28,31,"pl-en"],[32,37,"pl-k"],[38,42,"pl-k"],[54,59,"pl-k"]],[[28,31,"pl-en"],[32,37,"pl-k"],[61,66,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-k"],[65,70,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-k"],[66,71,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-k"],[47,52,"pl-k"],[53,57,"pl-k"],[70,75,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-k"],[47,51,"pl-k"],[63,68,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-k"],[47,53,"pl-k"],[67,72,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[72,77,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[73,78,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"]],[[25,30,"pl-k"],[55,60,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[54,58,"pl-k"],[70,75,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,30,"pl-k"],[54,60,"pl-k"],[74,79,"pl-k"]],[],[[28,31,"pl-en"],[32,40,"pl-c1"],[48,53,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,46,"pl-k"],[65,70,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,46,"pl-k"],[66,71,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,46,"pl-k"],[47,51,"pl-k"],[64,69,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,46,"pl-k"],[71,76,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,45,"pl-k"],[57,62,"pl-k"]],[[15,19,"pl-k"],[21,24,"pl-en"],[25,33,"pl-c1"],[41,47,"pl-k"],[61,66,"pl-k"]],[],[[1,11,"pl-k"]],[[2,17,"pl-en"],[18,23,"pl-k"]],[],[],[[0,5,"pl-k"],[6,23,"pl-en"],[26,32,"pl-k"],[33,42,"pl-en"]],[[1,8,"pl-k"]],[[2,19,"pl-en"]],[[2,19,"pl-en"]],[],[[2,51,"pl-c"],[2,4,"pl-c"]],[[2,19,"pl-en"]],[[21,29,"pl-k"]],[[2,19,"pl-en"]],[[21,29,"pl-k"]],[[2,27,"pl-en"]],[],[[28,36,"pl-en"]],[[6,11,"pl-k"],[53,58,"pl-k"]],[],[[28,32,"pl-en"]],[[6,11,"pl-k"],[53,58,"pl-k"]],[[28,32,"pl-en"],[33,38,"pl-k"],[70,75,"pl-k"]],[[28,32,"pl-en"]],[[23,28,"pl-k"],[70,75,"pl-k"]],[[28,32,"pl-en"]],[[33,38,"pl-k"],[70,75,"pl-k"]],[[28,32,"pl-en"]],[[33,39,"pl-c1"]],[[33,38,"pl-k"],[57,62,"pl-k"]],[],[[28,40,"pl-en"]],[],[[6,11,"pl-k"]],[[35,42,"pl-c1"],[44,49,"pl-k"]],[[28,40,"pl-en"]],[],[[6,11,"pl-k"]],[[35,42,"pl-c1"],[44,49,"pl-k"]],[[28,40,"pl-en"]],[],[[6,12,"pl-c1"]],[[6,11,"pl-k"]],[[35,42,"pl-c1"],[44,49,"pl-k"]],[],[[23,26,"pl-en"],[27,32,"pl-k"],[74,79,"pl-k"]],[[23,26,"pl-en"],[27,32,"pl-k"],[64,69,"pl-k"]],[],[],[[0,77,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[13,17,"pl-en"]],[[16,20,"pl-en"]],[[18,22,"pl-en"]],[],[[0,77,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[13,23,"pl-en"]],[[16,26,"pl-en"]],[[18,28,"pl-en"]],[],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,43,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,65,"pl-c"],[0,2,"pl-c"]],[[0,77,"pl-c"],[0,2,"pl-c"]],[[0,30,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,68,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,68,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,47,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,27,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,54,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,59,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,54,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,56,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,27,"pl-c"],[0,2,"pl-c"]],[[0,13,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,40,"pl-c"],[0,2,"pl-c"]],[[0,61,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,25,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,46,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,47,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,77,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,46,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,45,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,27,"pl-c"],[0,2,"pl-c"]],[[0,38,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,67,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,12,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,58,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,37,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,37,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,55,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,31,"pl-c"],[0,2,"pl-c"]],[[0,60,"pl-c"],[0,2,"pl-c"]],[[0,64,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,59,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,11,"pl-en"],[14,20,"pl-k"],[21,36,"pl-en"]],[[1,6,"pl-k"]],[],[],[[1,6,"pl-k"],[8,40,"pl-c"],[8,10,"pl-c"]],[],[[1,8,"pl-k"]],[[2,8,"pl-k"],[15,18,"pl-en"]],[[2,8,"pl-k"],[15,18,"pl-en"],[33,38,"pl-k"],[39,43,"pl-k"]],[[2,8,"pl-k"],[15,18,"pl-en"],[33,38,"pl-k"]],[],[[2,8,"pl-k"],[9,23,"pl-c1"],[24,28,"pl-k"],[29,34,"pl-en"],[35,40,"pl-k"],[41,45,"pl-k"],[57,62,"pl-k"],[63,67,"pl-k"]],[],[[2,7,"pl-en"]],[[2,7,"pl-en"]],[],[[2,37,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-en"]],[[9,17,"pl-k"]],[[2,7,"pl-en"],[8,13,"pl-k"]],[[9,17,"pl-k"],[19,24,"pl-k"]],[],[[2,7,"pl-k"],[21,28,"pl-en"],[31,36,"pl-k"]],[[2,6,"pl-k"],[7,33,"pl-en"],[36,41,"pl-k"]],[],[[9,14,"pl-en"],[17,22,"pl-k"]],[],[[1,6,"pl-k"]],[[2,7,"pl-k"],[8,12,"pl-k"],[14,18,"pl-en"],[21,26,"pl-k"],[41,49,"pl-k"]],[[1,6,"pl-k"],[8,40,"pl-c"],[8,10,"pl-c"]],[],[[1,11,"pl-k"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-k"]],[],[],[],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[16,19,"pl-en"]],[[20,25,"pl-k"],[26,30,"pl-k"]],[[20,26,"pl-c1"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[1,9,"pl-k"]],[[2,8,"pl-k"],[9,15,"pl-k"],[16,21,"pl-k"],[22,26,"pl-k"],[28,44,"pl-en"]],[[2,9,"pl-k"]],[],[],[[0,5,"pl-k"],[6,15,"pl-en"],[18,24,"pl-k"],[25,30,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"],[37,42,"pl-k"],[43,47,"pl-k"]],[[2,8,"pl-k"],[19,22,"pl-en"],[37,42,"pl-k"]],[],[[2,11,"pl-en"]],[[2,11,"pl-en"]],[],[],[[0,5,"pl-k"],[6,16,"pl-en"],[19,25,"pl-k"],[26,31,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[20,23,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"]],[[2,8,"pl-k"],[20,23,"pl-en"],[38,43,"pl-k"]],[],[[2,12,"pl-en"]],[[2,12,"pl-en"]],[],[],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,17,"pl-en"],[20,26,"pl-k"],[27,32,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[21,24,"pl-en"],[39,44,"pl-k"],[45,49,"pl-k"]],[[2,8,"pl-k"],[21,24,"pl-en"],[39,44,"pl-k"]],[],[[2,13,"pl-en"]],[[2,13,"pl-en"]],[],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[0,5,"pl-k"],[6,18,"pl-en"]],[[1,8,"pl-k"]],[[2,14,"pl-en"]],[[2,15,"pl-en"]],[],[[2,62,"pl-c"],[2,4,"pl-c"]],[[2,27,"pl-en"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[[8,17,"pl-en"],[20,25,"pl-k"]],[[2,6,"pl-k"],[7,22,"pl-en"],[25,30,"pl-k"]],[[2,8,"pl-c1"],[9,15,"pl-en"],[18,23,"pl-k"]],[[2,7,"pl-k"],[14,22,"pl-k"],[25,31,"pl-c1"],[39,44,"pl-k"]],[[8,12,"pl-en"],[15,20,"pl-k"]],[[2,6,"pl-k"],[8,12,"pl-en"],[15,20,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[15,19,"pl-k"]],[[2,10,"pl-k"],[11,19,"pl-k"],[20,38,"pl-en"],[41,46,"pl-k"]],[],[[1,9,"pl-k"]],[[2,7,"pl-k"],[8,14,"pl-c1"],[33,34,"pl-c1"]],[],[],[],[[2,8,"pl-c1"]],[],[[25,26,"pl-c1"]],[],[[2,6,"pl-k"]],[],[],[[0,5,"pl-k"],[6,24,"pl-en"]],[[1,8,"pl-k"]],[[2,7,"pl-k"],[41,46,"pl-k"]],[[2,7,"pl-k"],[25,29,"pl-k"],[34,39,"pl-k"]],[],[[1,7,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[1,6,"pl-k"],[8,45,"pl-c"],[8,10,"pl-c"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[[6,11,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"],[29,37,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[[6,11,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,36,"pl-en"]],[],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,33,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[2,8,"pl-k"],[28,33,"pl-en"]],[[6,11,"pl-k"]],[],[],[[2,8,"pl-k"],[28,33,"pl-en"]],[],[],[],[[2,8,"pl-k"],[28,33,"pl-en"]],[],[],[],[],[[2,20,"pl-en"]],[],[[2,10,"pl-k"]],[[2,10,"pl-k"],[11,16,"pl-k"],[45,50,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[],[[0,65,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,43,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,29,"pl-en"]],[[1,8,"pl-k"]],[[2,25,"pl-en"]],[],[[2,10,"pl-k"],[41,47,"pl-k"]],[[2,10,"pl-k"],[11,16,"pl-k"],[45,50,"pl-k"],[53,59,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[],[[0,9,"pl-k"],[10,18,"pl-k"],[22,30,"pl-k"]],[[0,6,"pl-k"],[7,25,"pl-en"]],[],[[2,6,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"],[22,30,"pl-k"],[48,56,"pl-k"]],[[0,6,"pl-k"],[7,27,"pl-en"]],[],[],[[2,6,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,18,"pl-en"]],[[1,8,"pl-k"]],[[2,7,"pl-k"],[37,41,"pl-k"],[49,54,"pl-k"]],[[2,7,"pl-k"],[52,57,"pl-k"]],[[2,7,"pl-k"],[52,57,"pl-k"]],[[2,7,"pl-k"],[33,37,"pl-k"],[45,50,"pl-k"]],[[45,50,"pl-k"]],[],[[2,7,"pl-k"]],[],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,44,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,44,"pl-en"]],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[44,51,"pl-c1"]],[[2,8,"pl-k"],[28,44,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[44,51,"pl-c1"]],[[2,8,"pl-k"],[28,44,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,41,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[2,8,"pl-k"],[28,41,"pl-en"]],[],[],[],[],[[1,11,"pl-k"]],[[2,8,"pl-k"],[9,13,"pl-k"],[14,28,"pl-en"]],[],[[29,34,"pl-k"]],[],[[1,9,"pl-k"]],[[2,7,"pl-k"]],[],[[2,7,"pl-k"]],[],[[2,7,"pl-k"]],[],[[2,7,"pl-k"]],[],[],[[2,8,"pl-k"],[20,53,"pl-en"]],[],[[2,8,"pl-k"],[20,49,"pl-en"]],[],[[2,8,"pl-k"],[20,49,"pl-en"]],[],[[2,8,"pl-k"],[20,49,"pl-en"]],[],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[20,33,"pl-en"]],[],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[9,18,"pl-en"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[23,33,"pl-en"]],[[4,10,"pl-k"]],[],[[2,8,"pl-k"],[23,33,"pl-en"],[44,51,"pl-c1"]],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,10,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,70,"pl-c"],[0,2,"pl-c"]],[[0,65,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,37,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,17,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,17,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,56,"pl-c"],[0,2,"pl-c"]],[[0,49,"pl-c"],[0,2,"pl-c"]],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,17,"pl-c"],[0,2,"pl-c"]],[[0,49,"pl-c"],[0,2,"pl-c"]],[[0,13,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,67,"pl-c"],[0,2,"pl-c"]],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,16,"pl-en"],[19,25,"pl-k"],[26,38,"pl-en"]],[[1,8,"pl-k"]],[[2,12,"pl-en"],[13,18,"pl-k"]],[[2,9,"pl-k"],[10,21,"pl-en"]],[],[[2,8,"pl-k"],[12,18,"pl-en"]],[],[[2,72,"pl-c"],[2,4,"pl-c"]],[[2,16,"pl-c"],[2,4,"pl-c"]],[[2,7,"pl-k"],[35,39,"pl-k"],[44,49,"pl-k"]],[[2,7,"pl-k"],[47,52,"pl-k"]],[[2,7,"pl-k"],[47,52,"pl-k"]],[[2,7,"pl-k"],[31,35,"pl-k"],[40,45,"pl-k"]],[[40,45,"pl-k"]],[],[[2,7,"pl-k"]],[],[[2,8,"pl-k"],[18,29,"pl-en"]],[],[[6,11,"pl-k"],[12,16,"pl-k"]],[[6,11,"pl-k"]],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[18,29,"pl-en"]],[[30,35,"pl-k"],[36,40,"pl-k"]],[[30,35,"pl-k"]],[[30,34,"pl-k"],[43,50,"pl-c1"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"]],[[2,8,"pl-k"],[28,40,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[71,78,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,11,"pl-k"],[71,78,"pl-c1"]],[[2,8,"pl-k"],[28,42,"pl-en"]],[],[],[[6,10,"pl-k"],[19,26,"pl-c1"]],[[2,8,"pl-k"],[28,39,"pl-en"]],[[6,11,"pl-k"],[12,16,"pl-k"]],[],[],[[2,8,"pl-k"],[28,39,"pl-en"]],[],[],[],[[2,8,"pl-k"],[21,39,"pl-en"],[40,45,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,23,"pl-en"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,23,"pl-en"]],[],[[1,9,"pl-k"]],[[2,7,"pl-k"]],[],[[2,8,"pl-k"],[20,46,"pl-en"]],[],[[2,8,"pl-k"],[20,51,"pl-en"]],[],[[2,8,"pl-k"],[20,47,"pl-en"]],[],[[2,8,"pl-k"],[20,47,"pl-en"]],[],[[2,8,"pl-k"],[20,47,"pl-en"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,30,"pl-en"]],[[31,35,"pl-k"]],[[31,35,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,34,"pl-en"],[49,53,"pl-k"],[61,65,"pl-k"]],[],[[2,8,"pl-k"],[18,29,"pl-en"]],[[30,35,"pl-k"],[36,40,"pl-k"]],[[30,35,"pl-k"],[36,42,"pl-c1"]],[[30,35,"pl-k"]],[[30,34,"pl-k"],[43,50,"pl-c1"]],[],[[2,7,"pl-k"]],[],[[2,7,"pl-k"]],[],[[2,7,"pl-k"]],[],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[20,33,"pl-en"]],[],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[9,24,"pl-en"]],[],[[2,11,"pl-k"]],[[2,8,"pl-k"],[23,39,"pl-en"]],[[4,10,"pl-k"]],[],[[2,8,"pl-k"],[23,39,"pl-en"],[56,63,"pl-c1"]],[],[[4,10,"pl-k"],[11,18,"pl-c1"]],[],[],[[2,6,"pl-k"],[30,34,"pl-c1"]],[[2,6,"pl-k"],[20,25,"pl-c1"]],[],[],[[0,5,"pl-k"],[6,17,"pl-en"]],[[1,8,"pl-k"]],[[2,13,"pl-en"]],[[2,10,"pl-k"],[11,22,"pl-en"]],[[2,14,"pl-en"]],[],[[2,66,"pl-c"],[2,4,"pl-c"]],[[2,27,"pl-en"]],[],[[2,10,"pl-k"],[11,28,"pl-en"],[31,36,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[],[],[[0,5,"pl-k"],[6,26,"pl-en"]],[[1,8,"pl-k"]],[[2,22,"pl-en"]],[[2,10,"pl-k"],[11,31,"pl-en"]],[[2,23,"pl-en"]],[],[[2,76,"pl-c"],[2,4,"pl-c"]],[[2,27,"pl-en"]],[],[[2,10,"pl-k"],[11,38,"pl-en"],[41,46,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[[8,14,"pl-en"]],[],[[1,9,"pl-k"]],[],[],[],[],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,19,"pl-en"]],[[1,8,"pl-k"]],[[2,15,"pl-en"]],[[2,15,"pl-en"]],[[2,9,"pl-k"],[10,24,"pl-en"]],[],[[2,68,"pl-c"],[2,4,"pl-c"]],[[2,27,"pl-en"]],[],[[2,10,"pl-k"],[11,30,"pl-en"],[33,38,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[],[[1,6,"pl-k"]],[],[[0,5,"pl-k"],[6,18,"pl-en"]],[[1,8,"pl-k"]],[[2,10,"pl-k"],[11,23,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"]],[[2,10,"pl-k"],[11,23,"pl-en"]],[[24,29,"pl-k"],[30,34,"pl-k"]],[[24,29,"pl-k"]],[[2,9,"pl-k"],[10,23,"pl-en"]],[],[[2,14,"pl-en"]],[[16,24,"pl-k"]],[[2,27,"pl-en"]],[],[[2,10,"pl-k"],[11,29,"pl-en"],[32,37,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[],[],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,17,"pl-en"]],[[1,8,"pl-k"]],[[2,9,"pl-k"],[10,22,"pl-en"]],[],[[2,27,"pl-en"]],[],[[2,10,"pl-k"],[11,26,"pl-en"],[29,34,"pl-k"]],[],[[12,15,"pl-en"],[18,23,"pl-k"]],[],[[2,6,"pl-k"],[7,12,"pl-en"]],[[2,6,"pl-k"],[7,13,"pl-en"]],[[2,6,"pl-k"],[7,23,"pl-en"]],[],[[19,27,"pl-en"]],[[21,29,"pl-en"]],[],[[2,9,"pl-k"],[10,14,"pl-k"],[15,24,"pl-en"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,29,"pl-en"]],[],[[1,11,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"],[49,54,"pl-k"],[55,59,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"]],[[23,28,"pl-k"],[29,33,"pl-k"]],[[23,28,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"],[47,52,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"]],[[23,28,"pl-k"]],[[23,28,"pl-k"],[29,33,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"],[23,28,"pl-k"]],[[23,28,"pl-k"]],[[23,28,"pl-k"],[29,33,"pl-k"]],[[23,28,"pl-k"]],[],[[2,10,"pl-k"],[11,22,"pl-en"]],[[2,10,"pl-k"],[11,22,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"]],[[2,10,"pl-k"],[11,22,"pl-en"]],[[23,28,"pl-k"],[29,33,"pl-k"]],[[23,28,"pl-k"]],[],[[2,9,"pl-k"],[10,14,"pl-k"],[15,22,"pl-en"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,19,"pl-en"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,22,"pl-en"],[23,28,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,22,"pl-en"]],[[2,9,"pl-k"],[34,43,"pl-en"]],[],[[2,6,"pl-k"],[7,15,"pl-en"],[16,21,"pl-k"]],[],[[1,9,"pl-k"]],[[2,8,"pl-k"],[9,15,"pl-k"],[16,20,"pl-k"],[21,39,"pl-en"],[54,58,"pl-k"]],[[2,8,"pl-k"],[9,15,"pl-k"],[16,20,"pl-k"],[21,40,"pl-en"]],[],[[41,45,"pl-k"]],[],[],[],[],[],[],[[2,6,"pl-k"]],[],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,3,"pl-k"]],[[0,5,"pl-k"],[6,24,"pl-en"]],[[1,8,"pl-k"]],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,57,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,29,"pl-c"],[2,4,"pl-c"]],[[2,57,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,29,"pl-c"],[2,4,"pl-c"]],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"],[59,67,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,57,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,29,"pl-c"],[2,4,"pl-c"]],[[2,57,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,29,"pl-c"],[2,4,"pl-c"]],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[37,45,"pl-k"],[59,67,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[],[[2,20,"pl-en"]],[[2,20,"pl-en"]],[],[[2,10,"pl-k"],[11,35,"pl-en"],[38,43,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,26,"pl-en"],[29,34,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[14,26,"pl-en"],[46,51,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[31,39,"pl-k"]],[[14,26,"pl-en"],[62,67,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,29,"pl-en"],[32,37,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[14,29,"pl-en"],[49,54,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"],[31,39,"pl-k"]],[[14,29,"pl-en"],[65,70,"pl-k"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,10,"pl-en"],[25,30,"pl-k"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,12,"pl-en"],[27,32,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,21,"pl-en"],[24,29,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,21,"pl-en"],[24,29,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,19,"pl-en"],[22,27,"pl-k"]],[],[[2,8,"pl-k"],[9,27,"pl-en"]],[[4,13,"pl-k"],[14,19,"pl-k"],[20,21,"pl-en"]],[[4,12,"pl-k"]],[[6,12,"pl-k"],[13,24,"pl-k"]],[],[[4,8,"pl-k"]],[],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[21,31,"pl-en"],[34,39,"pl-k"]],[],[[1,9,"pl-k"]],[[2,7,"pl-k"],[40,44,"pl-k"]],[],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[28,31,"pl-en"]],[[32,37,"pl-k"]],[[32,37,"pl-k"]],[],[[32,38,"pl-c1"]],[[32,38,"pl-c1"]],[],[],[],[],[],[[14,26,"pl-en"]],[[68,73,"pl-k"]],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,20,"pl-en"]],[],[[21,25,"pl-k"]],[[21,25,"pl-k"]],[],[],[],[],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,40,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"],[38,47,"pl-c1"]],[[10,18,"pl-k"],[30,34,"pl-k"]],[[10,14,"pl-en"]],[],[],[[1,8,"pl-k"]],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,77,"pl-c"],[2,4,"pl-c"]],[[2,71,"pl-c"],[2,4,"pl-c"]],[[2,74,"pl-c"],[2,4,"pl-c"]],[[2,43,"pl-c"],[2,4,"pl-c"]],[[1,3,"pl-k"]],[[2,8,"pl-k"],[14,23,"pl-c1"],[24,44,"pl-smi"]],[[1,5,"pl-k"]],[[2,8,"pl-k"],[24,44,"pl-smi"]],[[1,6,"pl-k"]],[[2,8,"pl-k"],[24,39,"pl-smi"]],[],[],[[1,3,"pl-k"]],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,64,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[[29,36,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[[29,36,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"],[41,45,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[],[],[[32,39,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,62,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"],[41,45,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[],[],[[32,39,"pl-c1"]],[[1,6,"pl-k"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,63,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[[29,36,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,62,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[[29,36,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,62,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"],[41,45,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[],[],[[32,39,"pl-c1"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,44,"pl-c"],[2,4,"pl-c"]],[[2,61,"pl-c"],[2,4,"pl-c"]],[[2,55,"pl-c"],[2,4,"pl-c"]],[[2,53,"pl-c"],[2,4,"pl-c"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[],[],[[32,39,"pl-c1"]],[],[[2,25,"pl-c1"]],[[2,25,"pl-c1"]],[],[[2,10,"pl-k"],[11,35,"pl-smi"],[38,43,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,26,"pl-smi"],[44,51,"pl-c1"],[53,58,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,29,"pl-smi"],[47,54,"pl-c1"],[56,61,"pl-k"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,10,"pl-smi"],[25,30,"pl-k"]],[],[[2,54,"pl-c"],[2,4,"pl-c"]],[[2,6,"pl-k"],[7,12,"pl-smi"],[27,32,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,21,"pl-smi"],[24,29,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,21,"pl-smi"],[24,29,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[14,19,"pl-smi"],[22,27,"pl-k"]],[],[[2,44,"pl-c"],[2,4,"pl-c"]],[[15,25,"pl-c1"],[28,33,"pl-k"]],[],[[1,9,"pl-k"]],[[2,11,"pl-k"],[12,20,"pl-k"]],[[12,20,"pl-k"]],[[12,20,"pl-k"]],[[2,8,"pl-k"],[64,67,"pl-c1"]],[],[[6,11,"pl-k"]],[[6,11,"pl-k"]],[],[[6,12,"pl-c1"]],[[6,12,"pl-c1"]],[],[],[],[],[],[[2,8,"pl-k"],[9,13,"pl-k"],[14,28,"pl-smi"]],[],[[29,33,"pl-k"]],[[29,33,"pl-k"]],[],[[1,11,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,29,"pl-en"],[32,38,"pl-k"],[39,50,"pl-en"]],[[1,8,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,29,"pl-en"]],[[2,7,"pl-k"],[8,22,"pl-en"]],[[3,10,"pl-k"]],[[4,18,"pl-en"]],[],[],[[29,48,"pl-en"]],[[6,12,"pl-k"]],[],[[14,18,"pl-en"],[23,29,"pl-k"]],[],[[3,11,"pl-k"]],[],[],[],[[2,6,"pl-k"],[7,21,"pl-en"],[57,65,"pl-k"]],[],[[1,11,"pl-k"]],[[2,10,"pl-k"],[11,34,"pl-en"],[35,40,"pl-k"]],[[35,40,"pl-k"]],[[35,40,"pl-k"],[41,45,"pl-k"]],[[35,40,"pl-k"]],[[35,41,"pl-c1"],[55,56,"pl-c1"]],[[2,9,"pl-k"],[10,34,"pl-en"]],[],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[2,10,"pl-k"],[11,34,"pl-en"]],[[35,40,"pl-k"],[41,45,"pl-k"]],[[35,40,"pl-k"]],[[35,41,"pl-c1"],[55,56,"pl-c1"]],[[1,6,"pl-k"]],[],[[2,8,"pl-k"],[9,15,"pl-k"],[16,20,"pl-k"],[21,40,"pl-en"]],[],[[41,45,"pl-k"]],[],[[14,29,"pl-en"]],[],[[1,9,"pl-k"]],[],[[2,6,"pl-k"],[25,30,"pl-c1"]],[],[[2,8,"pl-k"],[9,15,"pl-k"],[16,20,"pl-k"],[21,49,"pl-en"]],[[21,25,"pl-k"]],[],[],[[0,9,"pl-k"],[10,15,"pl-k"],[16,17,"pl-en"]],[[0,5,"pl-k"],[6,25,"pl-en"],[28,34,"pl-k"],[35,58,"pl-en"],[59,63,"pl-k"]],[[1,8,"pl-k"]],[[2,9,"pl-k"],[10,30,"pl-en"]],[],[[2,7,"pl-k"],[8,25,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,36,"pl-en"]],[],[[3,10,"pl-k"]],[[4,8,"pl-k"],[9,15,"pl-en"],[18,23,"pl-k"]],[[4,8,"pl-k"],[9,13,"pl-en"],[14,19,"pl-k"],[29,35,"pl-c1"],[43,48,"pl-k"]],[],[[3,11,"pl-k"]],[[4,12,"pl-k"],[13,30,"pl-en"]],[[25,30,"pl-k"]],[],[],[[2,6,"pl-k"],[7,21,"pl-en"],[22,26,"pl-k"],[29,37,"pl-k"]],[],[[1,11,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[31,36,"pl-k"],[37,41,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[31,36,"pl-k"],[37,41,"pl-k"]],[[31,36,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[31,36,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[31,36,"pl-k"]],[[31,36,"pl-k"],[37,41,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"],[31,36,"pl-k"]],[[31,36,"pl-k"]],[[31,36,"pl-k"],[37,41,"pl-k"]],[[31,36,"pl-k"]],[],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"]],[[2,10,"pl-k"],[11,30,"pl-en"],[46,51,"pl-k"],[52,56,"pl-k"]],[[2,10,"pl-k"],[11,30,"pl-en"]],[[31,36,"pl-k"],[37,41,"pl-k"]],[[31,36,"pl-k"]],[[1,6,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,22,"pl-en"],[23,28,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[41,47,"pl-c1"]],[],[[1,9,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[17,25,"pl-k"]],[[2,6,"pl-k"],[7,13,"pl-en"]],[[2,6,"pl-k"],[7,20,"pl-en"],[21,26,"pl-k"],[36,42,"pl-c1"]],[],[],[],[[2,8,"pl-c1"]],[[2,6,"pl-k"]],[],[],[[0,9,"pl-k"],[10,15,"pl-k"],[16,17,"pl-en"]],[[0,5,"pl-k"],[6,30,"pl-en"]],[[51,57,"pl-c1"]],[[1,8,"pl-k"]],[[2,9,"pl-k"],[10,35,"pl-en"]],[],[[2,7,"pl-k"],[8,25,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,41,"pl-en"]],[],[[3,10,"pl-k"]],[[4,8,"pl-k"],[9,15,"pl-en"],[18,23,"pl-k"]],[[4,8,"pl-k"],[9,13,"pl-en"],[14,19,"pl-k"],[29,35,"pl-c1"],[43,48,"pl-k"]],[],[[3,11,"pl-k"]],[[4,12,"pl-k"],[13,30,"pl-en"]],[],[[30,35,"pl-k"]],[],[],[[2,6,"pl-k"],[7,21,"pl-en"],[57,65,"pl-k"]],[[2,6,"pl-k"],[7,21,"pl-en"],[36,42,"pl-c1"],[46,54,"pl-k"]],[],[[1,11,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[36,41,"pl-k"],[42,46,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[36,41,"pl-k"],[42,46,"pl-k"]],[[36,41,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[36,41,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[36,41,"pl-k"]],[[36,41,"pl-k"],[42,46,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"],[36,41,"pl-k"]],[[36,41,"pl-k"]],[[36,41,"pl-k"],[42,46,"pl-k"]],[[36,41,"pl-k"]],[],[[0,69,"pl-c"],[0,2,"pl-c"]],[[0,66,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"]],[[2,10,"pl-k"],[11,35,"pl-en"],[51,56,"pl-k"],[57,61,"pl-k"]],[[2,10,"pl-k"],[11,35,"pl-en"]],[[36,41,"pl-k"],[42,46,"pl-k"]],[[36,41,"pl-k"]],[[1,6,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,22,"pl-en"],[23,28,"pl-k"]],[[2,9,"pl-k"],[10,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[41,47,"pl-c1"]],[],[[1,9,"pl-k"]],[[2,6,"pl-k"],[7,14,"pl-en"],[17,25,"pl-k"]],[[2,6,"pl-k"],[7,13,"pl-en"],[16,21,"pl-k"]],[[2,6,"pl-k"],[7,20,"pl-en"],[21,26,"pl-k"],[36,42,"pl-c1"]],[],[[1,6,"pl-k"],[8,47,"pl-c"],[8,10,"pl-c"]],[],[[0,21,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,22,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[9,16,"pl-c1"],[17,37,"pl-en"],[52,59,"pl-c1"]],[],[],[[0,21,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,23,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[9,17,"pl-c1"],[18,32,"pl-en"]],[[2,8,"pl-k"],[9,14,"pl-k"],[34,48,"pl-en"]],[],[],[[1,3,"pl-k"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,5,"pl-k"],[6,11,"pl-en"],[14,20,"pl-k"],[21,33,"pl-en"]],[[1,8,"pl-k"]],[[2,8,"pl-k"],[9,15,"pl-k"],[23,27,"pl-en"]],[[2,8,"pl-k"],[12,18,"pl-en"]],[],[[1,11,"pl-k"]],[[2,7,"pl-k"]],[[2,6,"pl-k"],[7,18,"pl-en"]],[[19,24,"pl-k"]],[[15,31,"pl-en"]],[[32,37,"pl-k"]],[],[[1,9,"pl-k"]],[],[],[[1,6,"pl-k"],[8,27,"pl-c"],[8,10,"pl-c"]],[],[[1,6,"pl-k"]],[[3,41,"pl-c"],[3,5,"pl-c"]],[[1,6,"pl-k"]],[],[[3,20,"pl-c"],[3,5,"pl-c"]],[],[[0,75,"pl-c"],[0,2,"pl-c"]],[[1,8,"pl-k"],[9,21,"pl-s"],[9,10,"pl-pds"],[20,21,"pl-pds"]],[],[[8,22,"pl-c"],[8,10,"pl-c"]]],"colorizedLines":null}},"title":"node-addon-api/napi.h at main · nodejs/node-addon-api","appPayload":{},"meta":{"title":"node-addon-api/napi.h at main · nodejs/node-addon-api"}}</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="/nodejs/node-addon-api" 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="/nodejs/node-addon-api/tree/main" data-discover="true">node-addon-api</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">napi.h</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_1cpla9lik5_" 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_1cpla9lik5_ _R_1cpla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_1cpla9lik5H1_" 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_7p9la9lik5_" id="_R_99la9lik5_"><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_7p9la9lik5_">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_7pdla9lik5_" id="_R_9dla9lik5_"><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_7pdla9lik5_">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="/nodejs/node-addon-api/commits/main/napi.h" 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="/nodejs/node-addon-api/commits/main/napi.h" 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="125 KB" style="--truncate-max-width:100%"><span>3505 lines (3006 loc) · 125 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="/nodejs/node-addon-api/tree/main" data-discover="true">node-addon-api</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">napi.h</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="125 KB" style="--truncate-max-width:100%"><span>3505 lines (3006 loc) · 125 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/nodejs/node-addon-api/raw/refs/heads/main/napi.h" 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="2" data-paste-markdown-skip="true" style="tab-size:2;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</div><div data-line-number="35" class="react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="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</div><div data-line-number="43" class="react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="react-line-number react-code-text" style="padding-right:16px">48</div><div data-line-number="49" class="react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="react-line-number react-code-text" style="padding-right:16px">54</div><div data-line-number="55" class="react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="react-line-number react-code-text" style="padding-right:16px">64</div><div data-line-number="65" class="react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="react-line-number react-code-text" style="padding-right:16px">75</div><div data-line-number="76" class="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</div><div data-line-number="81" class="react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="react-line-number react-code-text" style="padding-right:16px">82</div><div data-line-number="83" class="react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="react-line-number react-code-text" style="padding-right:16px">88</div><div data-line-number="89" class="react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="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<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="272" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="child-of-line-270  react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="child-of-line-270  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<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="345" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">402<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="403" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="child-of-line-343 child-of-line-401  react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="child-of-line-343  react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="child-of-line-343  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<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="447" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="child-of-line-445  react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="child-of-line-445  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<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="478" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">479</div><div data-line-number="480" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">512</div><div data-line-number="513" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="child-of-line-476  react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="child-of-line-476  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<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="591" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="child-of-line-589  react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="child-of-line-589  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<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="608" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="child-of-line-606  react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="child-of-line-606  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<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="645" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">657<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="658" class="child-of-line-643 child-of-line-656  react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="child-of-line-643 child-of-line-656  react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="child-of-line-643 child-of-line-656  react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">666</div><div data-line-number="667" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="child-of-line-643  react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="child-of-line-643  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<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="690" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">691</div><div data-line-number="692" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="child-of-line-688  react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="child-of-line-688  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<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="714" class="child-of-line-712  react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="child-of-line-712  react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="child-of-line-712  react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="child-of-line-712  react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="child-of-line-712  react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="child-of-line-712  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<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="724" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">754<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="755" class="child-of-line-722 child-of-line-753  react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="child-of-line-722 child-of-line-753  react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="child-of-line-722 child-of-line-753  react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">762<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="763" class="child-of-line-722 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="child-of-line-722 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="child-of-line-722 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="child-of-line-722 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="child-of-line-722  react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="child-of-line-722  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<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="799" class="child-of-line-797  react-line-number react-code-text" style="padding-right:16px">799</div><div data-line-number="800" class="child-of-line-797  react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="child-of-line-797  react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="child-of-line-797  react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="child-of-line-797  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<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="832" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">834<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="835" class="child-of-line-830 child-of-line-833  react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="child-of-line-830 child-of-line-833  react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="child-of-line-830 child-of-line-833  react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="child-of-line-830 child-of-line-833  react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">842<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="843" class="child-of-line-830 child-of-line-841  react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="child-of-line-830 child-of-line-841  react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="child-of-line-830 child-of-line-841  react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">849<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="850" class="child-of-line-830 child-of-line-848  react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="child-of-line-830 child-of-line-848  react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="child-of-line-830 child-of-line-848  react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="child-of-line-830  react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="child-of-line-830  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<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="898" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="child-of-line-896  react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="child-of-line-896  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<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="910" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">926<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="927" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="child-of-line-908 child-of-line-925  react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">982</div><div data-line-number="983" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="child-of-line-908  react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="child-of-line-908  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">ifndef</span> SRC_NAPI_H_</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">define</span> <span class="pl-en">SRC_NAPI_H_</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">
</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">ifndef</span> NAPI_HAS_THREADS</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">if</span> !defined(__wasm__) || (defined(__EMSCRIPTEN_PTHREADS__) ||                 \</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">defined</span>(__wasi__) &amp;&amp; <span class="pl-k">defined</span>(_REENTRANT)))</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">define</span> <span class="pl-en">NAPI_HAS_THREADS</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="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" 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="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative">#<span class="pl-k">define</span> <span class="pl-en">NAPI_HAS_THREADS</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="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" 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="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" 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="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative">
</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"><span class="pl-pds">&lt;</span>node_api.h<span class="pl-pds">&gt;</span></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"><span class="pl-pds">&lt;</span>functional<span class="pl-pds">&gt;</span></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">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>initializer_list<span class="pl-pds">&gt;</span></span></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"><span class="pl-pds">&lt;</span>memory<span class="pl-pds">&gt;</span></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">#<span class="pl-k">if</span> NAPI_HAS_THREADS</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">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>mutex<span class="pl-pds">&gt;</span></span></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">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_HAS_THREADS</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>chrono<span class="pl-pds">&gt;</span></span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>string<span class="pl-pds">&gt;</span></span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>string_view<span class="pl-pds">&gt;</span></span></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">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>type_traits<span class="pl-pds">&gt;</span></span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>utility<span class="pl-pds">&gt;</span></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">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>vector<span class="pl-pds">&gt;</span></span></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">
</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"><span class="pl-c"><span class="pl-c">//</span> VS2015 RTM has bugs with constexpr, so require min of VS2015 Update 3 (known</span></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"><span class="pl-c"><span class="pl-c">//</span> good version)</span></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">if</span> !defined(_MSC_VER) || _MSC_FULL_VER &gt;= 190024210</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_HAS_CONSTEXPR</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="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" 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="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative">
</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"><span class="pl-c"><span class="pl-c">//</span> VS2013 does not support char16_t literal strings, so we&#039;ll work around it</span></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-c"><span class="pl-c">//</span> using wchar_t strings and casting them. This is safe as long as the character</span></div></div></div><div class="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-c"><span class="pl-c">//</span> sizes are the same.</span></div></div></div><div class="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-k">if</span> defined(_MSC_VER) &amp;&amp; _MSC_VER &lt;= 1800</div></div></div><div class="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-k">static_assert</span>(<span class="pl-k">sizeof</span>(<span class="pl-k">char16_t</span>) == <span class="pl-k">sizeof</span>(<span class="pl-k">wchar_t</span>),</div></div></div><div class="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-s"><span class="pl-pds">&quot;</span>Size mismatch between char16_t and wchar_t<span class="pl-pds">&quot;</span></span>);</div></div></div><div class="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">define</span> <span class="pl-en">NAPI_WIDE_TEXT</span>(<span class="pl-v">x</span>) <span class="pl-k">reinterpret_cast</span>&lt;<span class="pl-k">char16_t</span>*&gt;(L##x)</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-k">else</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_WIDE_TEXT</span>(<span class="pl-v">x</span>) u##x</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">endif</span></div></div></div><div class="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">
</div></div></div><div class="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"><span class="pl-c">//</span> Backwards-compatibility to handle the rename of this macro definition, in</span></div></div></div><div class="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"><span class="pl-c">//</span> case they are used within userland code.</span></div></div></div><div class="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-k">ifdef</span> NAPI_CPP_EXCEPTIONS</div></div></div><div class="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">define</span> <span class="pl-en">NODE_ADDON_API_CPP_EXCEPTIONS</span></div></div></div><div class="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-k">endif</span></div></div></div><div class="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-k">if</span> defined(NODE_ADDON_API_CPP_EXCEPTIONS) &amp;&amp; !defined(NAPI_CPP_EXCEPTIONS)</div></div></div><div class="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-k">define</span> <span class="pl-en">NAPI_CPP_EXCEPTIONS</span></div></div></div><div class="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">endif</span></div></div></div><div class="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-k">ifdef</span> NAPI_DISABLE_CPP_EXCEPTIONS</div></div></div><div class="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-k">define</span> <span class="pl-en">NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS</span></div></div></div><div class="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-k">endif</span></div></div></div><div class="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-k">if</span> defined(NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS) &amp;&amp;                          \</div></div></div><div class="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">defined</span>(<span class="pl-c1">NAPI_DISABLE_CPP_EXCEPTIONS</span>)</div></div></div><div class="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-k">define</span> <span class="pl-en">NAPI_DISABLE_CPP_EXCEPTIONS</span></div></div></div><div class="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-k">endif</span></div></div></div><div class="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">
</div></div></div><div class="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-c"><span class="pl-c">//</span> If C++ exceptions are not explicitly enabled or disabled, enable them</span></div></div></div><div class="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"><span class="pl-c">//</span> if exceptions were enabled in the compiler settings.</span></div></div></div><div class="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-k">if</span> !defined(NODE_ADDON_API_CPP_EXCEPTIONS) &amp;&amp;                                 \</div></div></div><div class="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-k">defined</span>(<span class="pl-c1">NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS</span>)</div></div></div><div class="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-k">if</span> defined(_CPPUNWIND) || defined(__EXCEPTIONS)</div></div></div><div class="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-k">define</span> <span class="pl-en">NODE_ADDON_API_CPP_EXCEPTIONS</span></div></div></div><div class="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-k">else</span></div></div></div><div class="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-k">error</span> Exception support not detected. \</div></div></div><div class="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">      Define either <span class="pl-c1">NODE_ADDON_API_CPP_EXCEPTIONS</span> <span class="pl-k">or</span> <span class="pl-c1">NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS</span>.</div></div></div><div class="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-k">endif</span></div></div></div><div class="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-k">endif</span></div></div></div><div class="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">
</div></div></div><div class="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-c"><span class="pl-c">//</span> If C++ NODE_ADDON_API_CPP_EXCEPTIONS are enabled, NODE_ADDON_API_ENABLE_MAYBE</span></div></div></div><div class="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"><span class="pl-c">//</span> should not be set</span></div></div></div><div class="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-k">if</span> defined(NODE_ADDON_API_CPP_EXCEPTIONS) &amp;&amp;                                  \</div></div></div><div class="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-en">defined</span>(<span class="pl-c1">NODE_ADDON_API_ENABLE_MAYBE</span>)</div></div></div><div class="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-k">error</span> NODE_ADDON_API_ENABLE_MAYBE should not be set when \</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-c1">NODE_ADDON_API_CPP_EXCEPTIONS</span> is <span class="pl-k">defined</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">#<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="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">ifdef</span> _NOEXCEPT</div></div></div><div class="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-k">define</span> <span class="pl-en">NAPI_NOEXCEPT</span> _NOEXCEPT</div></div></div><div class="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-k">else</span></div></div></div><div class="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">define</span> <span class="pl-en">NAPI_NOEXCEPT</span> <span class="pl-k">noexcept</span></div></div></div><div class="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-k">endif</span></div></div></div><div class="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">
</div></div></div><div class="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">ifdef</span> NODE_ADDON_API_CPP_EXCEPTIONS</div></div></div><div class="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">
</div></div></div><div class="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-c"><span class="pl-c">//</span> When C++ exceptions are enabled, Errors are thrown directly. There is no need</span></div></div></div><div class="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"><span class="pl-c">//</span> to return anything after the throw statements. The variadic parameter is an</span></div></div></div><div class="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-c"><span class="pl-c">//</span> optional return value that is ignored.</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"><span class="pl-c"><span class="pl-c">//</span> We need _VOID versions of the macros to avoid warnings resulting from</span></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"><span class="pl-c"><span class="pl-c">//</span> leaving the NAPI_THROW_* `...` argument empty.</span></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">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_THROW</span>(e, ...) <span class="pl-k">throw</span> e</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">NAPI_THROW_VOID</span>(<span class="pl-v">e</span>) <span class="pl-k">throw</span> e</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">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_THROW_IF_FAILED</span>(env, status, ...)                                 \</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">if</span> ((status) != napi_ok) <span class="pl-k">throw</span> <span class="pl-en">Napi::Error::New</span>(env);</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">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_THROW_IF_FAILED_VOID</span>(<span class="pl-v">env, status</span>)                                 \</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">if</span> ((status) != napi_ok) <span class="pl-k">throw</span> <span class="pl-en">Napi::Error::New</span>(env);</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">
</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">#<span class="pl-k">else</span>  <span class="pl-c"><span class="pl-c">//</span> NODE_ADDON_API_CPP_EXCEPTIONS</span></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">
</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-c"><span class="pl-c">//</span> When C++ exceptions are disabled, Errors are thrown as JavaScript exceptions,</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"><span class="pl-c"><span class="pl-c">//</span> which are pending until the callback returns to JS.  The variadic parameter</span></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"><span class="pl-c"><span class="pl-c">//</span> is an optional return value; usually it is an empty result.</span></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-c"><span class="pl-c">//</span> We need _VOID versions of the macros to avoid warnings resulting from</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-c"><span class="pl-c">//</span> leaving the NAPI_THROW_* `...` argument empty.</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">define</span> <span class="pl-en">NAPI_THROW</span>(e, ...)                                                     \</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">  <span class="pl-k">do</span> {                                                                         \</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">    (e).<span class="pl-c1">ThrowAsJavaScriptException</span>();                                          \</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-k">return</span> __VA_ARGS__;                                                        \</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">while</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="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_THROW_VOID</span>(<span class="pl-v">e</span>)                                                     \</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">  <span class="pl-k">do</span> {                                                                         \</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">    (e).<span class="pl-c1">ThrowAsJavaScriptException</span>();                                          \</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">    <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="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative">  } <span class="pl-k">while</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="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-k">define</span> <span class="pl-en">NAPI_THROW_IF_FAILED</span>(env, status, ...)                                 \</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">if</span> ((status) != napi_ok) {                                                   \</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">    <span class="pl-c1">Napi::Error::New</span>(env).<span class="pl-c1">ThrowAsJavaScriptException</span>();                        \</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">    <span class="pl-k">return</span> __VA_ARGS__;                                                        \</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">  }</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">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_THROW_IF_FAILED_VOID</span>(<span class="pl-v">env, status</span>)                                 \</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">  <span class="pl-k">if</span> ((status) != napi_ok) {                                                   \</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">    <span class="pl-c1">Napi::Error::New</span>(env).<span class="pl-c1">ThrowAsJavaScriptException</span>();                        \</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">return</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">  }</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">
</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">#<span class="pl-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NODE_ADDON_API_CPP_EXCEPTIONS</span></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">
</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">#<span class="pl-k">ifdef</span> NODE_ADDON_API_ENABLE_MAYBE</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-k">define</span> <span class="pl-en">NAPI_MAYBE_THROW_IF_FAILED</span>(<span class="pl-v">env, status, type</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">  <span class="pl-en">NAPI_THROW_IF_FAILED</span>(env, status, Napi::Nothing&lt;type&gt;())</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">
</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-k">define</span> <span class="pl-en">NAPI_RETURN_OR_THROW_IF_FAILED</span>(<span class="pl-v">env, status, result, type</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-en">NAPI_MAYBE_THROW_IF_FAILED</span>(env, status, type);                               \</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-k">return</span> Napi::Just&lt;type&gt;(result);</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">else</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-k">define</span> <span class="pl-en">NAPI_MAYBE_THROW_IF_FAILED</span>(<span class="pl-v">env, status, type</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">  <span class="pl-en">NAPI_THROW_IF_FAILED</span>(env, status, type())</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">
</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-k">define</span> <span class="pl-en">NAPI_RETURN_OR_THROW_IF_FAILED</span>(<span class="pl-v">env, status, result, type</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-en">NAPI_MAYBE_THROW_IF_FAILED</span>(env, status, type);                               \</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-k">return</span> result;</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-k">endif</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">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_DISALLOW_ASSIGN</span>(<span class="pl-v">CLASS</span>) <span class="pl-k">void</span> <span class="pl-k">operator</span>=(<span class="pl-k">const</span> <span class="pl-c1">CLASS</span>&amp;) = <span class="pl-k">delete</span>;</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_DISALLOW_COPY</span>(<span class="pl-v">CLASS</span>) <span class="pl-c1">CLASS</span>(<span class="pl-k">const</span> <span class="pl-c1">CLASS</span>&amp;) = <span class="pl-k">delete</span>;</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">
</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-k">define</span> <span class="pl-en">NAPI_DISALLOW_ASSIGN_COPY</span>(<span class="pl-v">CLASS</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-en">NAPI_DISALLOW_ASSIGN</span>(<span class="pl-c1">CLASS</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">  NAPI_DISALLOW_COPY(<span class="pl-c1">CLASS</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_CHECK</span>(<span class="pl-v">condition, location, message</span>)                               \</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">do</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-k">if</span> (!(condition)) {                                                        \</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-c1">Napi::Error::Fatal</span>((location), (message));                               \</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">    }                                                                          \</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-k">while</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="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative">
</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"><span class="pl-c"><span class="pl-c">//</span> Internal check helper. Be careful that the formatted message length should be</span></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-c"><span class="pl-c">//</span> max 255 size and null terminated.</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_INTERNAL_CHECK</span>(expr, location, ...)                               \</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">  <span class="pl-k">do</span> {                                                                         \</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-k">if</span> (!(expr)) {                                                             \</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">      std::string msg = <span class="pl-c1">Napi::details::StringFormat</span>(__VA_ARGS__);              \</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-c1">Napi::Error::Fatal</span>(location, msg.<span class="pl-c1">c_str</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">while</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="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative">
</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">#<span class="pl-k">define</span> <span class="pl-en">NAPI_INTERNAL_CHECK_EQ</span>(<span class="pl-v">actual, expected, value_format, location</span>)       \</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-k">do</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">auto</span> actual_value = (actual);                                              \</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-c1">NAPI_INTERNAL_CHECK</span>(actual_value == (expected),                            \</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">                        location,                                              \</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">                        <span class="pl-s"><span class="pl-pds">&quot;</span>Expected <span class="pl-pds">&quot;</span></span> #actual <span class="pl-s"><span class="pl-pds">&quot;</span> to be equal to <span class="pl-pds">&quot;</span></span> #expected       \</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-s"><span class="pl-pds">&quot;</span>, but got <span class="pl-pds">&quot;</span></span> value_format <span class="pl-s"><span class="pl-pds">&quot;</span>.<span class="pl-pds">&quot;</span></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">                        actual_value);                                         \</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-k">while</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="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative">
</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">define</span> <span class="pl-en">NAPI_FATAL_IF_FAILED</span>(<span class="pl-v">status, location, message</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">  <span class="pl-en">NAPI_CHECK</span>((status) == napi_ok, location, message)</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-c"><span class="pl-c">//</span>//////////////////////////////////////////////////////////////////////////////</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-c"><span class="pl-c">//</span>/ Node-API C++ Wrapper Classes</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"><span class="pl-c"><span class="pl-c">//</span>/</span></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-c"><span class="pl-c">//</span>/ These classes wrap the &quot;Node-API&quot; ABI-stable C APIs for Node.js, providing a</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-c"><span class="pl-c">//</span>/ C++ object model and C++ exception-handling semantics with low overhead.</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-c"><span class="pl-c">//</span>/ The wrappers are all header-only so that they do not affect the ABI.</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-c"><span class="pl-c">//</span>//////////////////////////////////////////////////////////////////////////////</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">namespace Napi {</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">
</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">ifdef</span> NAPI_CPP_CUSTOM_NAMESPACE</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-c"><span class="pl-c">//</span> NAPI_CPP_CUSTOM_NAMESPACE can be #define&#039;d per-addon to avoid symbol</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"><span class="pl-c"><span class="pl-c">//</span> conflicts between different instances of node-addon-api</span></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">
</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-c"><span class="pl-c">//</span> First dummy definition of the namespace to make sure that Napi::(name) still</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-c"><span class="pl-c">//</span> refers to the right things inside this file.</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-k">namespace</span> <span class="pl-en">NAPI_CPP_CUSTOM_NAMESPACE</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-k">using</span> <span class="pl-k">namespace</span> <span class="pl-en">NAPI_CPP_CUSTOM_NAMESPACE</span><span class="pl-k">;</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">
</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-k">namespace</span> <span class="pl-en">NAPI_CPP_CUSTOM_NAMESPACE</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">#endif</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">
</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"><span class="pl-c"><span class="pl-c">//</span> Forward declarations</span></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"><span class="pl-k">class</span> <span class="pl-en">Env</span>;</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">class</span> <span class="pl-en">Value</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-k">class</span> <span class="pl-en">Boolean</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"><span class="pl-k">class</span> <span class="pl-en">Number</span>;</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-k">if</span> NAPI_VERSION &gt; 5</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">class</span> <span class="pl-en">BigInt</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">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</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">#<span class="pl-k">if</span> (NAPI_VERSION &gt; 4)</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"><span class="pl-k">class</span> <span class="pl-en">Date</span>;</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-k">endif</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-k">class</span> <span class="pl-en">String</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-k">class</span> <span class="pl-en">Object</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-k">class</span> <span class="pl-en">Array</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-k">class</span> <span class="pl-en">ArrayBuffer</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">class</span> <span class="pl-en">Function</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"><span class="pl-k">class</span> <span class="pl-en">Error</span>;</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"><span class="pl-k">class</span> <span class="pl-en">PropertyDescriptor</span>;</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">class</span> <span class="pl-en">CallbackInfo</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-k">class</span> <span class="pl-en">TypedArray</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"><span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</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">class</span> <span class="pl-en">TypedArrayOf</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">
</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">using</span> Int8Array =</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">    TypedArrayOf&lt;<span class="pl-c1">int8_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of signed 8-bit integers</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"><span class="pl-k">using</span> Uint8Array =</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">    TypedArrayOf&lt;<span class="pl-c1">uint8_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of unsigned 8-bit integers</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"><span class="pl-k">using</span> Int16Array =</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">    TypedArrayOf&lt;<span class="pl-c1">int16_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of signed 16-bit integers</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"><span class="pl-k">using</span> Uint16Array =</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">    TypedArrayOf&lt;<span class="pl-c1">uint16_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of unsigned 16-bit integers</span></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">using</span> Int32Array =</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">    TypedArrayOf&lt;<span class="pl-c1">int32_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of signed 32-bit integers</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-k">using</span> Uint32Array =</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">    TypedArrayOf&lt;<span class="pl-c1">uint32_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of unsigned 32-bit integers</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-k">using</span> Float32Array =</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">    TypedArrayOf&lt;<span class="pl-k">float</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of 32-bit floating-point values</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"><span class="pl-k">using</span> Float64Array =</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">    TypedArrayOf&lt;<span class="pl-k">double</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed-array of 64-bit floating-point values</span></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">if</span> NAPI_VERSION &gt; 5</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">using</span> BigInt64Array =</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">    TypedArrayOf&lt;<span class="pl-c1">int64_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed array of signed 64-bit integers</span></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">using</span> BigUint64Array =</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">    TypedArrayOf&lt;<span class="pl-c1">uint64_t</span>&gt;;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Typed array of unsigned 64-bit integers</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">#<span class="pl-k">endif</span>                       <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</span></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">
</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"><span class="pl-c">//</span>/ Defines the signature of a Node-API C++ module&#039;s registration callback</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 class="pl-c">//</span>/ (init) function.</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-k">using</span> ModuleRegisterCallback = Object (*)(Env env, Object exports);</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">
</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">class</span> <span class="pl-en">MemoryManagement</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">
</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"><span class="pl-c"><span class="pl-c">//</span>/ A simple Maybe type, representing an object which may or may not have a</span></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-c"><span class="pl-c">//</span>/ value.</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-c"><span class="pl-c">//</span>/</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"><span class="pl-c"><span class="pl-c">//</span>/ If an API method returns a Maybe&lt;&gt;, the API method can potentially fail</span></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-c"><span class="pl-c">//</span>/ either because an exception is thrown, or because an exception is pending,</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"><span class="pl-c"><span class="pl-c">//</span>/ e.g. because a previous API call threw an exception that hasn&#039;t been</span></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"><span class="pl-c"><span class="pl-c">//</span>/ caught yet. In that case, a &quot;Nothing&quot; value is returned.</span></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">template </span>&lt;<span class="pl-k">class</span> <span class="pl-en">T</span>&gt;</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-k">class</span> <span class="pl-en">Maybe</span> {</div></div></div><div class="child-of-line-270  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-k">public:</span></div></div></div><div class="child-of-line-270  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">bool</span> <span class="pl-en">IsNothing</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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-k">bool</span> <span class="pl-en">IsJust</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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="child-of-line-270  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-c"><span class="pl-c">//</span>/ Short-hand for Unwrap(), which doesn&#039;t return a value. Could be used</span></div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ where the actual value of the Maybe is not needed like Object::Set.</span></div></div></div><div class="child-of-line-270  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">  <span class="pl-c"><span class="pl-c">//</span>/ If this Maybe is nothing (empty), node-addon-api will crash the</span></div></div></div><div class="child-of-line-270  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">  <span class="pl-c"><span class="pl-c">//</span>/ process.</span></div></div></div><div class="child-of-line-270  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-k">void</span> <span class="pl-en">Check</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ Return the value of type T contained in the Maybe. If this Maybe is</span></div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ nothing (empty), node-addon-api will crash the process.</span></div></div></div><div class="child-of-line-270  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">  T <span class="pl-en">Unwrap</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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">  <span class="pl-c"><span class="pl-c">//</span>/ Return the value of type T contained in the Maybe, or using a default</span></div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ value if this Maybe is nothing (empty).</span></div></div></div><div class="child-of-line-270  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">  T <span class="pl-en">UnwrapOr</span>(<span class="pl-k">const</span> T&amp; default_value) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ Converts this Maybe to a value of type T in the out. If this Maybe is</span></div></div></div><div class="child-of-line-270  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-c"><span class="pl-c">//</span>/ nothing (empty), `false` is returned and `out` is left untouched.</span></div></div></div><div class="child-of-line-270  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">  <span class="pl-k">bool</span> <span class="pl-en">UnwrapTo</span>(T* out) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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-k">bool</span> <span class="pl-k">operator</span>==(<span class="pl-k">const</span> Maybe&amp; other) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">  <span class="pl-k">bool</span> <span class="pl-k">operator</span>!=(<span class="pl-k">const</span> Maybe&amp; other) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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-k">private:</span></div></div></div><div class="child-of-line-270  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">  <span class="pl-en">Maybe</span>();</div></div></div><div class="child-of-line-270  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">  <span class="pl-k">explicit</span> <span class="pl-en">Maybe</span>(<span class="pl-k">const</span> T&amp; t);</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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-k">bool</span> _has_value;</div></div></div><div class="child-of-line-270  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">  T _value;</div></div></div><div class="child-of-line-270  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">
</div></div></div><div class="child-of-line-270  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">class</span> <span class="pl-en">U</span>&gt;</div></div></div><div class="child-of-line-270  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">  <span class="pl-k">friend</span> Maybe&lt;U&gt; <span class="pl-en">Nothing</span>();</div></div></div><div class="child-of-line-270  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">template </span>&lt;<span class="pl-k">class</span> <span class="pl-en">U</span>&gt;</div></div></div><div class="child-of-line-270  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-k">friend</span> Maybe&lt;U&gt; <span class="pl-en">Just</span>(<span class="pl-k">const</span> U&amp; u);</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">
</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">template </span>&lt;<span class="pl-k">class</span> <span class="pl-en">T</span>&gt;</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-k">inline</span> Maybe&lt;T&gt; <span class="pl-en">Nothing</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-k">template </span>&lt;<span class="pl-k">class</span> <span class="pl-en">T</span>&gt;</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-k">inline</span> Maybe&lt;T&gt; <span class="pl-en">Just</span>(<span class="pl-k">const</span> T&amp; t);</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">
</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-k">if</span> defined(NODE_ADDON_API_ENABLE_MAYBE)</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">template </span>&lt;<span class="pl-k">typename</span> T&gt;</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-k">using</span> MaybeOrValue = Maybe&lt;T&gt;;</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">else</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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</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-k">using</span> MaybeOrValue = T;</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">#<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="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative">
</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-k">ifdef</span> NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER</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-k">using</span> node_addon_api_basic_env = node_api_nogc_env;</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"><span class="pl-k">using</span> node_addon_api_basic_finalize = node_api_nogc_finalize;</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">#<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="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative"><span class="pl-k">using</span> node_addon_api_basic_env = napi_env;</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"><span class="pl-k">using</span> node_addon_api_basic_finalize = napi_finalize;</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-k">endif</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">
</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"><span class="pl-c"><span class="pl-c">//</span>/ Environment for Node-API values and operations.</span></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-c"><span class="pl-c">//</span>/</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-c"><span class="pl-c">//</span>/ All Node-API values and operations must be associated with an environment.</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"><span class="pl-c"><span class="pl-c">//</span>/ An environment instance is always provided to callback functions; that</span></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"><span class="pl-c"><span class="pl-c">//</span>/ environment must then be used for any creation of Node-API values or other</span></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"><span class="pl-c"><span class="pl-c">//</span>/ Node-API operations within the callback. (Many methods infer the</span></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-c"><span class="pl-c">//</span>/ environment from the `this` instance that the method is called on.)</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"><span class="pl-c"><span class="pl-c">//</span>/</span></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"><span class="pl-c"><span class="pl-c">//</span>/ Multiple environments may co-exist in a single process or a thread.</span></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"><span class="pl-c">//</span>/</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"><span class="pl-c"><span class="pl-c">//</span>/ In the V8 JavaScript engine, a Node-API environment approximately</span></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-c"><span class="pl-c">//</span>/ corresponds to an Isolate.</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-k">class</span> <span class="pl-en">BasicEnv</span> {</div></div></div><div class="child-of-line-343  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"> <span class="pl-k">private:</span></div></div></div><div class="child-of-line-343  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">  node_addon_api_basic_env _env;</div></div></div><div class="child-of-line-343  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-k">if</span> NAPI_VERSION &gt; 5</div></div></div><div class="child-of-line-343  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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-343  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">static</span> <span class="pl-k">void</span> <span class="pl-en">DefaultFini</span>(Env, T* data);</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> DataType, <span class="pl-k">typename</span> HintType&gt;</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">DefaultFiniWithHint</span>(Env, DataType* data, HintType* hint);</div></div></div><div class="child-of-line-343  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">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</span></div></div></div><div class="child-of-line-343  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-k">public:</span></div></div></div><div class="child-of-line-343  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-en">BasicEnv</span>(node_addon_api_basic_env env);</div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">operator</span> <span class="pl-en">node_addon_api_basic_env</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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-c"><span class="pl-c">//</span> Without these operator overloads, the error:</span></div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span></span></div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span>    Use of overloaded operator &#039;==&#039; is ambiguous (with operand types</span></div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span>    &#039;Napi::Env&#039; and &#039;Napi::Env&#039;)</span></div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span></span></div></div></div><div class="child-of-line-343  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">  <span class="pl-c"><span class="pl-c">//</span> ... occurs when comparing foo.Env() == bar.Env() or foo.Env() == nullptr</span></div></div></div><div class="child-of-line-343  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">  <span class="pl-k">bool</span> <span class="pl-k">operator</span>==(<span class="pl-k">const</span> BasicEnv&amp; other) <span class="pl-k">const</span> {</div></div></div><div class="child-of-line-343  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> _env == other.<span class="pl-smi">_env</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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">  <span class="pl-k">bool</span> <span class="pl-k">operator</span>==(std::<span class="pl-c1">nullptr_t</span> <span class="pl-c"><span class="pl-c">/*</span>other<span class="pl-c">*/</span></span>) <span class="pl-k">const</span> {</div></div></div><div class="child-of-line-343  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">return</span> _env == <span class="pl-c1">nullptr</span>;</div></div></div><div class="child-of-line-343  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">  }</div></div></div><div class="child-of-line-343  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="child-of-line-343  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-k">if</span> NAPI_VERSION &gt; 2</div></div></div><div class="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> Hook, <span class="pl-k">typename</span> Arg = <span class="pl-k">void</span>&gt;</div></div></div><div class="child-of-line-343  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">class</span> <span class="pl-en">CleanupHook</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> Hook&gt;</div></div></div><div class="child-of-line-343  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">  CleanupHook&lt;Hook&gt; <span class="pl-en">AddCleanupHook</span>(Hook hook);</div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> Hook, <span class="pl-k">typename</span> Arg&gt;</div></div></div><div class="child-of-line-343  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">  CleanupHook&lt;Hook, Arg&gt; <span class="pl-en">AddCleanupHook</span>(Hook hook, Arg* arg);</div></div></div><div class="child-of-line-343  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-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 2</span></div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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-k">if</span> NAPI_VERSION &gt; 5</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-343  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">  T* <span class="pl-en">GetInstanceData</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">using</span> Finalizer = <span class="pl-k">void</span> (*)(Env, T*);</div></div></div><div class="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> T, Finalizer&lt;T&gt; fini = BasicEnv::DefaultFini&lt;T&gt;&gt;</div></div></div><div class="child-of-line-343  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-k">void</span> <span class="pl-en">SetInstanceData</span>(T* data) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> DataType, <span class="pl-k">typename</span> HintType&gt;</div></div></div><div class="child-of-line-343  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-k">using</span> FinalizerWithHint = <span class="pl-k">void</span> (*)(Env, DataType*, HintType*);</div></div></div><div class="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> DataType,</div></div></div><div class="child-of-line-343  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">typename</span> HintType,</div></div></div><div class="child-of-line-343  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">            FinalizerWithHint&lt;DataType, HintType&gt; fini =</div></div></div><div class="child-of-line-343  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">                BasicEnv::DefaultFiniWithHint&lt;DataType, HintType&gt;&gt;</div></div></div><div class="child-of-line-343  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-k">void</span> <span class="pl-en">SetInstanceData</span>(DataType* data, HintType* hint) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</span></div></div></div><div class="child-of-line-343  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="child-of-line-343  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">if</span> NAPI_VERSION &gt; 2</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> Hook, <span class="pl-k">typename</span> Arg&gt;</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">class</span> <span class="pl-en">CleanupHook</span> {</div></div></div><div class="child-of-line-343 child-of-line-401  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">public:</span></div></div></div><div class="child-of-line-343 child-of-line-401  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-en">CleanupHook</span>();</div></div></div><div class="child-of-line-343 child-of-line-401  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">CleanupHook</span>(BasicEnv env, Hook hook, Arg* arg);</div></div></div><div class="child-of-line-343 child-of-line-401  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">    <span class="pl-en">CleanupHook</span>(BasicEnv env, Hook hook);</div></div></div><div class="child-of-line-343 child-of-line-401  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">bool</span> <span class="pl-en">Remove</span>(BasicEnv env);</div></div></div><div class="child-of-line-343 child-of-line-401  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-k">bool</span> <span class="pl-en">IsEmpty</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343 child-of-line-401  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">
</div></div></div><div class="child-of-line-343 child-of-line-401  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-k">private:</span></div></div></div><div class="child-of-line-343 child-of-line-401  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-k">static</span> <span class="pl-k">inline</span> <span class="pl-k">void</span> <span class="pl-en">Wrapper</span>(<span class="pl-k">void</span>* data) NAPI_NOEXCEPT;</div></div></div><div class="child-of-line-343 child-of-line-401  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-k">static</span> <span class="pl-k">inline</span> <span class="pl-k">void</span> <span class="pl-en">WrapperWithArg</span>(<span class="pl-k">void</span>* data) NAPI_NOEXCEPT;</div></div></div><div class="child-of-line-343 child-of-line-401  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="child-of-line-343 child-of-line-401  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-en">void</span> (*wrapper)(<span class="pl-k">void</span>* arg);</div></div></div><div class="child-of-line-343 child-of-line-401  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-k">struct</span> <span class="pl-en">CleanupData</span> {</div></div></div><div class="child-of-line-343 child-of-line-401  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">      Hook hook;</div></div></div><div class="child-of-line-343 child-of-line-401  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">      Arg* arg;</div></div></div><div class="child-of-line-343 child-of-line-401  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">    } * data;</div></div></div><div class="child-of-line-343  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">  };</div></div></div><div class="child-of-line-343  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">#<span class="pl-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 2</span></div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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">#<span class="pl-k">if</span> NAPI_VERSION &gt; 8</div></div></div><div class="child-of-line-343  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">const</span> <span class="pl-k">char</span>* <span class="pl-en">GetModuleFileName</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 8</span></div></div></div><div class="child-of-line-343  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="child-of-line-343  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-k">ifdef</span> NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER</div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span> FinalizerType must implement `void operator()(Env env)`.</span></div></div></div><div class="child-of-line-343  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">template </span>&lt;<span class="pl-k">typename</span> FinalizerType&gt;</div></div></div><div class="child-of-line-343  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">inline</span> <span class="pl-k">void</span> <span class="pl-en">PostFinalizer</span>(FinalizerType finalizeCallback) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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-c"><span class="pl-c">//</span> FinalizerType must implement `void operator()(Env env, T* data)`.</span></div></div></div><div class="child-of-line-343  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-k">template </span>&lt;<span class="pl-k">typename</span> FinalizerType, <span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-343  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">inline</span> <span class="pl-k">void</span> <span class="pl-en">PostFinalizer</span>(FinalizerType finalizeCallback, T* data) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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="child-of-line-343  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">  <span class="pl-c"><span class="pl-c">//</span> FinalizerType must implement `void operator()(Env env, T* data,</span></div></div></div><div class="child-of-line-343  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-c"><span class="pl-c">//</span> Hint* hint)`.</span></div></div></div><div class="child-of-line-343  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-k">template </span>&lt;<span class="pl-k">typename</span> FinalizerType, <span class="pl-k">typename</span> T, <span class="pl-k">typename</span> Hint&gt;</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">inline</span> <span class="pl-k">void</span> <span class="pl-en">PostFinalizer</span>(FinalizerType finalizeCallback,</div></div></div><div class="child-of-line-343  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">                            T* data,</div></div></div><div class="child-of-line-343  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">                            Hint* finalizeHint) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-343  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-k">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER</span></div></div></div><div class="child-of-line-343  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">
</div></div></div><div class="child-of-line-343  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">  <span class="pl-k">friend</span> <span class="pl-k">class</span> <span class="pl-en">Env</span>;</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">};</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">
</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-k">class</span> <span class="pl-en">Env</span> : <span class="pl-k">public</span> <span class="pl-en">BasicEnv</span> {</div></div></div><div class="child-of-line-445  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">public:</span></div></div></div><div class="child-of-line-445  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">  <span class="pl-en">Env</span>(napi_env env);</div></div></div><div class="child-of-line-445  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">
</div></div></div><div class="child-of-line-445  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">  <span class="pl-k">operator</span> <span class="pl-en">napi_env</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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="child-of-line-445  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">  Object <span class="pl-en">Global</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">  Value <span class="pl-en">Undefined</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">  Value <span class="pl-en">Null</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">
</div></div></div><div class="child-of-line-445  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">bool</span> <span class="pl-en">IsExceptionPending</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">  Error <span class="pl-en">GetAndClearPendingException</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">
</div></div></div><div class="child-of-line-445  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">  MaybeOrValue&lt;Value&gt; <span class="pl-en">RunScript</span>(<span class="pl-k">const</span> <span class="pl-k">char</span>* utf8script) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">  MaybeOrValue&lt;Value&gt; <span class="pl-en">RunScript</span>(<span class="pl-k">const</span> std::string&amp; utf8script) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-445  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">  MaybeOrValue&lt;Value&gt; <span class="pl-en">RunScript</span>(String script) <span class="pl-k">const</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">};</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-c"><span class="pl-c">//</span>/ A JavaScript value of unknown type.</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-c"><span class="pl-c">//</span>/</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-c"><span class="pl-c">//</span>/ For type-specific operations, convert to one of the Value subclasses using a</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"><span class="pl-c"><span class="pl-c">//</span>/ `To*` or `As()` method. The `To*` methods do type coercion; the `As()`</span></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-c"><span class="pl-c">//</span>/ method does not.</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"><span class="pl-c"><span class="pl-c">//</span>/</span></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"><span class="pl-c"><span class="pl-c">//</span>/     Napi::Value value = ...</span></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-c"><span class="pl-c">//</span>/     if (!value.IsString()) throw Napi::TypeError::New(env, &quot;Invalid</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-c"><span class="pl-c">//</span>/     arg...&quot;); Napi::String str = value.As&lt;Napi::String&gt;(); // Cast to a</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"><span class="pl-c"><span class="pl-c">//</span>/     string value</span></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-c"><span class="pl-c">//</span>/</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-c"><span class="pl-c">//</span>/     Napi::Value anotherValue = ...</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-c"><span class="pl-c">//</span>/     bool isTruthy = anotherValue.ToBoolean(); // Coerce to a boolean value</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"><span class="pl-k">class</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-476  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">public:</span></div></div></div><div class="child-of-line-476  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">Value</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Value instance.</span></div></div></div><div class="child-of-line-476  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-en">Value</span>(napi_env env,</div></div></div><div class="child-of-line-476  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">        napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a JS value from a C++ primitive.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ `value` may be any of:</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ - bool</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ - Any integer type</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ - Any floating point type</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ - const char* (encoded using UTF-8, null-terminated)</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ - const char16_t* (encoded using UTF-16-LE, null-terminated)</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ - std::string (encoded using UTF-8)</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ - std::u16string</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ - napi::Value</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ - napi_value</span></div></div></div><div class="child-of-line-476  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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-476  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">static</span> Value <span class="pl-en">From</span>(napi_env env, <span class="pl-k">const</span> T&amp; value);</div></div></div><div class="child-of-line-476  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="child-of-line-476  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-476  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="child-of-line-476  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-c"><span class="pl-c">//</span>/ Converts to a Node-API value primitive.</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ If the instance is _empty_, this returns `nullptr`.</span></div></div></div><div class="child-of-line-476  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">operator</span> <span class="pl-en">napi_value</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ Tests if this value strictly equals another value.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-k">operator</span>==(<span class="pl-k">const</span> Value&amp; other) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ Tests if this value does not strictly equal another value.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-k">operator</span>!=(<span class="pl-k">const</span> Value&amp; other) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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="child-of-line-476  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-c"><span class="pl-c">//</span>/ Tests if this value strictly equals another value.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">StrictEquals</span>(<span class="pl-k">const</span> Value&amp; other) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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="child-of-line-476  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-c"><span class="pl-c">//</span>/ Gets the environment the value is associated with.</span></div></div></div><div class="child-of-line-476  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">  Napi::Env <span class="pl-en">Env</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ Checks if the value is empty (uninitialized).</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ An empty value is invalid, and most attempts to perform an operation on an</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ empty value will result in an exception. Note an empty value is distinct</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ from JavaScript `null` or `undefined`, which are valid values.</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ When C++ exceptions are disabled at compile time, a method with a `Value`</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ return type may return an empty value to indicate a pending exception. So</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ when not using C++ exceptions, callers should check whether the value is</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ empty before attempting to use it.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsEmpty</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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">  napi_valuetype <span class="pl-en">Type</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Gets the type of the value.</span></div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsUndefined</span>()</div></div></div><div class="child-of-line-476  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">const</span>;            <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is an undefined JavaScript value.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsNull</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a null JavaScript value.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsBoolean</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript boolean.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsNumber</span>() <span class="pl-k">const</span>;   <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript number.</span></div></div></div><div class="child-of-line-476  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">#<span class="pl-k">if</span> NAPI_VERSION &gt; 5</div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsBigInt</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript bigint.</span></div></div></div><div class="child-of-line-476  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">#<span class="pl-k">endif</span>                    <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</span></div></div></div><div class="child-of-line-476  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">#<span class="pl-k">if</span> (NAPI_VERSION &gt; 4)</div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsDate</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript date.</span></div></div></div><div class="child-of-line-476  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">#<span class="pl-k">endif</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsString</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript string.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsSymbol</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript symbol.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsArray</span>() <span class="pl-k">const</span>;   <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript array.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsArrayBuffer</span>()</div></div></div><div class="child-of-line-476  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript array buffer.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsTypedArray</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript typed array.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsObject</span>() <span class="pl-k">const</span>;      <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript object.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsFunction</span>() <span class="pl-k">const</span>;    <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript function.</span></div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsPromise</span>() <span class="pl-k">const</span>;     <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript promise.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsDataView</span>() <span class="pl-k">const</span>;    <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a JavaScript data view.</span></div></div></div><div class="child-of-line-476  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-k">bool</span> <span class="pl-en">IsBuffer</span>() <span class="pl-k">const</span>;      <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a Node buffer.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-k">bool</span> <span class="pl-en">IsExternal</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Tests if a value is a pointer to external data.</span></div></div></div><div class="child-of-line-476  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-k">ifdef</span> NODE_API_EXPERIMENTAL_HAS_SHAREDARRAYBUFFER</div></div></div><div class="child-of-line-476  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">bool</span> <span class="pl-en">IsSharedArrayBuffer</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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-k">endif</span></div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ Casts to another type of `Napi::Value`, when the actual type is known or</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/ assumed.</span></div></div></div><div class="child-of-line-476  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">  <span class="pl-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ This conversion does NOT coerce the type. Calling any methods</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ inappropriate for the actual value type will throw `Napi::Error`.</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ If `NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS` is defined, this method</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ asserts that the actual type is the expected type.</span></div></div></div><div class="child-of-line-476  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">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-476  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">  T <span class="pl-en">As</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span> Unsafe Value::As(), should be avoided.</span></div></div></div><div class="child-of-line-476  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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-476  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">  T <span class="pl-en">UnsafeAs</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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">  MaybeOrValue&lt;Boolean&gt; <span class="pl-en">ToBoolean</span>()</div></div></div><div class="child-of-line-476  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Coerces a value to a JavaScript boolean.</span></div></div></div><div class="child-of-line-476  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">  MaybeOrValue&lt;Number&gt; <span class="pl-en">ToNumber</span>()</div></div></div><div class="child-of-line-476  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Coerces a value to a JavaScript number.</span></div></div></div><div class="child-of-line-476  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">  MaybeOrValue&lt;String&gt; <span class="pl-en">ToString</span>()</div></div></div><div class="child-of-line-476  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Coerces a value to a JavaScript string.</span></div></div></div><div class="child-of-line-476  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">  MaybeOrValue&lt;Object&gt; <span class="pl-en">ToObject</span>()</div></div></div><div class="child-of-line-476  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Coerces a value to a JavaScript object.</span></div></div></div><div class="child-of-line-476  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">
</div></div></div><div class="child-of-line-476  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">protected:</span></div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ !cond INTERNAL</span></div></div></div><div class="child-of-line-476  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">  napi_env _env;</div></div></div><div class="child-of-line-476  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">  napi_value _value;</div></div></div><div class="child-of-line-476  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-c"><span class="pl-c">//</span>/ !endcond</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">};</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">
</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-c"><span class="pl-c">//</span>/ A JavaScript boolean value.</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-k">class</span> <span class="pl-en">Boolean</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-589  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-k">public:</span></div></div></div><div class="child-of-line-589  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">  <span class="pl-k">static</span> Boolean <span class="pl-en">New</span>(napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-589  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-k">bool</span> value     <span class="pl-c"><span class="pl-c">//</span>/&lt; Boolean value</span></div></div></div><div class="child-of-line-589  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">  );</div></div></div><div class="child-of-line-589  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">
</div></div></div><div class="child-of-line-589  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">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-589  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="child-of-line-589  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">  <span class="pl-en">Boolean</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Boolean instance.</span></div></div></div><div class="child-of-line-589  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">  <span class="pl-en">Boolean</span>(napi_env env,</div></div></div><div class="child-of-line-589  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">          napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-589  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">
</div></div></div><div class="child-of-line-589  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">  <span class="pl-k">operator</span> <span class="pl-en">bool</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Boolean value to a boolean primitive.</span></div></div></div><div class="child-of-line-589  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-k">bool</span> <span class="pl-en">Value</span>() <span class="pl-k">const</span>;     <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Boolean value to a boolean primitive.</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">};</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">
</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"><span class="pl-c"><span class="pl-c">//</span>/ A JavaScript number value.</span></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">class</span> <span class="pl-en">Number</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-606  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-k">public:</span></div></div></div><div class="child-of-line-606  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-k">static</span> Number <span class="pl-en">New</span>(napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-606  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">                    <span class="pl-k">double</span> value   <span class="pl-c"><span class="pl-c">//</span>/&lt; Number value</span></div></div></div><div class="child-of-line-606  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">  );</div></div></div><div class="child-of-line-606  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="child-of-line-606  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-606  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">
</div></div></div><div class="child-of-line-606  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">Number</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Number instance.</span></div></div></div><div class="child-of-line-606  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-en">Number</span>(napi_env env,</div></div></div><div class="child-of-line-606  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">         napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-606  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">
</div></div></div><div class="child-of-line-606  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-k">operator</span> <span class="pl-en">int32_t</span>()</div></div></div><div class="child-of-line-606  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit signed integer value.</span></div></div></div><div class="child-of-line-606  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">operator</span> <span class="pl-en">uint32_t</span>()</div></div></div><div class="child-of-line-606  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit unsigned integer value.</span></div></div></div><div class="child-of-line-606  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-k">operator</span> <span class="pl-en">int64_t</span>()</div></div></div><div class="child-of-line-606  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 64-bit signed integer value.</span></div></div></div><div class="child-of-line-606  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">  <span class="pl-k">operator</span> <span class="pl-en">float</span>()</div></div></div><div class="child-of-line-606  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit floating-point value.</span></div></div></div><div class="child-of-line-606  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">  <span class="pl-k">operator</span> <span class="pl-en">double</span>()</div></div></div><div class="child-of-line-606  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 64-bit floating-point value.</span></div></div></div><div class="child-of-line-606  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">
</div></div></div><div class="child-of-line-606  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">  <span class="pl-c1">int32_t</span> <span class="pl-en">Int32Value</span>()</div></div></div><div class="child-of-line-606  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit signed integer value.</span></div></div></div><div class="child-of-line-606  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-c1">uint32_t</span> <span class="pl-en">Uint32Value</span>()</div></div></div><div class="child-of-line-606  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit unsigned integer value.</span></div></div></div><div class="child-of-line-606  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">  <span class="pl-c1">int64_t</span> <span class="pl-en">Int64Value</span>()</div></div></div><div class="child-of-line-606  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 64-bit signed integer value.</span></div></div></div><div class="child-of-line-606  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">float</span> <span class="pl-en">FloatValue</span>()</div></div></div><div class="child-of-line-606  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 32-bit floating-point value.</span></div></div></div><div class="child-of-line-606  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-k">double</span> <span class="pl-en">DoubleValue</span>()</div></div></div><div class="child-of-line-606  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Number value to a 64-bit floating-point value.</span></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">
</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">#<span class="pl-k">if</span> NAPI_VERSION &gt; 5</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"><span class="pl-c"><span class="pl-c">//</span>/ A JavaScript bigint value.</span></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-k">class</span> <span class="pl-en">BigInt</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-643  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">public:</span></div></div></div><div class="child-of-line-643  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-k">static</span> BigInt <span class="pl-en">New</span>(napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-643  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">                    <span class="pl-c1">int64_t</span> value  <span class="pl-c"><span class="pl-c">//</span>/&lt; Number value</span></div></div></div><div class="child-of-line-643  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">  );</div></div></div><div class="child-of-line-643  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-k">static</span> BigInt <span class="pl-en">New</span>(napi_env env,   <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-643  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-c1">uint64_t</span> value  <span class="pl-c"><span class="pl-c">//</span>/&lt; Number value</span></div></div></div><div class="child-of-line-643  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">  );</div></div></div><div class="child-of-line-643  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">
</div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ Creates a new BigInt object using a specified sign bit and a</span></div></div></div><div class="child-of-line-643  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">  <span class="pl-c"><span class="pl-c">//</span>/ specified list of digits/words.</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ The resulting number is calculated as:</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ (-1)^sign_bit * (words[0] * (2^64)^0 + words[1] * (2^64)^1 + ...)</span></div></div></div><div class="child-of-line-643  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">static</span> BigInt <span class="pl-en">New</span>(napi_env env,          <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-643 child-of-line-656  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-k">int</span> sign_bit,          <span class="pl-c"><span class="pl-c">//</span>/&lt; Sign bit. 1 if negative.</span></div></div></div><div class="child-of-line-643 child-of-line-656  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">                    <span class="pl-c1">size_t</span> word_count,     <span class="pl-c"><span class="pl-c">//</span>/&lt; Number of words in array</span></div></div></div><div class="child-of-line-643 child-of-line-656  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">                    <span class="pl-k">const</span> <span class="pl-c1">uint64_t</span>* words  <span class="pl-c"><span class="pl-c">//</span>/&lt; Array of words</span></div></div></div><div class="child-of-line-643  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">  );</div></div></div><div class="child-of-line-643  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">
</div></div></div><div class="child-of-line-643  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-643  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">
</div></div></div><div class="child-of-line-643  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-en">BigInt</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ BigInt instance.</span></div></div></div><div class="child-of-line-643  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-en">BigInt</span>(napi_env env,</div></div></div><div class="child-of-line-643  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">         napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-643  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">
</div></div></div><div class="child-of-line-643  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-c1">int64_t</span> <span class="pl-en">Int64Value</span>(<span class="pl-k">bool</span>* lossless)</div></div></div><div class="child-of-line-643  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a BigInt value to a 64-bit signed integer value.</span></div></div></div><div class="child-of-line-643  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">  <span class="pl-c1">uint64_t</span> <span class="pl-en">Uint64Value</span>(<span class="pl-k">bool</span>* lossless)</div></div></div><div class="child-of-line-643  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a BigInt value to a 64-bit unsigned integer value.</span></div></div></div><div class="child-of-line-643  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="child-of-line-643  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-c1">size_t</span> <span class="pl-en">WordCount</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; The number of 64-bit words needed to store</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/&lt; the result of ToWords().</span></div></div></div><div class="child-of-line-643  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="child-of-line-643  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">  <span class="pl-c"><span class="pl-c">//</span>/ Writes the contents of this BigInt to a specified memory location.</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ `sign_bit` must be provided and will be set to 1 if this BigInt is</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ negative.</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ `*word_count` has to be initialized to the length of the `words` array.</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ Upon return, it will be set to the actual number of words that would</span></div></div></div><div class="child-of-line-643  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-c"><span class="pl-c">//</span>/ be needed to store this BigInt (i.e. the return value of `WordCount()`).</span></div></div></div><div class="child-of-line-643  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">  <span class="pl-k">void</span> <span class="pl-en">ToWords</span>(<span class="pl-k">int</span>* sign_bit, <span class="pl-c1">size_t</span>* word_count, <span class="pl-c1">uint64_t</span>* words);</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">};</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">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt; 5</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">
</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-k">if</span> (NAPI_VERSION &gt; 4)</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-c"><span class="pl-c">//</span>/ A JavaScript date value.</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-k">class</span> <span class="pl-en">Date</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-688  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"> <span class="pl-k">public:</span></div></div></div><div class="child-of-line-688  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a new Date value from a double primitive.</span></div></div></div><div class="child-of-line-688  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">  <span class="pl-k">static</span> Date <span class="pl-en">New</span>(napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-688  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">double</span> value   <span class="pl-c"><span class="pl-c">//</span>/&lt; Number value</span></div></div></div><div class="child-of-line-688  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="child-of-line-688  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="child-of-line-688  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a new Date value from a std::chrono::system_clock::time_point.</span></div></div></div><div class="child-of-line-688  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">static</span> Date <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-688  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">      napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-688  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">      std::chrono::system_clock::time_point time_point  <span class="pl-c"><span class="pl-c">//</span>/&lt; Time point value</span></div></div></div><div class="child-of-line-688  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="child-of-line-688  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="child-of-line-688  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-688  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">
</div></div></div><div class="child-of-line-688  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">Date</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Date instance.</span></div></div></div><div class="child-of-line-688  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">Date</span>(napi_env env, napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-688  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-k">operator</span> <span class="pl-en">double</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Date value to double primitive</span></div></div></div><div class="child-of-line-688  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">
</div></div></div><div class="child-of-line-688  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">double</span> <span class="pl-en">ValueOf</span>() <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a Date value to a double primitive.</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">};</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">#<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="LC711" class="react-file-line html-div" data-testid="code-cell" data-line-number="711" style="position:relative">
</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-c"><span class="pl-c">//</span>/ A JavaScript string or symbol value (that can be used as a property name).</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">class</span> <span class="pl-en">Name</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-712  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"> <span class="pl-k">public:</span></div></div></div><div class="child-of-line-712  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-712  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">
</div></div></div><div class="child-of-line-712  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">Name</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Name instance.</span></div></div></div><div class="child-of-line-712  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">Name</span>(napi_env env,</div></div></div><div class="child-of-line-712  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">       napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</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-c"><span class="pl-c">//</span>/ A JavaScript string value.</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-k">class</span> <span class="pl-en">String</span> : <span class="pl-k">public</span> <span class="pl-en">Name</span> {</div></div></div><div class="child-of-line-722  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">public:</span></div></div></div><div class="child-of-line-722  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-8 encoded C++ string.</span></div></div></div><div class="child-of-line-722  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">  <span class="pl-k">static</span> String <span class="pl-en">New</span>(napi_env env,             <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722  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">const</span> std::string&amp; value  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded C++ string</span></div></div></div><div class="child-of-line-722  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">  );</div></div></div><div class="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-16 encoded C++ string.</span></div></div></div><div class="child-of-line-722  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-k">static</span> String <span class="pl-en">New</span>(napi_env env,                <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722  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">const</span> std::u16string&amp; value  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-16 encoded C++ string</span></div></div></div><div class="child-of-line-722  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="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-8 encoded C++ string view.</span></div></div></div><div class="child-of-line-722  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">static</span> String <span class="pl-en">New</span>(napi_env env,           <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722  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">                    std::string_view value  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded C++ string view</span></div></div></div><div class="child-of-line-722  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="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-8 encoded C string.</span></div></div></div><div class="child-of-line-722  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">static</span> String <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-722  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">      napi_env env,      <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722  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-k">const</span> <span class="pl-k">char</span>* value  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded null-terminated C string</span></div></div></div><div class="child-of-line-722  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">  );</div></div></div><div class="child-of-line-722  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="child-of-line-722  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-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-16 encoded C string.</span></div></div></div><div class="child-of-line-722  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">static</span> String <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-722  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">      napi_env env,          <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722  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">      <span class="pl-k">const</span> <span class="pl-k">char16_t</span>* value  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-16 encoded null-terminated C string</span></div></div></div><div class="child-of-line-722  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">  );</div></div></div><div class="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-8 encoded C string with specified</span></div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ length.</span></div></div></div><div class="child-of-line-722  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-k">static</span> String <span class="pl-en">New</span>(napi_env env,       <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722 child-of-line-753  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-k">const</span> <span class="pl-k">char</span>* value,  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded C string (not</span></div></div></div><div class="child-of-line-722 child-of-line-753  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">                                        <span class="pl-c"><span class="pl-c">//</span>/&lt; necessarily null-terminated)</span></div></div></div><div class="child-of-line-722 child-of-line-753  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-c1">size_t</span> length       <span class="pl-c"><span class="pl-c">//</span>/&lt; length of the string in bytes</span></div></div></div><div class="child-of-line-722  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">  );</div></div></div><div class="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a new String value from a UTF-16 encoded C string with specified</span></div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ length.</span></div></div></div><div class="child-of-line-722  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">  <span class="pl-k">static</span> String <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-722 child-of-line-761  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">      napi_env env,           <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-722 child-of-line-761  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-k">const</span> <span class="pl-k">char16_t</span>* value,  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-16 encoded C string (not necessarily</span></div></div></div><div class="child-of-line-722 child-of-line-761  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">                              <span class="pl-c"><span class="pl-c">//</span>/&lt; null-terminated)</span></div></div></div><div class="child-of-line-722 child-of-line-761  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-c1">size_t</span> length           <span class="pl-c"><span class="pl-c">//</span>/&lt; Length of the string in 2-byte code units</span></div></div></div><div class="child-of-line-722  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">  );</div></div></div><div class="child-of-line-722  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="child-of-line-722  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"><span class="pl-c">//</span>/ Creates a new String based on the original object&#039;s type.</span></div></div></div><div class="child-of-line-722  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"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-722  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"><span class="pl-c">//</span>/ `value` may be any of:</span></div></div></div><div class="child-of-line-722  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 class="pl-c">//</span>/ - const char* (encoded using UTF-8, null-terminated)</span></div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ - const char16_t* (encoded using UTF-16-LE, null-terminated)</span></div></div></div><div class="child-of-line-722  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"><span class="pl-c">//</span>/ - std::string (encoded using UTF-8)</span></div></div></div><div class="child-of-line-722  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-c"><span class="pl-c">//</span>/ - std::u16string</span></div></div></div><div class="child-of-line-722  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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</div></div></div><div class="child-of-line-722  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">  <span class="pl-k">static</span> String <span class="pl-en">From</span>(napi_env env, <span class="pl-k">const</span> T&amp; value);</div></div></div><div class="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-722  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="child-of-line-722  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-en">String</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ String instance.</span></div></div></div><div class="child-of-line-722  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-en">String</span>(napi_env env,</div></div></div><div class="child-of-line-722  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">         napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-722  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">
</div></div></div><div class="child-of-line-722  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-k">operator</span> <span class="pl-en">std::string</span>()</div></div></div><div class="child-of-line-722  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a String value to a UTF-8 encoded C++ string.</span></div></div></div><div class="child-of-line-722  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">  <span class="pl-k">operator</span> <span class="pl-en">std::u16string</span>()</div></div></div><div class="child-of-line-722  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-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a String value to a UTF-16 encoded C++ string.</span></div></div></div><div class="child-of-line-722  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">  std::string <span class="pl-en">Utf8Value</span>()</div></div></div><div class="child-of-line-722  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">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a String value to a UTF-8 encoded C++ string.</span></div></div></div><div class="child-of-line-722  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">  std::u16string <span class="pl-en">Utf16Value</span>()</div></div></div><div class="child-of-line-722  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">      <span class="pl-k">const</span>;  <span class="pl-c"><span class="pl-c">//</span>/&lt; Converts a String value to a UTF-16 encoded C++ string.</span></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">};</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">
</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">namespace</span> <span class="pl-en">details</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-c"><span class="pl-c">//</span> This overload set must mirror the non-template Symbol::For overloads.</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">struct</span> <span class="pl-en">string_convertible_probe</span> {</div></div></div><div class="child-of-line-797  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">select</span>(<span class="pl-k">const</span> std::string&amp;);</div></div></div><div class="child-of-line-797  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">select</span>(std::string_view);</div></div></div><div class="child-of-line-797  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">select</span>(<span class="pl-k">const</span> <span class="pl-k">char</span>*);</div></div></div><div class="child-of-line-797  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">select</span>(String);</div></div></div><div class="child-of-line-797  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">  <span class="pl-k">static</span> <span class="pl-k">void</span> <span class="pl-en">select</span>(napi_value);</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">};</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">
</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">template </span>&lt;<span class="pl-k">typename</span> T, <span class="pl-k">typename</span> = <span class="pl-k">void</span>&gt;</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"><span class="pl-k">struct</span> <span class="pl-en">has_unambiguous_string_convertible_overload</span> : std::false_type {};</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">
</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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</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-k">struct</span> <span class="pl-en">has_unambiguous_string_convertible_overload</span>&lt;</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">    T,</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">    std::<span class="pl-c1">void_t</span>&lt;<span class="pl-k">decltype</span>(string_convertible_probe::select(std::declval&lt;T&gt;()))&gt;&gt;</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">    : std::true_type {};</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"><span class="pl-c"><span class="pl-c">//</span> Enable the template overload only for string-like arguments that have no</span></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"><span class="pl-c">//</span> unique best match among the non-template Symbol::For overloads.</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"><span class="pl-c">//</span></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 class="pl-c">//</span> Exclude nullptr because it matches the pointer overloads equally well and</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-c"><span class="pl-c">//</span> cannot safely initialize a std::string_view.</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-k">template </span>&lt;<span class="pl-k">typename</span> T&gt;</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"><span class="pl-k">using</span> <span class="pl-c1">enable_if_ambiguous_string_convertible_t</span> =</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">    std::<span class="pl-c1">enable_if_t</span>&lt;!std::is_null_pointer_v&lt;std::<span class="pl-c1">decay_t</span>&lt;T&gt;&gt; &amp;&amp;</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">                         std::is_convertible_v&lt;T, <span class="pl-k">const</span> std::string&amp;&gt; &amp;&amp;</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">                         std::is_convertible_v&lt;T, std::string_view&gt; &amp;&amp;</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">                         !has_unambiguous_string_convertible_overload&lt;T&gt;::value,</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-k">int</span>&gt;;</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">
</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-c"><span class="pl-c">//</span> namespace details</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"><span class="pl-c"><span class="pl-c">//</span>/ A JavaScript symbol value.</span></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"><span class="pl-k">class</span> <span class="pl-en">Symbol</span> : <span class="pl-k">public</span> <span class="pl-en">Name</span> {</div></div></div><div class="child-of-line-830  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-k">public:</span></div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span>/ Creates a new Symbol value with an optional description.</span></div></div></div><div class="child-of-line-830  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-k">static</span> Symbol <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-830 child-of-line-833  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">      napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-830 child-of-line-833  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">      <span class="pl-k">const</span> <span class="pl-k">char</span>* description =</div></div></div><div class="child-of-line-830 child-of-line-833  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">          <span class="pl-c1">nullptr</span>  <span class="pl-c"><span class="pl-c">//</span>/&lt; Optional UTF-8 encoded null-terminated C string</span></div></div></div><div class="child-of-line-830 child-of-line-833  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-c"><span class="pl-c">//</span>/  describing the symbol</span></div></div></div><div class="child-of-line-830  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">  );</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span>/ Creates a new Symbol value with a description.</span></div></div></div><div class="child-of-line-830  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-k">static</span> Symbol <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-830 child-of-line-841  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">      napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-830 child-of-line-841  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-k">const</span> std::string&amp;</div></div></div><div class="child-of-line-830 child-of-line-841  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">          description  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded C++ string describing the symbol</span></div></div></div><div class="child-of-line-830  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">  );</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span>/ Creates a new Symbol value with a description.</span></div></div></div><div class="child-of-line-830  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-k">static</span> Symbol <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-830 child-of-line-848  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">      napi_env env,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-830 child-of-line-848  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">      std::string_view</div></div></div><div class="child-of-line-830 child-of-line-848  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">          description  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded C++ string view describing the symbol</span></div></div></div><div class="child-of-line-830  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">  );</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span>/ Creates a new Symbol value with a description.</span></div></div></div><div class="child-of-line-830  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">  <span class="pl-k">static</span> Symbol <span class="pl-en">New</span>(napi_env env,       <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-830  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">                    String description  <span class="pl-c"><span class="pl-c">//</span>/&lt; String value describing the symbol</span></div></div></div><div class="child-of-line-830  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">  );</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span>/ Creates a new Symbol value with a description.</span></div></div></div><div class="child-of-line-830  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-k">static</span> Symbol <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-830  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">      napi_env env,           <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-830  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">      napi_value description  <span class="pl-c"><span class="pl-c">//</span>/&lt; String value describing the symbol</span></div></div></div><div class="child-of-line-830  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">  );</div></div></div><div class="child-of-line-830  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="child-of-line-830  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-c"><span class="pl-c">//</span>/ Get a public Symbol (e.g. Symbol.iterator).</span></div></div></div><div class="child-of-line-830  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-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">WellKnown</span>(napi_env, <span class="pl-k">const</span> std::string&amp; name);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span> Create a symbol in the global registry, UTF-8 Encoded cpp string</span></div></div></div><div class="child-of-line-830  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">  <span class="pl-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, <span class="pl-k">const</span> std::string&amp; description);</div></div></div><div class="child-of-line-830  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="child-of-line-830  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">  <span class="pl-c"><span class="pl-c">//</span> Create a symbol in the global registry, UTF-8 encoded cpp string view</span></div></div></div><div class="child-of-line-830  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-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, std::string_view description);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span> Resolve otherwise ambiguous string-like arguments through the</span></div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span> std::string_view overload</span></div></div></div><div class="child-of-line-830  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">  <span class="pl-k">template </span>&lt;<span class="pl-k">typename</span> T,</div></div></div><div class="child-of-line-830  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">            details::<span class="pl-c1">enable_if_ambiguous_string_convertible_t</span>&lt;T&amp;&amp;&gt; = <span class="pl-c1">0</span>&gt;</div></div></div><div class="child-of-line-830  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-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, T&amp;&amp; description);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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">  <span class="pl-c"><span class="pl-c">//</span> Create a symbol in the global registry, C style string (null terminated)</span></div></div></div><div class="child-of-line-830  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">  <span class="pl-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, <span class="pl-k">const</span> <span class="pl-k">char</span>* description);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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-c"><span class="pl-c">//</span> Create a symbol in the global registry, String value describing the symbol</span></div></div></div><div class="child-of-line-830  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">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, String description);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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">  <span class="pl-c"><span class="pl-c">//</span> Create a symbol in the global registry, napi_value describing the symbol</span></div></div></div><div class="child-of-line-830  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">  <span class="pl-k">static</span> MaybeOrValue&lt;Symbol&gt; <span class="pl-en">For</span>(napi_env env, napi_value description);</div></div></div><div class="child-of-line-830  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="child-of-line-830  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-830  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">
</div></div></div><div class="child-of-line-830  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">Symbol</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Symbol instance.</span></div></div></div><div class="child-of-line-830  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-en">Symbol</span>(napi_env env,</div></div></div><div class="child-of-line-830  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">         napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></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">
</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-k">class</span> <span class="pl-en">TypeTaggable</span> : <span class="pl-k">public</span> <span class="pl-en">Value</span> {</div></div></div><div class="child-of-line-896  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-k">public:</span></div></div></div><div class="child-of-line-896  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> NAPI_VERSION &gt;= 8</div></div></div><div class="child-of-line-896  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">void</span> <span class="pl-en">TypeTag</span>(<span class="pl-k">const</span> napi_type_tag* type_tag) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-896  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">  <span class="pl-k">bool</span> <span class="pl-en">CheckTypeTag</span>(<span class="pl-k">const</span> napi_type_tag* type_tag) <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-896  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">endif</span>  <span class="pl-c"><span class="pl-c">//</span> NAPI_VERSION &gt;= 8</span></div></div></div><div class="child-of-line-896  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">protected:</span></div></div></div><div class="child-of-line-896  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">TypeTaggable</span>();</div></div></div><div class="child-of-line-896  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">TypeTaggable</span>(napi_env env, napi_value value);</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">};</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-c"><span class="pl-c">//</span>/ A JavaScript object value.</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-k">class</span> <span class="pl-en">Object</span> : <span class="pl-k">public</span> <span class="pl-en">TypeTaggable</span> {</div></div></div><div class="child-of-line-908  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-k">public:</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Enables property and element assignments using indexing syntax.</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ This is a convenient helper to get and set object properties. As</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ getting and setting object properties may throw with JavaScript</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ exceptions, it is notable that these operations may fail.</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ When NODE_ADDON_API_ENABLE_MAYBE is defined, the process will abort</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ on JavaScript exceptions.</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Example:</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/     Napi::Value propertyValue = object1[&#039;A&#039;];</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/     object2[&#039;A&#039;] = propertyValue;</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/     Napi::Value elementValue = array[0];</span></div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/     array[1] = elementValue;</span></div></div></div><div class="child-of-line-908  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">template </span>&lt;<span class="pl-k">typename</span> Key&gt;</div></div></div><div class="child-of-line-908  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">class</span> <span class="pl-en">PropertyLValue</span> {</div></div></div><div class="child-of-line-908 child-of-line-925  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">public:</span></div></div></div><div class="child-of-line-908 child-of-line-925  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-c"><span class="pl-c">//</span>/ Converts an L-value to a value.</span></div></div></div><div class="child-of-line-908 child-of-line-925  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">    <span class="pl-k">operator</span> <span class="pl-en">Value</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-908 child-of-line-925  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="child-of-line-908 child-of-line-925  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-c"><span class="pl-c">//</span>/ Assigns a value to the property. The type of value can be</span></div></div></div><div class="child-of-line-908 child-of-line-925  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-c"><span class="pl-c">//</span>/ anything supported by `Object::Set`.</span></div></div></div><div class="child-of-line-908 child-of-line-925  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-k">template </span>&lt;<span class="pl-k">typename</span> ValueType&gt;</div></div></div><div class="child-of-line-908 child-of-line-925  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">    PropertyLValue&amp; <span class="pl-k">operator</span>=(ValueType value);</div></div></div><div class="child-of-line-908 child-of-line-925  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="child-of-line-908 child-of-line-925  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-c"><span class="pl-c">//</span>/ Converts an L-value to a value. For convenience.</span></div></div></div><div class="child-of-line-908 child-of-line-925  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">    Value <span class="pl-en">AsValue</span>() <span class="pl-k">const</span>;</div></div></div><div class="child-of-line-908 child-of-line-925  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">
</div></div></div><div class="child-of-line-908 child-of-line-925  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-k">private:</span></div></div></div><div class="child-of-line-908 child-of-line-925  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">PropertyLValue</span>() = <span class="pl-k">delete</span>;</div></div></div><div class="child-of-line-908 child-of-line-925  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">    <span class="pl-en">PropertyLValue</span>(Object object, Key key);</div></div></div><div class="child-of-line-908 child-of-line-925  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">    napi_env _env;</div></div></div><div class="child-of-line-908 child-of-line-925  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">    napi_value _object;</div></div></div><div class="child-of-line-908 child-of-line-925  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">    Key _key;</div></div></div><div class="child-of-line-908 child-of-line-925  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">
</div></div></div><div class="child-of-line-908 child-of-line-925  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">friend</span> <span class="pl-k">class</span> <span class="pl-en">Napi</span>::Object;</div></div></div><div class="child-of-line-908  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">  };</div></div></div><div class="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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">  <span class="pl-c"><span class="pl-c">//</span>/ Creates a new Object value.</span></div></div></div><div class="child-of-line-908  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">  <span class="pl-k">static</span> Object <span class="pl-en">New</span>(napi_env env  <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-908  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">  );</div></div></div><div class="child-of-line-908  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="child-of-line-908  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">ifdef</span> NODE_API_EXPERIMENTAL_HAS_CREATE_OBJECT_WITH_PROPERTIES</div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Creates a new Object value with the given property names and values.</span></div></div></div><div class="child-of-line-908  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-k">static</span> Object <span class="pl-en">New</span>(</div></div></div><div class="child-of-line-908  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">      napi_env env,                <span class="pl-c"><span class="pl-c">//</span>/&lt; Node-API environment</span></div></div></div><div class="child-of-line-908  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">      napi_value prototypeOrNull,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Prototype (Object) or null / empty Value</span></div></div></div><div class="child-of-line-908  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-k">const</span> std::vector&lt;napi_value&gt;&amp; propertyNames,  <span class="pl-c"><span class="pl-c">//</span>/&lt; Property names</span></div></div></div><div class="child-of-line-908  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-k">const</span> std::vector&lt;napi_value&gt;&amp; propertyValues  <span class="pl-c"><span class="pl-c">//</span>/&lt; Property values</span></div></div></div><div class="child-of-line-908  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="child-of-line-908  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">#<span class="pl-k">endif</span></div></div></div><div class="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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-k">static</span> <span class="pl-k">void</span> <span class="pl-en">CheckCast</span>(napi_env env, napi_value value);</div></div></div><div class="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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">  <span class="pl-en">Object</span>();  <span class="pl-c"><span class="pl-c">//</span>/&lt; Creates a new _empty_ Object instance.</span></div></div></div><div class="child-of-line-908  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-en">Object</span>(napi_env env,</div></div></div><div class="child-of-line-908  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">         napi_value value);  <span class="pl-c"><span class="pl-c">//</span>/&lt; Wraps a Node-API value primitive.</span></div></div></div><div class="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Gets or sets a named property.</span></div></div></div><div class="child-of-line-908  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">  PropertyLValue&lt;std::string&gt; <span class="pl-k">operator</span>[](</div></div></div><div class="child-of-line-908  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-k">const</span> <span class="pl-k">char</span>* utf8name  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded null-terminated property name</span></div></div></div><div class="child-of-line-908  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="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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">  <span class="pl-c"><span class="pl-c">//</span>/ Gets or sets a named property.</span></div></div></div><div class="child-of-line-908  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">  PropertyLValue&lt;std::string&gt; <span class="pl-k">operator</span>[](</div></div></div><div class="child-of-line-908  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">const</span> std::string&amp; utf8name  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded property name</span></div></div></div><div class="child-of-line-908  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">  );</div></div></div><div class="child-of-line-908  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="child-of-line-908  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-c"><span class="pl-c">//</span>/ Gets or sets an indexed property or array element.</span></div></div></div><div class="child-of-line-908  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">  PropertyLValue&lt;<span class="pl-c1">uint32_t</span>&gt; <span class="pl-k">operator</span>[](</div></div></div><div class="child-of-line-908  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">      <span class="pl-c1">uint32_t</span> index  <span class="pl-c"><span class="pl-c">//</span>/ Property / element index</span></div></div></div><div class="child-of-line-908  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="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Gets or sets an indexed property or array element.</span></div></div></div><div class="child-of-line-908  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">  PropertyLValue&lt;Value&gt; <span class="pl-k">operator</span>[](Value index  <span class="pl-c"><span class="pl-c">//</span>/ Property / element index</span></div></div></div><div class="child-of-line-908  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-k">const</span>;</div></div></div><div class="child-of-line-908  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">
</div></div></div><div class="child-of-line-908  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-c"><span class="pl-c">//</span>/ Gets a named property.</span></div></div></div><div class="child-of-line-908  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">  MaybeOrValue&lt;Value&gt; <span class="pl-k">operator</span>[](</div></div></div><div class="child-of-line-908  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">const</span> <span class="pl-k">char</span>* utf8name  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded null-terminated property name</span></div></div></div><div class="child-of-line-908  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-k">const</span>;</div></div></div><div class="child-of-line-908  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="child-of-line-908  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">  <span class="pl-c"><span class="pl-c">//</span>/ Gets a named property.</span></div></div></div><div class="child-of-line-908  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">  MaybeOrValue&lt;Value&gt; <span class="pl-k">operator</span>[](</div></div></div><div class="child-of-line-908  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">const</span> std::string&amp; utf8name  <span class="pl-c"><span class="pl-c">//</span>/&lt; UTF-8 encoded property name</span></div></div></div><div class="child-of-line-908  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-k">const</span>;</div></div></div><div class="child-of-line-908  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="child-of-line-908  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-c"><span class="pl-c">//</span>/ Gets an indexed property or array element.</span></div></div></div><div class="child-of-line-908  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">  MaybeOrValue&lt;Value&gt; <span class="pl-k">operator</span>[](<span class="pl-c1">uint32_t</span> index  <span class="pl-c"><span class="pl-c">//</span>/&lt; Property / element index</span></div></div></div><div class="child-of-line-908  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">const</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/nodejs/node-addon-api/raw/refs/heads/main/napi.h">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>

