{"version":3,"file":"ce.js","sourceRoot":"","sources":["../../../../packages/common/locales/ce.ts"],"names":[],"mappings":";;;;;;;AAWA,eAAe;IACb,IAAI;IACJ;QACE,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,AADa;KAEd;IACD,AADE;IAEF;QACE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,AAAD;QAC/C,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;QAClE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;KAC/C;IACD;QACE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QACtF,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;QAClE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;KAC/C;IACD;QACE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACpF;YACE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;YAC7F,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,AADE;IAEF;QACE,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,AAAD;QACxB,CAAC,gCAAgC,EAAE,oCAAoC,CAAC;KACzE;IACD,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC;IAC/D,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC;IACpD;QACE,SAAS;QACT,AADU;QAEV,AADC;KAEF;IACD,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC;IACtE,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,UAAS,CAAS;QAEV,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,CAAC;IACX,CAAC;CAC3E,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// THIS CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\n\nexport default [\n  'ce',\n  [\n    ['AM', 'PM'],\n    ,\n  ],\n  ,\n  [\n    ['кӀи', 'ор', 'ши', 'кха', 'еа', 'пӀе', 'шуо'], ,\n    ['кӀира', 'оршот', 'шинара', 'кхаара', 'еара', 'пӀераска', 'шуот'],\n    ['кӀи', 'ор', 'ши', 'кха', 'еа', 'пӀе', 'шуо']\n  ],\n  [\n    ['кӀ', 'о', 'ш', 'кх', 'е', 'пӀ', 'ш'], ['кӀи', 'ор', 'ши', 'кха', 'еа', 'пӀе', 'шуо'],\n    ['кӀира', 'оршот', 'шинара', 'кхаара', 'еара', 'пӀераска', 'шуот'],\n    ['кӀи', 'ор', 'ши', 'кха', 'еа', 'пӀе', 'шуо']\n  ],\n  [\n    ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n    ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n    [\n      'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь',\n      'ноябрь', 'декабрь'\n    ]\n  ],\n  ,\n  [\n    ['в. э. тӀ. я', 'в. э'], ,\n    ['Ӏийса пайхамар вина де кхачале', 'Ӏийса пайхамар вина дийнахь дуьйна']\n  ],\n  1, [6, 0], ['y-MM-dd', 'y MMM d', 'y MMMM d', 'y MMMM d, EEEE'],\n  ['HH:mm', 'HH:mm:ss', 'HH:mm:ss z', 'HH:mm:ss zzzz'],\n  [\n    '{1} {0}',\n    ,\n    ,\n  ],\n  ['.', ',', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'Терхьаш дац', ':'],\n  ['#,##0.###', '#,##0 %', '#,##0.00 ¤', '#E0'], '₽', 'Российн сом', function(n: number):\n                                                                           number {\n                                                                             if (n === 1) return 1;\n                                                                             return 5;\n                                                                           }\n];\n"]}