import type { Parser, ExtractedRecord, RawDocument, ConnectorContext } from "@dci/connectors";
import { countryFromText, cleanText } from "@dci/core";
import { loadHtml, tableRows, txt, parenthetical, resolvePlace, regionRecord, type Place } from "./shared.js";
import { normKey } from "./city-coords.js";
/**
* Alibaba Cloud — https://www.alibabacloud.com/help/en/ecs/product-overview/regions-and-zones (static docs):
* table Region name | Region ID | Number of zones | Zone name | Zone ID e.g. "Germany (Frankfurt)" | eu-central-1 | 3
* Launch years come from https://www.alibabacloud.com/global-locations (static
: "Japan (Tokyo) Availability Zone: 5
* Released in 2016"), joined on the region display name.
*/
const LOCATIONS_PAGE = "https://www.alibabacloud.com/global-locations";
const NAME_ISO: Array<[RegExp, string]> = [[/^China\b/i, "CN"], [/^SAU\b/i, "SA"], [/^UK\b/i, "GB"], [/^US\b/i, "US"], [/^UAE\b/i, "AE"], [/^Mexico\b/i, "MX"]];
async function releaseYears(ctx: ConnectorContext): Promise