{"version":3,"file":"tt.js","sourceRoot":"","sources":["../../../../packages/common/locales/tt.ts"],"names":[],"mappings":";;;;;;;AAWA,eAAe;IACb,IAAI;IACJ;QACE,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,AADa;KAEd;IACD,AADE;IAEF;QACE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9F,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC;QAC7E,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;KAC1D;IACD,AADE;IAEF;QACE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/D;YACE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;YACxF,MAAM;SACP;QACD;YACE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;YACnF,SAAS,EAAE,QAAQ,EAAE,SAAS;SAC/B;KACF;IACD,AADE;IACA,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,AAAD,EAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC;IAC5E,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC;IAChD;QACE,UAAU;QACV,AADW;QAEX,AADC;KAEF;IACD,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC;IAC9D,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,aAAa;IACjE,UAAS,CAAS,IAAY,MAAM,CAAC,CAAC,CAAC,CAAA,CAAC;CACzC,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  'tt',\n  [\n    ['AM', 'PM'],\n    ,\n  ],\n  ,\n  [\n    ['Я', 'Д', 'С', 'Ч', 'П', 'Җ', 'Ш'], ['якш.', 'дүш.', 'сиш.', 'чәр.', 'пәнҗ.', 'җом.', 'шим.'],\n    ['якшәмбе', 'дүшәмбе', 'сишәмбе', 'чәршәмбе', 'пәнҗешәмбе', 'җомга', 'шимбә'],\n    ['якш.', 'дүш.', 'сиш.', 'чәр.', 'пәнҗ.', 'җом.', 'шим.']\n  ],\n  ,\n  [\n    ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n    [\n      'гыйн.', 'фев.', 'мар.', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.',\n      'дек.'\n    ],\n    [\n      'гыйнвар', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь',\n      'октябрь', 'ноябрь', 'декабрь'\n    ]\n  ],\n  , [['б.э.к.', 'б.э.'], , ['безнең эрага кадәр', 'безнең эра']], 1, [6, 0],\n  ['dd.MM.y', 'd MMM, y \\'ел\\'', 'd MMMM, y \\'ел\\'', 'd MMMM, y \\'ел\\', EEEE'],\n  ['H:mm', 'H:mm:ss', 'H:mm:ss z', 'H:mm:ss zzzz'],\n  [\n    '{1}, {0}',\n    ,\n    ,\n  ],\n  [',', ' ', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'NaN', ':'],\n  ['#,##0.###', '#,##0 %', '#,##0.00 ¤', '#E0'], '₽', 'Россия сумы',\n  function(n: number): number { return 5;}\n];\n"]}