// @generated /// Implement `DataProvider` on the given struct using the data /// hardcoded in this file. This allows the struct to be used with /// `icu`'s `_unstable` constructors. /// /// Using this implementation will embed the following data in the binary's data segment: /// * 2160B for the lookup data structure (486 data identifiers) /// * 1176B[^1] for the actual data (28 unique structs) /// /// [^1]: these numbers can be smaller in practice due to linker deduplication #[doc(hidden)] #[macro_export] macro_rules! __impl_glue_pattern_v1_marker { ($ provider : ty) => { #[clippy::msrv = "1.71.1"] const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; #[clippy::msrv = "1.71.1"] impl $provider { const DATA_GLUE_PATTERN_V1_MARKER: icu_provider_baked::zerotrie::Data = icu_provider_baked::zerotrie::Data { trie: icu_provider_baked::zerotrie::ZeroTrieSimpleAscii { store: b"\xE1xabcdefghijklmnopqrstuvwx\0\0\x01\x01\x01\x02\x02\x02\x03\x03\x04\x04\x05\x05\x05\x05\x05\x06\x06\x07\x07\x07\x07B\xBE\"S\xECWn\xE6?Oz\x91\x04i\x99\xE0\xE8\x18\xD0*\xA8\xD9\xF0\xC3krs\x16,\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x81z\x8Ddt\x81z\x8Ddt\x81z\x8Dt\x1E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8C\xC5eglrs\x16,Ck\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Co\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC2\x1Ex\x0E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1Eldt\x80z\x8C\xC5aehvy\x0F&=S\x1E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8Cb\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Cr\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1Eldt\x80z\x8C\xC2eo\x16\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Ci\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC5elnsu\x16,`v\x1E\xC3lms\x05\ndt\x82z\x8Edt\x82z\x8Edt\x82z\x8E\x1E\xC3lms\x05\ndt\x83z\x8Fdt\x80z\x8Cdt\x80z\x8C\xC2\x1E-\x15\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8CMV\x1E\xC3lms\x06\x0Cdt\x84z\x90\0dt\x84z\x90\0dt\x84z\x90\0\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x06\x0Cdt\x85z\x90\x01dt\x85z\x90\x01dt\x85z\x90\x01\xC4aior\x1B2H\x1E\xC3lms\x06\rdt\x86z\x90\x02dt\x90\nz\x90\x0Bdt\x90\nz\x90\x0Bl\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC2\x1E-\x0E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8CML\x1Esdt\x80z\x8Cl\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC4aeiy\x16,Z\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC2\x1E-\x15\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8CLatn\x1E\xC2ms\x06dt\x84z\x90\0dt\x84z\x90\0\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC4agst\x16,B\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8Cv\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8C\xE1gaekmosx\0\0\0\0\0\0\x16-CYu\xA8\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Ca\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Ck-Latn\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC2\x1E-\x15\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8CDeva\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Cv\xC2\x1E-\x15\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC3DOT\x1A4eva\x1E\xC3lms\x06\x0Bdt\x87z\x90\x03dt\x80z\x8Cdt\x80z\x8Crya\x1E\xC3lms\x06\x0Bdt\x88z\x90\x04dt\x80z\x8Cdt\x80z\x8Celu\x1E\xC3lms\x06\x0Bdt\x89z\x90\x05dt\x80z\x8Cdt\x80z\x8Co\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC5aknrs\x17-DZi\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Ci\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8C\xC5elnos\x0F%-C\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1Eldt\x8Az\x90\x06\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Co\x1E\xC3lms\x06\x0Bdt\x8Bz\x90\x07dt\x80z\x8Cdt\x80z\x8C\xC2mr\x16\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC4aclt\x0F\x17&\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8Cm\x1Eldt\x80z\x8C\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8C-PT\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Cu\x1Eldt\x82z\x8E\xC2ou\x16\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC8acdklquy\x16,GVe{\x91\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C-Deva\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8C\x1E\xC2ms\x05dt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Cr\x1E\xC3lms\x05\ndt\x81z\x8Ddt\x81z\x8Ddt\x81z\x8D\xC4anot\x16-<\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x06\x0Bdt\x8Bz\x90\x07dt\x80z\x8Cdt\x80z\x8C\x1E\xC2lm\x05dt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC4gknz\x0F%`\x1E\xC2ms\x05dt\x81z\x8Ddt\x81z\x8D\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8Cd\x1E\xC3lms\x11\"\xC2dt\n\xC2tz\x04\x84z\x90\0\x90\x08z\x90\t\xC2dt\n\xC2tz\x04\x84z\x90\0\x90\x08z\x90\t\xC2dt\n\xC2tz\x04\x84z\x90\0\x90\x08z\x90\t\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\xC2ei\x17c\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C\x1E\xC3lms\x05\ndt\x82z\x8Edt\x82z\x8Edt\x82z\x8Eo\x1E\xC3lms\x05\ndt\x83z\x8Fdt\x83z\x8Fdt\x83z\x8Fnr\x1E\xC3lms\x05\ndt\x80z\x8Cdt\x80z\x8Cdt\x80z\x8C" }, values: &[icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0,\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\0\0\0 \x80\0\x01") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0-\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0(\x80\0\0\0\0)") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \0\x063\0\x06'\0\x069\0\x06*\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\t\x06\0\t\x01\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\x0B\x06\0\x0B\x01\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\x0C$\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0k\0\0l\0\0.\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0k\0\0a\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0,\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\0\0\0 \x80\0\x01\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0-\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0(\x80\0\0\0\0)\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \0\x063\0\x06'\0\x069\0\x06*\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\t\x06\0\t\x01\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\x0B\x06\0\x0B\x01\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\x0C$\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0k\0\0l\0\0.\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0k\0\0a\0\0 \x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\0\0\0 \x80\0\x02") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0 \x0F\0\0 \x80\0\0") } } }, icu::datetime::provider::neo::GluePatternV1 { pattern: icu::datetime::provider::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0 \x0F\0\0 \x80\0\0\0\0 \x80\0\x02") } } }] }; } #[clippy::msrv = "1.71.1"] impl icu_provider::DataProvider for $provider { fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { let mut metadata = icu_provider::DataResponseMetadata::default(); let payload = if let Some(payload) = icu_provider_baked::DataStore::get(&Self::DATA_GLUE_PATTERN_V1_MARKER, req.id, req.metadata.attributes_prefix_match) { payload } else { const FALLBACKER: icu::locale::fallback::LocaleFallbackerWithConfig<'static> = icu::locale::fallback::LocaleFallbacker::new().for_config(::INFO.fallback_config); let mut fallback_iterator = FALLBACKER.fallback_for(req.id.locale.clone()); loop { if let Some(payload) = icu_provider_baked::DataStore::get(&Self::DATA_GLUE_PATTERN_V1_MARKER, icu_provider::DataIdentifierBorrowed::for_marker_attributes_and_locale(req.id.marker_attributes, fallback_iterator.get()), req.metadata.attributes_prefix_match) { metadata.locale = Some(fallback_iterator.take()); break payload; } if fallback_iterator.get().is_default() { return Err(icu_provider::DataErrorKind::IdentifierNotFound.with_req(::INFO, req)); } fallback_iterator.step(); } }; Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(payload), metadata }) } } }; ($ provider : ty , ITER) => { __impl_glue_pattern_v1_marker!($provider); #[clippy::msrv = "1.71.1"] impl icu_provider::IterableDataProvider for $provider { fn iter_ids(&self) -> Result>, icu_provider::DataError> { Ok(icu_provider_baked::DataStore::iter(&Self::DATA_GLUE_PATTERN_V1_MARKER).collect()) } } }; ($ provider : ty , DRY) => {}; ($ provider : ty , DRY , ITER) => { __impl_glue_pattern_v1_marker!($provider, ITER); }; } #[doc(inline)] pub use __impl_glue_pattern_v1_marker as impl_glue_pattern_v1_marker;