window.__require = function e(t, n, r) {
  function s(o, u, npmPkgName) {
    if (!n[o]) {
      if (!t[o]) {
        var b = o;
        if (o.includes("./")) {
          b = o.split("/");
          b = b[b.length - 1];
        }
        if (!t[b]) {
          var a = "function" == typeof __require && __require;
          if (!u && a) return a(b, !0);
          if (i) return i(b, !0);
          throw new Error("Cannot find module '" + o + "'");
        }
        o = b;
      }
      var f = n[o] = {
        exports: {}
      };
      t[o][0].call(f.exports, function(e) {
        var n = t[o][1][e];
        return s(n || e, void 0, e.includes("./") ? void 0 : e);
      }, f, f.exports, e, t, n, r);
    }
    npmPkgName && n[o] && !n[npmPkgName] && (n[npmPkgName] = n[o]);
    return n[o].exports;
  }
  var i = "function" == typeof __require && __require;
  for (var o = 0; o < r.length; o++) s(r[o]);
  return s;
}({
  "PPPB-Algorithm": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "dbdcd8fUR9IurzFsFDdoxwF", "PPPB-Algorithm");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.aal = void 0;
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_slot_pb_1 = require("../../proto/PPPB-slot_pb");
    var PPPB_spincards_pb_1 = require("../../proto/PPPB-spincards_pb");
    var PPPB_AliNet_1 = require("./PPPB-AliNet");
    var PPPB_CardHelper_1 = require("../server/PPPB-CardHelper");
    var PPPB_randConfig_1 = require("../config/PPPB-randConfig");
    var PPPB_GameServer_1 = require("../server/PPPB-GameServer");
    var MAX_CARD_COUNT = 7;
    var CARDBLOCKMAP = {
      a: 7,
      b: 6,
      c: 5,
      d: 4,
      e: 3,
      f: 2
    };
    var Algorithm = function() {
      function Algorithm() {}
      Object.defineProperty(Algorithm, "sup", {
        get: function() {
          this._sup || (this._sup = new PPPB_GameServer_1.GameServer());
          return this._sup;
        },
        enumerable: false,
        configurable: true
      });
      Algorithm.getSpinList = function(retList, bet) {
        var list = [];
        var poos = [ [ 1, 2, 3 ], [ 4, 5 ], [ 6, 7 ] ];
        var randx = PPPB_lib_1._.rand(0, 3);
        var randy = PPPB_lib_1._.rand(0, 3);
        var func = function(c) {
          if (randx) {
            var idx = poos[randx].indexOf(c);
            if (-1 != idx) return poos[randx][0 == idx ? 1 : 0];
          } else 0 == randy ? 1 == c ? c = 2 : 2 == c && (c = 1) : 1 == randy ? 2 == c ? c = 3 : 3 == c && (c = 2) : 1 == c ? c = 3 : 3 == c && (c = 1);
          return c;
        };
        for (var _i = 0, retList_1 = retList; _i < retList_1.length; _i++) {
          var r = retList_1[_i];
          var combolist = r.getCombosList();
          var temp = [];
          for (var _a = 0, combolist_1 = combolist; _a < combolist_1.length; _a++) {
            var combo = combolist_1[_a];
            var winGold = combo.getWingold();
            var cradsList = combo.getCardsList();
            var tmp = [];
            for (var _b = 0, cradsList_1 = cradsList; _b < cradsList_1.length; _b++) {
              var cards = cradsList_1[_b];
              tmp.push(cards.getCardvalueList());
            }
            if (!tmp.length) {
              var cards = this.sup.randFailCards().cards;
              console.log("\u751f\u6210\u5931\u8d25\u7684\u56fe", cards);
              tmp = cards;
            }
            PPPB_sys_1.sys.log && console.log("\u6df7\u6dc6\u524d", JSON.parse(JSON.stringify(tmp)));
            var wins = combo.getWincardsList();
            var freeSpins = combo.getFreespin();
            winGold = Math.round(1e3 * winGold * bet) / 1e3;
            var winCards = wins.map(function(v) {
              return [ v.getX(), v.getY() ];
            });
            for (var i = 0; i < tmp.length; i++) for (var j = 0; j < tmp[0].length; j++) tmp[i][j] = func(tmp[i][j]);
            PPPB_sys_1.sys.log && console.log("\u6df7\u6dc6\u540e", tmp);
            var d = {
              cards: tmp,
              winGold: winGold,
              freeSpins: freeSpins,
              mul: combo.getMul(),
              winCards: winCards
            };
            temp.push(d);
          }
          list.push(temp);
        }
        if (retList.length <= 0) {
          list[0] = [];
          var cards = this.sup.randFailCards().cards;
          console.log("\u751f\u6210\u5931\u8d25\u7684\u56fe", cards);
          list[0][0] = {
            cards: cards,
            winGold: 0,
            freeSpins: 0,
            mul: 1,
            winCards: []
          };
        }
        return list;
      };
      Algorithm.convertSpinResponse = function(spinRespone, extra) {
        var list = {};
        var sp = JSON.parse(atob(spinRespone.getSpinlist_asB64()));
        list.balance = spinRespone.getBalance();
        list.bet = spinRespone.getBet();
        list.spinList = [ sp.si ];
        return list;
      };
      Algorithm.convertSpinList = function(originlist, flag) {
        var _a;
        void 0 === flag && (flag = false);
        var list = {
          balance: originlist.balance,
          bet: originlist.bet,
          spinList: []
        };
        var freeflag = flag;
        for (var _i = 0, _b = originlist.spinList; _i < _b.length; _i++) {
          var combolist = _b[_i];
          var temp = [];
          var temp2 = [];
          for (var _c = 0, combolist_2 = combolist; _c < combolist_2.length; _c++) {
            var combo = combolist_2[_c];
            var winGold = combo.winGold;
            var cardsList = combo.cards;
            var tmp = [];
            var wins = PPPB_lib_1._.copy(combo.winCards);
            var _loop_1 = function(j) {
              var cards = cardsList[j];
              var ncards = cards.map(function(v) {
                return v;
              });
              var _loop_2 = function(i) {
                var e = ncards[i];
                if (0 == e) {
                  var v = wins.findIndex(function(d) {
                    return d[0] == j && d[1] == i - 1;
                  });
                  var c = ncards[i - 1];
                  ncards[i - 1] = 0;
                  while (++i < 5) if (0 != ncards[i]) break;
                  ncards[i - 1] = c;
                  -1 != v && (wins[v] = [ j, i - 1 ]);
                }
                out_i_1 = i;
              };
              var out_i_1;
              for (var i = 0; i < ncards.length; i++) {
                _loop_2(i);
                i = out_i_1;
              }
              tmp.push(ncards);
            };
            for (var j = 0; j < cardsList.length; j++) _loop_1(j);
            var freeSpins = combo.freeSpins;
            var d = {
              cards: tmp,
              winGold: winGold,
              tumbleWinGold: combo.tumbleWinGold,
              freeGold: combo.freeGold,
              freeSpins: freeSpins,
              gainedFreeSpins: combo.gainedFreeSpins,
              wonFreeSpins: combo.wonFreeSpins,
              winCards: wins,
              mul: combo.mul,
              freeMul: combo.freeMul,
              totalWinGold: combo.totalWinGold
            };
            freeflag ? temp2.push(d) : temp.push(d);
          }
          (null === (_a = temp[temp.length - 1]) || void 0 === _a ? void 0 : _a.freeSpins) > 0 && (freeflag = true);
          if (temp2.length) {
            this.freeSpins || (this.freeSpins = {
              balance: list.balance,
              bet: list.bet,
              spinList: []
            });
            this.freeSpins.spinList.push(temp2);
          } else list.spinList.push(temp);
        }
        return list;
      };
      Algorithm.randCard = function(mul) {
        void 0 === mul && (mul = 1);
        return PPPB_lib_1._.rand(1, 11);
      };
      Algorithm.randNumValues = function(mul) {
        var r = PPPB_lib_1._.rand(1, 101);
        var idx = 1;
        for (var i = 0; i < PPPB_randConfig_1.combination.probability.length; i++) {
          if (r <= PPPB_randConfig_1.combination.probability[i]) {
            idx = i + 1;
            break;
          }
          r -= PPPB_randConfig_1.combination.probability[i];
        }
        var rp = PPPB_lib_1._.shuffle(PPPB_randConfig_1.combination[idx]);
        var result = [];
        var m = 0;
        for (var i = 0; i < 5; i++) {
          var len = rp[m++];
          var c = this.randValuesBKM(mul);
          for (var j = i; j < i + len - 1; j++) result.push(0);
          i += len - 1;
          result.push(c);
        }
        return result;
      };
      Algorithm.randValuesBKM = function(mul) {
        var r = PPPB_lib_1._.rand(1, 101);
        var idx = 1;
        for (var i = 0; i < PPPB_randConfig_1.combination.probability.length; i++) {
          if (r <= PPPB_randConfig_1.combination.probability[i]) {
            idx = i + 1;
            break;
          }
          r -= PPPB_randConfig_1.combination.probability[i];
        }
        var rp = PPPB_lib_1._.shuffle(PPPB_randConfig_1.combination[idx]);
        var abcd = [ "a", "b", "c", "d", "e", "f" ];
        abcd = [ "c" ];
        var result = [];
        var m = 0;
        var randBlockType = PPPB_lib_1._.rand(abcd);
        var expectedCardCount = CARDBLOCKMAP[randBlockType];
        for (var i = 0; i < expectedCardCount; i++) {
          var c = this.randCard(mul);
          result.push("set_" + randBlockType + c);
        }
        return result;
      };
      Algorithm.randValues = function(mul) {
        var r = PPPB_lib_1._.rand(1, 101);
        var idx = 1;
        for (var i = 0; i < PPPB_randConfig_1.combination.probability.length; i++) {
          if (r <= PPPB_randConfig_1.combination.probability[i]) {
            idx = i + 1;
            break;
          }
          r -= PPPB_randConfig_1.combination.probability[i];
        }
        var rp = PPPB_lib_1._.shuffle(PPPB_randConfig_1.combination[idx]);
        var abcd = [ "a", "b", "c", "d" ];
        var result = [];
        var m = 0;
        for (var i = 0; i < 5; i++) {
          var len = rp[m++];
          var c = this.randCard(mul);
          for (var j = i; j < i + len - 1; j++) result.push(0);
          i += len - 1;
          result.push("set_" + abcd[len - 1] + c);
        }
        return result;
      };
      Algorithm.randSValues = function(mul) {
        var result = [];
        for (var i = 0; i < 4; i++) result.push("set_d" + this.randCard(mul));
        return result;
      };
      Algorithm.getFailSpin = function(freespins) {
        var cards = this.sup.randFailCards().cards;
        return [ {
          cards: cards,
          winGold: 0,
          freeSpins: freespins || 0,
          mul: 1,
          winCards: []
        } ];
      };
      Algorithm.insterScatters = function(spins, num, mul) {
        var paths = [];
        var getPath = function(x, y, index) {
          var path = [ y ];
          for (var i = index; i < spins.length - 1; i++) {
            var spin = spins[i];
            var last_1 = path[path.length - 1];
            var len = 0;
            for (var j = 0; j < spin.winCards.length; j++) {
              var e = spin.winCards[j];
              if (e[0] == x) {
                if (e[1] == last_1) return path;
                if (-1 == x) e[1] < last_1 && len--; else if (e[1] > last_1) {
                  var d = e[1];
                  len++;
                  while (0 == spin.cards[x][++d]) len++;
                }
              }
            }
            path.push(last_1 + len);
          }
          return path;
        };
        var first = spins[0];
        var _loop_3 = function(i) {
          var _loop_4 = function(j) {
            if (PPPB_CardHelper_1.CardHelper.IsScatter(first.cards[i][j]) || 0 == first.cards[i][j]) return "continue";
            if (!first.winCards.find(function(v) {
              return v[0] == i && v[0] == j;
            })) {
              var path = getPath(i, j, 0);
              path.length == spins.length && paths.push({
                x: i,
                y: j,
                index: 0,
                path: path
              });
            }
          };
          for (var j = 0; j < first.cards[0].length; j++) _loop_4(j);
        };
        for (var i = 0; i < first.cards.length; i++) _loop_3(i);
        for (var i = 1; i < spins.length; i++) {
          var dis = {};
          var lastSpin = spins[i - 1];
          for (var j = 0; j < lastSpin.winCards.length; j++) {
            var e = lastSpin.winCards[j];
            var x = e[0], y = e[1];
            dis[x] || (dis[x] = [ y ]);
            if (-1 != x) while (0 == lastSpin.cards[x][++y]) dis[x].push(y);
          }
          for (var key in dis) if (Object.prototype.hasOwnProperty.call(dis, key)) {
            var e = dis[key];
            for (var j = 0; j < e.length; j++) if (0 != spins[i].cards[key][j] && !PPPB_CardHelper_1.CardHelper.IsScatter(spins[i].cards[key][j])) {
              var path = getPath(Number(key), j, i);
              path.length == spins.length - i && paths.push({
                x: Number(key),
                y: j,
                index: i,
                path: path
              });
            }
          }
        }
        var scatters = 0;
        var last = spins[spins.length - 1];
        for (var i = 0; i < last.cards.length; i++) for (var j = 0; j < last.cards[0].length; j++) {
          var e = last.cards[i][j];
          PPPB_CardHelper_1.CardHelper.IsScatter(e) && scatters++;
        }
        var res = PPPB_lib_1._.rand(paths, num - scatters);
        for (var i = 0; i < res.length; i++) {
          var e = res[i];
          var d = 0;
          for (var j = e.index; j < spins.length; j++) {
            var spin = spins[j];
            spin.cards[e.x][e.path[d++]] = PPPB_CardHelper_1.CardHelper.CardConf.scatter;
          }
        }
        last.freeSpins = 10 + 2 * (num - 4);
        last.mul = mul;
      };
      Algorithm.getSpinStructSpin = function(spin) {
        var list = new PPPB_spincards_pb_1.SpinStruct.Spin();
        var gold = 0;
        var ret = spin;
        for (var _i = 0, ret_1 = ret; _i < ret_1.length; _i++) {
          var r = ret_1[_i];
          var ComboList = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo();
          ComboList.setFreespins(r.freeSpins);
          ComboList.setMul(r.mul);
          ComboList.setWingold(r.winGold);
          gold += r.winGold;
          for (var _a = 0, _b = r.cards; _a < _b.length; _a++) {
            var c = _b[_a];
            var cards = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo.Int32List();
            cards.setCardvalueList(c.map(function(d) {
              return d;
            }));
            ComboList.addCards(cards);
          }
          if (r.winCards) for (var _c = 0, _d = r.winCards; _c < _d.length; _c++) {
            var w = _d[_c];
            var winCards = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo.Pos();
            var x = w[0];
            var y = w[1];
            winCards.setX(x);
            winCards.setY(y);
            ComboList.addWincards(winCards);
          }
          list.addCombos(ComboList);
        }
        return {
          list: list,
          gold: gold
        };
      };
      Algorithm.uplog = function(list, free, spinRespone, extra) {
        return __awaiter(this, void 0, void 0, function() {
          var st, r, mulgold, sft, r0, st2, gold, i, v, r_1, freegold, stb, stb2, rr, sbret;
          return __generator(this, function(_a) {
            st = new PPPB_spincards_pb_1.SpinStruct();
            r = this.getSpinStructSpin(list.spinList[0]);
            st.addSpins(r.list);
            mulgold = r.gold;
            sft = new PPPB_spincards_pb_1.SpinStruct.freeStartStruct();
            r0 = list.spinList[0][list.spinList[0].length - 1];
            sft.setSpincount(r0.freeSpins);
            st.setFreestart(sft);
            st2 = new PPPB_spincards_pb_1.SpinStruct();
            gold = 0;
            if (free) for (i = 1; i < list.spinList.length; i++) {
              v = list.spinList[i];
              r_1 = this.getSpinStructSpin(v);
              st2.addSpins(r_1.list);
              gold += r_1.gold;
            }
            freegold = gold;
            stb = st.serializeBinary();
            stb2 = st2.serializeBinary();
            PPPB_AliNet_1.NetFactory.spinTrace({
              orderid: spinRespone.getOrderid(),
              spinList: stb,
              freeList: stb2
            });
            rr = this.checkError(list, extra);
            if (rr.err) {
              sbret = new PPPB_slot_pb_1.SpinRet();
              sbret.setSpinlist(stb);
              sbret.setFreespinlist(stb2);
              sbret.setFree(free);
              sbret.setBalance(list.balance);
              sbret.setBet(list.bet);
              PPPB_AliNet_1.NetFactory.spinErr({
                oriSpinList: spinRespone.serializeBinary(),
                errSpinList: sbret.serializeBinary(),
                bet: list.bet,
                balance: list.balance,
                oriMul: rr.gold,
                errMul: (mulgold + freegold) / list.bet,
                spinType: free,
                free: free
              });
            }
            return [ 2 ];
          });
        });
      };
      Algorithm.checkError = function(list, extra) {
        var isErr = false;
        var gold = 0;
        for (var key in list.spinList) if (Object.prototype.hasOwnProperty.call(list.spinList, key)) {
          var spins = list.spinList[key];
          for (var i = 0; i < spins.length; i++) {
            var e = spins[i];
            var tmp = [];
            for (var i_1 = 0; i_1 < e.cards.length; i_1++) {
              tmp[i_1] || (tmp[i_1] = []);
              for (var j = 0; j < e.cards[0].length; j++) tmp[i_1][j] = PPPB_CardHelper_1.CardHelper.GetCardName(e.cards[i_1][j]);
            }
            var sameCard = this.sup.getSameValueCards(tmp);
            var winGold = 0;
            for (var cardV in sameCard) {
              var v = sameCard[cardV];
              var count = v.length;
              var odds = this.sup.getOdds(Number(cardV), count);
              winGold += this.sup.getWinGold(odds);
            }
            winGold *= list.bet * e.mul * (extra ? 1.5 : 1);
            gold += winGold;
            if (!PPPB_lib_1._.equals(winGold, e.winGold)) {
              var winCards = [];
              var m = {};
              for (var cardV in sameCard) {
                var v = sameCard[cardV];
                for (var c in v) if (m["" + v[c].x + v[c].y]) {
                  winCards.push(v[c]);
                  m["" + v[c].x + v[c].y] = 1;
                }
              }
              console.error("\u56fe\u6709\u9519", e);
              console.log(winCards, winGold);
              isErr = true;
            }
          }
        }
        return {
          err: isErr,
          gold: gold
        };
      };
      return Algorithm;
    }();
    exports.aal = Algorithm;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../../proto/PPPB-slot_pb": "PPPB-slot_pb",
    "../../proto/PPPB-spincards_pb": "PPPB-spincards_pb",
    "../config/PPPB-randConfig": "PPPB-randConfig",
    "../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../server/PPPB-GameServer": "PPPB-GameServer",
    "./PPPB-AliNet": "PPPB-AliNet"
  } ],
  "PPPB-AliNet": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d5129dJ+1hGWo0zpZBQPhKg", "PPPB-AliNet");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.NetFactory = void 0;
    var PPPB_betConfig_1 = require("../../common/config/PPPB-betConfig");
    var PPPB_language_1 = require("../../framework-cocos/PPPB-language");
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_rpc_1 = require("../../framework-rpc/PPPB-rpc");
    var PPPB_slot_grpc_web_pb_1 = require("../../proto/PPPB-slot_grpc_web_pb");
    var PPPB_slot_pb_1 = require("../../proto/PPPB-slot_pb");
    var PPPB_trace_grpc_web_pb_1 = require("../../proto/PPPB-trace_grpc_web_pb");
    var PPPB_trace_pb_1 = require("../../proto/PPPB-trace_pb");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var NetFactory = function() {
      function NetFactory() {}
      NetFactory.auth = function(req) {
        return __awaiter(this, void 0, void 0, function() {
          var ar, authRet;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("----------login req---------- ", req);
              return [ 4, PPPB_rpc_1.RPC.auth(req) ];

             case 1:
              ar = _a.sent();
              if (!(null === ar || void 0 === ar ? void 0 : ar.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(ar, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.auth(req) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              ar = _a.sent();
              _a.label = 3;

             case 3:
              authRet = ar.toObject();
              console.log("----------login ret========== ", authRet);
              if (!authRet) return [ 3, 8 ];
              if (!(authRet.errcode && req.account)) return [ 3, 7 ];
              if (!("auth.login.account_not_found" == authRet.errcode)) return [ 3, 7 ];
              req.account = "";
              return [ 4, PPPB_rpc_1.RPC.auth(req) ];

             case 4:
              ar = _a.sent();
              if (!(null === ar || void 0 === ar ? void 0 : ar.err)) return [ 3, 6 ];
              return [ 4, this.dealErr(ar, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.auth(req) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 5:
              ar = _a.sent();
              return [ 2, null ];

             case 6:
              authRet = ar.toObject();
              _a.label = 7;

             case 7:
              return [ 3, 10 ];

             case 8:
              return [ 4, this.auth(req) ];

             case 9:
              return [ 2, _a.sent() ];

             case 10:
              return [ 2, authRet ];
            }
          });
        });
      };
      NetFactory.getInfo = function() {
        return __awaiter(this, void 0, void 0, function() {
          var request, authinfo, info, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_slot_pb_1.GetInfoReq();
              authinfo = PPPB_rpc_1.RPC.userInfo;
              info = {
                language: authinfo.language,
                device: authinfo.device,
                platform: authinfo.platform,
                gameType: PPPB_sys_1.sys.gameType
              };
              request.setAuthinfo(JSON.stringify(info));
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.getInfo, request) ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.getInfo, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      NetFactory.getFreeInfo = function() {
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_slot_pb_1.GetFreeInfoReq();
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.getFreeInfo, request) ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.getFreeInfo, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              if (r) return [ 2, r ];
              return [ 2 ];
            }
          });
        });
      };
      NetFactory.buyFree = function(bet, count) {
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_slot_pb_1.BuyFreeReq();
              request.setBet(bet);
              request.setCount(count);
              request.setBuybonus(PPPB_betConfig_1.buyFree.unitPrice * PPPB_quick_1.ks.rate);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.buyFree, request) ];

             case 1:
              r = _a.sent();
              if (!(r && r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.buyFree, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      NetFactory.historyCount = function(date, days) {
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_trace_pb_1.HistoryCountReq();
              request.setDate(date);
              request.setDays(days);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyCount, request) ];

             case 1:
              r = _a.sent();
              if (!(r && r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyCount, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      NetFactory.historyList = function(date, days, limit, offset) {
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_trace_pb_1.HistoryListReq();
              request.setDate(date);
              request.setDays(days);
              request.setLimit(limit);
              request.setOffset(offset);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyList, request) ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyList, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      NetFactory.historyItem = function(orderId) {
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_trace_pb_1.HistoryItemReq();
              request.setOrderid(orderId);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyItem, request) ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyItem, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      NetFactory.spin = function(bet, mode) {
        void 0 === bet && (bet = 3);
        void 0 === mode && (mode = 0);
        return __awaiter(this, void 0, void 0, function() {
          var request, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              request = new PPPB_slot_pb_1.SpinReq();
              request.setBet(bet);
              request.setMode(mode);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.spin, request) ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, this.dealErr(r, function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.spin, request) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              if (r && !r.err) return [ 2, r ];
              return [ 2 ];
            }
          });
        });
      };
      NetFactory.spinTrace = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          var req, r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              req = new PPPB_trace_pb_1.SpinTraceReq();
              req.setOrderid(data.orderid);
              req.setSpinlist(data.spinList);
              req.setFreespinlist(data.freeList);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.spinTrace, req) ];

             case 1:
              r = _a.sent();
              r && !r.getErr() || console.error("spinTrace faild " + (r && r.getErr()));
              return [ 2 ];
            }
          });
        });
      };
      NetFactory.spinErr = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          var req, r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              req = new PPPB_trace_pb_1.SpinErrReq();
              req.setOrispinlist(data.oriSpinList);
              req.setErrspinlist(data.errSpinList);
              req.setBet(data.bet);
              req.setBalance(data.balance);
              req.setOrimul(data.oriMul);
              req.setErrmul(data.errMul);
              req.setSpintype(data.spinType);
              req.setFree(data.free);
              return [ 4, PPPB_rpc_1.RPC.call(PPPB_trace_grpc_web_pb_1.TraceClient, PPPB_trace_grpc_web_pb_1.TraceClient.prototype.spinErr, req) ];

             case 1:
              r = _a.sent();
              r && !r.getErr() || console.error("spinTrace faild " + (r && r.getErr()));
              return [ 2 ];
            }
          });
        });
      };
      NetFactory.dealErr = function(result, f) {
        return __awaiter(this, void 0, void 0, function() {
          var rs, res;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(result.err && 401 == result.status)) return [ 3, 2 ];
              return [ 4, PPPB_quick_1.ks.systips({
                tips: PPPB_language_1.language.getText("server.dlgq") + "\n" + PPPB_language_1.language.formatText("sys.error", result.err)
              }) ];

             case 1:
              _a.sent();
              PPPB_quick_1.ks.backgame();
              return [ 2 ];

             case 2:
              return [ 4, PPPB_quick_1.ks.systips({
                tips: PPPB_language_1.language.getText("game.neterror") + "\n" + PPPB_language_1.language.formatText("sys.error", result.err),
                cancel: true,
                confirmtxt: PPPB_language_1.language.getText("BonusWallet.DialogRetry"),
                canceltxt: PPPB_language_1.language.getText("General.DialogQuit")
              }) ];

             case 3:
              rs = _a.sent();
              if (!(null === rs || void 0 === rs ? void 0 : rs.ok)) return [ 3, 8 ];
              return [ 4, PPPB_quick_1.ks.reconnect(f) ];

             case 4:
              res = _a.sent();
              if (!res.success) return [ 3, 5 ];
              return [ 2, res.result ];

             case 5:
              return [ 4, this.dealErr(result, f) ];

             case 6:
              return [ 2, _a.sent() ];

             case 7:
              return [ 3, 9 ];

             case 8:
              PPPB_quick_1.ks.backgame();
              _a.label = 9;

             case 9:
              return [ 2 ];
            }
          });
        });
      };
      return NetFactory;
    }();
    exports.NetFactory = NetFactory;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../framework-cocos/PPPB-language": "PPPB-language",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework-rpc/PPPB-rpc": "PPPB-rpc",
    "../../proto/PPPB-slot_grpc_web_pb": "PPPB-slot_grpc_web_pb",
    "../../proto/PPPB-slot_pb": "PPPB-slot_pb",
    "../../proto/PPPB-trace_grpc_web_pb": "PPPB-trace_grpc_web_pb",
    "../../proto/PPPB-trace_pb": "PPPB-trace_pb"
  } ],
  "PPPB-AnimationEventHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "fb1ccDQm/ZGzq4gTU3jfvmS", "PPPB-AnimationEventHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      NewClass.prototype.InvokeEvent = function(eventName, num) {
        console.log("anim helper - invoking event " + eventName);
        var splitString = eventName.split("_");
        if (splitString.length > 2) {
          console.log("warning, event name is defined incorrectly");
          return;
        }
        PPPB_event_1.Events.publish(splitString[0], splitString[1], "", num);
      };
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(cc.Component);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event"
  } ],
  "PPPB-AspectRatioScaler": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "2afbf1kKftNbJeINeflp5/O", "PPPB-AspectRatioScaler");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var AspectRatioScaler = function(_super) {
      __extends(AspectRatioScaler, _super);
      function AspectRatioScaler() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.landScapeScale = 1;
        _this.portraitScale = 1;
        return _this;
      }
      AspectRatioScaler.prototype.onLoaded = function() {
        this.$event_game_viewResize(PPPB_quick_1.ks.isLandscape);
      };
      AspectRatioScaler.prototype.$event_game_viewResize = function(landscape) {
        PPPB_lib_1.cc1.sys.isMobile && (this.node.scale = landscape ? this.landScapeScale : this.portraitScale);
      };
      __decorate([ property ], AspectRatioScaler.prototype, "landScapeScale", void 0);
      __decorate([ property ], AspectRatioScaler.prototype, "portraitScale", void 0);
      AspectRatioScaler = __decorate([ ccclass ], AspectRatioScaler);
      return AspectRatioScaler;
    }(PPPB_UComponent_1.UComponent);
    exports.default = AspectRatioScaler;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-AudioID": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "30eeeCyynZFCJZwAgq426NY", "PPPB-AudioID");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var AudioID = function() {
      function AudioID() {}
      AudioID.bgmID = null;
      AudioID.autoSpinID = null;
      AudioID.manualSpinID = null;
      AudioID.bgm2ID = null;
      AudioID.bigWinID = null;
      AudioID.cardScrollID = null;
      AudioID.eSpeedID = null;
      AudioID.freeEndWinID = null;
      AudioID = __decorate([ ccclass ], AudioID);
      return AudioID;
    }();
    exports.default = AudioID;
    cc._RF.pop();
  }, {} ],
  "PPPB-AutoPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f7755luuwtHwrayDVYfsqzz", "PPPB-AutoPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var PPPB_gameSettings_1 = require("../../PPPB-gameSettings");
    var PPPB_UILanguage_1 = require("../../../framework-cocos/components/PPPB-UILanguage");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var SLIDER_DEFAULT_START = 100;
    var SLIDER_STEPS_MAP = {
      "0.00": 10,
      .14: 20,
      .29: 30,
      .43: 50,
      .57: 70,
      .71: 100,
      .86: 500,
      "1.00": 1e3
    };
    var AutoPanel = function(_super) {
      __extends(AutoPanel, _super);
      function AutoPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.panelAnimation = null;
        _this.turboSpinToggle = null;
        _this.quickSpinToggle = null;
        _this.skipScreensToggle = null;
        _this.autoPlayCountText = null;
        _this.startAutoPlayCountText = null;
        _this.startAutoPlayCountTextPortrait = null;
        _this.autoplaySlider = null;
        _this.barFillNode = null;
        _this.autoNumBtn = null;
        _this._sliderAutoAmount = 0;
        _this.step = 10;
        _this.range = [ 0, 70 ];
        _this.maxRange = 70;
        _this.isLoaded = false;
        return _this;
      }
      AutoPanel.prototype.onLoaded = function() {
        this.initBarX = this.barFillNode.width;
        PPPB_lib_1.cc1.sys.isMobile ? this.node.on(cc.Node.EventType.TOUCH_END, this.onClick, this) : this.node.on(cc.Node.EventType.MOUSE_UP, this.onClick, this);
      };
      AutoPanel.prototype.$event_refresh_language = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.startAutoPlayCountText.ParamKey = this._sliderAutoAmount;
            this.startAutoPlayCountTextPortrait.ParamKey = this._sliderAutoAmount;
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.onClick = function() {};
      AutoPanel.prototype.$event_open_autoPanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          var startValue, _i, _a, rawValue;
          return __generator(this, function(_b) {
            this.refreshQuickSpinToggle(PPPB_gameSettings_1.default.gameSpeed);
            this.refreshTurboSpinToggle(PPPB_gameSettings_1.default.gameSpeed);
            this.refreshSkipScreenToggle(PPPB_gameSettings_1.default.isSkipScreenEnabled);
            if (0 == this._sliderAutoAmount) {
              startValue = 0;
              for (_i = 0, _a = Object.keys(SLIDER_STEPS_MAP); _i < _a.length; _i++) {
                rawValue = _a[_i];
                if (SLIDER_STEPS_MAP[rawValue] == SLIDER_DEFAULT_START) {
                  startValue = parseFloat(parseFloat(rawValue).toFixed(2));
                  break;
                }
              }
              this.autoplaySlider.progress = startValue;
              this.$ui_Slider__slide(this.autoplaySlider);
            }
            this.node.setPosition(cc.v2(0, this.node.position.y));
            PPPB_lib_1.cc1.sys.isMobile ? this.panelAnimation.play(PPPB_quick_1.ks.isLandscape ? "DisplayAutoLandscape" : "DisplayAutoPortrait") : this.panelAnimation.play("DisplayAutoBrowser");
            PPPB_event_1.Events.publish("autopanel", "toggled", "", true);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_Layout_TurboSpin_Toggle__toggle = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.gameSpeed = toggle.isChecked ? PPPB_gameSettings_1.GameSpeed.TURBO : PPPB_gameSettings_1.GameSpeed.NORMAL;
            this.refreshQuickSpinToggle(PPPB_gameSettings_1.default.gameSpeed);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_Layout_QuickSpin_Toggle__toggle = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.gameSpeed = toggle.isChecked ? PPPB_gameSettings_1.GameSpeed.QUICK : PPPB_gameSettings_1.GameSpeed.NORMAL;
            this.refreshTurboSpinToggle(PPPB_gameSettings_1.default.gameSpeed);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_Layout_SkipScreens_Toggle__toggle = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.isSkipScreenEnabled = toggle.isChecked;
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_Slider__slide = function(slider) {
        return __awaiter(this, void 0, void 0, function() {
          var progress, numArrLen, i, minNum, maxNum;
          return __generator(this, function(_a) {
            progress = Math.round(slider.progress * this.maxRange);
            numArrLen = Math.floor(this.range[1] / this.step);
            for (i = 0; i < numArrLen; i++) {
              minNum = i * this.step;
              maxNum = (i + 1) * this.step;
              if (progress > minNum && progress <= maxNum) {
                slider.progress = maxNum / this.maxRange;
                break;
              }
              slider.progress = 0;
            }
            this.updateSliderProgress(slider.progress);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_confirmbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            PPPB_event_1.Events.publish("start", "autoPlay", "", this._sliderAutoAmount);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$ui_BGFrame_closebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this._sliderAutoAmount = 0;
            this.ClosePanel();
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.$event_close_autopanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.opacity = 0;
            this.node.setPosition(cc.v2(2e3, this.node.position.y));
            PPPB_event_1.Events.publish("autopanel", "toggled", "", false);
            return [ 2 ];
          });
        });
      };
      AutoPanel.prototype.refreshQuickSpinToggle = function(value) {
        this.quickSpinToggle.isChecked = value == PPPB_gameSettings_1.GameSpeed.QUICK;
      };
      AutoPanel.prototype.refreshTurboSpinToggle = function(value) {
        this.turboSpinToggle.isChecked = value == PPPB_gameSettings_1.GameSpeed.TURBO;
      };
      AutoPanel.prototype.refreshSkipScreenToggle = function(value) {
        this.skipScreensToggle.isChecked = value;
      };
      AutoPanel.prototype.updateSliderProgress = function(sliderProgress) {
        var sliderProgressKey = sliderProgress.toFixed(2);
        if (SLIDER_STEPS_MAP[sliderProgressKey]) {
          this._sliderAutoAmount = SLIDER_STEPS_MAP[sliderProgressKey];
          this.autoPlayCountText.string = "" + this._sliderAutoAmount;
          this.startAutoPlayCountText.ParamKey = this._sliderAutoAmount;
          this.startAutoPlayCountTextPortrait.ParamKey = this._sliderAutoAmount;
        } else console.log("error getting auto num from slider progress", sliderProgressKey);
        this.barFillNode.width = sliderProgress * this.initBarX;
      };
      AutoPanel.prototype.Click_SpinNum = function(autoNum) {
        if (autoNum == this.autoNumBtn) return;
        null != this.autoNumBtn && this.SetColor(255, 255, 255, 100, this.autoNumBtn);
        this.SetColor(124, 244, 76, 255, autoNum);
        this.autoNumBtn = autoNum;
      };
      AutoPanel.prototype.SetColor = function(g, b, r, op, node) {
        var color = new cc.Color(r, g, b);
        node.color = color;
        node.opacity = op;
      };
      AutoPanel.prototype.$event_set_color = function(bj, node) {
        if (bj) {
          var color = new cc.Color(76, 244, 124);
          node.color = color;
        } else {
          if (node == this.autoNumBtn) return;
          var color = new cc.Color(255, 255, 255);
          node.color = color;
        }
      };
      __decorate([ property(cc.Animation) ], AutoPanel.prototype, "panelAnimation", void 0);
      __decorate([ property(cc.Toggle) ], AutoPanel.prototype, "turboSpinToggle", void 0);
      __decorate([ property(cc.Toggle) ], AutoPanel.prototype, "quickSpinToggle", void 0);
      __decorate([ property(cc.Toggle) ], AutoPanel.prototype, "skipScreensToggle", void 0);
      __decorate([ property(cc.Label) ], AutoPanel.prototype, "autoPlayCountText", void 0);
      __decorate([ property(PPPB_UILanguage_1.UILanguage) ], AutoPanel.prototype, "startAutoPlayCountText", void 0);
      __decorate([ property(PPPB_UILanguage_1.UILanguage) ], AutoPanel.prototype, "startAutoPlayCountTextPortrait", void 0);
      __decorate([ property(cc.Slider) ], AutoPanel.prototype, "autoplaySlider", void 0);
      __decorate([ property(cc.Node) ], AutoPanel.prototype, "barFillNode", void 0);
      AutoPanel = __decorate([ ccclass ], AutoPanel);
      return AutoPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = AutoPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguage": "PPPB-UILanguage",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../PPPB-gameSettings": "PPPB-gameSettings",
    "../../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-AutoSpinConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "676bfNZAC5DKI7WIgzNjJkn", "PPPB-AutoSpinConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.autoSpinNum = void 0;
    exports.autoSpinNum = [ 10, 30, 50, 80, 1e3 ];
    cc._RF.pop();
  }, {} ],
  "PPPB-BaseHistoryGameBoard": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "32eeenjcq5PfpXkfnNHTGmK", "PPPB-BaseHistoryGameBoard");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_HistoryCard_1 = require("../../../game/client/ui/PPPB-HistoryCard");
    var PPPB_CardSpriteCollection_1 = require("../../managers/PPPB-CardSpriteCollection");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var BaseHistoryGameBoard = function(_super) {
      __extends(BaseHistoryGameBoard, _super);
      function BaseHistoryGameBoard() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.mainBoard = null;
        _this.specialLine = null;
        _this.animateHighlight = false;
        _this._cardPrefab = null;
        _this._cs = [];
        _this._scs = [];
        _this._highlightList = [];
        _this._cardSpriteCollection = null;
        return _this;
      }
      Object.defineProperty(BaseHistoryGameBoard.prototype, "CardPrefab", {
        get: function() {
          return this._cardPrefab;
        },
        set: function(v) {
          this._cardPrefab = v;
        },
        enumerable: false,
        configurable: true
      });
      BaseHistoryGameBoard.prototype.onLoaded = function() {
        return __awaiter(this, void 0, void 0, function() {
          var col, i, _i, _a, card, _b, _c, card;
          return __generator(this, function(_d) {
            this._cardSpriteCollection = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "Manager/CardSpriteCollection" ]).getComponent(PPPB_CardSpriteCollection_1.default);
            col = this.mainBoard.children;
            for (i = 0; i < col.length; ++i) {
              this._cs[i] = col[i].getComponentsInChildren(PPPB_HistoryCard_1.default);
              for (_i = 0, _a = this._cs[i]; _i < _a.length; _i++) {
                card = _a[_i];
                card.animateHighlight = this.animateHighlight;
              }
            }
            this._scs = this.specialLine.getComponentsInChildren(PPPB_HistoryCard_1.default);
            for (_b = 0, _c = this._scs; _b < _c.length; _b++) {
              card = _c[_b];
              card.animateHighlight = this.animateHighlight;
            }
            return [ 2 ];
          });
        });
      };
      Object.defineProperty(BaseHistoryGameBoard.prototype, "SpinData", {
        set: function(v) {
          this._spinData = v;
          this.UpdateBoard();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(BaseHistoryGameBoard.prototype, "spinData", {
        get: function() {
          return this._spinData;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(BaseHistoryGameBoard.prototype, "HighlightWin", {
        set: function(list) {
          this._highlightList = list;
          this.UpdateHighlight();
        },
        enumerable: false,
        configurable: true
      });
      BaseHistoryGameBoard.prototype.ResetHighlight = function() {
        for (var i = 0; i < this._cs.length; ++i) for (var j = 0; j < this._cs[i].length; ++j) this._cs[i][j].Reset();
        for (var i = 0; i < this._scs.length; ++i) this._scs[i].Reset();
      };
      BaseHistoryGameBoard.prototype.AllHighlight = function() {
        for (var i = 0; i < this._cs.length; ++i) for (var j = 0; j < this._cs[i].length; ++j) this._cs[i][j].Darken();
        for (var i = 0; i < this._scs.length; ++i) this._scs[i].Darken();
      };
      BaseHistoryGameBoard.prototype.UpdateBoard = function() {
        if (!this._spinData) return;
        this.UpdateMainBoard(this._spinData);
        this.UpdateSpecialCards(this._spinData);
        this._highlightList && this.UpdateHighlight();
      };
      BaseHistoryGameBoard.prototype.UpdateHighlight = function() {
        if (!this._spinData) return;
        if (0 == this._highlightList.length) return;
        this.AllHighlight();
        for (var i = 0; i < this._highlightList.length; ++i) {
          var pos = this._highlightList[i];
          var x = pos[0], y = pos[1];
          (-1 == x ? this._scs[y] : this._cs[x][y]).Highlight();
        }
      };
      BaseHistoryGameBoard.prototype.SetCardSprite = function(sprite, spriteIdx, height, widgetResize) {
        sprite.spriteFrame = this._cardSpriteCollection.GetSpriteFrameByValue(spriteIdx);
        var widget = sprite.node.getComponent(cc.Widget);
        if (widgetResize) widget.enabled = true; else {
          widget.enabled = false;
          var rect = sprite.spriteFrame.getRect();
          if (height < rect.height) {
            sprite.node.height = height;
            sprite.node.width = rect.width / rect.height * height;
          }
        }
      };
      __decorate([ property(cc.Node) ], BaseHistoryGameBoard.prototype, "mainBoard", void 0);
      __decorate([ property(cc.Node) ], BaseHistoryGameBoard.prototype, "specialLine", void 0);
      __decorate([ property ], BaseHistoryGameBoard.prototype, "animateHighlight", void 0);
      __decorate([ property(cc.Prefab) ], BaseHistoryGameBoard.prototype, "_cardPrefab", void 0);
      __decorate([ property(cc.Prefab) ], BaseHistoryGameBoard.prototype, "CardPrefab", null);
      BaseHistoryGameBoard = __decorate([ ccclass ], BaseHistoryGameBoard);
      return BaseHistoryGameBoard;
    }(PPPB_UComponent_1.UComponent);
    exports.default = BaseHistoryGameBoard;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../game/client/ui/PPPB-HistoryCard": "PPPB-HistoryCard",
    "../../managers/PPPB-CardSpriteCollection": "PPPB-CardSpriteCollection"
  } ],
  "PPPB-BaseScene": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "9f2b1oLnzxI3KqaApFeQSgP", "PPPB-BaseScene");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var _a, _b, _c;
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB__main_1 = require("../../../PPPB-_main");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../../framework-cocos/components/PPPB-UIList");
    var PPPB_decorator_1 = require("../../../framework-cocos/PPPB-decorator");
    var PPPB_do_1 = require("../../../framework-cocos/PPPB-do");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_GameServer_1 = require("../../server/PPPB-GameServer");
    var PPPB_Algorithm_1 = require("../PPPB-Algorithm");
    var PPPB_betConfig_1 = require("../../../common/config/PPPB-betConfig");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_AudioID_1 = require("./PPPB-AudioID");
    var PPPB_PlayAnimation_1 = require("./PPPB-PlayAnimation");
    var PPPB_States_1 = require("./States/PPPB-States");
    var PPPB_Work_1 = require("./PPPB-Work");
    var PPPB_user_1 = require("./PPPB-user");
    var PPPB_bet_1 = require("../../../common/ui/bottomUI/PPPB-bet");
    var PPPB_BottomUIPanelType_1 = require("../../../common/ui/bottomUI/PPPB-BottomUIPanelType");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_MoneyTextHelper_1 = require("../ui/PPPB-MoneyTextHelper");
    var PPPB_BottomPanel_1 = require("../ui/PPPB-BottomPanel");
    var PPPB_history_1 = require("../PPPB-history");
    var PPPB_SpineAssetManager_1 = require("../../../common/managers/PPPB-SpineAssetManager");
    var PPPB_buyFreeSpin_1 = require("../PPPB-buyFreeSpin");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var PPPB_BgmAudioHandler_1 = require("../PPPB-BgmAudioHandler");
    var PPPB_AliNet_1 = require("../PPPB-AliNet");
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_cardlist2_1 = require("../card/PPPB-cardlist2");
    var PPPB_nodePool_1 = require("../../../framework-cocos/PPPB-nodePool");
    var PPPB_res_1 = require("../../../framework-cocos/PPPB-res");
    var _d = cc._decorator, ccclass = _d.ccclass, property = _d.property;
    var MAX_QUICK_SPIN_SPAM_COUNT = 4;
    var SPIN_SPAM_BLOCK_DURATION = 3;
    var INIT_CARDS = [ [ 9, 6, 6, 9, 10 ], [ 4, 2, 3, 8, 2 ], [ 8, 7, 4, 9, 6 ], [ 4, 5, 5, 4, 2 ], [ 10, 4, 8, 8, 7 ], [ 2, 3, 7, 4, 5 ] ];
    var PrefabParent;
    (function(PrefabParent) {
      PrefabParent[PrefabParent["BOTTOM_UI"] = 0] = "BOTTOM_UI";
      PrefabParent[PrefabParent["SIGNBOARD_FREE_GAME"] = 1] = "SIGNBOARD_FREE_GAME";
      PrefabParent[PrefabParent["AUTOPLAY"] = 2] = "AUTOPLAY";
      PrefabParent[PrefabParent["BET"] = 3] = "BET";
      PrefabParent[PrefabParent["BUY_FREE_SPINS_PROMPT"] = 4] = "BUY_FREE_SPINS_PROMPT";
      PrefabParent[PrefabParent["FREE_GAME_SELECTION"] = 5] = "FREE_GAME_SELECTION";
    })(PrefabParent || (PrefabParent = {}));
    var GENERAL_PREFABS = (_a = {}, _a[PrefabParent.BOTTOM_UI] = [ "settings" ], _a[PrefabParent.SIGNBOARD_FREE_GAME] = [], 
    _a[PrefabParent.AUTOPLAY] = [ "autoplay" ], _a[PrefabParent.BET] = [ "bet" ], _a[PrefabParent.BUY_FREE_SPINS_PROMPT] = [ "buyFreeSpins" ], 
    _a);
    var MOBILE_PREFABS = (_b = {}, _b[PrefabParent.BOTTOM_UI] = [ "gamerulesPortrait", "gamerulesLandscapeMobile", "settingsPortrait" ], 
    _b);
    var DESKTOP_PREFABS = (_c = {}, _c[PrefabParent.BOTTOM_UI] = [ "gamerulesRichText" ], 
    _c);
    var CBaseScene = function(_super) {
      __extends(CBaseScene, _super);
      function CBaseScene() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.txt_buyFreeSpin = null;
        _this.txt_doubleChanceBet = null;
        _this.txt_buyFreeSpinPortrait = null;
        _this.txt_doubleChanceBetPortrait = null;
        _this.node_buyFreeSpin = null;
        _this.node_buyFreeSpinPortrait = null;
        _this.node_buyFreeSpinContent = null;
        _this.node_buyFreeSpinContentPortrait = null;
        _this.node_bonusActive = null;
        _this.node_bonusActivePortrait = null;
        _this.btn_buyFreeSpin = null;
        _this.btn_buyFreeSpinPortrait = null;
        _this.btn_doubleChanceBtn = null;
        _this.btn_doubleChanceBtnPortrait = null;
        _this.anim_doubleChanceBtn = null;
        _this.anim_doubleChanceBtnPortrait = null;
        _this.tip_creditGroup = null;
        _this.node_overlayCloseUI = null;
        _this.node_skipSpin = null;
        _this.bottomPanels = [];
        _this.betVaule = null;
        _this._betIndex = 9;
        _this.betPanel = null;
        _this.list = null;
        _this.blackScreen = null;
        _this.bottomUIParent = null;
        _this.signboardFreeGameParent = null;
        _this.autoplayParent = null;
        _this.betParent = null;
        _this.buyFreeSpinsPromptParent = null;
        _this.spineAssetManager = null;
        _this.buyFreeSpinPanel = null;
        _this.quickSpinSpamCount = 0;
        _this.isSpamBlockSpin = false;
        _this.hasDisplayedSpamBlock = false;
        _this.totalBet = null;
        _this.totalBetAddButton = null;
        _this.totalBetMinusButton = null;
        _this.txt_totalBetText = null;
        _this.isSkippingFreeSpin = false;
        _this._extra = false;
        _this._isplaying = false;
        _this._canStop = false;
        _this.prefabCount = 0;
        _this.totalPrefabCount = 0;
        _this._total = 0;
        _this.curPayout = 0;
        _this._bet = 10;
        _this._freeCount = 0;
        return _this;
      }
      CBaseScene.prototype.onLoaded = function() {
        PPPB__main_1.CMain.init();
        this.hideHome();
      };
      Object.defineProperty(CBaseScene.prototype, "IsPlaying", {
        get: function() {
          return this._isplaying;
        },
        set: function(val) {
          this._isplaying = val;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBaseScene.prototype, "CanBuyFreeSpins", {
        get: function() {
          return this._total >= PPPB_bet_1.default.buyFreeSpinPrice;
        },
        enumerable: false,
        configurable: true
      });
      CBaseScene.prototype.BaseSceneInit = function() {
        return __awaiter(this, void 0, void 0, function() {
          var gameScaler;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
              gameScaler = PPPB_ui_1.ui.getNode([ this, "GameScaler" ]);
              gameScaler.active = true;
              gameScaler.setPosition(0, 0);
              this.blackScreen.opacity = 255;
              return [ 4, this.Init() ];

             case 1:
              _a.sent();
              this.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None;
              this.bottomPanels[0].init(this);
              this.bottomPanels[1].init(this);
              if (PPPB_sys_1.sys.debugMode) {
                PPPB_user_1.user.attr.balance = 1e5;
                PPPB_user_1.user.attr.bet = PPPB_bet_1.default.totalBet;
              }
              this._total = PPPB_user_1.user.balance;
              this.updateGold();
              this.setBet();
              this.work.setCurrent(PPPB_States_1.states.start);
              this.blackScreen.opacity = 0;
              PPPB_event_1.Events.publish("btn", "enableAutoplay", "", true);
              PPPB_event_1.Events.publish("game", "ways", "", "144");
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playAllBGM() ];

             case 2:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(250) ];

             case 3:
              _a.sent();
              PPPB_quick_1.ks.isInSceneLoad = false;
              PPPB_quick_1.ks.bgmAudioHandler = PPPB_BgmAudioHandler_1.BgmAudio;
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.Init = function() {
        return __awaiter(this, void 0, void 0, function() {
          var gameScaler, frontNode, frontSpineNode, i, e, cl;
          var _this = this;
          return __generator(this, function(_a) {
            this.work = new PPPB_Work_1.Work();
            this.playAni = new PPPB_PlayAnimation_1.GPlayAnimation();
            this.resetDefaultUI();
            gameScaler = PPPB_ui_1.ui.getNode([ this, "GameScaler" ]);
            this.txt_buyFreeSpin = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/BuyFreeSpinButton/BuyFreeSpin/FreeSpinPriceText" ]).getComponent(cc.Label);
            this.txt_buyFreeSpinPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/BuyFreeSpinButton/BuyFreeSpin/FreeSpinPriceText" ]).getComponent(cc.Label);
            this.txt_doubleChanceBet = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/DoubleBetButton/BetText" ]).getComponent(cc.Label);
            this.txt_doubleChanceBetPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/DoubleBetButton/BetText" ]).getComponent(cc.Label);
            this.node_buyFreeSpin = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/BuyFreeSpinButton" ]);
            this.node_buyFreeSpinPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/BuyFreeSpinButton" ]);
            this.node_buyFreeSpinContent = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/BuyFreeSpinButton/BuyFreeSpin" ]);
            this.node_bonusActive = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/BuyFreeSpinButton/BonusActive" ]);
            this.node_bonusActivePortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/BuyFreeSpinButton/BonusActive" ]);
            this.node_buyFreeSpinContentPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/BuyFreeSpinButton/BuyFreeSpin" ]);
            this.btn_buyFreeSpin = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/BuyFreeSpinButton" ]).getComponent(cc.Button);
            this.btn_buyFreeSpinPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/BuyFreeSpinButton" ]).getComponent(cc.Button);
            this.btn_doubleChanceBtn = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/DoubleBetButton" ]).getComponent(cc.Button);
            this.btn_doubleChanceBtnPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/DoubleBetButton" ]).getComponent(cc.Button);
            this.anim_doubleChanceBtn = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/SignBoard/DoubleBetButton/DoubleChanceBtnFrame" ]).getComponent(cc.Animation);
            this.anim_doubleChanceBtnPortrait = PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/DoubleBetButton/DoubleChanceBtnFrame" ]).getComponent(cc.Animation);
            this.tip_creditGroup = PPPB_ui_1.ui.getNode([ gameScaler, "ToggleCurrencyBubble" ]);
            this.node_overlayCloseUI = PPPB_ui_1.ui.getNode([ gameScaler, "Stage/overlayCloseButton" ]);
            PPPB_lib_1.cc1.sys.isMobile ? this.node_overlayCloseUI.on(cc.Node.EventType.TOUCH_END, this.onOverlayCloseUIClick, this) : this.node_overlayCloseUI.on(cc.Node.EventType.MOUSE_UP, this.onOverlayCloseUIClick, this);
            this.node_skipSpin = PPPB_ui_1.ui.getNode([ gameScaler, "SkipSpin" ]);
            this.node_skipSpin.setPosition(cc.v2(2e3, this.node_skipSpin.position.y));
            this.totalBet = PPPB_ui_1.ui.getNode([ gameScaler, "totalBet" ]);
            this.totalBetAddButton = PPPB_ui_1.ui.getNode([ gameScaler, "totalBet/AddBetBtn" ]);
            this.totalBetMinusButton = PPPB_ui_1.ui.getNode([ gameScaler, "totalBet/MinusBetBtn" ]);
            this.totalBetAddButton.setPosition(cc.v2(this.totalBetAddButton.position.x, -500));
            this.totalBetMinusButton.setPosition(cc.v2(this.totalBetMinusButton.position.x, -500));
            this.txt_totalBetText = PPPB_ui_1.ui.getNode([ this.totalBet, "NumberContainer/TotalBetText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
            this.txt_totalBetText.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
            this.betVaule = 12;
            this.updateGold();
            this.list.length = 6;
            this.quickSpinSpamCount = 0;
            frontNode = PPPB_ui_1.ui.getNode([ gameScaler, "slist" == this.list.node.name ? "fronts" : "front" ]);
            frontSpineNode = PPPB_ui_1.ui.getNode([ gameScaler, "slist" == this.list.node.name ? "fronts" : "frontSpine" ]);
            for (i = 0; i < this.list.content.node.children.length; i++) {
              e = this.list.content.node.children[i];
              cl = PPPB_ui_1.ui.getComponent(e, PPPB_cardlist2_1.default);
              cl.Initialize(frontNode, frontSpineNode);
              cl.Init(this.work, INIT_CARDS[i], i);
              this.work.cardlistlist2.push(cl);
            }
            this.buyFreeSpinPanel = this.buyFreeSpinsPromptParent.getComponentInChildren(PPPB_buyFreeSpin_1.default);
            this.buyFreeSpinPanel.Initialize(this, this.totalBet, PPPB_ui_1.ui.getNode([ gameScaler, "portraitBottom/btns/buyFreeSpinsOverlay" ]));
            this.betPanel = this.betParent.getComponentInChildren(PPPB_bet_1.default);
            this.betPanel.Init();
            this.playAni.w = this.work;
            this.playAni.InitAni();
            this.playAni.bottomPanels = this.bottomPanels;
            PPPB_ui_1.ui.show([ this, "bottom/btns" ]);
            PPPB_event_1.Events.publish("txt", "scroll", "");
            this.spineAssetManager.InitSpineAnimations();
            PPPB_gameSettings_1.GameSettings.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK && PPPB_event_1.Events.publish("mark", "quickSpin", "");
            this.updateGold();
            this.updateBet();
            PPPB_lib_1._.sleep(1e4).then(function() {
              null != _this.tip_creditGroup && (_this.tip_creditGroup.active = false);
            });
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.resetDefaultUI = function() {
        var gameScaler = PPPB_ui_1.ui.getNode([ this, "GameScaler" ]);
        var aniRoot = PPPB_ui_1.ui.getNode([ gameScaler, "aniroot" ]);
        var superwin = PPPB_ui_1.ui.getNode([ aniRoot, "big_win" ]);
        superwin.active = false;
      };
      CBaseScene.prototype.InitAllPrefabs = function(onProgressCallback) {
        return __awaiter(this, void 0, void 0, function() {
          var prefabParentEnumValue, prefabParent, _i, _a, prefabName, nativePrefabList, prefabParentEnumValue, prefabParent, _b, _c, prefabName;
          return __generator(this, function(_d) {
            switch (_d.label) {
             case 0:
              this.prefabCount = 0;
              this.totalPrefabCount = 0;
              for (prefabParentEnumValue in GENERAL_PREFABS) {
                prefabParent = Number(prefabParentEnumValue);
                for (_i = 0, _a = GENERAL_PREFABS[prefabParent]; _i < _a.length; _i++) {
                  prefabName = _a[_i];
                  this.totalPrefabCount++;
                }
              }
              nativePrefabList = PPPB_lib_1.cc1.sys.isMobile ? MOBILE_PREFABS : DESKTOP_PREFABS;
              for (prefabParentEnumValue in nativePrefabList) {
                prefabParent = Number(prefabParentEnumValue);
                for (_b = 0, _c = nativePrefabList[prefabParent]; _b < _c.length; _b++) {
                  prefabName = _c[_b];
                  this.totalPrefabCount++;
                }
              }
              return [ 4, this.InitPrefabs("preload", GENERAL_PREFABS, onProgressCallback) ];

             case 1:
              _d.sent();
              return [ 4, this.InitPrefabs(PPPB_lib_1.cc1.sys.isMobile ? "preloadMobile" : "preload", PPPB_lib_1.cc1.sys.isMobile ? MOBILE_PREFABS : DESKTOP_PREFABS, onProgressCallback) ];

             case 2:
              _d.sent();
              this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.InitPrefabs = function(preloadDir, prefabsList, onProgressCallback) {
        return __awaiter(this, void 0, void 0, function() {
          var _a, _b, _i, prefabParentEnumValue, prefabParent, _c, _d, prefabName, prefabNode;
          return __generator(this, function(_e) {
            switch (_e.label) {
             case 0:
              _a = [];
              for (_b in prefabsList) _a.push(_b);
              _i = 0;
              _e.label = 1;

             case 1:
              if (!(_i < _a.length)) return [ 3, 6 ];
              prefabParentEnumValue = _a[_i];
              prefabParent = Number(prefabParentEnumValue);
              _c = 0, _d = prefabsList[prefabParent];
              _e.label = 2;

             case 2:
              if (!(_c < _d.length)) return [ 3, 5 ];
              prefabName = _d[_c];
              return [ 4, PPPB_ui_1.ui.create("resources/prefab/ui/" + preloadDir + "/" + prefabName) ];

             case 3:
              prefabNode = _e.sent();
              this.prefabCount++;
              onProgressCallback(this.prefabCount, this.totalPrefabCount);
              prefabNode.node.setPosition(cc.v2(4e3, prefabNode.node.position.y));
              switch (prefabParent) {
               case PrefabParent.BOTTOM_UI:
                prefabNode.node.setParent(this.bottomUIParent);
                break;

               case PrefabParent.SIGNBOARD_FREE_GAME:
                prefabNode.node.setParent(this.signboardFreeGameParent);
                break;

               case PrefabParent.AUTOPLAY:
                prefabNode.node.setParent(this.autoplayParent);
                break;

               case PrefabParent.BET:
                prefabNode.node.setParent(this.betParent);
                break;

               case PrefabParent.BUY_FREE_SPINS_PROMPT:
                prefabNode.node.setParent(this.buyFreeSpinsPromptParent);
                break;

               default:
                console.error("WARNING: unhandled parent type " + prefabParent + " for instantiated prefab " + prefabName);
              }
              _e.label = 4;

             case 4:
              _c++;
              return [ 3, 2 ];

             case 5:
              _i++;
              return [ 3, 1 ];

             case 6:
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.onOverlayCloseUIClick = function() {
        this.node_overlayCloseUI.active = false;
        this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
        this.$event_reset_bottomUIType();
      };
      CBaseScene.prototype.updateGold = function(total, doTween) {
        this.bottomPanels[0].updateGold(total, doTween);
        this.bottomPanels[1].updateGold(total, doTween);
      };
      CBaseScene.prototype.$event_show_scatterPayOut = function(scatterNum, payout) {
        this.curPayout = payout;
        this.bottomPanels[0].node_scatterWinLayout.opacity = 255;
        this.bottomPanels[1].node_scatterWinLayout.opacity = 255;
        this.bottomPanels[0].scatterCountText.string = "X" + scatterNum.toString();
        this.bottomPanels[1].scatterCountText.string = "X" + scatterNum.toString();
        this.bottomPanels[0].txt_scatterWinPayOut.string = PPPB_language_1.language.getText("label_mobile.PAYS") + " " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(this.curPayout);
        this.bottomPanels[1].txt_scatterWinPayOut.string = PPPB_language_1.language.getText("label_mobile.PAYS") + " " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(this.curPayout);
        PPPB_event_1.Events.publish("show", "topTips", "");
      };
      CBaseScene.prototype.$event_refresh_payoutMessage = function() {
        this.bottomPanels[0].txt_scatterWinPayOut.string = PPPB_language_1.language.getText("label_mobile.PAYS") + " " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(this.curPayout);
        this.bottomPanels[1].txt_scatterWinPayOut.string = PPPB_language_1.language.getText("label_mobile.PAYS") + " " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(this.curPayout);
      };
      CBaseScene.prototype.$event_hide_scatterPayOut = function() {
        this.bottomPanels[0].node_scatterWinLayout.opacity = 0;
        this.bottomPanels[1].node_scatterWinLayout.opacity = 0;
      };
      CBaseScene.prototype.$event_gold_add = function(winGold, doTween) {
        PPPB_user_1.user.attr.balance += winGold;
        PPPB_event_1.Events.publish("gold", "update", "", PPPB_user_1.user.balance, doTween);
      };
      CBaseScene.prototype.$event_gold_update = function(total, doTween) {
        this.updateGold(total, doTween);
      };
      CBaseScene.prototype.$event_work_reset = function() {
        if (!this._isplaying) {
          this._total = PPPB_user_1.user.balance;
          this.updateGold();
        }
      };
      Object.defineProperty(CBaseScene.prototype, "bet", {
        get: function() {
          return this._bet;
        },
        set: function(v) {
          this._bet = v;
          var sub = Math.abs(v - PPPB_betConfig_1.betConf[this._betIndex]);
          if (!sub) return;
          for (var i = 0; i < PPPB_betConfig_1.betConf.length; i++) {
            var e = PPPB_betConfig_1.betConf[i];
            if (sub < Math.abs(v - e)) {
              sub = Math.abs(v - e);
              this._betIndex = i;
              if (0 == sub) break;
            }
          }
        },
        enumerable: false,
        configurable: true
      });
      CBaseScene.prototype.$event_bet_change = function(betvalue) {
        this.setBet(betvalue);
      };
      CBaseScene.prototype.setBet = function(betvalue) {
        betvalue = null !== betvalue && void 0 !== betvalue ? betvalue : PPPB_bet_1.default.totalBet;
        this.bet = betvalue;
        this.work && (this.work.bet = betvalue);
        this.betVaule = betvalue.toFixed(2);
        this.updateBet(betvalue);
      };
      CBaseScene.prototype.$event_start_autoPlay = function(autoAmount) {
        if (this._total < this.bet) {
          PPPB_ui_1.ui.tipsWithParent("insufficient balance", PPPB_ui_1.ui.tipsParent);
          return;
        }
        PPPB_gameSettings_1.GameSettings.StartAutoplay(autoAmount);
        PPPB_event_1.Events.publish("spinbutton", "auto", "", true);
        PPPB_event_1.Events.publish("reset", "bottomUIType", "");
        PPPB_event_1.Events.publish("spin", "scroll", "");
      };
      CBaseScene.prototype.$event_spam_quickSpin = function() {
        this.quickSpinSpamCount++;
      };
      CBaseScene.prototype.$event_bet_increase = function() {
        this.betPanel.IncreaseBet();
      };
      CBaseScene.prototype.$event_bet_decrease = function() {
        this.betPanel.DecreaseBet();
      };
      CBaseScene.prototype.$event_bet_isMax = function(isMax) {
        var hasSufficientMoney = this._total >= PPPB_bet_1.default.nextBuyFreeSpinPrice;
        this.totalBetAddButton.getComponent(cc.Button).interactable = isMax && hasSufficientMoney;
      };
      CBaseScene.prototype.$event_bet_isMin = function(isMin) {
        this.totalBetMinusButton.getComponent(cc.Button).interactable = isMin;
      };
      CBaseScene.prototype.updateBet = function(betvalue) {
        betvalue = null !== betvalue && void 0 !== betvalue ? betvalue : this.work.bet;
        var betDisplay = betvalue, buyFreeSpinDisplay = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(PPPB_bet_1.default.buyFreeSpinPrice, false), doubleChanceBetDisplay = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(PPPB_bet_1.default.doubleChanceBet);
        this.bottomPanels[0].txt_bet.value = betDisplay;
        this.bottomPanels[1].txt_bet.value = betDisplay;
        this.txt_totalBetText.value = betDisplay;
        this.txt_buyFreeSpin.string = buyFreeSpinDisplay;
        this.txt_buyFreeSpinPortrait.string = buyFreeSpinDisplay;
        this.buyFreeSpinPanel.SetPriceLabelText(buyFreeSpinDisplay);
        this.txt_doubleChanceBet.string = doubleChanceBetDisplay;
        this.txt_doubleChanceBetPortrait.string = doubleChanceBetDisplay;
        this.btn_buyFreeSpin.interactable = !this._extra && this.CanBuyFreeSpins;
        this.btn_buyFreeSpin.node.opacity = this.btn_buyFreeSpin.interactable ? 255 : 192;
        this.btn_buyFreeSpinPortrait.interactable = !this._extra && this.CanBuyFreeSpins;
        this.btn_buyFreeSpinPortrait.node.opacity = this.btn_buyFreeSpinPortrait.interactable ? 255 : 192;
        PPPB_event_1.Events.publish("display", "updateBet", "", this.bottomPanels[0].txt_bet.LabelString);
        PPPB_event_1.Events.publish("display", "updateBuyFreeSpin", "", buyFreeSpinDisplay);
      };
      CBaseScene.prototype.$ui_GameScaler_Stage_SignBoard_DoubleBetButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this._isplaying || this.buyFreeSpinPanel.IsOpen) return [ 2 ];
            this._extra = !this._extra;
            this.work.extra = this._extra;
            this.btn_buyFreeSpin.interactable = !this._extra;
            this.btn_buyFreeSpin.node.opacity = this._extra ? 192 : 255;
            this.btn_buyFreeSpinPortrait.interactable = !this._extra;
            this.btn_buyFreeSpinPortrait.node.opacity = this._extra ? 192 : 255;
            PPPB_bet_1.default.baseSize = this._extra ? PPPB_betConfig_1.doubleChanceBaseSize : PPPB_betConfig_1.standardBaseSize;
            this.anim_doubleChanceBtn.play(this._extra ? "doublechance_toggle_on" : "doublechance_toggle_off");
            this.anim_doubleChanceBtnPortrait.play(this._extra ? "doublechance_toggle_on" : "doublechance_toggle_off");
            PPPB_event_1.Events.publish("refresh", "maxBet", "", this._extra);
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$event_turbo_isForced = function(isEnabled) {
        this.work.toggleForcedTurbo(isEnabled);
      };
      CBaseScene.prototype.$ui_GameScaler_bottom_spinGroup_spinbtn_spining_spin1_root_SpinFrame_SpinStop__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("click", "spinbtn", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$ui_GameScaler_SkipSpin__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
            if (this.isSkippingFreeSpin) {
              this.isSkippingFreeSpin = false;
              this.node_skipSpin.setPosition(cc.v2(4e3, this.node_skipSpin.position.y));
              PPPB_event_1.Events.publish("enter", "freeSpins", "");
            } else this.work.current == PPPB_States_1.states.start && this._isplaying && this.work.canSkipSpin ? PPPB_event_1.Events.publish("game", "stop", "") : this.work.current == PPPB_States_1.states.win && PPPB_event_1.Events.publish("skip", "gameWinnings", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$event_click_spinbtn = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.buyFreeSpinPanel.IsOpen) return [ 2 ];
            if (this.work.current == PPPB_States_1.states.start && this._isplaying && this.work.canSkipSpin) {
              console.log("stopping  game!");
              PPPB_event_1.Events.publish("game", "stop", "");
            } else this.$event_spin_scroll();
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$event_game_stop = function() {
        if (0 == this.work.spinState) {
          this.work.spinState = -1;
          for (var _i = 0, _a = this.work.cardlistlist2; _i < _a.length; _i++) {
            var list = _a[_i];
            list.stopScroll(true);
          }
        } else 1 == this.work.spinState && (this.work.spinState = -1);
      };
      CBaseScene.prototype.$event_spin_infScroll = function() {
        return __awaiter(this, void 0, void 0, function() {
          var isPlayingAtNormalSpeed, i, list, delayMS, _i, _a, list;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              isPlayingAtNormalSpeed = this.work.isAtNormalSpeed();
              this.work.spinState = 0;
              PPPB_gameSettings_1.GameSettings.isAutoplayEnabled ? this.work.isScatter || PPPB_quick_1.ks.playEffectSound("FirstReelSpin_Auto_PB") : this.work.isScatter || PPPB_quick_1.ks.playEffectSound("FirstReelSpin_Manual_PB");
              PPPB_lib_1._.sleep(250).then(function() {
                _this.work.canSkipSpin = true;
              });
              this._isplaying = true;
              for (i = 0; i < this.work.cardlistlist2.length; i++) {
                list = this.work.cardlistlist2[i];
                list.initScroll(this.work.data.cards[i]);
              }
              return [ 4, PPPB_lib_1._.sleep(50) ];

             case 1:
              _b.sent();
              delayMS = 0;
              for (_i = 0, _a = this.work.cardlistlist2; _i < _a.length; _i++) {
                list = _a[_i];
                if (0 == this.work.spinState) {
                  list.startScroll(delayMS);
                  isPlayingAtNormalSpeed && (delayMS += 50);
                }
              }
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.$event_spin_scroll = function() {
        return __awaiter(this, void 0, void 0, function() {
          var msgArr, randInt, sendSpin, ret, vs, data, ori, js, _loop_1, _i, _a, c, wasAutoplayEnabled;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (this.isSpamBlockSpin) return [ 2 ];
              if (this._isplaying) return [ 2 ];
              if (this._total < this.bet && !this.work.isScatter) {
                PPPB_ui_1.ui.tipsWithParent("insufficient balance", PPPB_ui_1.ui.tipsParent);
                if (PPPB_gameSettings_1.GameSettings.isAutoplayEnabled) {
                  PPPB_gameSettings_1.GameSettings.StopAutoplay();
                  this.work.current == PPPB_States_1.states.start && PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
                  PPPB_event_1.Events.publishAsync("finish", "spin", "");
                  PPPB_event_1.Events.publish("spinbutton", "auto", "", false);
                  PPPB_event_1.Events.publish("btn", "setSpinToDefault", "");
                  PPPB_event_1.Events.publish("btn", "enableAutoplay", "", true);
                }
                return [ 2 ];
              }
              PPPB_event_1.Events.publishAsync("start", "spin", "");
              this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume);
              this.node_skipSpin.setPosition(cc.v2(0, this.node_skipSpin.position.y));
              this._isplaying = true;
              if (PPPB_gameSettings_1.GameSettings.isAutoplayEnabled && !this.work.isScatter) {
                PPPB_BgmAudioHandler_1.BgmAudio.CrossFadeAddOnBGM(PPPB_AudioID_1.default.autoSpinID, true);
                PPPB_gameSettings_1.GameSettings.ReduceAutoplaySpins();
                PPPB_event_1.Events.publish("update", "autoSpinsRemaining", "", PPPB_gameSettings_1.GameSettings.autoplaySpinsRemaining);
                PPPB_event_1.Events.publish("update", "gameMessage", "", "");
                PPPB_event_1.Events.publish("update", "gameSubMessage", "", "gameSubMessage.AUTOSPINSLEFT", PPPB_gameSettings_1.GameSettings.autoplaySpinsRemaining);
                this.work.isScattering || PPPB_event_1.Events.publish("roll", "gameWinnings", "", void 0, -1, 0, false);
              } else {
                if (!this.work.isScattering) {
                  PPPB_BgmAudioHandler_1.BgmAudio.CrossFadeAddOnBGM(PPPB_AudioID_1.default.manualSpinID, true);
                  if (PPPB_lib_1.cc1.sys.isMobile) {
                    msgArr = [];
                    msgArr.push("label_mobile.TAPTOSTOPREELS");
                    msgArr.push("label_mobile.GOODLUCK");
                    randInt = PPPB_lib_1._.rand(0, msgArr.length);
                    PPPB_event_1.Events.publish("update", "gameMessage", "", msgArr[randInt]);
                  } else PPPB_event_1.Events.publish("update", "gameMessage", "", "label_mobile.GOODLUCK");
                  PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
                  PPPB_event_1.Events.publish("roll", "gameWinnings", "", void 0, -1, 0, false);
                }
                PPPB_event_1.Events.publish("btn", "enableAutoplay", "", false);
              }
              if (!this.work.isScattering) {
                this.bottomPanels[0].ToggleFadeButtons(false, this._extra);
                this.bottomPanels[1].ToggleFadeButtons(false, this._extra);
              }
              PPPB_event_1.Events.publish("btn", "setSpinToStop", "");
              sendSpin = function(bet, extra) {
                return __awaiter(_this, void 0, void 0, function() {
                  var r, err;
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_AliNet_1.NetFactory.spin(bet, extra ? 1 : 0) ];

                     case 1:
                      r = _a.sent();
                      if (!(!r || r.getErr())) return [ 3, 4 ];
                      err = r.getErr();
                      if (!err) return [ 3, 3 ];
                      return [ 4, PPPB_quick_1.ks.systips({
                        tips: PPPB_language_1.language.getText("game.neterror") + "\n" + PPPB_language_1.language.formatText("sys.error", err)
                      }) ];

                     case 2:
                      _a.sent();
                      _a.label = 3;

                     case 3:
                      this._isplaying = false;
                      this._total += this.bet;
                      this.updateGold();
                      return [ 2, null ];

                     case 4:
                      console.log("send spin complete");
                      return [ 2, PPPB_Algorithm_1.aal.convertSpinResponse(r, extra) ];
                    }
                  });
                });
              };
              if (!PPPB_sys_1.sys.debugMode) return [ 3, 1 ];
              vs = new PPPB_GameServer_1.GameServer();
              vs.curBet = this.bet;
              vs.extra = this._extra;
              if (this._freeCount) {
                this._freeCount--;
                vs.addFreeCount(1);
              }
              if (PPPB_Algorithm_1.aal.freeSpins) {
                ret = PPPB_Algorithm_1.aal.freeSpins;
                PPPB_Algorithm_1.aal.freeSpins = null;
              } else {
                data = vs.Spin();
                ori = {
                  balance: PPPB_user_1.user.balance - this.betVaule,
                  bet: this.bet,
                  spinList: [ data ]
                };
                while (vs.freeSpins) ori.spinList.push(vs.Spin());
                ret = PPPB_Algorithm_1.aal.convertSpinList(ori);
                ori.balance = PPPB_user_1.user.balance + vs.balance;
                PPPB_history_1.default.recordSpin(vs.sessionId, this.betVaule, ori);
              }
              return [ 3, 4 ];

             case 1:
              if (!PPPB_Algorithm_1.aal.freeSpins) return [ 3, 2 ];
              ret = PPPB_Algorithm_1.aal.freeSpins;
              PPPB_Algorithm_1.aal.freeSpins = null;
              return [ 3, 4 ];

             case 2:
              return [ 4, sendSpin(this.bet, this._extra) ];

             case 3:
              ret = _b.sent();
              _b.label = 4;

             case 4:
              PPPB_user_1.user.attr.balance = this.work.isScattering ? PPPB_user_1.user.balance : PPPB_user_1.user.balance - this.betVaule;
              this.updateGold(PPPB_user_1.user.balance);
              if (null == ret) return [ 2 ];
              js = 0;
              _loop_1 = function(c) {
                var first = c.splice(0, 1)[0];
                PPPB_do_1.DoQueue.add(function() {
                  return __awaiter(_this, void 0, void 0, function() {
                    return __generator(this, function(_a) {
                      switch (_a.label) {
                       case 0:
                        this.work.setData(first);
                        this.$event_spin_infScroll();
                        this.work.isScattering && PPPB_event_1.Events.publish("free", "updateNum", "", true);
                        this.work.setCurrent(PPPB_States_1.states.start);
                        js >= 1;
                        return [ 4, this.work.play() ];

                       case 1:
                        _a.sent();
                        return [ 2 ];
                      }
                    });
                  });
                });
                c.forEach(function(v) {
                  PPPB_do_1.DoQueue.add(function() {
                    return __awaiter(_this, void 0, void 0, function() {
                      return __generator(this, function(_a) {
                        switch (_a.label) {
                         case 0:
                          this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
                          this.work.setData(v);
                          this.work.setCurrent(PPPB_States_1.states.win);
                          return [ 4, this.work.play() ];

                         case 1:
                          _a.sent();
                          return [ 2 ];
                        }
                      });
                    });
                  });
                });
                PPPB_do_1.DoQueue.add(function() {
                  return __awaiter(_this, void 0, void 0, function() {
                    return __generator(this, function(_a) {
                      switch (_a.label) {
                       case 0:
                        this.work.setCurrent(PPPB_States_1.states.end);
                        return [ 4, this.work.play() ];

                       case 1:
                        _a.sent();
                        return [ 2 ];
                      }
                    });
                  });
                });
                js++;
              };
              for (_i = 0, _a = ret.spinList; _i < _a.length; _i++) {
                c = _a[_i];
                _loop_1(c);
              }
              return [ 4, PPPB_do_1.DoQueue.wait() ];

             case 5:
              _b.sent();
              this._isplaying = false;
              this.work.canSkipSpin = false;
              this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
              wasAutoplayEnabled = PPPB_gameSettings_1.GameSettings.isAutoplayEnabled;
              PPPB_gameSettings_1.GameSettings.autoplaySpinsRemaining <= 0 && PPPB_gameSettings_1.GameSettings.StopAutoplay();
              wasAutoplayEnabled = wasAutoplayEnabled && !PPPB_gameSettings_1.GameSettings.isAutoplayEnabled;
              this.node_skipSpin.setPosition(cc.v2(4e3, this.node_skipSpin.position.y));
              if (PPPB_gameSettings_1.GameSettings.isAutoplayEnabled || this.work.isScattering) this.$event_spin_scroll(); else {
                this.bottomPanels[0].ToggleFadeButtons(true, this._extra);
                this.bottomPanels[1].ToggleFadeButtons(true, this._extra);
                if (this.quickSpinSpamCount >= MAX_QUICK_SPIN_SPAM_COUNT && !this.hasDisplayedSpamBlock) {
                  PPPB_event_1.Events.publish("display", "quickSpin", "");
                  this.hasDisplayedSpamBlock = true;
                  this.isSpamBlockSpin = true;
                  this.scheduleOnce(function() {
                    _this.isSpamBlockSpin = false;
                  }, SPIN_SPAM_BLOCK_DURATION);
                }
                PPPB_event_1.Events.publishAsync("finish", "spin", "");
                PPPB_event_1.Events.publish("spinbutton", "auto", "", false);
                PPPB_event_1.Events.publish("btn", "setSpinToDefault", "");
                PPPB_event_1.Events.publish("btn", "enableAutoplay", "", true);
                PPPB_lib_1._.sleep(5e3).then(function() {
                  _this._isplaying || _this.work.isScattering || PPPB_BgmAudioHandler_1.BgmAudio.MuteCurrentAddOnBGM();
                });
              }
              wasAutoplayEnabled && PPPB_event_1.Events.publish("open", "autoPanel", "");
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.$event_start_spin = function() {
        for (var _i = 0, _a = this.bottomPanels; _i < _a.length; _i++) {
          var bottomPanel = _a[_i];
          bottomPanel.btn_addBet.interactable = false;
          bottomPanel.btn_minusBet.interactable = false;
          this.work.isScatter || bottomPanel.ToggleGameWinningsText(false);
        }
        this.btn_buyFreeSpin.interactable = false;
        this.btn_buyFreeSpin.node.opacity = 192;
        this.btn_doubleChanceBtn.interactable = false;
        this.btn_doubleChanceBtn.node.opacity = 192;
        if (!this.work.isScatter) {
          this.btn_buyFreeSpinPortrait.interactable = false;
          this.btn_buyFreeSpinPortrait.node.opacity = 192;
          this.btn_doubleChanceBtnPortrait.interactable = false;
          this.btn_doubleChanceBtnPortrait.node.opacity = 192;
        }
      };
      CBaseScene.prototype.$event_finish_spin = function() {
        this.btn_buyFreeSpin.interactable = !this._extra;
        this.btn_buyFreeSpin.node.opacity = this._extra ? 192 : 255;
        this.btn_doubleChanceBtn.interactable = true;
        this.btn_doubleChanceBtn.node.opacity = 255;
        if (!this.work.isScatter) {
          this.btn_buyFreeSpinPortrait.interactable = !this._extra;
          this.btn_buyFreeSpinPortrait.node.opacity = this._extra ? 192 : 255;
          this.btn_doubleChanceBtnPortrait.interactable = true;
          this.btn_doubleChanceBtnPortrait.node.opacity = 255;
        }
        PPPB_event_1.Events.publish("bet", "change", "");
      };
      CBaseScene.prototype.$event_game_ways = function(v) {
        PPPB_ui_1.ui.setUIDataValueByPath(this, "GameScaler/Stage/MegawaysFrame/WaysNumText", v);
      };
      CBaseScene.prototype.$event_auto_off = function() {
        PPPB_event_1.Events.publish("game", "tips", "", "Auto Spin Disabled");
        PPPB_ui_1.ui.setUIDataValueByPath(this, "bottom/auto", {
          isauto: 1
        });
      };
      CBaseScene.prototype.$ui_GameScaler_volume_BaseVolume__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node_overlayCloseUI.active = true;
            this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume);
            this.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume;
            PPPB_event_1.Events.publish("display", "volumecontrol", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$ui_GameScaler_Stage_SignBoard_BuyFreeSpinButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.OpenBuyFreeSpins();
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$ui_GameScaler_bottom_BottomFrameAni_bottomFrame__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
            PPPB_event_1.Events.publish("cancel", "buyFreeSpins", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.OpenBuyFreeSpins = function() {
        if (this._isplaying) return;
        this.ToggleBottomPanelBuyFreeSpinScale(false);
        this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
        PPPB_event_1.Events.publish("open", "buyFreeSpins", "");
      };
      CBaseScene.prototype.ToggleBottomPanelBuyFreeSpinScale = function(toggle) {
        this.bottomPanels[0].ToggleScaleBuyFreeSpinButton(toggle);
        this.bottomPanels[1].ToggleScaleBuyFreeSpinButton(toggle);
      };
      CBaseScene.prototype.$event_set_freeInSkip = function() {
        this.isSkippingFreeSpin = true;
        this.node_skipSpin.setPosition(cc.v2(0, this.node_skipSpin.position.y));
      };
      CBaseScene.prototype.$ui_GameScaler_freeSpin_signboard__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.isSkippingFreeSpin = true;
            this.node_skipSpin.setPosition(cc.v2(4e3, this.node_skipSpin.position.y));
            PPPB_event_1.Events.publish("enter", "freeSpins", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$event_free_buy = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.setBet();
            this.betVaule = data.price;
            this._freeCount = data.count;
            this.updateGold(void 0, false);
            this.$event_spin_scroll();
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.CloseBottomBarPanels = function(panelType) {
        var panelsToClose = [];
        panelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules && panelsToClose.push("gamerules");
        panelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet && panelsToClose.push("bet");
        panelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings && panelsToClose.push("systemsettings");
        panelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume && panelsToClose.push("volumecontrol");
        panelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel && panelsToClose.push("autopanel");
        PPPB_event_1.Events.publish("close", "quickspin", "");
        for (var _i = 0, panelsToClose_1 = panelsToClose; _i < panelsToClose_1.length; _i++) {
          var s = panelsToClose_1[_i];
          PPPB_event_1.Events.publish("close", s, "");
        }
      };
      CBaseScene.prototype.IsSamePanelType = function(panelType) {
        if (this.bottomUIPanelType == panelType) {
          var s = "";
          panelType == PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules && (s = "gamerules");
          panelType == PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet && (s = "bet");
          panelType == PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings && (s = "systemsettings");
          panelType == PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume && (s = "volumecontrol");
          panelType == PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel && (s = "autopanel");
          PPPB_event_1.Events.publish("close", s, "");
          this.$event_reset_bottomUIType();
          return true;
        }
        return false;
      };
      CBaseScene.prototype.$event_reset_bottomUIType = function() {
        this.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None;
      };
      CBaseScene.prototype.$event_exit_freeout = function() {
        this.node_bonusActive.opacity = 0;
        this.node_bonusActivePortrait.opacity = 0;
        this.node_buyFreeSpinContent.opacity = 255;
        this.node_buyFreeSpinContentPortrait.opacity = 255;
        this.node_buyFreeSpin.opacity = 255;
        this.node_buyFreeSpinPortrait.opacity = 255;
      };
      CBaseScene.prototype.$event_game_viewResize = function() {
        return __awaiter(this, void 0, void 0, function() {
          var isLandscape;
          return __generator(this, function(_a) {
            isLandscape = PPPB_quick_1.ks.isLandscape;
            console.log("View is now " + isLandscape ? "landscape" : "portrait");
            this.bottomUIPanelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet && this.bottomUIPanelType != PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel && this.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.None);
            switch (this.bottomUIPanelType) {
             case PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules:
              PPPB_event_1.Events.publish("display", "gamerules", "");
              break;

             case PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings:
              PPPB_event_1.Events.publish("display", "syssettings", "");
            }
            this._isplaying || PPPB_event_1.Events.publish("update", "spinbtnOrientation", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.ToggleTotalBetInteractable = function(toggle) {
        this.totalBetAddButton.getComponent(cc.Button).interactable = toggle;
        this.totalBetMinusButton.getComponent(cc.Button).interactable = toggle;
        toggle && PPPB_event_1.Events.publish("refresh", "betstate", "", "");
      };
      CBaseScene.prototype.ToggleShiftTotalBetActive = function(toggle) {
        this.totalBet.opacity = toggle ? 255 : 0;
        this.totalBetAddButton.setPosition(cc.v2(this.totalBetAddButton.position.x, toggle ? -50.73 : -5e3));
        this.totalBetMinusButton.setPosition(cc.v2(this.totalBetMinusButton.position.x, toggle ? -50.73 : -5e3));
      };
      CBaseScene.prototype.$ui_GameScaler_totalBet_AddBetBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (0 == this.totalBet.opacity) return [ 2 ];
            if (this.IsPlaying) return [ 2 ];
            PPPB_event_1.Events.publish("bet", "increase", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.$ui_GameScaler_totalBet_MinusBetBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (0 == this.totalBet.opacity) return [ 2 ];
            if (this.IsPlaying) return [ 2 ];
            PPPB_event_1.Events.publish("bet", "decrease", "");
            return [ 2 ];
          });
        });
      };
      CBaseScene.prototype.cleanSubGame = function() {
        PPPB_nodePool_1.nodePool.clear();
        PPPB_res_1.res.stopGC();
        PPPB_res_1.res.gc();
        PPPB_do_1.DoQueue.clear();
        PPPB_event_1.Events.clear();
      };
      CBaseScene.prototype.$ui_GameScaler_home__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var d, manager, kl;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("ui_GameScaler_home__click");
              return [ 4, PPPB_quick_1.ks.systips({
                title: PPPB_language_1.language.getText("game.quit"),
                tips: PPPB_language_1.language.getText("game.quittip"),
                cancel: true
              }) ];

             case 1:
              d = _a.sent();
              if (null === d || void 0 === d ? void 0 : d.ok) if (cc.sys.isNative) {
                this.cleanSubGame();
                manager = window["subGameManager"];
                manager && manager.backGame();
              } else if (cc.sys.isBrowser && PPPB__main_1.CMain.opsParams.Opstoken) {
                kl = window["kl"];
                kl && kl.gameBack();
              } else cc.game.end();
              return [ 2 ];
            }
          });
        });
      };
      CBaseScene.prototype.hideHome = function() {
        console.log("hideHome====================");
        var showHome = false;
        if (cc.sys.isNative) {
          var manager = window["subGameManager"];
          manager && (showHome = true);
        }
        PPPB_ui_1.ui.show([ this, "GameScaler/home" ], showHome);
      };
      __decorate([ property([ PPPB_BottomPanel_1.default ]) ], CBaseScene.prototype, "bottomPanels", void 0);
      __decorate([ property(PPPB_UIList_1.UIList) ], CBaseScene.prototype, "list", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "blackScreen", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "bottomUIParent", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "signboardFreeGameParent", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "autoplayParent", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "betParent", void 0);
      __decorate([ property(cc.Node) ], CBaseScene.prototype, "buyFreeSpinsPromptParent", void 0);
      __decorate([ property(PPPB_SpineAssetManager_1.default) ], CBaseScene.prototype, "spineAssetManager", void 0);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], CBaseScene.prototype, "$ui_GameScaler_totalBet_AddBetBtn__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], CBaseScene.prototype, "$ui_GameScaler_totalBet_MinusBetBtn__click", null);
      CBaseScene = __decorate([ ccclass ], CBaseScene);
      return CBaseScene;
    }(PPPB_UComponent_1.UComponent);
    exports.default = CBaseScene;
    cc._RF.pop();
  }, {
    "../../../PPPB-_main": "PPPB-_main",
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../../common/managers/PPPB-SpineAssetManager": "PPPB-SpineAssetManager",
    "../../../common/ui/bottomUI/PPPB-BottomUIPanelType": "PPPB-BottomUIPanelType",
    "../../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-decorator": "PPPB-decorator",
    "../../../framework-cocos/PPPB-do": "PPPB-do",
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/PPPB-nodePool": "PPPB-nodePool",
    "../../../framework-cocos/PPPB-res": "PPPB-res",
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../server/PPPB-GameServer": "PPPB-GameServer",
    "../PPPB-Algorithm": "PPPB-Algorithm",
    "../PPPB-AliNet": "PPPB-AliNet",
    "../PPPB-BgmAudioHandler": "PPPB-BgmAudioHandler",
    "../PPPB-buyFreeSpin": "PPPB-buyFreeSpin",
    "../PPPB-history": "PPPB-history",
    "../card/PPPB-cardlist2": "PPPB-cardlist2",
    "../ui/PPPB-BottomPanel": "PPPB-BottomPanel",
    "../ui/PPPB-MoneyTextHelper": "PPPB-MoneyTextHelper",
    "./PPPB-AudioID": "PPPB-AudioID",
    "./PPPB-PlayAnimation": "PPPB-PlayAnimation",
    "./PPPB-Work": "PPPB-Work",
    "./PPPB-user": "PPPB-user",
    "./States/PPPB-States": "PPPB-States"
  } ],
  "PPPB-BgmAudioHandler": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1f3bdoA5lxLFo+bsUCCG+1t", "PPPB-BgmAudioHandler");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.BgmAudio = exports.BgmAudioHandler = void 0;
    var PPPB_audio_1 = require("../../framework-cocos/PPPB-audio");
    var PPPB_audioConfig_1 = require("../config/PPPB-audioConfig");
    var PPPB_audioPath_1 = require("../../common/config/PPPB-audioPath");
    var PPPB_AudioID_1 = require("./controller/PPPB-AudioID");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var PPPB_gameSettings_1 = require("../../common/PPPB-gameSettings");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var BgmAudioHandler = function() {
      function BgmAudioHandler() {}
      BgmAudioHandler.playDefaultBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_audio_1.audio.playMusic(PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.DEFAULT, true, PPPB_quick_1.ks.GetBGMVolume()) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      BgmAudioHandler.playDoubleStartBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          var audioId;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_audio_1.audio.playMusic(PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.DOUBLE_START, true, PPPB_quick_1.ks.GetBGMVolume()) ];

             case 1:
              audioId = _a.sent();
              cc.audioEngine.setVolume(audioId, PPPB_quick_1.ks.GetBGMVolume());
              return [ 2, audioId ];
            }
          });
        });
      };
      BgmAudioHandler.playDoubleBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          var audioId;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_audio_1.audio.playMusic(PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.DOUBLE, true, PPPB_quick_1.ks.GetBGMVolume()) ];

             case 1:
              audioId = _a.sent();
              cc.audioEngine.setVolume(audioId, PPPB_quick_1.ks.GetBGMVolume());
              return [ 2, audioId ];
            }
          });
        });
      };
      BgmAudioHandler.DebugVolume = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            console.log("quick's bgm volume " + this.mainBGMVolume);
            console.log("current bgm volume " + cc.audioEngine.getVolume(PPPB_AudioID_1.default.bgmID));
            console.log("auto spin volume " + cc.audioEngine.getVolume(PPPB_AudioID_1.default.autoSpinID));
            console.log("manual spin volume " + cc.audioEngine.getVolume(PPPB_AudioID_1.default.manualSpinID));
            return [ 2 ];
          });
        });
      };
      BgmAudioHandler.SetVolume = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            cc.audioEngine.setVolume(PPPB_AudioID_1.default.bgm2ID, PPPB_quick_1.ks.GetBGMVolume());
            cc.audioEngine.setVolume(PPPB_AudioID_1.default.bgmID, this.mainBGMVolume * PPPB_quick_1.ks.GetBGMVolume());
            cc.audioEngine.setVolume(PPPB_AudioID_1.default.autoSpinID, this.autoSpinVolume * PPPB_quick_1.ks.GetBGMVolume());
            cc.audioEngine.setVolume(PPPB_AudioID_1.default.manualSpinID, this.manualSpinVolume * PPPB_quick_1.ks.GetBGMVolume());
            return [ 2 ];
          });
        });
      };
      BgmAudioHandler.playAllBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, _b, _c;
          return __generator(this, function(_d) {
            switch (_d.label) {
             case 0:
              _a = PPPB_AudioID_1.default;
              return [ 4, PPPB_audio_1.audio.playPreloadedBGM("resources/" + PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.AUTOSPIN, true, 0, false) ];

             case 1:
              _a.autoSpinID = _d.sent();
              _b = PPPB_AudioID_1.default;
              return [ 4, PPPB_audio_1.audio.playPreloadedBGM("resources/" + PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.DEFAULT, true, 1, false) ];

             case 2:
              _b.bgmID = _d.sent();
              _c = PPPB_AudioID_1.default;
              return [ 4, PPPB_audio_1.audio.playPreloadedBGM("resources/" + PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.MANUALSPIN, true, 0, false) ];

             case 3:
              _c.manualSpinID = _d.sent();
              this.SetVolume();
              cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.autoSpinID, 0);
              cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.bgmID, 0);
              cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.manualSpinID, 0);
              return [ 2 ];
            }
          });
        });
      };
      BgmAudioHandler.MuteAllBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.autoSpinVolume = 0;
            this.mainBGMVolume = 0;
            this.manualSpinVolume = 0;
            this.SetVolume();
            return [ 2 ];
          });
        });
      };
      BgmAudioHandler.ResumeDefaultBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.autoSpinVolume = 0;
            this.mainBGMVolume = 1;
            this.manualSpinVolume = 0;
            this.SetVolume();
            cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.autoSpinID, 0);
            cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.bgmID, 0);
            cc.audioEngine.setCurrentTime(PPPB_AudioID_1.default.manualSpinID, 0);
            return [ 2 ];
          });
        });
      };
      BgmAudioHandler.MuteCurrentAddOnBGM = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.CrossFadeAddOnBGM(this.curPlayingBGM, false);
            return [ 2 ];
          });
        });
      };
      BgmAudioHandler.CrossFadeAddOnBGM = function(audioID, toggle) {
        return __awaiter(this, void 0, void 0, function() {
          var maxVolume, elapsedTime, duration, intervalId;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              toggle && (this.curPlayingBGM = audioID);
              maxVolume = 1;
              if (this.curPlayingBGM == PPPB_AudioID_1.default.autoSpinID) {
                if (1 == this.autoSpinVolume && toggle) return [ 2 ];
                this.autoSpinVolume = toggle ? 1 : 0;
                maxVolume = this.autoSpinVolume;
              } else if (this.curPlayingBGM == PPPB_AudioID_1.default.manualSpinID) {
                if (1 == this.manualSpinVolume && toggle) return [ 2 ];
                this.manualSpinVolume = toggle ? 1 : 0;
                maxVolume = this.manualSpinVolume;
              }
              elapsedTime = 0;
              duration = 2;
              intervalId = setInterval(function() {
                elapsedTime += cc.director.getDeltaTime();
                var progress = Math.min(elapsedTime / duration, 1);
                var currentValue = cc.misc.lerp(toggle ? 0 : 1, toggle ? 1 : 0, progress);
                if (_this.curPlayingBGM == PPPB_AudioID_1.default.autoSpinID) {
                  _this.autoSpinVolume = currentValue;
                  cc.audioEngine.setVolume(audioID, _this.autoSpinVolume * PPPB_quick_1.ks.GetBGMVolume());
                } else if (_this.curPlayingBGM == PPPB_AudioID_1.default.manualSpinID) {
                  _this.manualSpinVolume = currentValue;
                  cc.audioEngine.setVolume(audioID, _this.manualSpinVolume * PPPB_quick_1.ks.GetBGMVolume());
                }
                progress >= 1 && clearInterval(intervalId);
              }, 1e3 / 60);
              return [ 4, PPPB_lib_1._.sleep(1e3 * duration) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      BgmAudioHandler.OnAppLoseFocusRegainAudio = function() {
        if (PPPB_lib_1.cc1.sys.isMobile) PPPB_gameSettings_1.default.isSoundMuteTemp = this.prevSoundMuteState; else {
          PPPB_gameSettings_1.default.isBGMMuteTemp = this.prevBGMMuteState;
          PPPB_gameSettings_1.default.isSFXMuteTemp = this.prevSFXMuteState;
        }
        this.SetVolume();
      };
      BgmAudioHandler.OnAppLoseFocusStopAudio = function() {
        if (PPPB_lib_1.cc1.sys.isMobile) {
          this.prevSoundMuteState = PPPB_gameSettings_1.default.isSoundMute;
          PPPB_gameSettings_1.default.isSoundMuteTemp = true;
        } else {
          this.prevBGMMuteState = PPPB_gameSettings_1.default.isBGMMute;
          this.prevSFXMuteState = PPPB_gameSettings_1.default.isSFXMute;
          PPPB_gameSettings_1.default.isBGMMuteTemp = true;
          PPPB_gameSettings_1.default.isSFXMuteTemp = true;
        }
        this.SetVolume();
      };
      BgmAudioHandler.getMulSoundPath = function(index, isDouble) {
        void 0 === isDouble && (isDouble = false);
        var subPath = isDouble ? PPPB_audioConfig_1.AudioConf.MUL.DOUBLE[index] : PPPB_audioConfig_1.AudioConf.MUL.NORMAL[index];
        if (!subPath) return "";
        return PPPB_audioPath_1.audioPath.SOUND + subPath;
      };
      BgmAudioHandler.autoSpinVolume = 0;
      BgmAudioHandler.mainBGMVolume = 1;
      BgmAudioHandler.manualSpinVolume = 0;
      BgmAudioHandler.prevSoundMuteState = false;
      BgmAudioHandler.prevBGMMuteState = false;
      BgmAudioHandler.prevSFXMuteState = false;
      return BgmAudioHandler;
    }();
    exports.BgmAudioHandler = BgmAudioHandler;
    exports.BgmAudio = BgmAudioHandler;
    cc._RF.pop();
  }, {
    "../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../common/PPPB-quick": "PPPB-quick",
    "../../common/config/PPPB-audioPath": "PPPB-audioPath",
    "../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../config/PPPB-audioConfig": "PPPB-audioConfig",
    "./controller/PPPB-AudioID": "PPPB-AudioID"
  } ],
  "PPPB-BottomPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b889cy6EERO1qBdsOcpZLzE", "PPPB-BottomPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_MoneyTextHelper_1 = require("./PPPB-MoneyTextHelper");
    var PPPB_States_1 = require("../controller/States/PPPB-States");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_BottomUIPanelType_1 = require("../../../common/ui/bottomUI/PPPB-BottomUIPanelType");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_audio_1 = require("../../../framework-cocos/PPPB-audio");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_decorator_1 = require("../../../framework-cocos/PPPB-decorator");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_SpinButtonHelper_1 = require("./PPPB-SpinButtonHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var PPPB_UILanguage_1 = require("../../../framework-cocos/components/PPPB-UILanguage");
    var skipWinController = {
      shouldStop: false
    };
    var PANEL_ANIM_WEB = "bottom_panel_web";
    var PANEL_ANIM_MOBILE = "bottom_panel_mobile";
    var PANEL_ANIM_WEB_FREE_GAME_SELECT = "bottom_panel_web_free_select";
    var BottomPanel = function(_super) {
      __extends(BottomPanel, _super);
      function BottomPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.baseScene = null;
        _this.txt_bet = null;
        _this.txt_balance = null;
        _this.btn_addBet = null;
        _this.btn_minusBet = null;
        _this.node_scatterWinLayout = null;
        _this.node_scatterWin = [];
        _this.scatterCountText = null;
        _this.txt_scatterWinPayOut = null;
        _this.gameMessageText = null;
        _this.gameMessageUILang = null;
        _this.gameSubMessageText = null;
        _this.gameSubMessageUILang = null;
        _this.gameWinningsContainer = null;
        _this.gameWinningsText = null;
        _this.normalColor = cc.color(205, 197, 193);
        _this.toggledNormalColor = cc.color(255, 255, 255);
        _this.btn_info = null;
        _this.btn_settings = null;
        _this.panelAnimator = null;
        _this.autoplayPanelToggleUi = null;
        _this.betPanelToggleUi = null;
        _this.autoSpinNode = null;
        _this.autoSpinLabel = null;
        _this.spinButtonHelper = null;
        _this.buyFreeSpinButtonAnimation = null;
        _this.buyFreeSpinButtonNode = null;
        _this.doubleBetButtonNode = null;
        _this._starttouchMS = 0;
        _this.isBuyFreeSpinsPanelOpened = false;
        _this.isMax = false;
        _this.isMin = false;
        _this.gameSubMessageStringKey = "";
        _this.gameMessageStringKey = "";
        _this.previousGameWinningsOpacity = 0;
        _this.previousGameSubMessageOpacity = 0;
        _this.previousGameMessageOpacity = 0;
        return _this;
      }
      BottomPanel_1 = BottomPanel;
      BottomPanel.prototype.init = function(baseScene) {
        this.baseScene = baseScene;
        null != this.autoSpinNode && this.autoSpinNode.on(cc.Node.EventType.TOUCH_END, this.CancelAutoSpinsRemaining, this);
        null != this.spinButtonHelper && this.spinButtonHelper.init(this.baseScene);
      };
      BottomPanel.prototype.onLoaded = function() {
        if ("portraitBottom" == this.node.name) {
          this.txt_balance = PPPB_ui_1.ui.getNode([ this, "creditGroup/Layout/CreditText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
          this.txt_bet = PPPB_ui_1.ui.getNode([ this, "creditGroup/Layout/BetText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
        } else {
          this.txt_balance = PPPB_ui_1.ui.getNode([ this, "creditGroup/CreditText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
          this.txt_bet = PPPB_ui_1.ui.getNode([ this, "creditGroup/BetText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
        }
        this.btn_addBet = PPPB_ui_1.ui.getNode([ this, "spinGroup/AddBetBtn" ]).getComponent(cc.Button);
        this.btn_minusBet = PPPB_ui_1.ui.getNode([ this, "spinGroup/MinusBetBtn" ]).getComponent(cc.Button);
        this.gameMessageText = PPPB_ui_1.ui.getNode([ this, "GameMessageText" ]).getComponent(cc.Label);
        this.gameMessageUILang = this.gameMessageText.node.getComponent(PPPB_UILanguage_1.UILanguage);
        this.gameSubMessageText = PPPB_ui_1.ui.getNode([ this, "GameMessageSubText" ]).getComponent(cc.Label);
        this.gameSubMessageUILang = this.gameSubMessageText.node.getComponent(PPPB_UILanguage_1.UILanguage);
        this.gameWinningsContainer = PPPB_ui_1.ui.getNode([ this, "WinsContainer" ]);
        this.gameWinningsText = PPPB_ui_1.ui.getNode([ this, "WinsContainer/GameWinsText" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
        this.txt_balance.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
        this.txt_bet.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
        this.node_scatterWinLayout = PPPB_ui_1.ui.getNode([ this, "ScatterWinLayout" ]);
        this.scatterCountText = PPPB_ui_1.ui.getNode([ this, "ScatterWinLayout/ScatterCountText" ]).getComponent(cc.Label);
        this.txt_scatterWinPayOut = PPPB_ui_1.ui.getNode([ this, "ScatterWinLayout/ScatterWinMessageText" ]).getComponent(cc.Label);
        for (var i = 0; i < 6; i++) {
          var e = this.node_scatterWinLayout.children[i];
          this.node_scatterWin.push(e);
        }
        this.$event_update_gameSubMessage("");
        this.gameWinningsText && (this.gameWinningsText.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText);
      };
      BottomPanel.prototype.$ui_btns_setbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings);
            if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings)) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.SystemSettings;
            PPPB_event_1.Events.publish("display", "syssettings", "");
            this.btn_settings.normalColor = this.toggledNormalColor;
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$event_close_systemsettings = function() {
        this.btn_settings.normalColor = this.normalColor;
      };
      BottomPanel.prototype.ToggleScaleBuyFreeSpinButton = function(scale) {};
      BottomPanel.prototype.ToggleFadeButtons = function(display, extra) {
        if (this.doubleBetButtonNode) {
          var target = display ? extra ? 192 : 255 : .5;
          this.doubleBetButtonNode.opacity != target && PPPB_action_1.ACT(this.doubleBetButtonNode).fade(.25, target).act();
        }
        if (this.buyFreeSpinButtonNode) {
          var target = display ? extra ? 192 : 255 : 192;
          this.buyFreeSpinButtonNode.opacity != target && PPPB_action_1.ACT(this.buyFreeSpinButtonNode).fade(.25, target).act();
        }
      };
      BottomPanel.prototype.ToggleDisplayDoubleBetButtons = function(display) {
        this.doubleBetButtonNode && (this.doubleBetButtonNode.opacity = display ? 255 : 0);
        this.buyFreeSpinButtonNode && (this.buyFreeSpinButtonNode.opacity = display ? 255 : 0);
      };
      BottomPanel.prototype.ToggleAnimation = function(animString) {
        var _a;
        null === (_a = this.panelAnimator) || void 0 === _a ? void 0 : _a.play(animString);
      };
      BottomPanel.prototype.$event_betpanel_toggled = function(isOpen) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.betPanelToggleUi && (this.betPanelToggleUi.opacity = isOpen ? 255 : 0);
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_mobile_betbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet);
            if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet)) return [ 2 ];
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet;
            this.baseScene.betPanel.DisplayPanel({
              bet: this.baseScene.bet
            });
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_btns_betbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet);
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet;
            this.baseScene.betPanel.DisplayPanel({
              bet: this.baseScene.bet
            });
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_spinGroup_AddBetBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet);
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet;
            this.baseScene.betPanel.DisplayPanel({
              bet: this.baseScene.bet
            });
            PPPB_event_1.Events.publish("bet", "increase", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_spinGroup_MinusBetBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet);
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Bet;
            this.baseScene.betPanel.DisplayPanel({
              bet: this.baseScene.bet
            });
            PPPB_event_1.Events.publish("bet", "decrease", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_creditGroup__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.tip_creditGroup.active = false;
            PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin = !PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin;
            this.baseScene.updateBet();
            this.updateGold();
            PPPB_event_1.Events.publish("display", "changeMoneyView", "", PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin);
            this.baseScene.work.isShowingGamePaidMessage && PPPB_event_1.Events.publish("show", "gamePaidMessage", "");
            PPPB_event_1.Events.publish("refresh", "payoutMessage", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_btns_mutebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume);
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.Volume;
            PPPB_event_1.Events.publish("volume", "toggle", "");
            PPPB_event_1.Events.publish("display", "volumecontrol", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_btns_infobtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules);
            if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules)) return [ 2 ];
            this.baseScene.node_overlayCloseUI.active = true;
            this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.GameRules;
            PPPB_event_1.Events.publish("display", "gamerules", "");
            this.btn_info.normalColor = this.toggledNormalColor;
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$event_close_gamerules = function() {
        this.btn_info.normalColor = this.normalColor;
      };
      BottomPanel.prototype.$event_autopanel_toggled = function(isOpen) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.autoplayPanelToggleUi && (this.autoplayPanelToggleUi.opacity = isOpen ? 255 : 0);
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_mobile_autobtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (!this.baseScene.IsPlaying) {
              this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel);
              if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel)) return [ 2 ];
              this.baseScene.node_overlayCloseUI.active = true;
              this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel;
              PPPB_event_1.Events.publish("open", "autoPanel", "");
            }
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_btns_autobtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (!this.baseScene.IsPlaying) {
              this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel);
              if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel)) return [ 2 ];
              this.baseScene.node_overlayCloseUI.active = true;
              this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel;
              PPPB_event_1.Events.publish("open", "autoPanel", "");
            }
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_spinGroup_AutoPlayBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying && PPPB_gameSettings_1.default.isAutoplayEnabled) {
              PPPB_gameSettings_1.default.StopAutoplay();
              this.baseScene.work.current == PPPB_States_1.states.start && PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              PPPB_event_1.Events.publish("btn", "enableAutoplay", "", false);
            } else if (!this.baseScene.IsPlaying) {
              this.baseScene.CloseBottomBarPanels(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel);
              if (this.baseScene.IsSamePanelType(PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel)) return [ 2 ];
              this.baseScene.node_overlayCloseUI.active = true;
              this.baseScene.bottomUIPanelType = PPPB_BottomUIPanelType_1.BOTTOM_UI_PANELTYPE.AutoPanel;
              PPPB_event_1.Events.publish("open", "autoPanel", "");
            }
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_auto__touchstart = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            this._starttouchMS = PPPB_lib_1._.now();
            PPPB_lib_1._.sleep(1e3).then(function() {
              _this._starttouchMS && PPPB_lib_1._.now() - _this._starttouchMS >= 1e3 && PPPB_ui_1.ui.showUnquire("set_auto");
            });
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_auto__touchcancel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this._starttouchMS = 0;
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_auto__touchend = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this._starttouchMS = 0;
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_btns_fastbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.baseScene.IsPlaying) return [ 2 ];
            PPPB_event_1.Events.publish("open", "autoPanel", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_mobile_spinGroup_spinbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("click", "spinbtn", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_spinGroup_spinbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("click", "spinbtn", "");
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$event_open_buyFreeSpins = function() {
        this.isBuyFreeSpinsPanelOpened = true;
        this.refreshAddBetBtn();
        this.refreshMinusBetBtn();
      };
      BottomPanel.prototype.$event_cancel_buyFreeSpins = function() {
        this.isBuyFreeSpinsPanelOpened = false;
        this.refreshAddBetBtn();
        this.refreshMinusBetBtn();
      };
      BottomPanel.prototype.$event_bet_isMax = function(isMax) {
        this.isMax = isMax;
        this.refreshAddBetBtn();
      };
      BottomPanel.prototype.$event_bet_isMin = function(isMin) {
        this.isMin = isMin;
        this.refreshMinusBetBtn();
      };
      BottomPanel.prototype.refreshAddBetBtn = function() {
        this.btn_addBet.interactable = this.isMax && !this.isBuyFreeSpinsPanelOpened;
      };
      BottomPanel.prototype.refreshMinusBetBtn = function() {
        this.btn_minusBet.interactable = this.isMin && !this.isBuyFreeSpinsPanelOpened;
      };
      BottomPanel.prototype.$event_showCoin_change = function(v) {
        this.gameWinningsText.updateShow();
        this.txt_balance.updateShow();
        this.txt_bet.updateShow();
      };
      BottomPanel.prototype.$ui_BuyFreeSpinButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.OpenBuyFreeSpins();
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$ui_DoubleBetButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.baseScene.$ui_GameScaler_Stage_SignBoard_DoubleBetButton__click();
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.$event_show_gamePaidMessage = function() {
        this.$event_update_gameSubMessage("label_web.GAMEPAYS", PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(this.baseScene.work.lastWinGolds / this.baseScene.work.data.mul));
      };
      BottomPanel.prototype.$event_skip_gameWinnings = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            skipWinController.shouldStop = true;
            return [ 2 ];
          });
        });
      };
      Object.defineProperty(BottomPanel.prototype, "CLS", {
        get: function() {
          return this.constructor;
        },
        enumerable: false,
        configurable: true
      });
      BottomPanel.prototype.$event_roll_gameWinnings = function(fromAmount, toAmount, duration, shouldPlaySfx) {
        void 0 === shouldPlaySfx && (shouldPlaySfx = true);
        return __awaiter(this, void 0, void 0, function() {
          var countStartAudioID, _a, _b;
          var _this = this;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              if (!(toAmount > 0)) {
                this.gameWinningsText.dur = 0;
                this.gameWinningsText.value = 0;
                this.gameWinningsContainer.opacity = 0;
                return [ 2 ];
              }
              this.gameWinningsContainer.opacity = 255;
              this.gameMessageText.string = "";
              if (toAmount < this.gameWinningsText.num) return [ 2 ];
              if (!(this.baseScene.work.isTurboActive() || duration <= 0)) return [ 3, 1 ];
              this.gameWinningsText.dur = 0;
              this.gameWinningsText.value = toAmount;
              return [ 3, 5 ];

             case 1:
              this.CLS.countStartAudioID = -1;
              countStartAudioID = -1;
              if (!(shouldPlaySfx && this.CLS.countStartAudioID <= 0 && 0 !== this.node.opacity)) return [ 3, 3 ];
              this.CLS.countStartAudioID = 999;
              _a = this.CLS;
              return [ 4, PPPB_quick_1.ks.playEffectSound(this.baseScene.work.isScattering ? "FreeGameCountingStart_PB" : "CountingStart_PB") ];

             case 2:
              _a.countStartAudioID = _c.sent();
              countStartAudioID = this.CLS.countStartAudioID;
              _c.label = 3;

             case 3:
              if (void 0 !== fromAmount) {
                this.gameWinningsText.dur = 0;
                this.gameWinningsText.value = fromAmount;
              }
              this.gameWinningsText.dur = duration;
              this.gameWinningsText.value = toAmount;
              skipWinController.shouldStop = false;
              return [ 4, PPPB_lib_1._.waiting(function() {
                return skipWinController.shouldStop;
              }, this, 1e3 * duration) ];

             case 4:
              _c.sent();
              this.gameWinningsText.dur = 0;
              this.gameWinningsText.value = toAmount;
              if (shouldPlaySfx && countStartAudioID === this.CLS.countStartAudioID) {
                PPPB_audio_1.audio.stop(this.CLS.countStartAudioID);
                this.CLS.countStartAudioID = -1;
              }
              _c.label = 5;

             case 5:
              if (!(shouldPlaySfx && 0 !== this.node.opacity && this.CLS.countEndAudioID <= 0)) return [ 3, 7 ];
              this.CLS.countEndAudioID = 999;
              _b = this.CLS;
              return [ 4, PPPB_quick_1.ks.playEffectSound(this.baseScene.work.isScattering ? "FreeGameCountingEnd_PB" : "CountingEnd_PB") ];

             case 6:
              _b.countEndAudioID = _c.sent();
              this.sleep(500).then(function() {
                _this.CLS.countEndAudioID = -1;
              });
              _c.label = 7;

             case 7:
              return [ 2 ];
            }
          });
        });
      };
      BottomPanel.prototype.$event_update_gameSubMessage = function(msg, paramKey) {
        void 0 === paramKey && (paramKey = null);
        this.gameSubMessageStringKey = msg;
        this.gameSubMessageParamKey = paramKey;
        if ("" != this.gameSubMessageStringKey) {
          if (this.gameSubMessageUILang) {
            this.gameSubMessageUILang.textKeyName = this.gameSubMessageStringKey;
            this.gameSubMessageParamKey && (this.gameSubMessageUILang.ParamKey = this.gameSubMessageParamKey);
          }
        } else this.gameSubMessageText.string = "";
      };
      BottomPanel.prototype.$event_update_gameMessage = function(msg) {
        if ("" !== msg) {
          this.gameWinningsText.dur = 0;
          this.gameWinningsText.value = 0;
          this.gameWinningsContainer.opacity = 0;
        }
        this.gameMessageStringKey = msg;
        "" != this.gameMessageStringKey ? this.gameMessageUILang && (this.gameMessageUILang.textKeyName = this.gameMessageStringKey) : this.gameMessageText.string = "";
      };
      BottomPanel.prototype.$event_refresh_language = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if ("" != this.gameSubMessageStringKey) {
              if (this.gameSubMessageUILang) {
                this.gameSubMessageParamKey && (this.gameSubMessageUILang.ParamKey = this.gameSubMessageParamKey);
                this.gameSubMessageUILang.textKeyName = this.gameSubMessageStringKey;
              }
            } else this.gameMessageText.string = "";
            "" != this.gameMessageStringKey ? this.gameMessageUILang && (this.gameMessageUILang.textKeyName = this.gameMessageStringKey) : this.gameMessageText.string = "";
            return [ 2 ];
          });
        });
      };
      BottomPanel.prototype.ToggleBottomPanelOpacityState = function(toggle) {
        if (toggle) {
          this.gameWinningsContainer.opacity = this.previousGameWinningsOpacity;
          this.gameMessageText.node.opacity = this.previousGameMessageOpacity;
          this.gameSubMessageText.node.opacity = this.previousGameSubMessageOpacity;
        } else {
          this.previousGameWinningsOpacity = this.gameWinningsContainer.opacity;
          this.previousGameMessageOpacity = this.gameMessageText.node.opacity;
          this.previousGameSubMessageOpacity = this.gameSubMessageText.node.opacity;
          this.gameWinningsContainer.opacity = 0;
          this.gameMessageText.node.opacity = 0;
          this.gameSubMessageText.node.opacity = 0;
        }
      };
      BottomPanel.prototype.ToggleGameWinningsText = function(visible) {
        this.gameWinningsContainer.opacity = visible ? 255 : 0;
      };
      BottomPanel.prototype.ToggleGameMessageVisible = function(visible) {
        this.gameSubMessageText.node.opacity = visible ? 255 : 0;
        this.gameMessageText.node.opacity = visible ? 255 : 0;
      };
      BottomPanel.prototype.updateGold = function(total, doTween) {
        if (this.baseScene) {
          this.baseScene._total = null !== total && void 0 !== total ? total : this.baseScene._total;
          if (doTween) {
            this.txt_balance.dur = 1;
            this.txt_balance._step = 100;
            this.txt_balance.value = this.baseScene._total;
          } else {
            this.txt_balance.dur = 0;
            this.txt_balance._step = 0;
            this.txt_balance.value = this.baseScene._total;
          }
        }
      };
      BottomPanel.prototype.$event_update_autoSpinsRemaining = function(autoSpins) {
        this.UpdateAutoSpinsRemaining(autoSpins);
      };
      BottomPanel.prototype.UpdateAutoSpinsRemaining = function(autoSpins) {
        this.autoSpinLabel.string = autoSpins.toString();
      };
      BottomPanel.prototype.CancelAutoSpinsRemaining = function() {
        if (PPPB_lib_1.cc1.sys.isMobile && PPPB_gameSettings_1.default.isAutoplayEnabled && !this.baseScene.work.isScattering) {
          console.log("hide autospin node | " + this.node.name);
          this.autoSpinNode.active = false;
          PPPB_gameSettings_1.default.StopAutoplay();
          this.baseScene.work.current == PPPB_States_1.states.start && PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
        }
      };
      BottomPanel.prototype.$event_change_buyFreeSpinsPanelActiveState = function(state) {
        this.ToggleBottomPanelOpacityState(!state);
      };
      BottomPanel.prototype.$event_toggle_bottomPanelFreeGameSelectMode = function(isEnabled) {
        PPPB_quick_1.ks.isLandscape && this.ToggleAnimation(isEnabled ? PANEL_ANIM_WEB_FREE_GAME_SELECT : PANEL_ANIM_WEB);
      };
      var BottomPanel_1;
      BottomPanel.countStartAudioID = -1;
      BottomPanel.countEndAudioID = -1;
      __decorate([ property(cc.Button) ], BottomPanel.prototype, "btn_info", void 0);
      __decorate([ property(cc.Button) ], BottomPanel.prototype, "btn_settings", void 0);
      __decorate([ property(cc.Animation) ], BottomPanel.prototype, "panelAnimator", void 0);
      __decorate([ property(cc.Node) ], BottomPanel.prototype, "autoplayPanelToggleUi", void 0);
      __decorate([ property(cc.Node) ], BottomPanel.prototype, "betPanelToggleUi", void 0);
      __decorate([ property(cc.Node) ], BottomPanel.prototype, "autoSpinNode", void 0);
      __decorate([ property(cc.RichText) ], BottomPanel.prototype, "autoSpinLabel", void 0);
      __decorate([ property(PPPB_SpinButtonHelper_1.default) ], BottomPanel.prototype, "spinButtonHelper", void 0);
      __decorate([ property(cc.Animation) ], BottomPanel.prototype, "buyFreeSpinButtonAnimation", void 0);
      __decorate([ property(cc.Node) ], BottomPanel.prototype, "buyFreeSpinButtonNode", void 0);
      __decorate([ property(cc.Node) ], BottomPanel.prototype, "doubleBetButtonNode", void 0);
      __decorate([ PPPB_decorator_1.decorator.lock(true) ], BottomPanel.prototype, "$ui_btns_setbtn__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], BottomPanel.prototype, "$ui_btns_betbtn__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], BottomPanel.prototype, "$ui_spinGroup_AddBetBtn__click", null);
      BottomPanel = BottomPanel_1 = __decorate([ ccclass ], BottomPanel);
      return BottomPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = BottomPanel;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/ui/bottomUI/PPPB-BottomUIPanelType": "PPPB-BottomUIPanelType",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../../framework-cocos/PPPB-decorator": "PPPB-decorator",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguage": "PPPB-UILanguage",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../controller/States/PPPB-States": "PPPB-States",
    "./PPPB-MoneyTextHelper": "PPPB-MoneyTextHelper",
    "./PPPB-SpinButtonHelper": "PPPB-SpinButtonHelper"
  } ],
  "PPPB-BottomUIPanelType": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f3883IVzHpM9rI7fP2Eg07c", "PPPB-BottomUIPanelType");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.BOTTOM_UI_PANELTYPE = void 0;
    var BOTTOM_UI_PANELTYPE;
    (function(BOTTOM_UI_PANELTYPE) {
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["None"] = 0] = "None";
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["Volume"] = 1] = "Volume";
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["AutoPanel"] = 2] = "AutoPanel";
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["Bet"] = 3] = "Bet";
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["SystemSettings"] = 4] = "SystemSettings";
      BOTTOM_UI_PANELTYPE[BOTTOM_UI_PANELTYPE["GameRules"] = 5] = "GameRules";
    })(BOTTOM_UI_PANELTYPE = exports.BOTTOM_UI_PANELTYPE || (exports.BOTTOM_UI_PANELTYPE = {}));
    cc._RF.pop();
  }, {} ],
  "PPPB-ButtonAnimationExt": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d80ef6RTdZOT6ZFFzrmyUOW", "PPPB-ButtonAnimationExt");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ButtonScaleHelper = function(_super) {
      __extends(ButtonScaleHelper, _super);
      function ButtonScaleHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.initial = null;
        _this.hoverEnter = null;
        _this.hoverExit = null;
        _this.pressedEnter = null;
        _this.pressedExit = null;
        _this.disableEnter = null;
        _this.disableExit = null;
        _this.isPressed = false;
        _this.isHover = false;
        _this.animation = null;
        _this.button = null;
        _this.interactableTracker = false;
        return _this;
      }
      ButtonScaleHelper.prototype.onLoaded = function() {
        this.animation = this.getComponent(cc.Animation);
        if (!this.animation) {
          this.animation = this.addComponent(cc.Animation);
          this.initial && this.animation.addClip(this.initial);
          this.hoverEnter && this.animation.addClip(this.hoverEnter);
          this.hoverExit && this.animation.addClip(this.hoverExit);
          this.pressedEnter && this.animation.addClip(this.pressedEnter);
          this.pressedExit && this.animation.addClip(this.pressedExit);
          this.animation.play(this.initial.name);
        }
        this.button = this.getComponent(cc.Button);
        this._registerNodeEvent();
      };
      ButtonScaleHelper.prototype.update = function(dt) {
        if (this.button.interactable != this.interactableTracker) {
          this.interactableTracker = this.button.interactable;
          !this.button.interactable && this.disableEnter && this.animation.playAdditive(this.disableEnter.name);
          this.button.interactable && this.disableExit && this.animation.playAdditive(this.disableExit.name);
        }
      };
      ButtonScaleHelper.prototype._registerNodeEvent = function() {
        this.node.on(cc.Node.EventType.MOUSE_ENTER, this.OnMouseEnter.bind(this), this);
        this.node.on(cc.Node.EventType.MOUSE_LEAVE, this.OnMouseLeave.bind(this), this);
        this.node.on(cc.Node.EventType.TOUCH_START, this.OnMouseDown.bind(this), this);
        this.node.on(cc.Node.EventType.TOUCH_END, this.OnMouseUp.bind(this), this);
        this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.OnMouseUp.bind(this), this);
      };
      ButtonScaleHelper.prototype.OnMouseEnter = function() {
        if (this.button && !this.button.interactable) return;
        this.isHover = true;
        if (this.isPressed) return;
        this.hoverEnter && this.animation.playAdditive(this.hoverEnter.name);
      };
      ButtonScaleHelper.prototype.OnMouseLeave = function() {
        if (!this.isHover) return;
        this.isHover = false;
        if (this.isPressed) return;
        this.hoverExit && this.animation.playAdditive(this.hoverExit.name);
      };
      ButtonScaleHelper.prototype.OnMouseDown = function() {
        if (this.button && !this.button.interactable) return;
        this.isPressed = true;
        this.pressedEnter && this.animation.playAdditive(this.pressedEnter.name);
      };
      ButtonScaleHelper.prototype.OnMouseUp = function() {
        if (!this.isPressed) return;
        this.isPressed = false;
        this.pressedExit && this.animation.playAdditive(this.pressedExit.name);
        !this.isHover && this.hoverExit && this.animation.playAdditive(this.hoverExit.name);
      };
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Initial Animation Clip"
      }) ], ButtonScaleHelper.prototype, "initial", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit to Hover"
      }) ], ButtonScaleHelper.prototype, "hoverEnter", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit from Hover"
      }) ], ButtonScaleHelper.prototype, "hoverExit", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit to Pressed"
      }) ], ButtonScaleHelper.prototype, "pressedEnter", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit from Pressed"
      }) ], ButtonScaleHelper.prototype, "pressedExit", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit to Disabled"
      }) ], ButtonScaleHelper.prototype, "disableEnter", void 0);
      __decorate([ property({
        type: cc.AnimationClip,
        displayName: "Transit from Disabled"
      }) ], ButtonScaleHelper.prototype, "disableExit", void 0);
      ButtonScaleHelper = __decorate([ ccclass ], ButtonScaleHelper);
      return ButtonScaleHelper;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ButtonScaleHelper;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-ButtonMouse": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "cabc6V0sCZL24wT9F7ch7QE", "PPPB-ButtonMouse");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ButtonMouse = function(_super) {
      __extends(ButtonMouse, _super);
      function ButtonMouse() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      ButtonMouse.prototype.onLoad = function() {
        this.node.on(cc.Node.EventType.MOUSE_ENTER, this.onMouseEnter, this);
        this.node.on(cc.Node.EventType.MOUSE_LEAVE, this.onMouseLeave, this);
      };
      ButtonMouse.prototype.onMouseEnter = function(event) {
        "spinbtn" == this.node.name || PPPB_event_1.Events.publish("set", "color", "", true, this.node.getChildByName("spinNum"));
      };
      ButtonMouse.prototype.onMouseLeave = function(event) {
        "spinbtn" == this.node.name || PPPB_event_1.Events.publish("set", "color", "", false, this.node.getChildByName("spinNum"));
      };
      ButtonMouse = __decorate([ ccclass ], ButtonMouse);
      return ButtonMouse;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ButtonMouse;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event"
  } ],
  "PPPB-ButtonScaleHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1d75cWRmklCM48M+ECaE8r/", "PPPB-ButtonScaleHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ButtonScaleHelper = function(_super) {
      __extends(ButtonScaleHelper, _super);
      function ButtonScaleHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.initialScale = 1;
        _this.hoverScale = 1;
        _this.pressedScale = 1;
        _this.isPressed = false;
        _this.button = null;
        return _this;
      }
      ButtonScaleHelper.prototype.onLoaded = function() {
        this._initialScaleX = this.node.scaleX;
        this._initialScaleY = this.node.scaleY;
        this.button = this.getComponent(cc.Button);
        this._registerNodeEvent();
      };
      ButtonScaleHelper.prototype._registerNodeEvent = function() {
        this.node.on(cc.Node.EventType.MOUSE_ENTER, this.OnMouseEnter, this);
        this.node.on(cc.Node.EventType.MOUSE_LEAVE, this.OnMouseLeave, this);
        this.node.on(cc.Node.EventType.TOUCH_START, this.OnMouseDown, this);
        this.node.on(cc.Node.EventType.TOUCH_END, this.OnMouseUp, this);
        this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.OnMouseUp, this);
      };
      ButtonScaleHelper.prototype.OnMouseEnter = function() {
        if (!this.enabled) return;
        if (this.button && !this.button.interactable) return;
        if (this.isPressed) return;
        this.setScale(this.hoverScale);
      };
      ButtonScaleHelper.prototype.OnMouseLeave = function() {
        if (!this.enabled) return;
        if (this.button && !this.button.interactable) return;
        if (this.isPressed) return;
        this.setScale(this.initialScale);
      };
      ButtonScaleHelper.prototype.OnMouseDown = function() {
        if (!this.enabled) return;
        if (this.button && !this.button.interactable) return;
        this.isPressed = true;
        this.setScale(this.pressedScale);
      };
      ButtonScaleHelper.prototype.OnMouseUp = function() {
        if (!this.enabled) return;
        if (this.button && !this.button.interactable) return;
        this.isPressed = false;
        this.setScale(this.initialScale);
      };
      ButtonScaleHelper.prototype.setScale = function(scale) {
        this.node.scaleX = this._initialScaleX * scale;
        this.node.scaleY = this._initialScaleY * scale;
      };
      __decorate([ property({
        displayName: "Initial Scale"
      }) ], ButtonScaleHelper.prototype, "initialScale", void 0);
      __decorate([ property({
        displayName: "Hover Scale"
      }) ], ButtonScaleHelper.prototype, "hoverScale", void 0);
      __decorate([ property({
        displayName: "Pressed Scale"
      }) ], ButtonScaleHelper.prototype, "pressedScale", void 0);
      ButtonScaleHelper = __decorate([ ccclass ], ButtonScaleHelper);
      return ButtonScaleHelper;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ButtonScaleHelper;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-ButtonSpineAnimationExt": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "0f337Xkvj1K7rR44XUpcLMP", "PPPB-ButtonSpineAnimationExt");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ButtonSpineAnimationExt = function(_super) {
      __extends(ButtonSpineAnimationExt, _super);
      function ButtonSpineAnimationExt() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.buttonSpineAnimator = null;
        _this.onPressedAnimationName = "";
        return _this;
      }
      ButtonSpineAnimationExt.prototype.OnButtonClickAnimate = function() {
        this.buttonSpineAnimator.setAnimation(0, this.onPressedAnimationName, false);
      };
      __decorate([ property(sp.Skeleton) ], ButtonSpineAnimationExt.prototype, "buttonSpineAnimator", void 0);
      __decorate([ property ], ButtonSpineAnimationExt.prototype, "onPressedAnimationName", void 0);
      ButtonSpineAnimationExt = __decorate([ ccclass ], ButtonSpineAnimationExt);
      return ButtonSpineAnimationExt;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ButtonSpineAnimationExt;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-ButtonTargetExt": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "358e6LTqQ9KwLO9dnJ+/vt6", "PPPB-ButtonTargetExt");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var State;
    (function(State) {
      State[State["NORMAL"] = 0] = "NORMAL";
      State[State["HOVER"] = 1] = "HOVER";
      State[State["PRESSED"] = 2] = "PRESSED";
      State[State["DISABLED"] = 3] = "DISABLED";
    })(State || (State = {}));
    var ButtonTargetExt = function(_super) {
      __extends(ButtonTargetExt, _super);
      function ButtonTargetExt() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._button = null;
        _this._nodes = [];
        _this._interactable = false;
        _this.normalColor = cc.color(235, 235, 235);
        _this.pressedColor = cc.color(213, 213, 213);
        _this.hoverColor = cc.Color.WHITE;
        _this.disabledColor = cc.color(84, 84, 84);
        _this._transition = [];
        _this._transitionFinished = false;
        return _this;
      }
      ButtonTargetExt.prototype.onLoaded = function() {
        var _this = this;
        this._button = this.getComponent(cc.Button);
        if (null == this._button) {
          console.warn("Missing required component: cc.Button. This component will not be running as intended. ");
          return;
        }
        this._nodes = this.node.children;
        this._button.target && (this._nodes = this._nodes.filter(function(tgt) {
          return tgt != _this._button.target;
        }));
        this._interactable = this.interactable;
        this._updateState();
        this._registerNodeEvent();
      };
      ButtonTargetExt.prototype._registerNodeEvent = function() {
        this.node.on(cc.Node.EventType.TOUCH_START, this._onTouchBegan, this);
        this.node.on(cc.Node.EventType.TOUCH_MOVE, this._onTouchMove, this);
        this.node.on(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
        this.node.on(cc.Node.EventType.TOUCH_CANCEL, this._onTouchCancel, this);
        this.node.on(cc.Node.EventType.MOUSE_ENTER, this._onMouseMoveIn, this);
        this.node.on(cc.Node.EventType.MOUSE_LEAVE, this._onMouseMoveOut, this);
      };
      ButtonTargetExt.prototype._unregisterNodeEvent = function() {
        this.node.off(cc.Node.EventType.TOUCH_START, this._onTouchBegan, this);
        this.node.off(cc.Node.EventType.TOUCH_MOVE, this._onTouchMove, this);
        this.node.off(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
        this.node.off(cc.Node.EventType.TOUCH_CANCEL, this._onTouchCancel, this);
        this.node.off(cc.Node.EventType.MOUSE_ENTER, this._onMouseMoveIn, this);
        this.node.off(cc.Node.EventType.MOUSE_LEAVE, this._onMouseMoveOut, this);
      };
      Object.defineProperty(ButtonTargetExt.prototype, "interactable", {
        get: function() {
          var _a;
          return null === (_a = this._button) || void 0 === _a ? void 0 : _a.interactable;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(ButtonTargetExt.prototype, "_pressed", {
        get: function() {
          return this._button._pressed;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(ButtonTargetExt.prototype, "_hovered", {
        get: function() {
          return this._button._hovered;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(ButtonTargetExt.prototype, "time", {
        get: function() {
          return this._button.time;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(ButtonTargetExt.prototype, "buttonState", {
        get: function() {
          return this._button._getButtonState();
        },
        enumerable: false,
        configurable: true
      });
      ButtonTargetExt.prototype._updateState = function() {
        var state = this.buttonState;
        this._updateColorTransition(state);
      };
      ButtonTargetExt.prototype._onTouchBegan = function(event) {
        if (!this.interactable || !this.enabledInHierarchy) return;
        this._updateState();
        event.stopPropagation();
      };
      ButtonTargetExt.prototype._onTouchMove = function(event) {
        if (!this.interactable || !this.enabledInHierarchy || !this._pressed) return;
        this._updateState();
        event.stopPropagation();
      };
      ButtonTargetExt.prototype._onTouchEnded = function(event) {
        if (!this.interactable || !this.enabledInHierarchy) return;
        this._updateState();
        event.stopPropagation();
      };
      ButtonTargetExt.prototype._onTouchCancel = function() {
        if (!this.interactable || !this.enabledInHierarchy) return;
        this._updateState();
        event.stopPropagation();
      };
      ButtonTargetExt.prototype._onMouseMoveIn = function() {
        if (this._pressed || !this.interactable || !this.enabledInHierarchy) return;
        if (this._button.transition === cc.Button.Transition.SPRITE && !this._button.hoverSprite) return;
        this._hovered || this._updateState();
      };
      ButtonTargetExt.prototype._onMouseMoveOut = function() {
        this._hovered && this._updateState();
      };
      ButtonTargetExt.prototype._getButtonState = function() {
        var state;
        state = this.interactable ? this._pressed ? State.PRESSED : this._hovered ? State.HOVER : State.NORMAL : State.DISABLED;
        return state;
      };
      ButtonTargetExt.prototype._updateColorTransitionImmediately = function(state) {
        var color = this._getStateColor(state);
        for (var i = 0; i < this._nodes.length; ++i) {
          var c = color.clone();
          var node = this._nodes[i];
          node.opacity = c.a;
          c.a = 255;
          node.color = c;
        }
      };
      ButtonTargetExt.prototype._updateColorTransition = function(state) {
        if (false, state === State.DISABLED) this._updateColorTransitionImmediately(state); else {
          this._transition = [];
          var color = this._getStateColor(state);
          for (var i = 0; i < this._nodes.length; ++i) this._transition.push({
            node: this._nodes[i],
            from: this._nodes[i].color.clone(),
            to: color
          });
          this._transitionFinished = false;
        }
      };
      ButtonTargetExt.prototype._updateDisabledState = function(force) {
        console.warn("this is not implemented");
      };
      ButtonTargetExt.prototype._getStateColor = function(state) {
        switch (state) {
         case State.NORMAL:
          return this.normalColor;

         case State.HOVER:
          return this.hoverColor;

         case State.PRESSED:
          return this.pressedColor;

         case State.DISABLED:
          return this.disabledColor;
        }
      };
      ButtonTargetExt.prototype.update = function(dt) {
        if (this._interactable != this.interactable) {
          this._updateState();
          this._interactable = this.interactable;
        }
        if (!this._transition || this._transition.length <= 0) return;
        if (this._transitionFinished) return;
        var ratio = 1;
        this._button.duration > 0 && (ratio = Math.min(1, this.time / this._button.duration));
        for (var i = 0; i < this._transition.length; ++i) {
          var t = this._transition[i];
          var color = t.from.lerp(t.to, ratio);
          t.node.opacity = color.a;
          color.a = 255;
          t.node.color = color;
        }
        if (1 === ratio) {
          this._transitionFinished = true;
          this._transition = [];
        }
      };
      __decorate([ property({
        displayName: "Normal",
        tooltip: false
      }) ], ButtonTargetExt.prototype, "normalColor", void 0);
      __decorate([ property({
        displayName: "Pressed",
        tooltip: false
      }) ], ButtonTargetExt.prototype, "pressedColor", void 0);
      __decorate([ property({
        displayName: "Hover",
        tooltip: false
      }) ], ButtonTargetExt.prototype, "hoverColor", void 0);
      __decorate([ property({
        displayName: "Disabled",
        tooltip: false
      }) ], ButtonTargetExt.prototype, "disabledColor", void 0);
      ButtonTargetExt = __decorate([ ccclass ], ButtonTargetExt);
      return ButtonTargetExt;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ButtonTargetExt;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-CardHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "66b61MI6jdJBKma8e2ScVPe", "PPPB-CardHelper");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CardHelper = void 0;
    var SYMBOLMAP = {
      1: "BlueDiamond",
      2: "GreenDiamond_effect",
      3: "OrangeDiamond",
      4: "Pink_diamond",
      5: "RedDiamond_effect",
      6: "eye_effect",
      7: "Eagle",
      8: "cross_effect",
      9: "Beattle",
      10: "Pyramid_effect",
      11: "bonus_effect",
      12: "bonus_effect",
      13: "bonus_effect",
      14: "bonus_effect",
      15: "bonus_effect",
      16: "bonus_effect",
      17: "bonus_effect",
      18: "bonus_effect",
      19: "bonus_effect",
      20: "bonus_effect",
      21: "bonus_effect",
      22: "bonus_effect",
      23: "bonus_effect"
    };
    var SYMBOLMAP2 = {
      11: "win_green",
      12: "win_green",
      13: "win_green",
      14: "win_green",
      15: "win_green",
      16: "win_green",
      17: "win_pink",
      18: "win_pink",
      19: "win_pink",
      20: "win_pink",
      21: "win_red",
      22: "win_red",
      23: "win_red"
    };
    var CardHelper = function() {
      function CardHelper() {}
      Object.defineProperty(CardHelper, "CardConf", {
        get: function() {
          return CardHelper._cardConf;
        },
        set: function(conf) {
          this._cardConf = conf;
        },
        enumerable: false,
        configurable: true
      });
      CardHelper.IsMultiplier = function(v) {
        if ("string" == typeof v) return this.IsMultiplier(this.GetCardValue(v));
        if ("number" == typeof v) return v >= CardHelper.CardConf.x2 && v <= CardHelper.CardConf.x100;
        return false;
      };
      CardHelper.IsWild = function(v) {
        return false;
      };
      CardHelper.IsScatter = function(v) {
        if ("string" == typeof v) return this.IsScatter(this.GetCardValue(v));
        if ("number" == typeof v) return v == CardHelper.CardConf.scatter;
        return false;
      };
      CardHelper.IsNormal = function(v) {
        if ("string" == typeof v) return this.IsNormal(this.GetCardValue(v));
        if ("number" == typeof v) return v >= CardHelper.CardConf.s1 && v <= CardHelper.CardConf.s9;
        return false;
      };
      CardHelper.IsSpecialCard = function(v) {
        return CardHelper.IsMultiplier(v) || CardHelper.IsWild(v) || CardHelper.IsScatter(v);
      };
      CardHelper.GetCardValue = function(value) {
        if ("mul" == value) return CardHelper.CardConf.x2;
        return CardHelper.CardConf[value];
      };
      CardHelper.GetCardName = function(value) {
        if (!CardHelper.cardMap) {
          CardHelper.cardMap = new Map();
          for (var key in CardHelper.CardConf) CardHelper.cardMap.set(CardHelper.CardConf[key], key);
        }
        return CardHelper.cardMap.get(value);
      };
      CardHelper.GetMultiplierValue = function(value) {
        if ("string" == typeof value) return Number(value.slice(1));
        switch (value) {
         case 11:
          return 2;

         case 12:
          return 3;

         case 13:
          return 4;

         case 14:
          return 5;

         case 15:
          return 6;

         case 16:
          return 8;

         case 17:
          return 10;

         case 18:
          return 12;

         case 19:
          return 15;

         case 20:
          return 20;

         case 21:
          return 25;

         case 22:
          return 50;

         case 23:
          return 100;
        }
        return 0;
      };
      CardHelper.GetSpineAnimationName = function(symbol) {
        return [ SYMBOLMAP[symbol], SYMBOLMAP2[symbol] || "win" ];
      };
      CardHelper._cardConf = void 0;
      return CardHelper;
    }();
    exports.CardHelper = CardHelper;
    cc._RF.pop();
  }, {} ],
  "PPPB-CardSpriteCollection": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "2afaftWl5FOO5rEgmR5n3+M", "PPPB-CardSpriteCollection");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CardSpriteInfo = void 0;
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var CardSpriteInfo = function() {
      function CardSpriteInfo() {
        this.value = -1;
        this.spriteFrame = null;
      }
      __decorate([ property({
        type: cc.Integer,
        step: 1
      }) ], CardSpriteInfo.prototype, "value", void 0);
      __decorate([ property(cc.SpriteFrame) ], CardSpriteInfo.prototype, "spriteFrame", void 0);
      CardSpriteInfo = __decorate([ ccclass("PPPB-CardSpriteInfo") ], CardSpriteInfo);
      return CardSpriteInfo;
    }();
    exports.CardSpriteInfo = CardSpriteInfo;
    var CardSpriteCollection = function(_super) {
      __extends(CardSpriteCollection, _super);
      function CardSpriteCollection() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.cardSpriteInfo = [];
        _this._nameMap = {};
        _this._valueMap = {};
        return _this;
      }
      CardSpriteCollection.prototype.onLoad = function() {
        for (var _i = 0, _a = this.cardSpriteInfo; _i < _a.length; _i++) {
          var cardInfo = _a[_i];
          this._valueMap[cardInfo.value] = cardInfo;
        }
      };
      CardSpriteCollection.prototype.GetSpriteFrameByValue = function(cardValue) {
        var cardInfo = this._valueMap[cardValue];
        if (cardInfo) return cardInfo.spriteFrame;
        console.warn("[SkinnedAnimationAssetManager] Unable to find card sprite: " + cardValue);
        return null;
      };
      __decorate([ property([ CardSpriteInfo ]) ], CardSpriteCollection.prototype, "cardSpriteInfo", void 0);
      CardSpriteCollection = __decorate([ ccclass ], CardSpriteCollection);
      return CardSpriteCollection;
    }(cc.Component);
    exports.default = CardSpriteCollection;
    cc._RF.pop();
  }, {} ],
  "PPPB-FitContent": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "8248bdNiKtGT4fbZeUc+Odf", "PPPB-FitContent");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UIData_1 = require("../../../framework-cocos/components/PPPB-UIData");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var FitContent = function(_super) {
      __extends(FitContent, _super);
      function FitContent() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.debugmode = false;
        _this.enableIgnoreList = false;
        _this.ignoreList = [];
        _this._origScale = [];
        _this.childrenNodes = [];
        _this.childLayouts = [];
        _this._dirty = false;
        return _this;
      }
      Object.defineProperty(FitContent.prototype, "width", {
        get: function() {
          return this.node.width;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(FitContent.prototype, "height", {
        get: function() {
          return this.node.height;
        },
        enumerable: false,
        configurable: true
      });
      FitContent.prototype.onLoad = function() {
        var _this = this;
        this.childrenNodes = PPPB_ui_1.ui.lookupComponents(this, cc.RenderComponent).map(function(rc) {
          return rc.node;
        });
        var richtextNodes = PPPB_ui_1.ui.lookupComponents(this, cc.RichText).map(function(rc) {
          return rc.node;
        });
        this.childrenNodes = this.childrenNodes.concat(richtextNodes);
        this.childLayouts = PPPB_ui_1.ui.lookupComponents(this, cc.Layout);
        var uiDataValueNodes = PPPB_ui_1.ui.lookupComponents(this, PPPB_UIData_1.UIDataValue).map(function(rc) {
          return rc.node;
        });
        if (this.enableIgnoreList) {
          this.debuglog("ignore list enabled", this.ignoreList);
          this.debuglog("ignore before ", this.childrenNodes.map(function(node) {
            return node.name;
          }));
          this.childrenNodes = this.childrenNodes.filter(function(node) {
            return _this.ignoreList.indexOf(node) < 0;
          });
          this.childLayouts = this.childLayouts.filter(function(node) {
            return _this.ignoreList.indexOf(node) < 0;
          });
          uiDataValueNodes = uiDataValueNodes.filter(function(node) {
            return _this.ignoreList.indexOf(node) < 0;
          });
          this.debuglog("ignore result ", this.childrenNodes.map(function(node) {
            return node.name;
          }));
          for (var i = 0; i < this.ignoreList.length; ++i) this._origScale[i] = this.ignoreList[i].scale;
        }
        this.debuglog("fit content size: ", this.node.getContentSize());
        for (var _i = 0, _a = this.childrenNodes; _i < _a.length; _i++) {
          var child = _a[_i];
          child.on(cc.Node.EventType.SIZE_CHANGED, this.onSizeChanged.bind(this), this);
        }
        for (var _b = 0, uiDataValueNodes_1 = uiDataValueNodes; _b < uiDataValueNodes_1.length; _b++) {
          var child = uiDataValueNodes_1[_b];
          child.on("dataChange", this.onSizeChanged.bind(this), this);
        }
      };
      FitContent.prototype.start = function() {
        this.calcMinMaxRect();
        this.fitContent();
      };
      FitContent.prototype.lateUpdate = function(dt) {
        if (!this._dirty) return;
        this.debuglog("recalculating min max");
        this.calcMinMaxRect();
        this.fitContent();
        this._dirty = false;
      };
      FitContent.prototype.calcMinMaxRect = function() {
        for (var _i = 0, _a = this.childLayouts; _i < _a.length; _i++) {
          var layout = _a[_i];
          layout.updateLayout();
        }
        var rect = new cc.Rect();
        for (var _b = 0, _c = this.childrenNodes; _b < _c.length; _b++) {
          var child = _c[_b];
          rect.union(rect, child.getBoundingBox());
          this.debuglog("compare", child.name, child.getContentSize(), child.getBoundingBox());
        }
        this.childContentRect = rect;
      };
      FitContent.prototype.fitContent = function() {
        if (!this.childContentRect) return;
        this.debuglog("fit content", this.width, this.height, this.childContentRect.width, this.childContentRect.height);
        var dw = this.width / this.childContentRect.width;
        var dh = this.height / this.childContentRect.height;
        var s = Math.min(1, dw, dh);
        this.node.scale = s;
        this.debuglog("compare scaling", dw, dh, s);
        if (this.enableIgnoreList) for (var i = 0; i < this.ignoreList.length; ++i) this.ignoreList[i].scale = this._origScale[i] / s;
      };
      FitContent.prototype.onSizeChanged = function() {
        this._dirty = true;
      };
      FitContent.prototype.debuglog = function(text) {
        var data = [];
        for (var _i = 1; _i < arguments.length; _i++) data[_i - 1] = arguments[_i];
        if (this.debugmode) {
          var d = [ "[FitContent] " + text ];
          d = d.concat(data);
          console.log(d);
        }
      };
      __decorate([ property({
        tooltip: false
      }) ], FitContent.prototype, "debugmode", void 0);
      __decorate([ property({
        tooltip: false
      }) ], FitContent.prototype, "enableIgnoreList", void 0);
      __decorate([ property({
        type: [ cc.Node ],
        visible: function() {
          return this.enableIgnoreList;
        },
        tooltip: false
      }) ], FitContent.prototype, "ignoreList", void 0);
      FitContent = __decorate([ ccclass ], FitContent);
      return FitContent;
    }(cc.Component);
    exports.default = FitContent;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UIData": "PPPB-UIData"
  } ],
  "PPPB-FreeGameSelectPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a4522p7lcBEvqdOnNVNdTvB", "PPPB-FreeGameSelectPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_betConfig_1 = require("../../../common/config/PPPB-betConfig");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_res_1 = require("../../../framework-cocos/PPPB-res");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_AudioID_1 = require("../controller/PPPB-AudioID");
    var PPPB_audio_1 = require("../../../framework-cocos/PPPB-audio");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_TextMeshPro_1 = require("../../../../textMeshPro/scripts/PPPB-TextMeshPro");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var PPPB_UILanguage_1 = require("../../../framework-cocos/components/PPPB-UILanguage");
    var PPPB_BgmAudioHandler_1 = require("../PPPB-BgmAudioHandler");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var LION_COLOR_ORDER = {
      0: "white",
      1: "red",
      2: "orange",
      "-1": "purple",
      3: "blue",
      4: "gold",
      5: "green"
    };
    var FreeGameSelectPanel = function(_super) {
      __extends(FreeGameSelectPanel, _super);
      function FreeGameSelectPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.panelLandScape = null;
        _this.panelPortrait = null;
        _this.selectionLayoutNode = null;
        _this.selectionLayoutNodePortrait = null;
        _this.freeGameSelectionNodesLandscape = [];
        _this.freeGameSelectionNodesPortrait = [];
        _this.freeGameSelectMultiplierPortraitLabels = [];
        _this.freeGameSelectSpinCountPortraitLabels = [];
        _this.freeGameSelectMultiplierLabels = [];
        _this.freeGameSelectSpinCountLabels = [];
        _this.mysteryChoiceNode = null;
        _this.mysteryTextNode = null;
        _this.mysterySpinAnim = null;
        _this.mysteryMultTextNode = null;
        _this.mysteryMultRouletteAnim = null;
        _this.freeSpinsContainer = null;
        _this.freeSpinsMulTextNode = null;
        _this.mysteryChoiceNodePortrait = null;
        _this.mysteryTextNodePortrait = null;
        _this.mysterySpinAnimPortrait = null;
        _this.mysteryMultTextNodePortrait = null;
        _this.mysteryMultRouletteAnimPortrait = null;
        _this.freeSpinsContainerPortrait = null;
        _this.freeSpinsMulTextNodePortrait = null;
        _this.lionAnimation = null;
        _this.freeSpinsIdx = 0;
        _this.freeSpinsMulIdx = 0;
        _this.hasSelected = false;
        return _this;
      }
      FreeGameSelectPanel_1 = FreeGameSelectPanel;
      FreeGameSelectPanel.prototype.loadConf = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              _a = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/probabilityConf") ];

             case 1:
              _a._probabilityConf = _b.sent();
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.$event_display_freeGameSelect = function() {
        this.DisplayFreeGameSelect();
      };
      FreeGameSelectPanel.prototype.DisplayFreeGameSelect = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, me_1;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.hasSelected = false;
              this.ToggleButtonsInteractability(true);
              this.ResetMysterySpinAmount();
              this.ResetMysteryMultiplierRange();
              PPPB_quick_1.ks.MuteAllBGM();
              _a = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDoubleStartBGM() ];

             case 1:
              _a.bgm2ID = _b.sent();
              PPPB_quick_1.ks.playEffectSound("FreeGameLionSelected");
              this.lionAnimation.node.opacity = 0;
              this.node.opacity = 0;
              this.node.setPosition(cc.v2(0, this.node.position.y));
              this.panelLandScape.opacity = 255;
              this.panelPortrait.opacity = 255;
              return [ 4, PPPB_action_1.ACT(this.node).fadeIn(.5).act() ];

             case 2:
              _b.sent();
              if (PPPB_gameSettings_1.default.isSkipScreenEnabled) {
                me_1 = this;
                setTimeout(function() {
                  return me_1.OnButtonSelect(void 0, "-1");
                }, 3e3);
              }
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.ToggleButtonsInteractability = function(isEnabled) {
        for (var _i = 0, _a = this.freeGameSelectionNodesLandscape; _i < _a.length; _i++) {
          var btn = _a[_i];
          btn.interactable = isEnabled;
        }
        for (var _b = 0, _c = this.freeGameSelectionNodesPortrait; _b < _c.length; _b++) {
          var btn = _c[_b];
          btn.interactable = isEnabled;
        }
      };
      FreeGameSelectPanel.prototype.OnButtonSelect = function(event, customEventData) {
        return __awaiter(this, void 0, void 0, function() {
          var idx, target;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.hasSelected) return [ 2 ];
              this.hasSelected = true;
              this.ToggleButtonsInteractability(false);
              idx = Number(customEventData);
              target = event ? event.target : PPPB_quick_1.ks.isLandscape ? this.mysteryChoiceNode : this.mysteryChoiceNodePortrait;
              this.mysterySpinIdx = Number(this.getRandRangeKey(this._probabilityConf.freeGameMysteryGameMulPro));
              this.mysteryMulIdx = Number(this.getRandRangeKey(this._probabilityConf.freeGameMysteryGameMulPro));
              FreeGameSelectPanel_1.mysteryMulitplier = Object.keys(this._probabilityConf.freeGameMulPro[this.mysteryMulIdx]);
              FreeGameSelectPanel_1.mysterySpin = this._probabilityConf.freeGameSpinCount[this.mysterySpinIdx];
              FreeGameSelectPanel_1.isMysteryChoiceSelected = -1 === idx;
              if (-1 == idx) {
                this.freeSpinsIdx = this.mysterySpinIdx;
                this.freeSpinsMulIdx = this.mysteryMulIdx;
                console.log("selected mystery index, free spin idx is " + this.freeSpinsIdx + " - free spin mul idx is " + this.freeSpinsMulIdx);
              } else {
                this.freeSpinsIdx = idx;
                this.freeSpinsMulIdx = idx;
                console.log("selected fixed index, free spin idx is " + this.freeSpinsIdx + " - free spin mul idx is " + this.freeSpinsMulIdx);
              }
              return [ 4, PPPB_event_1.Events.publishAsync("select", "freeSpins", "", this.freeSpinsIdx, this.freeSpinsMulIdx, LION_COLOR_ORDER[customEventData]) ];

             case 1:
              _a.sent();
              this.PlaySelectedButtonSequence(target, Number(customEventData));
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.getRandRangeKey = function(pro, rand) {
        var all = 0;
        for (var k in pro) all += pro[k];
        void 0 == rand && (rand = PPPB_lib_1._.rand(1, all + 1));
        var cur = 0;
        for (var k in pro) {
          cur += pro[k];
          if (rand <= cur) return k;
        }
        console.warn(PPPB_lib_1._.logger("WARN"), "rand:", rand, "all:", all);
        return Object.keys(pro)[0];
      };
      FreeGameSelectPanel.prototype.ShowMysterySpinAmount = function(spinCount) {
        var mysteryOptionButtonIndex = 3;
        this.freeGameSelectSpinCountPortraitLabels[mysteryOptionButtonIndex].string = spinCount.toString();
        this.freeGameSelectSpinCountLabels[mysteryOptionButtonIndex].string = spinCount.toString();
        this.freeSpinsContainer.opacity = 255;
        this.freeSpinsContainerPortrait.opacity = 255;
        this.freeSpinsMulTextNode.opacity = 0;
        this.freeSpinsMulTextNodePortrait.opacity = 0;
        this.mysteryTextNodePortrait.opacity = 0;
        this.mysteryTextNode.opacity = 0;
      };
      FreeGameSelectPanel.prototype.ResetMysterySpinAmount = function() {
        this.freeSpinsContainer.opacity = 0;
        this.freeSpinsContainerPortrait.opacity = 0;
        this.freeSpinsMulTextNode.opacity = 0;
        this.freeSpinsMulTextNodePortrait.opacity = 0;
        this.mysteryTextNodePortrait.opacity = 255;
        this.mysteryTextNode.opacity = 255;
      };
      FreeGameSelectPanel.prototype.ShowMysteryMultiplierRange = function(multArr) {
        var mysteryOptionButtonIndex = 3;
        this.freeGameSelectMultiplierPortraitLabels[mysteryOptionButtonIndex].string = "";
        this.freeGameSelectMultiplierLabels[mysteryOptionButtonIndex].string = "";
        this.freeGameSelectMultiplierPortraitLabels[mysteryOptionButtonIndex].string = this.getFreeGameMultiplierRangeText(multArr);
        this.freeGameSelectMultiplierLabels[mysteryOptionButtonIndex].string = this.getFreeGameMultiplierRangeText(multArr);
        var uiLang = this.freeGameSelectMultiplierLabels[mysteryOptionButtonIndex].getComponent(PPPB_UILanguage_1.UILanguage);
        if (null != uiLang) {
          for (var _i = 0, _a = uiLang.LanguageStringPropertys; _i < _a.length; _i++) {
            var languageProperty = _a[_i];
            languageProperty.value = this.getFreeGameMultiplierRangeText(multArr, languageProperty.key);
          }
          uiLang.refreshLanguage();
        }
        var uiLangPortrait = this.freeGameSelectMultiplierPortraitLabels[mysteryOptionButtonIndex].getComponent(PPPB_UILanguage_1.UILanguage);
        if (null != uiLangPortrait) {
          for (var _b = 0, _c = uiLangPortrait.LanguageStringPropertys; _b < _c.length; _b++) {
            var languageProperty = _c[_b];
            languageProperty.value = this.getFreeGameMultiplierRangeText(multArr, languageProperty.key);
          }
          uiLangPortrait.refreshLanguage();
        }
        this.freeSpinsContainer.opacity = 255;
        this.freeSpinsContainerPortrait.opacity = 255;
        this.freeSpinsMulTextNode.opacity = 255;
        this.freeSpinsMulTextNodePortrait.opacity = 255;
        this.mysteryMultTextNode.opacity = 0;
        this.mysteryMultTextNodePortrait.opacity = 0;
        this.mysteryMultRouletteAnim.node.opacity = 0;
        this.mysteryMultRouletteAnimPortrait.node.opacity = 0;
      };
      FreeGameSelectPanel.prototype.ResetMysteryMultiplierRange = function() {
        this.freeSpinsContainer.opacity = 0;
        this.freeSpinsContainerPortrait.opacity = 0;
        this.freeSpinsMulTextNode.opacity = 0;
        this.freeSpinsMulTextNodePortrait.opacity = 0;
        this.mysteryMultTextNode.opacity = 255;
        this.mysteryMultTextNodePortrait.opacity = 255;
        this.mysteryMultRouletteAnim.node.opacity = 0;
        this.mysteryMultRouletteAnimPortrait.node.opacity = 0;
      };
      FreeGameSelectPanel.prototype.PlayMysteryRouletteSpin = function(spinCount, multArr) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.mysteryTextNode.opacity = 0;
              this.mysteryTextNodePortrait.opacity = 0;
              this.mysterySpinAnim.play("freegameselect_mysteryspincount");
              this.mysterySpinAnimPortrait.play("freegameselect_mysteryspincount");
              this.mysterySpinAnim.node.opacity = 255;
              this.mysterySpinAnimPortrait.node.opacity = 255;
              this.mysteryMultTextNode.opacity = 0;
              this.mysteryMultTextNodePortrait.opacity = 0;
              this.mysteryMultRouletteAnim.play("freegameselect_mysterymult");
              this.mysteryMultRouletteAnimPortrait.play("freegameselect_mysterymult");
              this.mysteryMultRouletteAnim.node.opacity = 255;
              this.mysteryMultRouletteAnimPortrait.node.opacity = 255;
              return [ 4, PPPB_quick_1.ks.playEffectSound("FreeGameMysteryOptionSpins") ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(2e3) ];

             case 2:
              _a.sent();
              this.mysterySpinAnim.stop();
              this.mysterySpinAnimPortrait.stop();
              this.mysterySpinAnim.node.opacity = 0;
              this.mysterySpinAnimPortrait.node.opacity = 0;
              this.ShowMysterySpinAmount(spinCount);
              return [ 4, PPPB_quick_1.ks.playEffectSound("FreeGameMysteryOption1") ];

             case 3:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 4:
              _a.sent();
              this.mysteryMultRouletteAnim.stop();
              this.mysteryMultRouletteAnimPortrait.stop();
              this.mysteryMultRouletteAnim.node.opacity = 0;
              this.mysteryMultRouletteAnimPortrait.node.opacity = 0;
              this.ShowMysteryMultiplierRange(multArr);
              return [ 4, PPPB_quick_1.ks.playEffectSound("FreeGameMysteryOption2") ];

             case 5:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.PlaySelectedButtonLionRoar = function(target) {
        return __awaiter(this, void 0, void 0, function() {
          var animDuration, spineNode, spineSkeleton;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_quick_1.ks.playEffectSound("FreeGameLionSelected");
              animDuration = 0;
              spineNode = PPPB_ui_1.ui.getNode([ target, "BGFrame/LionAnimation" ]);
              if (spineNode) {
                spineSkeleton = spineNode.getComponent(sp.Skeleton);
                spineSkeleton.setAnimation(0, "win", false);
                animDuration = spineSkeleton.findAnimation("win").duration;
              }
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 1:
              _a.sent();
              PPPB_audio_1.audio.stop(PPPB_AudioID_1.default.bgm2ID);
              return [ 4, PPPB_quick_1.ks.playEffectSound("FreeGameLionConfirm") ];

             case 2:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(Math.max(1e3, 1e3 * animDuration - 1e3)) ];

             case 3:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.PlaySelectedButtonSequence = function(target, idx) {
        return __awaiter(this, void 0, void 0, function() {
          var isMysterySelected, spinCount, multArr, val;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              isMysterySelected = -1 == idx;
              spinCount = this._probabilityConf.freeGameSpinCount[this.freeSpinsIdx];
              multArr = [];
              for (val in this._probabilityConf.freeGameMulPro[this.freeSpinsMulIdx]) multArr.push(val);
              if (!isMysterySelected) return [ 3, 3 ];
              return [ 4, this.PlayMysteryRouletteSpin(spinCount, multArr) ];

             case 1:
              _a.sent();
              return [ 4, this.PlaySelectedButtonLionRoar(target) ];

             case 2:
              _a.sent();
              return [ 3, 6 ];

             case 3:
              return [ 4, this.PlaySelectedButtonLionRoar(target) ];

             case 4:
              _a.sent();
              this.ShowMysterySpinAmount(FreeGameSelectPanel_1.mysterySpin);
              this.ShowMysteryMultiplierRange(FreeGameSelectPanel_1.mysteryMulitplier);
              return [ 4, PPPB_lib_1._.sleep(2e3) ];

             case 5:
              _a.sent();
              _a.label = 6;

             case 6:
              (PPPB_quick_1.ks.isLandscape ? this.panelPortrait : this.panelLandScape).opacity = 0;
              return [ 4, PPPB_action_1.ACT(PPPB_quick_1.ks.isLandscape ? this.panelLandScape : this.panelPortrait).fadeOut(.5).act() ];

             case 7:
              _a.sent();
              this.lionAnimation.node.opacity = 0;
              return [ 4, PPPB_action_1.ACT(this.lionAnimation.node).fadeIn(.5).act() ];

             case 8:
              _a.sent();
              PPPB_event_1.Events.publish("toggle", "cardBackFrames", "", true);
              PPPB_quick_1.ks.playEffectSound("FreeGameLionRoar");
              return [ 4, PPPB_lib_1._.sleep(6e3) ];

             case 9:
              _a.sent();
              return [ 4, PPPB_action_1.ACT(this.node).fadeOut(.5).act() ];

             case 10:
              _a.sent();
              this.node.setPosition(cc.v2(4e3, this.node.position.y));
              PPPB_event_1.Events.publish("display", "selectedFreeIn", "", spinCount, multArr);
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.getFreeGameMultiplierRangeText = function(multArr, lang) {
        lang = lang || PPPB_language_1.language.type;
        var multArrLangName = "";
        for (var i = 0; i < multArr.length; i++) {
          multArrLangName += multArr[i].toString() + "x";
          i == multArr.length - 2 && (multArrLangName += "OR");
        }
        multArrLangName += "_PG";
        return PPPB_language_1.language.getText("label_mobile", multArrLangName, lang);
      };
      FreeGameSelectPanel.prototype.InitPanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _i, _a, selectNode, multiplierLabel, spinCountLabel, _b, _c, selectNode, multiplierLabel, spinCountLabel, idx, spinValidIdx, _d, freeSpinCountConf_1, spinCount, multArr, val, multArrText;
          return __generator(this, function(_e) {
            switch (_e.label) {
             case 0:
              return [ 4, this.loadConf() ];

             case 1:
              _e.sent();
              for (_i = 0, _a = this.selectionLayoutNode.children; _i < _a.length; _i++) {
                selectNode = _a[_i];
                this.freeGameSelectionNodesLandscape.push(selectNode.getComponent(cc.Button));
                multiplierLabel = selectNode.getChildByName("FreeSpinMultiplierText").getComponent(PPPB_TextMeshPro_1.default);
                this.freeGameSelectMultiplierLabels.push(multiplierLabel);
                spinCountLabel = PPPB_ui_1.ui.getNode([ selectNode, "FreeSpinsContainer/FreeSpinCountText" ]).getComponent(PPPB_TextMeshPro_1.default);
                this.freeGameSelectSpinCountLabels.push(spinCountLabel);
              }
              for (_b = 0, _c = this.selectionLayoutNodePortrait.children; _b < _c.length; _b++) {
                selectNode = _c[_b];
                this.freeGameSelectionNodesPortrait.push(selectNode.getComponent(cc.Button));
                multiplierLabel = selectNode.getChildByName("FreeSpinMultiplierText").getComponent(PPPB_TextMeshPro_1.default);
                this.freeGameSelectMultiplierPortraitLabels.push(multiplierLabel);
                spinCountLabel = PPPB_ui_1.ui.getNode([ selectNode, "FreeSpinsContainer/FreeSpinCountText" ]).getComponent(PPPB_TextMeshPro_1.default);
                this.freeGameSelectSpinCountPortraitLabels.push(spinCountLabel);
              }
              idx = 0;
              spinValidIdx = 0;
              for (_d = 0, freeSpinCountConf_1 = PPPB_betConfig_1.freeSpinCountConf; _d < freeSpinCountConf_1.length; _d++) {
                spinCount = freeSpinCountConf_1[_d];
                if (-1 == spinCount) {
                  this.freeSpinsContainerPortrait.opacity = 0;
                  this.mysteryMultTextNodePortrait.opacity = 255;
                  this.mysteryTextNodePortrait.opacity = 255;
                  this.freeSpinsContainer.opacity = 0;
                  this.mysteryTextNode.opacity = 255;
                  this.mysteryMultTextNode.opacity = 255;
                  this.freeGameSelectMultiplierPortraitLabels[idx].string = "";
                  this.freeGameSelectMultiplierLabels[idx].string = "";
                } else {
                  multArr = [];
                  for (val in this._probabilityConf.freeGameMulPro[spinValidIdx]) multArr.push(val);
                  multArrText = this.getFreeGameMultiplierRangeText(multArr);
                  this.freeGameSelectMultiplierPortraitLabels[idx].string = -1 == spinCount ? "" : multArrText;
                  this.freeGameSelectMultiplierLabels[idx].string = -1 == spinCount ? "" : multArrText;
                  spinValidIdx++;
                }
                this.freeGameSelectSpinCountPortraitLabels[idx].string = -1 == spinCount ? "" : spinCount.toString();
                this.freeGameSelectSpinCountLabels[idx].string = -1 == spinCount ? "" : spinCount.toString();
                idx++;
              }
              return [ 2 ];
            }
          });
        });
      };
      FreeGameSelectPanel.prototype.onLoaded = function() {
        this.InitPanel();
      };
      var FreeGameSelectPanel_1;
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "panelLandScape", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "panelPortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "selectionLayoutNode", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "selectionLayoutNodePortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryChoiceNode", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryTextNode", void 0);
      __decorate([ property(cc.Animation) ], FreeGameSelectPanel.prototype, "mysterySpinAnim", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryMultTextNode", void 0);
      __decorate([ property(cc.Animation) ], FreeGameSelectPanel.prototype, "mysteryMultRouletteAnim", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "freeSpinsContainer", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "freeSpinsMulTextNode", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryChoiceNodePortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryTextNodePortrait", void 0);
      __decorate([ property(cc.Animation) ], FreeGameSelectPanel.prototype, "mysterySpinAnimPortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "mysteryMultTextNodePortrait", void 0);
      __decorate([ property(cc.Animation) ], FreeGameSelectPanel.prototype, "mysteryMultRouletteAnimPortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "freeSpinsContainerPortrait", void 0);
      __decorate([ property(cc.Node) ], FreeGameSelectPanel.prototype, "freeSpinsMulTextNodePortrait", void 0);
      __decorate([ property(cc.Animation) ], FreeGameSelectPanel.prototype, "lionAnimation", void 0);
      FreeGameSelectPanel = FreeGameSelectPanel_1 = __decorate([ ccclass ], FreeGameSelectPanel);
      return FreeGameSelectPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = FreeGameSelectPanel;
    cc._RF.pop();
  }, {
    "../../../../textMeshPro/scripts/PPPB-TextMeshPro": "PPPB-TextMeshPro",
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/PPPB-res": "PPPB-res",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguage": "PPPB-UILanguage",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-BgmAudioHandler": "PPPB-BgmAudioHandler",
    "../controller/PPPB-AudioID": "PPPB-AudioID"
  } ],
  "PPPB-FreeGameTransitionAnim": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "461adjLsqxLB5xJ0ivfVHee", "PPPB-FreeGameTransitionAnim");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ANIM_NAME = "freeGameTransition";
    var FreeGameTransitionAnim = function(_super) {
      __extends(FreeGameTransitionAnim, _super);
      function FreeGameTransitionAnim() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.anim = null;
        return _this;
      }
      FreeGameTransitionAnim.prototype.onLoaded = function() {
        this.anim.node.opacity = 0;
      };
      FreeGameTransitionAnim.prototype.$event_play_freeGameTransitionAnim = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_quick_1.ks.playEffectSound("FreeGamePyramidAppear");
              this.anim.play(ANIM_NAME);
              return [ 4, PPPB_lib_1._.sleep(1e3 * this.anim.getAnimationState(ANIM_NAME).duration) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Animation) ], FreeGameTransitionAnim.prototype, "anim", void 0);
      FreeGameTransitionAnim = __decorate([ ccclass ], FreeGameTransitionAnim);
      return FreeGameTransitionAnim;
    }(PPPB_UComponent_1.UComponent);
    exports.default = FreeGameTransitionAnim;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-GameBoardWinAmountDisplaySpawner": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a104br3LnNKoK53cfmcxDxE", "PPPB-GameBoardWinAmountDisplaySpawner");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var GameBoardWinAmountDisplaySpawner = function(_super) {
      __extends(GameBoardWinAmountDisplaySpawner, _super);
      function GameBoardWinAmountDisplaySpawner() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._labelPrefab = null;
        return _this;
      }
      Object.defineProperty(GameBoardWinAmountDisplaySpawner.prototype, "labelPrefab", {
        get: function() {
          return this._labelPrefab;
        },
        set: function(v) {
          this._labelPrefab = v;
        },
        enumerable: false,
        configurable: true
      });
      GameBoardWinAmountDisplaySpawner.prototype.$event_display_gameBoardWinAmount = function(amount, position) {
        this.show(amount, this.node.convertToNodeSpaceAR(position));
      };
      GameBoardWinAmountDisplaySpawner.prototype.show = function(amount, position) {
        var _this = this;
        var labelNode = cc.instantiate(this._labelPrefab);
        labelNode.setParent(this.node);
        var label = labelNode.getComponent(cc.Label);
        label.string = PPPB_MoneyDisplayHelper_1.MoneyDisplayHelper.convertBetToText(amount);
        labelNode.opacity = 0;
        labelNode.position = position.add(cc.v3(0, -75, 0));
        labelNode.scale = .9;
        PPPB_action_1.ACT(labelNode).moveBy(.7, cc.v2(0, 140)).act();
        var action = PPPB_action_1.ACT(labelNode);
        action.fadeIn(.15).scaleTo(.15, 1).act().then(function() {
          return _this.sleep(.4);
        }).then(function() {
          return action.fadeOut(.15).scaleTo(.15, .5).act();
        }).then(function() {
          return labelNode.destroy();
        });
      };
      __decorate([ property(cc.Prefab) ], GameBoardWinAmountDisplaySpawner.prototype, "_labelPrefab", void 0);
      __decorate([ property(cc.Prefab) ], GameBoardWinAmountDisplaySpawner.prototype, "labelPrefab", null);
      GameBoardWinAmountDisplaySpawner = __decorate([ ccclass ], GameBoardWinAmountDisplaySpawner);
      return GameBoardWinAmountDisplaySpawner;
    }(PPPB_UComponent_1.UComponent);
    exports.default = GameBoardWinAmountDisplaySpawner;
    cc._RF.pop();
  }, {
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-GameRulesCardPayoutFormatter": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ab0014RS3JKkYRap6k1J5eB", "PPPB-GameRulesCardPayoutFormatter");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_GameRulesPanel_1 = require("../../../common/ui/bottomUI/PPPB-GameRulesPanel");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_bet_1 = require("../../../common/ui/bottomUI/PPPB-bet");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var GameRulesCardPayoutFormatter = function(_super) {
      __extends(GameRulesCardPayoutFormatter, _super);
      function GameRulesCardPayoutFormatter() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      GameRulesCardPayoutFormatter.prototype.Format = function(payouts) {
        if (!payouts) return "";
        var text = "";
        var betSize = PPPB_bet_1.default.betSize;
        var keys = Object.keys(payouts).reverse();
        keys.forEach(function(key, i) {
          return text += key + (i - 1 >= 0 ? " - " + (Number(keys[i - 1]) - 1) : "+") + "  " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(betSize * PPPB_bet_1.default.betMul * payouts[key]) + "\n";
        });
        return text.substring(0, text.length - 1);
      };
      GameRulesCardPayoutFormatter = __decorate([ ccclass ], GameRulesCardPayoutFormatter);
      return GameRulesCardPayoutFormatter;
    }(PPPB_GameRulesPanel_1.BasePayoutFormatter);
    exports.default = GameRulesCardPayoutFormatter;
    cc._RF.pop();
  }, {
    "../../../common/ui/bottomUI/PPPB-GameRulesPanel": "PPPB-GameRulesPanel",
    "../../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper"
  } ],
  "PPPB-GameRulesPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "cf35e/cUTdD+JHdkHBYxVbw", "PPPB-GameRulesPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.BasePayoutFormatter = void 0;
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_MoneyDisplayHelper_1 = require("../../utils/PPPB-MoneyDisplayHelper");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var PPPB_maxLimitConfig_1 = require("../../../game/config/PPPB-maxLimitConfig");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var PPPB_UILanguage_1 = require("../../../framework-cocos/components/PPPB-UILanguage");
    var PPPB_res_1 = require("../../../framework-cocos/PPPB-res");
    var PPPB_CardHelper_1 = require("../../../game/server/PPPB-CardHelper");
    var PPPB_betConfig_1 = require("../../config/PPPB-betConfig");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var BasePayoutFormatter = function(_super) {
      __extends(BasePayoutFormatter, _super);
      function BasePayoutFormatter() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      return BasePayoutFormatter;
    }(cc.Component);
    exports.BasePayoutFormatter = BasePayoutFormatter;
    var GameRulesPanel = function(_super) {
      __extends(GameRulesPanel, _super);
      function GameRulesPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.isPortraitUI = false;
        _this.pages = [];
        _this.curPageLabel = null;
        _this.minimumBetLabel = null;
        _this.maximumBetLabel = null;
        _this.replaceMaxWinAmountLabels = [];
        _this._defaultMaxWinLabelText = [];
        _this.scatterPayoutLabel = null;
        _this.colsPerRow = [];
        _this.curPageIdx = 0;
        _this._extra = false;
        _this._oddsConf = null;
        _this._isLoaded = false;
        return _this;
      }
      GameRulesPanel.prototype.onLoaded = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, i, mask;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              _a = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/oddsConf") ];

             case 1:
              _a._oddsConf = _b.sent();
              for (i = 0; i < this.replaceMaxWinAmountLabels.length; i++) this._defaultMaxWinLabelText[i] = this.replaceMaxWinAmountLabels[i].string;
              mask = this.getComponentInChildren(cc.Mask);
              mask && "Mask" == mask.node.name && (mask.enabled = true);
              this._isLoaded = true;
              return [ 2 ];
            }
          });
        });
      };
      GameRulesPanel.prototype.$event_display_gamerules = function() {
        return __awaiter(this, void 0, void 0, function() {
          var scrollView;
          return __generator(this, function(_a) {
            if (this.isPortraitUI && PPPB_quick_1.ks.isLandscape || !this.isPortraitUI && !PPPB_quick_1.ks.isLandscape) return [ 2 ];
            this.node.setPosition(cc.v2(0, this.node.position.y));
            this.node.opacity = 255;
            this.curPageIdx = 0;
            if (PPPB_lib_1.cc1.sys.isMobile) {
              scrollView = this.node.getComponent(cc.ScrollView);
              if (null != scrollView) {
                scrollView.stopAutoScroll();
                scrollView.scrollToTop();
              }
            } else this.DisplayCurPage();
            this.$event_refresh_maxBet(this._extra);
            this.UpdateMinMaxBetText();
            this.updatePayoutTable();
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$event_refresh_maxBet = function(isExtra) {
        return __awaiter(this, void 0, void 0, function() {
          var betMul, betAmt, betParams, i, uiLang;
          return __generator(this, function(_a) {
            this._extra = isExtra;
            betMul = isExtra ? PPPB_maxLimitConfig_1.doubleChanceMaxLimit : PPPB_maxLimitConfig_1.standardMaxLimit;
            betAmt = PPPB_MoneyDisplayHelper_1.MoneyUi.formatCurrency(betMul, false);
            betParams = [];
            betParams.push(betMul.toString());
            betParams.push(betAmt.toString());
            for (i = 0; i < this.replaceMaxWinAmountLabels.length; i++) {
              uiLang = this.replaceMaxWinAmountLabels[i].getComponent(PPPB_UILanguage_1.UILanguage);
              if (uiLang) {
                uiLang.paramKeyStrings = betParams;
                uiLang.refreshLanguage();
              }
            }
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.DisplayCurPage = function() {
        for (var i = 0; i < this.pages.length; i++) this.pages[i].active = i == this.curPageIdx;
        this.UpdateCurPageText();
      };
      GameRulesPanel.prototype.$event_refresh_language = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.UpdateCurPageText();
            this.UpdateMinMaxBetText();
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.UpdateMinMaxBetText = function() {
        var MINIMUMBET = PPPB_betConfig_1.standardBetConf[0].toString();
        var MAXIMUMBET = PPPB_betConfig_1.doubleChanceBetConf[PPPB_betConfig_1.doubleChanceBetConf.length - 1].toString();
        if (null != this.minimumBetLabel) {
          var minBetAmt = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(Number(MINIMUMBET), true);
          var betParams = [];
          betParams.push(minBetAmt);
          this.minimumBetLabel.paramKeyStrings = betParams;
          this.minimumBetLabel.refreshLanguage();
        }
        if (null != this.maximumBetLabel) {
          var maxBetAmt = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(Number(MAXIMUMBET), true);
          var betParams = [];
          betParams.push(maxBetAmt);
          this.maximumBetLabel.paramKeyStrings = betParams;
          this.maximumBetLabel.refreshLanguage();
        }
      };
      GameRulesPanel.prototype.UpdateCurPageText = function() {
        null != this.curPageLabel && (this.curPageLabel.string = PPPB_language_1.language.getText("label_web.Page") + " " + (this.curPageIdx + 1) + "/" + this.pages.length);
      };
      GameRulesPanel.prototype.$ui_leftbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.curPageIdx--;
            this.curPageIdx < 0 && (this.curPageIdx = this.pages.length - 1);
            this.DisplayCurPage();
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$ui_rightbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.curPageIdx++;
            this.curPageIdx >= this.pages.length && (this.curPageIdx = 0);
            this.DisplayCurPage();
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$ui_lowerCloseBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("close", "gamerules", "");
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$ui_closebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("close", "gamerules", "");
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$event_close_gamerules = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.setPosition(cc.v2(2e3, this.node.position.y));
            this.node.opacity = 0;
            return [ 2 ];
          });
        });
      };
      GameRulesPanel.prototype.$event_display_changeMoneyView = function() {
        this.updatePayoutTable();
      };
      GameRulesPanel.prototype.$event_display_updateBet = function() {
        this.updatePayoutTable();
      };
      GameRulesPanel.prototype.updatePayoutTable = function() {
        if (!this._isLoaded) return;
        var colsPerRow = this.colsPerRow;
        var currentCard = colsPerRow.reduce(function(sum, v) {
          return sum + v;
        }, 0);
        for (var row = 1; row <= colsPerRow.length; row++) {
          var colsInRow = colsPerRow[row - 1];
          for (var col = 0; col < colsInRow; col++) {
            this._displayOdds(currentCard, row, col);
            currentCard--;
          }
        }
        this._displayScatterOdds();
      };
      GameRulesPanel.prototype._displayOdds = function(card, row, col) {
        var _a, _b;
        var labelNode = null === (_b = null === (_a = PPPB_ui_1.ui.getNode([ this, "Mask/" + (this.isPortraitUI ? "ScrollPanel" : "Layout") + "/page1/SymbolLayout" + row ])) || void 0 === _a ? void 0 : _a.children[col]) || void 0 === _b ? void 0 : _b.getChildByName("PayTableLabel");
        if (null != labelNode) {
          var formatter = labelNode.getComponent(BasePayoutFormatter);
          var label = labelNode.getComponent(cc.Label);
          formatter ? label.string = formatter.Format(this._oddsConf[card]) : this.scatterPayoutLabel.string = "no formatter provided. ";
        }
      };
      GameRulesPanel.prototype._displayScatterOdds = function() {
        if (!this.scatterPayoutLabel) return;
        var formatter = this.scatterPayoutLabel.getComponent(BasePayoutFormatter);
        this.scatterPayoutLabel.string = formatter ? formatter.Format(this._oddsConf[PPPB_CardHelper_1.CardHelper.CardConf.scatter]) : "no formatter provided. ";
      };
      __decorate([ property ], GameRulesPanel.prototype, "isPortraitUI", void 0);
      __decorate([ property([ cc.Node ]) ], GameRulesPanel.prototype, "pages", void 0);
      __decorate([ property(cc.Label) ], GameRulesPanel.prototype, "curPageLabel", void 0);
      __decorate([ property(PPPB_UILanguage_1.UILanguage) ], GameRulesPanel.prototype, "minimumBetLabel", void 0);
      __decorate([ property(PPPB_UILanguage_1.UILanguage) ], GameRulesPanel.prototype, "maximumBetLabel", void 0);
      __decorate([ property([ cc.RichText ]) ], GameRulesPanel.prototype, "replaceMaxWinAmountLabels", void 0);
      __decorate([ property(cc.Label) ], GameRulesPanel.prototype, "scatterPayoutLabel", void 0);
      __decorate([ property([ cc.Integer ]) ], GameRulesPanel.prototype, "colsPerRow", void 0);
      GameRulesPanel = __decorate([ ccclass ], GameRulesPanel);
      return GameRulesPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = GameRulesPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/PPPB-res": "PPPB-res",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguage": "PPPB-UILanguage",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../../game/config/PPPB-maxLimitConfig": "PPPB-maxLimitConfig",
    "../../../game/server/PPPB-CardHelper": "PPPB-CardHelper",
    "../../PPPB-quick": "PPPB-quick",
    "../../config/PPPB-betConfig": "PPPB-betConfig",
    "../../utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper"
  } ],
  "PPPB-GameRulesScatterCardPayoutFormatter": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a33924bXBFM2I0h2sHDvEQE", "PPPB-GameRulesScatterCardPayoutFormatter");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_GameRulesPanel_1 = require("../../../common/ui/bottomUI/PPPB-GameRulesPanel");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_bet_1 = require("../../../common/ui/bottomUI/PPPB-bet");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var GameRulesScatterCardPayoutFormatter = function(_super) {
      __extends(GameRulesScatterCardPayoutFormatter, _super);
      function GameRulesScatterCardPayoutFormatter() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      GameRulesScatterCardPayoutFormatter.prototype.Format = function(payouts) {
        if (!payouts) return "";
        var text = "";
        var betSize = PPPB_bet_1.default.betSize;
        Object.keys(payouts).reverse().forEach(function(key) {
          return text += key + "  " + PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(20 * betSize * PPPB_bet_1.default.betMul * payouts[key]) + "\n";
        });
        return text.substring(0, text.length - 1);
      };
      GameRulesScatterCardPayoutFormatter = __decorate([ ccclass ], GameRulesScatterCardPayoutFormatter);
      return GameRulesScatterCardPayoutFormatter;
    }(PPPB_GameRulesPanel_1.BasePayoutFormatter);
    exports.default = GameRulesScatterCardPayoutFormatter;
    cc._RF.pop();
  }, {
    "../../../common/ui/bottomUI/PPPB-GameRulesPanel": "PPPB-GameRulesPanel",
    "../../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper"
  } ],
  "PPPB-GameServerType": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e2991I/Bs5K1pTkULOswrWD", "PPPB-GameServerType");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    cc._RF.pop();
  }, {} ],
  "PPPB-GameServer": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e53edCyqAJOW4XoLs8AcGP5", "PPPB-GameServer");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.GameServer = void 0;
    var PPPB_res_1 = require("../../framework-cocos/PPPB-res");
    var PPPB_slotBase_1 = require("../../framework-slot/PPPB-slotBase");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_betConfig_1 = require("../../common/config/PPPB-betConfig");
    var PPPB_maxLimitConfig_1 = require("../config/PPPB-maxLimitConfig");
    var PPPB_CardHelper_1 = require("./PPPB-CardHelper");
    var template = {
      uid: "",
      balance: 0,
      freeSpins: 0,
      mul: 1,
      bet: 3,
      freeSpCout: 0
    };
    var GameServer = function(_super) {
      __extends(GameServer, _super);
      function GameServer() {
        var _this = _super.call(this) || this;
        _this._freeCount = 0;
        _this._isFreeGame = false;
        _this._freeMul = 1;
        _this._extra = false;
        _this._buyFreeGame = false;
        _this._totalWinGold = 0;
        _this._sessionId = GameServer_1.sId;
        if (!_this.ctor2._isInitCard) {
          _this.ctor2._isInitCard = true;
          for (var cardName in _this.cardConf) PPPB_CardHelper_1.CardHelper.IsWild(cardName) ? _this.ctor2._wildCard.push(cardName) : PPPB_CardHelper_1.CardHelper.IsScatter(cardName) ? _this.ctor2._scatterCard.push(cardName) : PPPB_CardHelper_1.CardHelper.IsMultiplier(cardName) ? _this.ctor2._multiplierCard.push(cardName) : PPPB_CardHelper_1.CardHelper.IsNormal(cardName) && _this.ctor2._ordinaryCard.push(cardName);
        }
        return _this;
      }
      GameServer_1 = GameServer;
      Object.defineProperty(GameServer, "sId", {
        get: function() {
          return this._sId++;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "sessionId", {
        get: function() {
          return this._sessionId;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "ctor2", {
        get: function() {
          return this.ctor;
        },
        enumerable: false,
        configurable: true
      });
      GameServer.$_on_inited = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            this.loadConf().then(function() {
              return PPPB_CardHelper_1.CardHelper.CardConf = _this._cardConf;
            });
            false;
            return [ 2 ];
          });
        });
      };
      Object.defineProperty(GameServer.prototype, "extra", {
        get: function() {
          return this._extra;
        },
        set: function(v) {
          this._extra = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "gameConf", {
        get: function() {
          return this.ctor1._gameConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "curMul", {
        get: function() {
          return this.data.mul || 1;
        },
        set: function(v) {
          this.data.mul = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "proConf", {
        get: function() {
          return this.ctor2._probabilityConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "freeSpCout", {
        get: function() {
          return this.data.freeSpCout;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "unitPrice", {
        get: function() {
          return this.gameConf.unitPrice;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameServer.prototype, "curBet", {
        get: function() {
          return this.data.bet;
        },
        set: function(bet) {
          this.data.bet = bet;
        },
        enumerable: false,
        configurable: true
      });
      GameServer.prototype.addFreeCount = function(count) {
        this.data.freeSpCout += count;
      };
      Object.defineProperty(GameServer.prototype, "buyFreeGame", {
        get: function() {
          return this._buyFreeGame;
        },
        set: function(b) {
          this._buyFreeGame = b;
        },
        enumerable: false,
        configurable: true
      });
      GameServer.prototype.randProCard = function(pro, mul) {
        pro || (pro = this.ctor2._probabilityConf.ordPro);
        var card = this.getRandRangeKey(pro);
        mul = null === mul || void 0 === mul || mul;
        mul || "mul" !== card || (card = "normal");
        "normal" == card ? card = PPPB_lib_1._.rand(this.ctor2._ordinaryCard) : "mul" == card && (card = PPPB_lib_1._.rand(this.ctor2._multiplierCard));
        return card;
      };
      GameServer.prototype.isRandRange = function(pro, rand, key) {
        var all = 0;
        for (var k in pro) all += pro[k];
        var cur = 0;
        for (var k in pro) {
          cur += pro[k] / all * 100;
          if (key == k) {
            var pre = cur - pro[k] / all * 100;
            return rand > pre && rand <= cur;
          }
        }
      };
      GameServer.prototype.getRandRangeKey = function(pro, rand) {
        var all = 0;
        for (var k in pro) all += pro[k];
        void 0 == rand && (rand = PPPB_lib_1._.rand(1, all + 1));
        var cur = 0;
        for (var k in pro) {
          cur += pro[k];
          if (rand <= cur) return k;
        }
        console.warn(PPPB_lib_1._.logger("WARN"), "rand:", rand, "all:", all);
        return Object.keys(pro)[0];
      };
      GameServer.prototype.randCol = function(len, wild) {
        var r = PPPB_lib_1._.rand(1, 101);
        var idx = 1;
        var pro = this.ctor2._probabilityConf.combination[len];
        for (var i = 0; i < pro.probability.length; i++) {
          if (r <= pro.probability[i]) {
            idx = i + 1;
            break;
          }
          r -= pro.probability[i];
        }
        var rp = PPPB_lib_1._.shuffle(pro[idx]);
        var result = [];
        for (var i = 0; i < 5; i++) {
          var card = this.randProCard(this.ctor2._probabilityConf.ordPro, wild);
          result.push(card);
        }
        return result;
      };
      GameServer.prototype.FixedRandCard = function(winCards, mustWin, mul, mustScatter) {
        void 0 === winCards && (winCards = []);
        var _a = this.randCard(winCards, mustScatter, mul), cards = _a.cards, scatterNum = _a.scatterNum;
        false;
        if (void 0 === mustWin) {
          var r = PPPB_lib_1._.rand(0, 3);
          mustWin = 0 !== r;
        }
        var modifiedCards;
        modifiedCards = mustWin && !mustScatter ? this.FixedWin(this._cards, winCards, mul) : this.FixedLose(this._cards, winCards, mul);
        cards = [];
        for (var x = 0; x < modifiedCards.length; x++) for (var y = 0; y < modifiedCards[x].length; y++) {
          var v = this._cards[x][y];
          cards[x] || (cards[x] = []);
          if (!v) continue;
          cards[x][y] = PPPB_CardHelper_1.CardHelper.GetCardValue(v);
        }
        return {
          cards: cards,
          scatterNum: scatterNum
        };
      };
      GameServer.prototype.FixedWin = function(cardNames, winCards, wild) {
        var sameCard = this.getSameValueCards(cardNames, false);
        var hasWin = false;
        for (var cardV in sameCard) sameCard[cardV].length >= 8 && (hasWin = true);
        if (!hasWin) {
          var keys = Object.keys(sameCard), symbolWinCount = PPPB_lib_1._.rand(0, 3) + 1, cardToWin = [];
          for (var i = 0; i < symbolWinCount; ++i) {
            var r = PPPB_lib_1._.rand(0, keys.length);
            cardToWin.push(PPPB_CardHelper_1.CardHelper.GetCardName(Number(keys[r])));
            keys.splice(r, 1);
          }
          var replacableCards = [];
          if (winCards && winCards.length) {
            var cols = {};
            for (var w in winCards) {
              cols[winCards[w].x] || (cols[winCards[w].x] = 0);
              ++cols[winCards[w].x];
            }
            for (var x in cols) for (var j = 0; j < cols[x]; ++j) {
              if (cardToWin.includes(cardNames[x][j])) continue;
              replacableCards.push({
                x: Number(x),
                y: j
              });
            }
          } else for (var x = 0; x < cardNames.length; ++x) for (var y = 0; y < cardNames[x].length; ++y) {
            if (cardToWin.includes(cardNames[x][y])) continue;
            if (this.isSpecialCard(cardNames[x][y])) continue;
            replacableCards.push({
              x: x,
              y: y
            });
          }
          for (var j = 0; j < symbolWinCount; ++j) {
            var winCount = 0, randCount = PPPB_lib_1._.rand(0, 3);
            switch (randCount) {
             case 0:
              winCount = PPPB_lib_1._.rand(8, 10);
              break;

             case 1:
              winCount = PPPB_lib_1._.rand(10, 12);
              break;

             case 2:
              winCount = PPPB_lib_1._.rand(12, 31);
            }
            winCount = Math.min(Math.max(winCount, 8), 30 - 8 * (symbolWinCount - j - 1));
            replacableCards = PPPB_lib_1._.shuffle(replacableCards);
            var refill = winCount - sameCard[PPPB_CardHelper_1.CardHelper.GetCardValue(cardToWin[j])].length;
            for (var i = 0; i < refill && i < replacableCards.length; ++i) {
              var c = replacableCards[i];
              this._cards[c.x][c.y] = cardToWin[j];
            }
            replacableCards.splice(0, refill);
          }
          cardNames = PPPB_lib_1._.copy(this._cards);
        }
        return cardNames;
      };
      GameServer.prototype.FixedLose = function(cardNames, winCards, wild) {
        var sameCard = this.getSameValueCards(cardNames, false);
        var hasWin = false;
        for (var cardV in sameCard) sameCard[cardV].length >= 8 && (hasWin = true);
        for (var k in this.ctor2._ordinaryCard) {
          var v = this.getCardValue(this.ctor2._ordinaryCard[k]);
          sameCard[v] || (sameCard[v] = []);
        }
        if (hasWin) {
          if (winCards && winCards.length) {
            var _loop_1 = function() {
              var max = 0;
              var maxCardValue = 0;
              for (var cardV in sameCard) {
                var count = sameCard[cardV].length;
                if (count > max) {
                  max = count;
                  maxCardValue = Number(cardV);
                }
              }
              var min = 31;
              var minCardName = 0;
              for (var cardV in sameCard) {
                var count = sameCard[cardV].length;
                if (count < min) {
                  min = count;
                  minCardName = Number(cardV);
                }
              }
              var replacableCards = [];
              var cols = {};
              for (var w in winCards) {
                cols[winCards[w].x] || (cols[winCards[w].x] = 0);
                ++cols[winCards[w].x];
              }
              for (var x in cols) for (var j = 0; j < cols[x]; ++j) replacableCards.push({
                x: Number(x),
                y: j
              });
              var thisCards = this_1._cards;
              replacableCards = replacableCards.filter(function(v) {
                return thisCards[v.x][v.y] == PPPB_CardHelper_1.CardHelper.GetCardName(maxCardValue);
              });
              var r = 0, c = {
                x: 0,
                y: 0
              };
              try {
                r = PPPB_lib_1._.rand(0, replacableCards.length);
                c = replacableCards[r];
                this_1._cards[c.x][c.y] = PPPB_CardHelper_1.CardHelper.GetCardName(minCardName);
                sameCard[minCardName].push({
                  x: c.x,
                  y: c.y
                });
                var idx = sameCard[maxCardValue].indexOf(c);
                sameCard[maxCardValue].splice(idx, 1);
                hasWin = false;
                for (var cardV in sameCard) sameCard[cardV].length >= 8 && (hasWin = true);
              } catch (e) {
                console.error("fixed lose has failed to get the replaceable cards", {
                  replacableCards: replacableCards,
                  cards: this_1._cards,
                  r: r
                });
              }
            };
            var this_1 = this;
            while (hasWin) _loop_1();
          } else while (hasWin) {
            var max = 0;
            var maxCardValue = "";
            for (var cardV in sameCard) {
              var count = sameCard[cardV].length;
              if (count > max) {
                max = count;
                maxCardValue = cardV;
              }
            }
            var min = 31;
            var minCardName = "";
            for (var cardV in sameCard) {
              var count = sameCard[cardV].length;
              if (count < min) {
                min = count;
                minCardName = cardV;
              }
            }
            var r = PPPB_lib_1._.rand(0, sameCard[maxCardValue].length);
            var c = sameCard[maxCardValue][r];
            this._cards[c.x][c.y] = minCardName;
            sameCard[minCardName].push({
              x: c.x,
              y: c.y
            });
            sameCard[maxCardValue].splice(r, 1);
            hasWin = false;
            for (var cardV in sameCard) sameCard[cardV].length >= 8 && (hasWin = true);
          }
          cardNames = PPPB_lib_1._.copy(this._cards);
        }
        return cardNames;
      };
      GameServer.prototype.randCard = function(winCards, mustWin, mul) {
        void 0 === winCards && (winCards = []);
        void 0 === mustWin && (mustWin = false);
        void 0 === mul && (mul = true);
        var _a = this.gameConf, row = _a.row, col = _a.col;
        var replacePos = [];
        var scatterNum = 0;
        if (winCards.length > 0) {
          var wins = {};
          for (var i = 0; i < winCards.length; i++) {
            var e = winCards[i];
            wins[e.x] || (wins[e.x] = []);
            wins[e.x].push(e.y);
          }
          for (var key in wins) if (Object.prototype.hasOwnProperty.call(wins, key)) {
            var e = wins[key];
            var x = Number(key);
            var tmp = [];
            for (var i = 0; i < e.length; i++) {
              var canSpawnMul = this._spawnMulCondition(mul, x);
              tmp.push(this.randCol(1, canSpawnMul)[0]);
              replacePos[x] || (replacePos[x] = []);
              replacePos[x].push(tmp.length - 1);
            }
            for (var i = 0; i < this._cards[x].length; i++) -1 == e.indexOf(i) && tmp.push(this._cards[x][i]);
            this._cards[x] = tmp;
          }
        } else for (var x = 0; x < col; x++) {
          var canSpawnMul = this._spawnMulCondition(mul, x);
          this._cards[x] = this.randCol(row, canSpawnMul);
        }
        var canRandScaCol = [];
        for (var i = 0; i < col; i++) {
          var hasScatterCards = false;
          for (var j = 0; j < row; j++) {
            var v = this._cards[i][j];
            if (this.isScatterCard(v)) {
              scatterNum++;
              hasScatterCards = true;
              break;
            }
          }
          var canReplace = 0 == replacePos.length || replacePos[i];
          !hasScatterCards && canReplace && canRandScaCol.push(i);
        }
        var scaPro = this.proConf.scaPro[PPPB_lib_1._.limit(this._freeCount, 0, this.proConf.scaPro.length - 1)];
        var k = Number(this.getRandRangeKey(scaPro));
        mustWin && (k = Math.max(4, k));
        var rangeList = PPPB_lib_1._.rand(canRandScaCol, Math.max(k - scatterNum, 0));
        for (var _i = 0, rangeList_1 = rangeList; _i < rangeList_1.length; _i++) {
          var x = rangeList_1[_i];
          var y = PPPB_lib_1._.rand(replacePos[x] && replacePos[x].length > 0 ? replacePos[x].length : row);
          this._cards[x][y] = this.gameConf.scatterCard;
          scatterNum++;
        }
        var spin;
        false;
        var cards = [];
        for (var y = 0; y < col; y++) for (var x = 0; x < row; x++) {
          var v = this._cards[y][x];
          cards[y] || (cards[y] = []);
          if (!v) continue;
          cards[y][x] = PPPB_CardHelper_1.CardHelper.GetCardValue(v);
        }
        return {
          cards: cards,
          scatterNum: scatterNum
        };
      };
      GameServer.prototype.Spin = function(hasMul) {
        var _this = this;
        if (this.data.freeSpins > 0) {
          this.addFreeSpins(-1);
          this._isFreeGame = true;
          this._freeCount = 3;
        } else if (this.data.freeSpCout > 0 || this._buyFreeGame) {
          this._isFreeGame = false;
          this._freeCount = 0;
          this._totalWinGold = 0;
          this._freeMul = 1;
        } else {
          var bet = this.curBet;
          this.addBalance(-bet);
          this._isFreeGame = false;
          this._freeCount = 0;
          this._totalWinGold = 0;
          this._freeMul = 1;
          false;
        }
        var maxLimit = this.curBet * (this.extra ? PPPB_maxLimitConfig_1.doubleChanceMaxLimit : PPPB_maxLimitConfig_1.standardMaxLimit);
        var gainedFreeSpins = 0;
        var winning = 0;
        var ret = [];
        var forceGameEnd = false;
        var startFreeGame = false;
        var checkFunc = function(_winCards) {
          void 0 === _winCards && (_winCards = []);
          var mustWin = _this.freeSpCout > 0 && !_this._isFreeGame || _this._buyFreeGame;
          mustWin && _this.addFreeCount(-1);
          hasMul = hasMul || _this._isFreeGame;
          var cards = _this.FixedRandCard(_winCards, void 0, hasMul, mustWin).cards;
          var mul = 1;
          _this._freeMul = 1;
          var _a = _this.CheckCardWins(_this._cards), winCards = _a.winCards, winGold = _a.winGold;
          var freeGold = 0;
          if (winGold <= 0) {
            if (_winCards && _winCards.length > 0) {
              var result = _this.CheckMultiple(_this._cards, winning, _this._freeMul);
              winGold = result.winGold;
              mul = result.mul;
              _this._isFreeGame && (_this._freeMul = Math.max(_this._freeMul, mul));
              mul > 1 && (forceGameEnd = true);
            }
            var _b = _this.CheckScatterWin(_this._cards), scatterGold = _b.scatterGold, scatterNum = _b.scatterNum;
            freeGold = scatterGold;
            if (!_this._isFreeGame && scatterNum >= 4) {
              gainedFreeSpins = 10;
              _this.addFreeSpins(gainedFreeSpins);
              _this._freeCount++;
              startFreeGame = true;
            } else if (_this._isFreeGame && scatterNum >= 3) {
              gainedFreeSpins = 5;
              _this.addFreeSpins(gainedFreeSpins);
            }
          }
          winning += winGold;
          _this._totalWinGold += winGold;
          _this._totalWinGold += freeGold;
          if (_this._totalWinGold >= maxLimit) {
            _this._totalWinGold = maxLimit;
            _this.data.freeSpins = 0;
            startFreeGame = false;
            gainedFreeSpins = 0;
          }
          var reti = {
            cards: cards,
            freeSpins: _this.data.freeSpins,
            gainedFreeSpins: gainedFreeSpins,
            winGold: Number(winGold.toFixed(3)),
            tumbleWinGold: Number(winning.toFixed(3)),
            freeGold: freeGold,
            winCards: winCards.map(function(v) {
              return [ v.x, v.y ];
            }),
            mul: mul,
            freeMul: _this._freeMul,
            totalWinGold: Number(_this._totalWinGold.toFixed(3)),
            wonFreeSpins: startFreeGame
          };
          ret.push(reti);
          if (winGold > 0 && !startFreeGame && !forceGameEnd) {
            if (_this._totalWinGold > maxLimit) {
              forceGameEnd = true;
              console.warn("reach max limit");
            }
            checkFunc(winCards);
          } else _this.addBalance(_this._totalWinGold);
        };
        checkFunc();
        return ret;
      };
      GameServer.prototype.simulate = function(mustWin, hasMul) {
        this._buyFreeGame = mustWin;
        var ret = this.Spin(hasMul);
        var r = {
          combo: 0,
          mul: 0,
          wildNum: 0,
          cards: ret,
          freeSpins: 0
        };
        for (var i = 0; i < ret.length; ++i) {
          var winCards = ret[i].winCards;
          var cards = ret[i].cards;
          for (var _i = 0, winCards_1 = winCards; _i < winCards_1.length; _i++) {
            var v = winCards_1[_i];
            var c = this.getCardName(cards[v[0]][v[1]]);
            this.isWildCard(c) && r.wildNum++;
          }
          r.combo++;
          r.mul += ret[i].totalWinGold;
          r.freeSpins += ret[i].gainedFreeSpins;
        }
        return r;
      };
      GameServer.prototype.isSpecialCard = function(cardName) {
        return PPPB_CardHelper_1.CardHelper.IsSpecialCard(cardName);
      };
      GameServer.prototype.getSameValueCards = function(cards, isDeal) {
        void 0 === isDeal && (isDeal = true);
        var col = this.gameConf.col;
        var sameCard = {};
        for (var i = 0; i < col; i++) {
          var row = cards[i].length;
          for (var j = 0; j < row; j++) {
            var cardName = cards[i][j];
            if (!PPPB_CardHelper_1.CardHelper.IsSpecialCard(cardName)) {
              var cardV = this.getCardValue(cardName);
              sameCard[cardV] || (sameCard[cardV] = []);
              sameCard[cardV].push({
                x: i,
                y: j
              });
            }
          }
        }
        if (isDeal) for (var cardV in sameCard) {
          var v = sameCard[cardV];
          PPPB_CardHelper_1.CardHelper.IsScatter(Number(cardV)) ? v.length < 4 && delete sameCard[cardV] : v.length < 8 && delete sameCard[cardV];
        }
        return sameCard;
      };
      GameServer.prototype.CheckCardWins = function(cards) {
        var sameCard = this.getSameValueCards(cards);
        var winCards = [];
        var winGold = 0;
        for (var cardV in sameCard) {
          var v = sameCard[cardV];
          var count = v.length;
          var odds = this.getOdds(Number(cardV), count);
          winGold += this.getWinGold(odds);
        }
        var m = {};
        for (var cardV in sameCard) {
          var v = sameCard[cardV];
          for (var c in v) if (!m["" + v[c].x + v[c].y]) {
            winCards.push(v[c]);
            m["" + v[c].x + v[c].y] = 1;
          }
        }
        return {
          winCards: winCards,
          winGold: winGold
        };
      };
      GameServer.prototype.CheckMultiple = function(cards, winGold, mul) {
        var additionalMul = 0;
        for (var x = 0; x < this._cards.length; ++x) for (var y = 0; y < this._cards[x].length; ++y) PPPB_CardHelper_1.CardHelper.IsMultiplier(this._cards[x][y]) && (additionalMul += PPPB_CardHelper_1.CardHelper.GetMultiplierValue(this._cards[x][y]));
        if (0 == additionalMul) mul = 1; else {
          1 == mul && (mul = 0);
          mul += additionalMul;
        }
        return {
          winGold: winGold * (mul - 1),
          mul: mul
        };
      };
      GameServer.prototype.CheckScatterWin = function(cards) {
        var col = this.gameConf.col;
        var scatterCards = [];
        var count = 0;
        for (var x = 0; x < col; ++x) for (var y = 0; y < cards[x].length; ++y) if (this.isScatterCard(cards[x][y])) {
          ++count;
          scatterCards.push({
            x: x,
            y: y
          });
        }
        var odds = 20 * this.getOdds(this.cardConf["scatter"], count);
        var scatterGold = this._isFreeGame ? 0 : this.getWinGold(odds);
        return {
          scatterCards: scatterCards,
          scatterGold: scatterGold,
          scatterNum: count
        };
      };
      GameServer.prototype._spawnMulCondition = function(mul, x) {
        return mul;
      };
      GameServer.prototype.getOdds = function(cardValue, count) {
        if (this.OddsConf[cardValue]) {
          var odds = 0;
          for (var k in this.OddsConf[cardValue]) count >= Number(k) && (odds = this.OddsConf[cardValue][k]);
          return odds;
        }
        return 0;
      };
      GameServer.prototype.getWinGold = function(odds) {
        var baseSize = this.extra ? PPPB_betConfig_1.doubleChanceBaseSize : PPPB_betConfig_1.standardBaseSize;
        return this.curBet / baseSize * odds * this.curMul;
      };
      GameServer.prototype.getMulByConf = function() {
        return this._isFreeGame ? Number(this.getRandRangeKey(this.proConf.freeGameMulPro)) : Number(this.getRandRangeKey(this.proConf.normalGameMulPro));
      };
      GameServer.getAce = function(uid) {
        return __awaiter(this, void 0, Promise, function() {
          var ali;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_lib_1._.waiting(function() {
                return true == _this.isLoadConf;
              }, this) ];

             case 1:
              _a.sent();
              if (!!this._aceMap[uid]) return [ 3, 3 ];
              ali = new GameServer_1();
              return [ 4, ali.loadData(uid) ];

             case 2:
              _a.sent();
              this._aceMap[uid] = ali;
              _a.label = 3;

             case 3:
              return [ 2, this._aceMap[uid] ];
            }
          });
        });
      };
      GameServer.resetAce = function(uid) {
        return delete this._aceMap[uid];
      };
      GameServer.loadConf = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, _b, _c, _d, _e, _f;
          return __generator(this, function(_g) {
            switch (_g.label) {
             case 0:
              _a = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/betConf") ];

             case 1:
              _a._betConf = _g.sent();
              _b = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/cardConf") ];

             case 2:
              _b._cardConf = _g.sent();
              _c = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/gameConf") ];

             case 3:
              _c._gameConf = _g.sent();
              _d = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/mulConf") ];

             case 4:
              _d._mulConf = _g.sent();
              _e = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/oddsConf") ];

             case 5:
              _e._oddsConf = _g.sent();
              _f = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/probabilityConf") ];

             case 6:
              _f._probabilityConf = _g.sent();
              this.isLoadConf = true;
              return [ 2 ];
            }
          });
        });
      };
      GameServer.prototype.randFailCards = function(hasMul) {
        var _a = this.gameConf, row = _a.row, col = _a.col;
        var ret = [];
        for (var x = 0; x < col; x++) {
          var canSpawnMul = this._spawnMulCondition(hasMul, x);
          ret[x] = this.randCol(row, canSpawnMul);
        }
        var newPro = [];
        var ordPro = this.ctor2._ordinaryCard;
        var keys = Object.keys(ordPro);
        var _loop_2 = function(k_1) {
          var idx = ret[0].findIndex(function(i) {
            return i == ordPro[k_1];
          });
          idx < 0 && newPro.push(PPPB_lib_1._.copy(ordPro[k_1]));
        };
        for (var k_1 in keys) _loop_2(k_1);
        for (var y = 0; y < ret[1].length; ++y) ret[1][y] = PPPB_lib_1._.rand(newPro);
        var scaPro = this.proConf.scaPro[0];
        var k = PPPB_lib_1._.limit(Number(this.getRandRangeKey(scaPro)), 0, 3);
        for (var i = 0; i < k; i++) ret[PPPB_lib_1._.rand(0, col)][PPPB_lib_1._.rand(0, row)] = this.gameConf.scatterCard;
        var cards = [];
        for (var x = 0; x < col; x++) for (var y = 0; y < ret[x].length; y++) {
          var v = ret[x][y];
          cards[x] || (cards[x] = []);
          cards[x][y] = PPPB_CardHelper_1.CardHelper.GetCardValue(v);
        }
        return {
          cards: cards
        };
      };
      var GameServer_1;
      GameServer.template = template;
      GameServer._aceMap = {};
      GameServer.isLoadConf = false;
      GameServer._wildCard = [];
      GameServer._scatterCard = [];
      GameServer._ordinaryCard = [];
      GameServer._multiplierCard = [];
      GameServer._sId = 1e4;
      GameServer._isInitCard = false;
      GameServer._testData = null;
      GameServer = GameServer_1 = __decorate([ PPPB_event_1.EventClass ], GameServer);
      return GameServer;
    }(PPPB_slotBase_1.CSlotBase);
    exports.GameServer = GameServer;
    cc._RF.pop();
  }, {
    "../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../framework-cocos/PPPB-res": "PPPB-res",
    "../../framework-slot/PPPB-slotBase": "PPPB-slotBase",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../config/PPPB-maxLimitConfig": "PPPB-maxLimitConfig",
    "./PPPB-CardHelper": "PPPB-CardHelper"
  } ],
  "PPPB-GameViewAdaptHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "dd990VdMplNN6ieSaZdSmrv", "PPPB-GameViewAdaptHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var GameViewAdaptHelper = function(_super) {
      __extends(GameViewAdaptHelper, _super);
      function GameViewAdaptHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.panelAnimator = null;
        _this.isCompleteAnimation = false;
        _this.isPlayOnStart = false;
        _this.hasSpecialClips = false;
        return _this;
      }
      GameViewAdaptHelper.prototype.onLoaded = function() {
        if (this.panelAnimator) {
          var clips = this.panelAnimator.getClips();
          this._landScapeClip = clips[0].name;
          this._portraitClip = clips[1].name;
          clips[2] && PPPB_lib_1.cc1.sys.isMobile && this.hasSpecialClips && (this._landScapeClip = clips[2].name);
          this.isPlayOnStart && (PPPB_quick_1.ks.isLandscape ? this.panelAnimator.play(this._landScapeClip) : this.panelAnimator.play(this._portraitClip));
        }
      };
      GameViewAdaptHelper.prototype.$event_game_viewResize = function(landscape) {
        this.refresh(landscape);
      };
      GameViewAdaptHelper.prototype.refresh = function(isLandscape) {
        if (null == this.panelAnimator.currentClip) return;
        this.panelAnimator.currentClip.name != this._landScapeClip && this.panelAnimator.currentClip.name != this._portraitClip || (isLandscape ? PPPB_lib_1.cc1.sys.isMobile && PPPB_ui_1.ui.playAnimation(this, this._landScapeClip) : this._portraitClip && PPPB_lib_1.cc1.sys.isMobile && PPPB_ui_1.ui.playAnimation(this, this._portraitClip));
        this.isCompleteAnimation || this.panelAnimator.setCurrentTime(9999);
      };
      __decorate([ property(cc.Animation) ], GameViewAdaptHelper.prototype, "panelAnimator", void 0);
      __decorate([ property ], GameViewAdaptHelper.prototype, "isCompleteAnimation", void 0);
      __decorate([ property ], GameViewAdaptHelper.prototype, "isPlayOnStart", void 0);
      __decorate([ property ], GameViewAdaptHelper.prototype, "hasSpecialClips", void 0);
      GameViewAdaptHelper = __decorate([ ccclass ], GameViewAdaptHelper);
      return GameViewAdaptHelper;
    }(PPPB_UComponent_1.UComponent);
    exports.default = GameViewAdaptHelper;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-Helloworld": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "773711uUpFEq7w935+FbCU7", "PPPB-Helloworld");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var Helloworld = function(_super) {
      __extends(Helloworld, _super);
      function Helloworld() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.label = null;
        _this.text = "hello";
        return _this;
      }
      Helloworld.prototype.start = function() {
        this.label.string = this.text;
      };
      __decorate([ property(cc.Label) ], Helloworld.prototype, "label", void 0);
      __decorate([ property ], Helloworld.prototype, "text", void 0);
      Helloworld = __decorate([ ccclass ], Helloworld);
      return Helloworld;
    }(cc.Component);
    exports.default = Helloworld;
    cc._RF.pop();
  }, {} ],
  "PPPB-HistoryCard": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "17683YkErJNDZ0eMKDM8b2+", "PPPB-HistoryCard");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_CardHelper_1 = require("../../server/PPPB-CardHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var HistoryCard = function(_super) {
      __extends(HistoryCard, _super);
      function HistoryCard() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.sprite = null;
        _this.highlight = null;
        _this.mask = null;
        _this.label = null;
        _this._parent = null;
        _this._data = null;
        _this.animateHighlight = false;
        _this._animFunc = null;
        return _this;
      }
      HistoryCard.prototype.SetData = function(parent, data, height) {
        this._parent = parent;
        this._data = data;
        this.setSprite(data, height);
        this.setLabel(data);
      };
      HistoryCard.prototype.setSprite = function(data, height) {
        var spriteIdx = data.cardValue;
        spriteIdx >= PPPB_CardHelper_1.CardHelper.CardConf.x2 && (spriteIdx = PPPB_CardHelper_1.CardHelper.CardConf.x25 <= data.cardValue && data.cardValue <= PPPB_CardHelper_1.CardHelper.CardConf.x100 ? 13 : PPPB_CardHelper_1.CardHelper.CardConf.x8 <= data.cardValue && data.cardValue <= PPPB_CardHelper_1.CardHelper.CardConf.x20 ? 12 : 11);
        this._parent.SetCardSprite(this.sprite, spriteIdx, height, false);
      };
      HistoryCard.prototype.setLabel = function(data) {
        data.cardValue >= PPPB_CardHelper_1.CardHelper.CardConf.x2 ? this.label.string = PPPB_CardHelper_1.CardHelper.GetCardName(data.cardValue) : this.label.string = "";
      };
      HistoryCard.prototype.Highlight = function() {
        this.animateHighlight ? this._startAnimCard() : this._lightupCard();
      };
      HistoryCard.prototype.Reset = function() {
        this.animateHighlight ? this._resetAnimCard() : this._resetCard();
      };
      HistoryCard.prototype.Darken = function() {
        this.animateHighlight ? this._darkenAnimCard() : this._darkenCard;
      };
      HistoryCard.prototype._lightupCard = function() {
        this.mask.node.active = false;
        this.highlight.node.active = true;
      };
      HistoryCard.prototype._resetCard = function() {
        this.mask.node.active = false;
        this.highlight.node.active = false;
      };
      HistoryCard.prototype._darkenCard = function() {
        this.mask.node.active = true;
        this.highlight.node.active = false;
      };
      HistoryCard.prototype._startAnimCard = function() {
        var _this = this;
        this._animFunc && this.unschedule(this._animFunc);
        this._animFunc = function() {
          return __awaiter(_this, void 0, void 0, function() {
            var action;
            var _this = this;
            return __generator(this, function(_a) {
              action = PPPB_action_1.ACT(this.sprite.node);
              action.fadeOut(.5, cc.easeInOut(1)).act().then(function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, this.sleep(2500) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }).then(function() {
                return action.fadeIn(.5, cc.easeInOut(1)).act();
              });
              return [ 2 ];
            });
          });
        };
        this.schedule(this._animFunc, 6, cc.macro.REPEAT_FOREVER, 0);
      };
      HistoryCard.prototype._resetAnimCard = function() {
        this.unschedule(this._animFunc);
      };
      HistoryCard.prototype._darkenAnimCard = function() {
        this._resetAnimCard();
      };
      __decorate([ property(cc.Sprite) ], HistoryCard.prototype, "sprite", void 0);
      __decorate([ property(cc.Sprite) ], HistoryCard.prototype, "highlight", void 0);
      __decorate([ property(cc.Sprite) ], HistoryCard.prototype, "mask", void 0);
      __decorate([ property(cc.Label) ], HistoryCard.prototype, "label", void 0);
      HistoryCard = __decorate([ ccclass ], HistoryCard);
      return HistoryCard;
    }(PPPB_UComponent_1.UComponent);
    exports.default = HistoryCard;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../server/PPPB-CardHelper": "PPPB-CardHelper"
  } ],
  "PPPB-HistoryFreeGameSelectDetail": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b6b67wL5+JA6re7QbopQKdS", "PPPB-HistoryFreeGameSelectDetail");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.HistoryFreeGameSelectDetail = void 0;
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var HistoryFreeGameSelectDetail = function(_super) {
      __extends(HistoryFreeGameSelectDetail, _super);
      function HistoryFreeGameSelectDetail() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.list = null;
        _this.mysterySpins = null;
        _this.mysteryMultiplier = null;
        _this.selections = [];
        _this.multiplierTexts = [];
        return _this;
      }
      HistoryFreeGameSelectDetail.prototype.UpdateDetail = function(parent, data) {
        this.list.scale = PPPB_quick_1.ks.isLandscape ? 1 : .8;
        this.mysterySpins.string = data.mysterySpins;
        var mul = data.mysteryMultiplier;
        this.mysteryMultiplier.string = mul[0] + "x, " + mul[1] + "x, " + mul[2] + "x";
        if (data.choice >= 0) {
          this.selections[data.choice].node.active = true;
          this.multiplierTexts[data.choice].node.color = cc.Color.WHITE;
        } else {
          this.selections[6].node.active = true;
          this.multiplierTexts[6].node.color = cc.Color.WHITE;
        }
      };
      HistoryFreeGameSelectDetail.prototype.$event_game_viewResize = function(landscape) {
        this.list.scale = landscape ? 1 : .8;
      };
      __decorate([ property(cc.Node) ], HistoryFreeGameSelectDetail.prototype, "list", void 0);
      __decorate([ property(cc.Label) ], HistoryFreeGameSelectDetail.prototype, "mysterySpins", void 0);
      __decorate([ property(cc.Label) ], HistoryFreeGameSelectDetail.prototype, "mysteryMultiplier", void 0);
      __decorate([ property([ cc.Sprite ]) ], HistoryFreeGameSelectDetail.prototype, "selections", void 0);
      __decorate([ property([ cc.Label ]) ], HistoryFreeGameSelectDetail.prototype, "multiplierTexts", void 0);
      HistoryFreeGameSelectDetail = __decorate([ ccclass ], HistoryFreeGameSelectDetail);
      return HistoryFreeGameSelectDetail;
    }(PPPB_UComponent_1.UComponent);
    exports.HistoryFreeGameSelectDetail = HistoryFreeGameSelectDetail;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-HistoryGameBoard": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "63602FctUJOU5mrP3255BSv", "PPPB-HistoryGameBoard");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_BaseHistoryGameBoard_1 = require("../../../common/ui/bottomUI/PPPB-BaseHistoryGameBoard");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var HistoryGameBoard = function(_super) {
      __extends(HistoryGameBoard, _super);
      function HistoryGameBoard() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      HistoryGameBoard.prototype.UpdateMainBoard = function(spinData) {
        var cardData = spinData.cards;
        if (!cardData) {
          console.warn("Gameboard is missing card data");
          return;
        }
        for (var i = 0; i < cardData.length; ++i) {
          var height = 180 / cardData[i].length;
          for (var j = 0; j < cardData[i].length; ++j) {
            var cardValue = cardData[i][j];
            this._cs[i][j].SetData(this, {
              cardValue: cardValue
            }, height);
          }
          for (var j = cardData[i].length; j < this._cs[i].length; ++j) this._cs[i][j].node.active = false;
        }
      };
      HistoryGameBoard.prototype.UpdateSpecialCards = function(spinData) {
        var specialCards = spinData.specialCards;
        if (!specialCards) {
          this.specialLine.active = false;
          return;
        }
        this.specialLine.active = true;
        for (var i = 0; i < specialCards.length; ++i) {
          var cardValue = specialCards[i];
          this._scs[i].SetData(this, {
            cardValue: cardValue
          }, 45);
        }
      };
      HistoryGameBoard = __decorate([ ccclass ], HistoryGameBoard);
      return HistoryGameBoard;
    }(PPPB_BaseHistoryGameBoard_1.default);
    exports.default = HistoryGameBoard;
    cc._RF.pop();
  }, {
    "../../../common/ui/bottomUI/PPPB-BaseHistoryGameBoard": "PPPB-BaseHistoryGameBoard"
  } ],
  "PPPB-HistorySpinDetail": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d634drUFRBIZYFCqzZBymi2", "PPPB-HistorySpinDetail");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.HistorySpinDetail = void 0;
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_HistoryGameBoard_1 = require("./PPPB-HistoryGameBoard");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var localeSpinKeyMap = {
      Spin: "history.detail.spin",
      Tumbling: "history.detail.thumbling",
      FreeSpin: "history.detail.freespin"
    };
    var HistorySpinDetail = function(_super) {
      __extends(HistorySpinDetail, _super);
      function HistorySpinDetail() {
        var _this_1 = null !== _super && _super.apply(this, arguments) || this;
        _this_1.spinLabel = null;
        _this_1.buyFeatureLabel = null;
        _this_1.freeSpinCountLabel = null;
        _this_1.winAmountLabel = null;
        _this_1.winAmountGroup = null;
        _this_1.totalWinAmountLabel = null;
        _this_1.spinDescriptionLabel = null;
        _this_1.winPositionButton = null;
        _this_1.totalWinTooltipBtn = null;
        _this_1.totalWinTooltip = null;
        _this_1.gameBoard = null;
        return _this_1;
      }
      HistorySpinDetail.prototype.UpdateDetail = function(parent, data) {
        this.spinLabel.string = PPPB_language_1.language.getText(localeSpinKeyMap[data.spinType]);
        this.winAmountLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.winGold + data.freeGold);
        this.totalWinAmountLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.totalWinGold);
        this.freeSpinCountLabel.string = data.freeSpinCount > 0 ? data.freeSpinCount : "";
        this.gameBoard.SpinData = data;
        this.winPositionButton.node.active = data.winGold + data.freeGold > 0;
        this.buyFeatureLabel.node.active = data.buyFreeSpin;
        this.winAmountGroup.opacity = data.winGold > 0 || "Tumbling" != data.spinType ? 255 : 0;
        data.winGold > 0 && (this.gameBoard.HighlightWin = data.winCards);
        data.freeSpinWon > 0 ? this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.freeSpinWon").replace("{0}", data.freeSpinWon) : data.tumbleWinGold > 0 ? data.mul > 1 ? this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.totalMultiplierdesc").replace("{0}", data.mul) + "\n\n" + PPPB_language_1.language.getText("history.detail.tumbleWin").replace("{0}", PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold * data.mul) + " = " + PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold) + " x " + data.mul) : this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.tumbleWin").replace("{0}", PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold)) : this.spinDescriptionLabel.string = "";
        this.winPositionButton.node.on("click", function() {
          parent.displayWinPanel(data);
        });
        var tooltip = this.totalWinTooltip;
        var updateToolTipDisplay = function() {
          tooltip.active = data.totalWinBtnEnter || data.totalWinToolTipEnter;
        };
        this.totalWinTooltipBtn.node.on(cc.Node.EventType.MOUSE_ENTER, function() {
          data.totalWinBtnEnter = true;
          updateToolTipDisplay();
        });
        this.totalWinTooltipBtn.node.on(cc.Node.EventType.MOUSE_LEAVE, function() {
          data.totalWinBtnEnter = false;
          updateToolTipDisplay();
        });
        this.totalWinTooltip.on(cc.Node.EventType.MOUSE_ENTER, function() {
          data.totalWinToolTipEnter = true;
          updateToolTipDisplay();
        });
        this.totalWinTooltip.on(cc.Node.EventType.MOUSE_LEAVE, function() {
          data.totalWinToolTipEnter = false;
          updateToolTipDisplay();
        });
        var _this = this;
        PPPB_event_1.Events.on("setLanguage", function() {
          _this.spinLabel.string = PPPB_language_1.language.getText(localeSpinKeyMap[data.spinType]);
          data.freeSpinWon > 0 ? _this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.freeSpinWon").replace("{0}", data.freeSpinWon) : data.tumbleWinGold > 0 && (data.mul > 1 ? _this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.totalMultiplierdesc").replace("{0}", data.mul) + "\n\n" + PPPB_language_1.language.getText("history.detail.tumbleWin").replace("{0}", PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold * data.mul) + " = " + PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold) + " x " + data.mul) : _this.spinDescriptionLabel.string = PPPB_language_1.language.getText("history.detail.tumbleWin").replace("{0}", PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.tumbleWinGold)));
        });
      };
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "spinLabel", void 0);
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "buyFeatureLabel", void 0);
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "freeSpinCountLabel", void 0);
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "winAmountLabel", void 0);
      __decorate([ property(cc.Node) ], HistorySpinDetail.prototype, "winAmountGroup", void 0);
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "totalWinAmountLabel", void 0);
      __decorate([ property(cc.Label) ], HistorySpinDetail.prototype, "spinDescriptionLabel", void 0);
      __decorate([ property(cc.Button) ], HistorySpinDetail.prototype, "winPositionButton", void 0);
      __decorate([ property(cc.Button) ], HistorySpinDetail.prototype, "totalWinTooltipBtn", void 0);
      __decorate([ property(cc.Node) ], HistorySpinDetail.prototype, "totalWinTooltip", void 0);
      __decorate([ property(PPPB_HistoryGameBoard_1.default) ], HistorySpinDetail.prototype, "gameBoard", void 0);
      HistorySpinDetail = __decorate([ ccclass ], HistorySpinDetail);
      return HistorySpinDetail;
    }(PPPB_UComponent_1.UComponent);
    exports.HistorySpinDetail = HistorySpinDetail;
    cc._RF.pop();
  }, {
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "./PPPB-HistoryGameBoard": "PPPB-HistoryGameBoard"
  } ],
  "PPPB-HtmlParser": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6d65cdlFtVP85iTreHrdxXp", "PPPB-HtmlParser");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.HtmlTextParser = void 0;
    var eventRegx = /^(click)(\s)*=|(param)(\s)*=/;
    var imageAttrReg = /(\s)*src(\s)*=|(\s)*height(\s)*=|(\s)*width(\s)*=|(\s)*align(\s)*=|(\s)*offset(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
    var HtmlTextParser = function() {
      function HtmlTextParser() {
        this._specialSymbolArray = [];
        this._stack = [];
        this._resultObjectArray = [];
        this._specialSymbolArray.push([ /&lt;/g, "<" ]);
        this._specialSymbolArray.push([ /&gt;/g, ">" ]);
        this._specialSymbolArray.push([ /&amp;/g, "&" ]);
        this._specialSymbolArray.push([ /&quot;/g, '"' ]);
        this._specialSymbolArray.push([ /&apos;/g, "'" ]);
        this._specialSymbolArray.push([ /&nbsp;/g, " " ]);
      }
      HtmlTextParser.prototype.parse = function(htmlString) {
        this._resultObjectArray.length = 0;
        this._stack.length = 0;
        var startIndex = 0;
        var length = htmlString.length;
        while (startIndex < length) {
          var tagEndIndex = htmlString.indexOf(">", startIndex);
          var tagBeginIndex = -1;
          if (tagEndIndex >= 0) {
            tagBeginIndex = htmlString.lastIndexOf("<", tagEndIndex);
            var noTagBegin = tagBeginIndex < startIndex - 1;
            if (noTagBegin) {
              tagBeginIndex = htmlString.indexOf("<", tagEndIndex + 1);
              tagEndIndex = htmlString.indexOf(">", tagBeginIndex + 1);
            }
          }
          if (tagBeginIndex < 0) {
            this._stack.pop();
            this._processResult(htmlString.substring(startIndex));
            startIndex = length;
          } else {
            var newStr = htmlString.substring(startIndex, tagBeginIndex);
            var tagStr = htmlString.substring(tagBeginIndex + 1, tagEndIndex);
            "" === tagStr && (newStr = htmlString.substring(startIndex, tagEndIndex + 1));
            this._processResult(newStr);
            -1 === tagEndIndex ? tagEndIndex = tagBeginIndex : "/" === htmlString.charAt(tagBeginIndex + 1) ? this._stack.pop() : this._addToStack(tagStr);
            startIndex = tagEndIndex + 1;
          }
        }
        return this._resultObjectArray;
      };
      HtmlTextParser.prototype._attributeToObject = function(attribute) {
        attribute = attribute.trim();
        var obj = {};
        var header = /^(color|size)(\s)*=/.exec(attribute);
        var tagName = "";
        var nextSpace = 0;
        var eventHanlderString = "";
        if (header) {
          tagName = header[0];
          attribute = attribute.substring(tagName.length).trim();
          if ("" === attribute) return obj;
          nextSpace = attribute.indexOf(" ");
          switch (tagName[0]) {
           case "c":
            obj.color = nextSpace > -1 ? attribute.substring(0, nextSpace).trim() : attribute;
            break;

           case "s":
            obj.size = parseInt(attribute);
          }
          if (nextSpace > -1) {
            eventHanlderString = attribute.substring(nextSpace + 1).trim();
            obj.event = this._processEventHandler(eventHanlderString);
          }
          return obj;
        }
        header = /^(br(\s)*\/)/.exec(attribute);
        if (header && header[0].length > 0) {
          tagName = header[0].trim();
          if (tagName.startsWith("br") && "/" === tagName[tagName.length - 1]) {
            obj.isNewLine = true;
            this._resultObjectArray.push({
              text: "",
              style: {
                isNewLine: true
              }
            });
            return obj;
          }
        }
        header = /^(img(\s)*src(\s)*=[^>]+\/)/.exec(attribute);
        var remainingArgument = "";
        var rightQuot = -1;
        if (header && header[0].length > 0) {
          tagName = header[0].trim();
          if (tagName.startsWith("img") && "/" === tagName[tagName.length - 1]) {
            header = imageAttrReg.exec(attribute);
            var tagValue = void 0;
            var isValidImageTag = false;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              var originTagNameLength = tagName.length;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLowerCase();
              remainingArgument = attribute.substring(originTagNameLength).trim();
              rightQuot = "src" === tagName ? this.getRightQuotationIndex(remainingArgument) : -1;
              nextSpace = remainingArgument.indexOf(" ", rightQuot + 1 >= remainingArgument.length ? -1 : rightQuot + 1);
              tagValue = nextSpace > -1 ? remainingArgument.substr(0, nextSpace) : remainingArgument;
              attribute = remainingArgument.substring(nextSpace).trim();
              tagValue.endsWith("/") && (tagValue = tagValue.slice(0, -1));
              if ("src" === tagName) {
                switch (tagValue.charCodeAt(0)) {
                 case 34:
                 case 39:
                  isValidImageTag = true;
                  tagValue = tagValue.slice(1, -1);
                }
                obj.isImage = true;
                obj.src = tagValue;
              } else if ("height" === tagName) obj.imageHeight = parseInt(tagValue); else if ("width" === tagName) obj.imageWidth = parseInt(tagValue); else if ("align" === tagName) {
                switch (tagValue.charCodeAt(0)) {
                 case 34:
                 case 39:
                  tagValue = tagValue.slice(1, -1);
                }
                obj.imageAlign = tagValue.toLowerCase();
              } else "offset" === tagName ? obj.imageOffset = tagValue : "click" === tagName && (obj.event = this._processEventHandler(tagName + "=" + tagValue));
              obj.event && "param" === tagName && (obj.event[tagName] = tagValue.replace(/^"|"$/g, ""));
              header = imageAttrReg.exec(attribute);
            }
            isValidImageTag && obj.isImage && this._resultObjectArray.push({
              text: "",
              style: obj
            });
            return {};
          }
        }
        header = /^(cg(\s)*[^>]*)/.exec(attribute);
        if (header) {
          attribute = header[0].substring("cg".length).trim();
          var defaultColorGradientObject = {
            lb: "#ffffff",
            rb: "#ffffff",
            lt: "#ffffff",
            rt: "#ffffff"
          };
          if (attribute) {
            var colorGradientAttrReg = /(\s)*lb(\s)*=|(\s)*rb(\s)*=|(\s)*lt(\s)*=|(\s)*rt(\s)*=/;
            header = colorGradientAttrReg.exec(attribute);
            var tagValue = void 0;
            var remainingArgument_1;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              remainingArgument_1 = attribute.substring(tagName.length).trim();
              nextSpace = remainingArgument_1.indexOf(" ");
              tagValue = nextSpace > -1 ? remainingArgument_1.substr(0, nextSpace) : remainingArgument_1;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLocaleLowerCase();
              attribute = remainingArgument_1.substring(nextSpace).trim();
              "lb" === tagName ? defaultColorGradientObject.lb = tagValue : "rb" === tagName ? defaultColorGradientObject.rb = tagValue : "lt" === tagName ? defaultColorGradientObject.lt = tagValue : "rt" === tagName && (defaultColorGradientObject.rt = tagValue);
              header = colorGradientAttrReg.exec(attribute);
            }
          }
          obj.colorGradient = defaultColorGradientObject;
        }
        header = /^(face(\s)*[^>]*)/.exec(attribute);
        if (header) {
          attribute = header[0].substring("face".length).trim();
          var defaultFaceObject = {
            color: "#ffffff",
            dilate: .5,
            softness: .01
          };
          if (attribute) {
            var faceAttrReg = /(\s)*color(\s)*=|(\s)*dilate(\s)*=|(\s)*softness(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
            header = faceAttrReg.exec(attribute);
            var tagValue = void 0;
            var remainingArgument_2;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              remainingArgument_2 = attribute.substring(tagName.length).trim();
              nextSpace = remainingArgument_2.indexOf(" ");
              tagValue = nextSpace > -1 ? remainingArgument_2.substr(0, nextSpace) : remainingArgument_2;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLocaleLowerCase();
              attribute = remainingArgument_2.substring(nextSpace).trim();
              "click" === tagName ? obj.event = this._processEventHandler(tagName + "=" + tagValue) : "color" === tagName ? defaultFaceObject.color = tagValue : "dilate" === tagName ? defaultFaceObject.dilate = Number(tagValue) : "softness" === tagName && (defaultFaceObject.softness = Number(tagValue));
              obj.event && "param" === tagName && (obj.event.param = tagValue.replace(/^\"|\"$/g, ""));
              header = faceAttrReg.exec(attribute);
            }
          }
          obj.face = defaultFaceObject;
        }
        header = /^(outline(\s)*[^>]*)/.exec(attribute);
        if (header) {
          attribute = header[0].substring("outline".length).trim();
          var defaultOutlineObject = {
            color: "#ffffff",
            thickness: .1
          };
          if (attribute) {
            var outlineAttrReg = /(\s)*color(\s)*=|(\s)*thickness(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
            header = outlineAttrReg.exec(attribute);
            var tagValue = void 0;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              remainingArgument = attribute.substring(tagName.length).trim();
              nextSpace = remainingArgument.indexOf(" ");
              tagValue = nextSpace > -1 ? remainingArgument.substr(0, nextSpace) : remainingArgument;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLowerCase();
              attribute = remainingArgument.substring(nextSpace).trim();
              "click" === tagName ? obj.event = this._processEventHandler(tagName + "=" + tagValue) : "color" === tagName ? defaultOutlineObject.color = tagValue : "thickness" === tagName && (defaultOutlineObject.thickness = Number(tagValue));
              obj.event && "param" === tagName && (obj.event[tagName] = tagValue.replace(/^"|"$/g, ""));
              header = outlineAttrReg.exec(attribute);
            }
          }
          obj.outline = defaultOutlineObject;
        }
        header = /^(underlay(\s)*[^>]*)/.exec(attribute);
        if (header) {
          attribute = header[0].substring("underlay".length).trim();
          var defaultUnderlayObject = {
            color: "#ffffff",
            x: 0,
            y: 0,
            dilate: .5,
            softness: .1
          };
          if (attribute) {
            var underlayAttrReg = /(\s)*color(\s)*=|(\s)*x(\s)*=|(\s)*y(\s)*=|(\s)*dilate(\s)*=|(\s)*softness(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
            header = underlayAttrReg.exec(attribute);
            var tagValue = void 0;
            var remainingArgument_3;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              remainingArgument_3 = attribute.substring(tagName.length).trim();
              nextSpace = remainingArgument_3.indexOf(" ");
              tagValue = nextSpace > -1 ? remainingArgument_3.substr(0, nextSpace) : remainingArgument_3;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLocaleLowerCase();
              attribute = remainingArgument_3.substring(nextSpace).trim();
              "click" === tagName ? obj.event = this._processEventHandler(tagName + "=" + tagValue) : "color" === tagName ? defaultUnderlayObject.color = tagValue : "dilate" === tagName ? defaultUnderlayObject.dilate = Number(tagValue) : "softness" === tagName ? defaultUnderlayObject.softness = Number(tagValue) : "x" === tagName ? defaultUnderlayObject.x = Number(tagValue) : "y" === tagName && (defaultUnderlayObject.y = Number(tagValue));
              obj.event && "param" === tagName && (obj.event.param = tagValue.replace(/^\"|\"$/g, ""));
              header = underlayAttrReg.exec(attribute);
            }
          }
          obj.underlay = defaultUnderlayObject;
        }
        header = /^(glow(\s)*[^>]*)/.exec(attribute);
        if (header) {
          attribute = header[0].substring("glow".length).trim();
          var defaultGlowObject = {
            color: "#000000",
            offset: .5,
            inner: .01,
            outer: .01,
            power: 1
          };
          if (attribute) {
            var glowAttrReg = /(\s)*color(\s)*=|(\s)*offset(\s)*=|(\s)*inner(\s)*=|(\s)*outer(\s)*=|(\s)*power(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
            header = glowAttrReg.exec(attribute);
            var tagValue = void 0;
            var remainingArgument_4;
            while (header) {
              attribute = attribute.substring(attribute.indexOf(header[0]));
              tagName = attribute.substr(0, header[0].length);
              remainingArgument_4 = attribute.substring(tagName.length).trim();
              nextSpace = remainingArgument_4.indexOf(" ");
              tagValue = nextSpace > -1 ? remainingArgument_4.substr(0, nextSpace) : remainingArgument_4;
              tagName = tagName.replace(/[^a-zA-Z]/g, "").trim();
              tagName = tagName.toLocaleLowerCase();
              attribute = remainingArgument_4.substring(nextSpace).trim();
              "click" === tagName ? obj.event = this._processEventHandler(tagName + "=" + tagValue) : "color" === tagName ? defaultGlowObject.color = tagValue : "offset" === tagName ? defaultGlowObject.offset = Number(tagValue) : "inner" === tagName ? defaultGlowObject.inner = Number(tagValue) : "outer" === tagName ? defaultGlowObject.outer = Number(tagValue) : "power" === tagName && (defaultGlowObject.power = Number(tagValue));
              obj.event && "param" === tagName && (obj.event.param = tagValue.replace(/^\"|\"$/g, ""));
              header = glowAttrReg.exec(attribute);
            }
          }
          obj.glow = defaultGlowObject;
        }
        header = /^(on|u|s|b|i)(\s)*/.exec(attribute);
        if (header && header[0].length > 0) {
          tagName = header[0];
          attribute = attribute.substring(tagName.length).trim();
          switch (tagName[0]) {
           case "u":
            obj.underline = true;
            obj.offset = "=" === attribute[0] ? Number(attribute.slice(1)) : 0;
            break;

           case "s":
            obj.strikethrough = true;
            obj.offset = "=" === attribute[0] ? Number(attribute.slice(1)) : 0;
            break;

           case "i":
            obj.italic = true;
            break;

           case "b":
            obj.bold = true;
          }
          if ("" === attribute) return obj;
          obj.event = this._processEventHandler(attribute);
        }
        return obj;
      };
      HtmlTextParser.prototype.getRightQuotationIndex = function(remainingArgument) {
        var leftQuot = -1;
        var rightQuot = -1;
        var leftSingleQuot = remainingArgument.indexOf("'");
        var leftDoubleQuot = remainingArgument.indexOf('"');
        var useSingleQuot = leftSingleQuot > -1 && (leftSingleQuot < leftDoubleQuot || -1 === leftDoubleQuot);
        var useDoubleQuot = leftDoubleQuot > -1 && (leftDoubleQuot < leftSingleQuot || -1 === leftSingleQuot);
        if (useSingleQuot) {
          leftQuot = leftSingleQuot;
          rightQuot = remainingArgument.indexOf("'", leftQuot + 1 >= remainingArgument.length ? -1 : leftQuot + 1);
        } else if (useDoubleQuot) {
          leftQuot = leftDoubleQuot;
          rightQuot = remainingArgument.indexOf('"', leftQuot + 1 >= remainingArgument.length ? -1 : leftQuot + 1);
        }
        return rightQuot;
      };
      HtmlTextParser.prototype._processEventHandler = function(eventString) {
        var obj = {};
        var index = 0;
        var isValidTag = false;
        var eventNames = eventRegx.exec(eventString);
        while (eventNames) {
          var eventName = eventNames[0];
          var eventValue = "";
          isValidTag = false;
          eventString = eventString.substring(eventName.length).trim();
          if ('"' === eventString.charAt(0)) {
            index = eventString.indexOf('"', 1);
            if (index > -1) {
              eventValue = eventString.substring(1, index).trim();
              isValidTag = true;
            }
            index++;
          } else if ("'" === eventString.charAt(0)) {
            index = eventString.indexOf("'", 1);
            if (index > -1) {
              eventValue = eventString.substring(1, index).trim();
              isValidTag = true;
            }
            index++;
          } else {
            var match = /(\S)+/.exec(eventString);
            eventValue = match ? match[0] : "";
            index = eventValue.length;
          }
          if (isValidTag) {
            eventName = eventName.substring(0, eventName.length - 1).trim();
            obj[eventName] = eventValue;
          }
          eventString = eventString.substring(index).trim();
          eventNames = eventRegx.exec(eventString);
        }
        return obj;
      };
      HtmlTextParser.prototype._addToStack = function(attribute) {
        var obj = this._attributeToObject(attribute);
        if (0 === this._stack.length) this._stack.push(obj); else {
          if (obj.isNewLine || obj.isImage) return;
          var previousTagObj = this._stack[this._stack.length - 1];
          for (var key in previousTagObj) obj[key] || (obj[key] = previousTagObj[key]);
          this._stack.push(obj);
        }
      };
      HtmlTextParser.prototype._processResult = function(value) {
        if (0 === value.length) return;
        value = this._escapeSpecialSymbol(value);
        this._stack.length > 0 ? this._resultObjectArray.push({
          text: value,
          style: this._stack[this._stack.length - 1]
        }) : this._resultObjectArray.push({
          text: value
        });
      };
      HtmlTextParser.prototype._escapeSpecialSymbol = function(str) {
        for (var _i = 0, _a = this._specialSymbolArray; _i < _a.length; _i++) {
          var symbolArr = _a[_i];
          var key = symbolArr[0];
          var value = symbolArr[1];
          str = str.replace(key, value);
        }
        return str;
      };
      return HtmlTextParser;
    }();
    exports.HtmlTextParser = HtmlTextParser;
    cc._RF.pop();
  }, {} ],
  "PPPB-JsonOutputParser": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c9145ipJqFJTZ1VzJ7AhQ/h", "PPPB-JsonOutputParser");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var PPPB_res_1 = require("../../framework-cocos/PPPB-res");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_languageData_1 = require("../../game/config/PPPB-languageData");
    var JsonOutputParser = function(_super) {
      __extends(JsonOutputParser, _super);
      function JsonOutputParser() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      JsonOutputParser.prototype.start = function() {};
      JsonOutputParser.prototype.TransferJsonContent = function() {
        return __awaiter(this, void 0, void 0, function() {
          var tempObj, mapObj, _i, _a, keys;
          return __generator(this, function(_b) {
            tempObj = {};
            mapObj = {};
            for (_i = 0, _a = PPPB_lib_1._.keys(PPPB_languageData_1.languageData.text); _i < _a.length; _i++) {
              keys = _a[_i];
              PPPB_languageData_1.languageData.text[keys].kh = PPPB_languageData_1.languageData.text[keys].en;
              PPPB_languageData_1.languageData.text[keys].mm = PPPB_languageData_1.languageData.text[keys].en;
            }
            console.log("printing result");
            console.log(PPPB_languageData_1.languageData.text);
            return [ 2 ];
          });
        });
      };
      JsonOutputParser.prototype.ParseJson = function(isParseGUIJsons) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            console.log("unused");
            return [ 2 ];
          });
        });
      };
      JsonOutputParser.prototype.ParseJsonTest = function() {
        return __awaiter(this, void 0, void 0, function() {
          var jsonList, oldContentMapArr, textObjArr, oldContentFileIDMapArr, fileIdOObjArr, dupeMap, oldContentCount, textObjCount, finalMap, englishLangMap, fileIDMap, newMap, _i, jsonList_1, jsonName, jsonSplitArr, jsonFileName, jsonLang, platformName, json, _a, _b, labelData, splitArr, finalKey, idx, _c, _d, childObjects, _e, _f, childComponent, keytoMatch, englishText, newMapKey, finalIdx, dupeEngMap, sortedArray, _g, sortedArray_1, key, platform, englishKey, keyLength, i, oldKey, finalKey, _h, _j, langKeys;
          return __generator(this, function(_k) {
            switch (_k.label) {
             case 0:
              console.log("Begin JSONParser Test");
              jsonList = PPPB_res_1.res.getDirWithPath(PPPB_res_1.res.URL("config/locale"), void 0);
              oldContentMapArr = {};
              textObjArr = {};
              oldContentFileIDMapArr = {};
              fileIdOObjArr = {};
              dupeMap = {};
              oldContentCount = 0;
              textObjCount = 0;
              finalMap = {};
              englishLangMap = {};
              fileIDMap = {};
              newMap = {};
              _i = 0, jsonList_1 = jsonList;
              _k.label = 1;

             case 1:
              if (!(_i < jsonList_1.length)) return [ 3, 4 ];
              jsonName = jsonList_1[_i];
              jsonSplitArr = jsonName.split("/");
              jsonFileName = jsonSplitArr[jsonSplitArr.length - 1];
              jsonLang = jsonFileName.split("_")[0];
              platformName = jsonFileName.includes("desktop") ? "web" : "mobile";
              switch (jsonLang) {
               case "vi":
                jsonLang = "vn";
                break;

               case "th":
                jsonLang = "thai";
                break;

               case "zt":
                jsonLang = "zh";
              }
              return [ 4, PPPB_res_1.res.loadJson("config/locale/" + jsonFileName) ];

             case 2:
              json = _k.sent();
              if (json) {
                console.log("loaded json " + jsonFileName + " of language " + jsonLang);
                for (_a = 0, _b = json.resources[0].data.root[0].components[1].serializableData.Labels; _a < _b.length; _a++) {
                  labelData = _b[_a];
                  splitArr = labelData.serializableData.path.split("/");
                  finalKey = labelData.serializableData.path.replace("/", "");
                  oldContentMapArr[finalKey] ? oldContentMapArr[finalKey] != labelData.serializableData.oldContent : oldContentMapArr[finalKey] = labelData.serializableData.oldContent;
                  englishLangMap[labelData.serializableData.oldContent] || (englishLangMap[labelData.serializableData.oldContent] = 1);
                  oldContentFileIDMapArr[labelData.serializableData.newContent.fileID] = {};
                  oldContentFileIDMapArr[labelData.serializableData.newContent.fileID]["en"] = labelData.serializableData.oldContent;
                  fileIDMap[labelData.serializableData.newContent.fileID] = labelData.serializableData.oldContent;
                }
                idx = 1;
                for (_c = 0, _d = json.resources[0].data.root; _c < _d.length; _c++) {
                  childObjects = _d[_c];
                  for (_e = 0, _f = childObjects.components; _e < _f.length; _e++) {
                    childComponent = _f[_e];
                    if ("UILabel" == childComponent.componentType) {
                      keytoMatch = childObjects.name.replace("/", "");
                      if (fileIDMap[childComponent.fileID]) {
                        englishText = oldContentFileIDMapArr[childComponent.fileID]["en"];
                        if (englishLangMap[englishText]) {
                          newMapKey = englishText + "_" + keytoMatch + "_" + platformName;
                          newMap[newMapKey] || (newMap[newMapKey] = {});
                          newMap[newMapKey]["en"] = englishText;
                          newMap[newMapKey]["kh"] = englishText;
                          newMap[newMapKey]["mm"] = englishText;
                          newMap[newMapKey][jsonLang] = childComponent.serializableData._text;
                        } else console.log(" ================= CANNOOT FIND ENGLISH TEXT " + englishText);
                      }
                    }
                  }
                }
              } else console.log("failed to load json");
              _k.label = 3;

             case 3:
              _i++;
              return [ 3, 1 ];

             case 4:
              finalIdx = 0;
              finalMap = {};
              dupeEngMap = {};
              sortedArray = PPPB_lib_1._.keys(newMap).sort(function(n1, n2) {
                if (n1 > n2) return 1;
                if (n1 < n2) return -1;
                return 0;
              });
              for (_g = 0, sortedArray_1 = sortedArray; _g < sortedArray_1.length; _g++) {
                key = sortedArray_1[_g];
                platform = key.includes("web") ? "web" : "mobile";
                if (newMap[key]["en"]) {
                  englishKey = "";
                  keyLength = newMap[key]["en"].split(" ");
                  for (i = 0; i < 4; i++) keyLength[i] && (englishKey += keyLength[i]);
                  englishKey = englishKey.replace("\n", "");
                  englishKey = this.removeSpecialChars(englishKey);
                  englishKey = englishKey.replace(/\s/g, "");
                  dupeEngMap[platform] || (dupeEngMap[platform] = {});
                  if (dupeEngMap[platform][englishKey]) {
                    oldKey = englishKey;
                    englishKey = englishKey + "_" + dupeEngMap[platform][oldKey];
                    dupeEngMap[platform][oldKey]++;
                  } else dupeEngMap[platform][englishKey] = 2;
                  finalKey = "label_" + platform + "." + englishKey;
                  finalMap[finalKey] = {};
                  for (_h = 0, _j = PPPB_lib_1._.keys(newMap[key]); _h < _j.length; _h++) {
                    langKeys = _j[_h];
                    finalMap[finalKey][langKeys] = newMap[key][langKeys];
                  }
                }
              }
              console.log(JSON.stringify(finalMap));
              return [ 2 ];
            }
          });
        });
      };
      JsonOutputParser.prototype.ParseJsonTestByPath = function() {
        return __awaiter(this, void 0, void 0, function() {
          var jsonList, oldContentMapArr, textObjArr, oldContentFileIDMapArr, fileIdOObjArr, dupeMap, oldContentCount, textObjCount, finalMap, englishLangMap, fileIDMap, allPathsArr, uniqueFontsFound, allFontsFound, _i, jsonList_2, jsonName, jsonSplitArr, jsonFileName, jsonLang, platformName, json, path, subPath, fileIDtoPathMap, _a, _b, labelData, oldContentDataPath, idx, _c, _d, childObjects, _e, _f, childComponent, matchingPath, finalIdx, dupeEngMap, sortedArray, _g, sortedArray_2, key, platform, englishKey, keyLength, i, oldKey, finalKey, _h, _j, langKeys, _k, _l, langKeys, _m, _o, s;
          return __generator(this, function(_p) {
            switch (_p.label) {
             case 0:
              console.log("Begin JSONParser Test");
              jsonList = PPPB_res_1.res.getDirWithPath(PPPB_res_1.res.URL("config/locale"), void 0);
              oldContentMapArr = {};
              textObjArr = {};
              oldContentFileIDMapArr = {};
              fileIdOObjArr = {};
              dupeMap = {};
              oldContentCount = 0;
              textObjCount = 0;
              finalMap = {};
              englishLangMap = {};
              fileIDMap = {};
              allPathsArr = {};
              uniqueFontsFound = {};
              allFontsFound = {};
              _i = 0, jsonList_2 = jsonList;
              _p.label = 1;

             case 1:
              if (!(_i < jsonList_2.length)) return [ 3, 4 ];
              jsonName = jsonList_2[_i];
              jsonSplitArr = jsonName.split("/");
              jsonFileName = jsonSplitArr[jsonSplitArr.length - 1];
              jsonLang = jsonFileName.split("_")[0];
              platformName = jsonFileName.includes("desktop") ? "web" : "mobile";
              switch (jsonLang) {
               case "vi":
                jsonLang = "vn";
                break;

               case "th":
                jsonLang = "thai";
                break;

               case "zt":
                jsonLang = "zh";
              }
              return [ 4, PPPB_res_1.res.loadJson("config/locale/" + jsonFileName) ];

             case 2:
              json = _p.sent();
              if (json) {
                console.log("loaded json " + jsonFileName + " of language " + jsonLang);
                path = json.resources[1].data.path;
                subPath = path.substring(path.indexOf("base64") + 7, path.indexOf("')"));
                if (!uniqueFontsFound[subPath]) {
                  uniqueFontsFound[subPath] = 1;
                  allFontsFound[jsonLang] || (allFontsFound[jsonLang] = []);
                  allFontsFound[jsonLang].push(subPath);
                }
                fileIDMap = {};
                fileIDtoPathMap = {};
                for (_a = 0, _b = json.resources[0].data.root[0].components[1].serializableData.Labels; _a < _b.length; _a++) {
                  labelData = _b[_a];
                  oldContentDataPath = labelData.serializableData.path + "_" + platformName;
                  if (!allPathsArr[oldContentDataPath]) {
                    allPathsArr[oldContentDataPath] = {};
                    allPathsArr[oldContentDataPath]["en"] = labelData.serializableData.oldContent;
                    allPathsArr[oldContentDataPath]["kh"] = labelData.serializableData.oldContent;
                    allPathsArr[oldContentDataPath]["mm"] = labelData.serializableData.oldContent;
                  }
                  fileIDMap[labelData.serializableData.newContent.fileID] = 1;
                  fileIDtoPathMap[labelData.serializableData.newContent.fileID] = labelData.serializableData.path;
                }
                idx = 1;
                for (_c = 0, _d = json.resources[0].data.root; _c < _d.length; _c++) {
                  childObjects = _d[_c];
                  for (_e = 0, _f = childObjects.components; _e < _f.length; _e++) {
                    childComponent = _f[_e];
                    if ("UILabel" == childComponent.componentType && fileIDMap[childComponent.fileID]) {
                      matchingPath = fileIDtoPathMap[childComponent.fileID] + "_" + platformName;
                      allPathsArr[matchingPath][jsonLang] = childComponent.serializableData._text;
                    }
                  }
                }
              } else console.log("failed to load json");
              _p.label = 3;

             case 3:
              _i++;
              return [ 3, 1 ];

             case 4:
              finalIdx = 0;
              finalMap = {};
              dupeEngMap = {};
              sortedArray = PPPB_lib_1._.keys(allPathsArr).sort(function(n1, n2) {
                if (allPathsArr[n1]["en"] > allPathsArr[n2]["en"]) return 1;
                if (allPathsArr[n1]["en"] < allPathsArr[n2]["en"]) return -1;
                return 0;
              });
              for (_g = 0, sortedArray_2 = sortedArray; _g < sortedArray_2.length; _g++) {
                key = sortedArray_2[_g];
                platform = key.includes("web") ? "web" : "mobile";
                if (allPathsArr[key]["en"]) {
                  englishKey = "";
                  keyLength = allPathsArr[key]["en"].split(" ");
                  for (i = 0; i < 4; i++) keyLength[i] && (englishKey += keyLength[i]);
                  englishKey = englishKey.replace("\n", "");
                  englishKey = this.removeSpecialChars(englishKey);
                  englishKey = englishKey.replace(/\s/g, "");
                  dupeEngMap[platform] || (dupeEngMap[platform] = {});
                  if (dupeEngMap[platform][englishKey]) {
                    oldKey = englishKey;
                    englishKey = englishKey + "_" + dupeEngMap[platform][oldKey];
                    dupeEngMap[platform][oldKey]++;
                  } else dupeEngMap[platform][englishKey] = 2;
                  finalKey = "label_" + platform + "." + englishKey;
                  finalMap[finalKey] = {};
                  for (_h = 0, _j = PPPB_lib_1._.keys(allPathsArr[key]); _h < _j.length; _h++) {
                    langKeys = _j[_h];
                    finalMap[finalKey][langKeys] = allPathsArr[key][langKeys];
                  }
                }
              }
              for (_k = 0, _l = PPPB_lib_1._.keys(allFontsFound); _k < _l.length; _k++) {
                langKeys = _l[_k];
                console.log("checking fonts for  lang  " + langKeys);
                for (_m = 0, _o = allFontsFound[langKeys]; _m < _o.length; _m++) {
                  s = _o[_m];
                  console.log(s);
                }
              }
              console.log(JSON.stringify(finalMap));
              return [ 2 ];
            }
          });
        });
      };
      JsonOutputParser.prototype.removeSpecialChars = function(str) {
        return str.replace(/(?!\w|\s)./g, "").replace(/\s+/g, " ").replace(/^(\s*)([\W\w]*)(\b\s*$)/g, "$2");
      };
      JsonOutputParser = __decorate([ ccclass ], JsonOutputParser);
      return JsonOutputParser;
    }(cc.Component);
    exports.default = JsonOutputParser;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-res": "PPPB-res",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../../game/config/PPPB-languageData": "PPPB-languageData"
  } ],
  "PPPB-LoginPreviewScreen": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "338c47Yll1MzLByXbkMPQ/i", "PPPB-LoginPreviewScreen");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var TIME_BETWEEN_SCREEN_TRANSITIONS = 4;
    var LoginPreviewScreen = function(_super) {
      __extends(LoginPreviewScreen, _super);
      function LoginPreviewScreen() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.screens = [];
        _this.currentScreenIndex = 0;
        _this.timeSinceLastScreenTransition = 0;
        return _this;
      }
      LoginPreviewScreen.prototype.onLoad = function() {
        this.currentScreenIndex = 0;
        for (var i = 0; i < this.screens.length; i++) this.screens[i].opacity = i == this.currentScreenIndex ? 255 : 0;
      };
      LoginPreviewScreen.prototype.update = function(dt) {
        this.timeSinceLastScreenTransition += dt;
        this.timeSinceLastScreenTransition >= TIME_BETWEEN_SCREEN_TRANSITIONS && this.transitionToScreen((this.currentScreenIndex + 1) % this.screens.length);
      };
      LoginPreviewScreen.prototype.transitionToScreen = function(index) {
        return __awaiter(this, void 0, Promise, function() {
          return __generator(this, function(_a) {
            this.timeSinceLastScreenTransition = 0;
            cc.tween(this.screens[this.currentScreenIndex]).to(1, {
              opacity: 0
            }).start();
            this.currentScreenIndex = index;
            cc.tween(this.screens[this.currentScreenIndex]).to(1, {
              opacity: 255
            }).start();
            return [ 2 ];
          });
        });
      };
      __decorate([ property([ cc.Node ]) ], LoginPreviewScreen.prototype, "screens", void 0);
      LoginPreviewScreen = __decorate([ ccclass ], LoginPreviewScreen);
      return LoginPreviewScreen;
    }(cc.Component);
    exports.default = LoginPreviewScreen;
    cc._RF.pop();
  }, {} ],
  "PPPB-MarqueeScroller": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "9b5b6T666ZKRIYI6p/mbGye", "PPPB-MarqueeScroller");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var SCROLL_OFFSET = 50;
    var ScrollState;
    (function(ScrollState) {
      ScrollState[ScrollState["Start"] = 0] = "Start";
      ScrollState[ScrollState["Scrolling"] = 1] = "Scrolling";
      ScrollState[ScrollState["End"] = 2] = "End";
    })(ScrollState || (ScrollState = {}));
    var MarqueeScroller = function(_super) {
      __extends(MarqueeScroller, _super);
      function MarqueeScroller() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.scrollSpeed = 1;
        _this.postScrollWaitTime = 3;
        _this.noScrollWaitTime = 5;
        _this.parentNode = null;
        _this.spriteCom = null;
        _this.spriteList = [];
        _this.curIndex = 0;
        _this.isActive = false;
        _this.currScrollState = ScrollState.Start;
        _this.timestamp = Date.now();
        _this.scaledWidth = 0;
        return _this;
      }
      MarqueeScroller.prototype.onLoad = function() {
        this.curIndex = this.spriteList.length - 1;
        this.StartScroll();
      };
      MarqueeScroller.prototype.update = function(dt) {
        if (!this.isActive) return;
        var currTime = Date.now();
        if (this.scaledWidth <= this.parentNode.width) {
          if (currTime - this.timestamp >= 1e3 * this.noScrollWaitTime) {
            this.timestamp = currTime;
            this.SetMessage();
            this.currScrollState = ScrollState.Start;
          }
          return;
        }
        if (this.currScrollState == ScrollState.Start) {
          if (currTime - this.timestamp >= 1500) {
            this.timestamp = currTime;
            this.currScrollState = ScrollState.Scrolling;
          }
        } else if (this.currScrollState == ScrollState.Scrolling) {
          this.InterpolateScrollPos();
          if (this.spriteCom.node.position.x <= this.scrollTargetPos.x) {
            this.timestamp = currTime;
            this.currScrollState = ScrollState.End;
          }
        } else if (this.currScrollState == ScrollState.End && currTime - this.timestamp >= 1e3 * this.postScrollWaitTime) {
          this.timestamp = currTime;
          this.SetMessage();
          this.currScrollState = ScrollState.Start;
        }
      };
      MarqueeScroller.prototype.StartScroll = function() {
        this.SetMessage();
        this.timestamp = Date.now();
        this.isActive = true;
      };
      MarqueeScroller.prototype.StopScroll = function() {
        this.isActive = false;
      };
      MarqueeScroller.prototype.SetMessage = function() {
        this.curIndex++;
        this.curIndex >= this.spriteList.length && (this.curIndex = 0);
        this.spriteCom.spriteFrame = this.spriteList[this.curIndex];
        this.scaledWidth = this.spriteCom.node.getContentSize().width * this.spriteCom.node.scale;
        this.spriteCom.node.anchorX = 0;
        this.spriteCom.node.setPosition(this.parentNode.getBoundingBox().origin.x + 50, this.spriteCom.node.position.y);
        this.scrollStartPos = this.spriteCom.node.position;
        this.scrollTargetPos = new cc.Vec3(this.spriteCom.node.position.x + -this.scaledWidth - SCROLL_OFFSET, this.spriteCom.node.position.y, this.spriteCom.node.position.z);
      };
      MarqueeScroller.prototype.InterpolateScrollPos = function() {
        var totalDistance = Math.abs(this.scrollTargetPos.x - this.scrollStartPos.x);
        var totalDuration = totalDistance / this.scrollSpeed;
        var timeElapsed = (Date.now() - this.timestamp) / 1e3;
        var distanceElapsed = timeElapsed / totalDuration * totalDistance;
        this.spriteCom.node.position = new cc.Vec3(this.scrollStartPos.x - distanceElapsed, this.spriteCom.node.position.y, this.spriteCom.node.position.z);
      };
      __decorate([ property ], MarqueeScroller.prototype, "scrollSpeed", void 0);
      __decorate([ property ], MarqueeScroller.prototype, "postScrollWaitTime", void 0);
      __decorate([ property ], MarqueeScroller.prototype, "noScrollWaitTime", void 0);
      __decorate([ property(cc.Node) ], MarqueeScroller.prototype, "parentNode", void 0);
      __decorate([ property(cc.Sprite) ], MarqueeScroller.prototype, "spriteCom", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], MarqueeScroller.prototype, "spriteList", void 0);
      MarqueeScroller = __decorate([ ccclass ], MarqueeScroller);
      return MarqueeScroller;
    }(cc.Component);
    exports.default = MarqueeScroller;
    cc._RF.pop();
  }, {} ],
  "PPPB-MoneyDisplayHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a963cXyPHpMhIDq7DxjiHZr", "PPPB-MoneyDisplayHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.MoneyUi = exports.MoneyDisplayHelper = void 0;
    var PPPB_language_1 = require("../../framework-cocos/PPPB-language");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../PPPB-quick");
    var PPPB_bet_1 = require("../ui/bottomUI/PPPB-bet");
    var MoneyDisplayHelper = function(_super) {
      __extends(MoneyDisplayHelper, _super);
      function MoneyDisplayHelper() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      Object.defineProperty(MoneyDisplayHelper, "showCoin", {
        get: function() {
          return this._showCoin;
        },
        set: function(v) {
          this._showCoin = v;
          PPPB_event_1.Events.publish("showCoin", "change", "", this._showCoin);
        },
        enumerable: false,
        configurable: true
      });
      MoneyDisplayHelper.RefreshLocale = function(lang) {
        MoneyDisplayHelper.symbolLocale = PPPB_language_1.language.getText("currency.format");
        MoneyDisplayHelper.thousandSeparator = PPPB_language_1.language.getText("currency.thousands");
        MoneyDisplayHelper.decimalSeparator = PPPB_language_1.language.getText("currency.decimals");
        PPPB_event_1.Events.publish("showCoin", "change", "", MoneyDisplayHelper._showCoin);
      };
      MoneyDisplayHelper.convertBetToText = function(bet, forceDecimal) {
        void 0 === forceDecimal && (forceDecimal = true);
        "number" != typeof bet && (bet = Number(bet));
        return MoneyDisplayHelper._showCoin ? (bet / PPPB_bet_1.default.betSize).toFixed(0) : MoneyDisplayHelper.symbolLocale.replace(/%currency%/g, PPPB_quick_1.ks.symbol).replace(/%value%/g, MoneyDisplayHelper.formatCurrency(bet, true, forceDecimal));
      };
      MoneyDisplayHelper.toMoney = function(value) {
        return MoneyDisplayHelper.symbolLocale.replace(/%currency%/g, PPPB_quick_1.ks.symbol).replace(/%value%/g, MoneyDisplayHelper.formatCurrency(value, true, true));
      };
      MoneyDisplayHelper.formatCurrency = function(x, isDecimal, forceDecimal) {
        var whole = Math.trunc(x);
        var fractional = Math.abs(Math.round(100 * (x - whole)));
        var fractionalString = "0" + fractional.toString();
        fractionalString = fractionalString.substring(fractionalString.length - 2, fractionalString.length);
        var parts = [ whole.toString(), fractionalString ];
        parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandSeparator);
        return isDecimal && (forceDecimal || 0 != fractional) ? parts.join(this.decimalSeparator) : parts[0];
      };
      MoneyDisplayHelper.rollingMoney = function(obj, value, pre, delay, tick, controller) {
        void 0 === pre && (pre = 0);
        void 0 === delay && (delay = 1e3);
        void 0 === tick && (tick = 20);
        return __awaiter(this, void 0, void 0, function() {
          var label;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (obj instanceof cc.Label) label = obj; else {
                label = PPPB_ui_1.ui.getComponent(obj, cc.Label);
                label || (label = PPPB_ui_1.ui.getComponent(obj, cc.RichText));
                if (!label) return [ 2 ];
              }
              return [ 4, PPPB_lib_1._.incNum(pre, value, delay / tick, tick, function(v) {
                return label.string = _this.convertBetToText(v);
              }, controller) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      MoneyDisplayHelper._showCoin = false;
      MoneyDisplayHelper.symbolLocale = "%currency%%value%";
      MoneyDisplayHelper.thousandSeparator = ",";
      MoneyDisplayHelper.decimalSeparator = ".";
      return MoneyDisplayHelper;
    }(cc.Component);
    exports.MoneyDisplayHelper = MoneyDisplayHelper;
    exports.MoneyUi = MoneyDisplayHelper;
    PPPB_event_1.Events.on("setLanguage", MoneyDisplayHelper.RefreshLocale);
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-language": "PPPB-language",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-quick": "PPPB-quick",
    "../ui/bottomUI/PPPB-bet": "PPPB-bet"
  } ],
  "PPPB-MoneyTextHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "12fa65ZJ0FAZp6454gBiPRy", "PPPB-MoneyTextHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.MoneyTextHelper = void 0;
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_UIData_1 = require("../../../framework-cocos/components/PPPB-UIData");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var MoneyTextHelper = function(_super) {
      __extends(MoneyTextHelper, _super);
      function MoneyTextHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.dur = .3;
        _this.prefixLocalekey = "";
        _this.prefix = "";
        _this.isHideZero = false;
        _this.first = true;
        _this._isRolling = false;
        _this._inc = 0;
        _this._start = 0;
        _this._format = null;
        _this._prev = 0;
        _this._step = 0;
        _this.num = 0;
        return _this;
      }
      Object.defineProperty(MoneyTextHelper.prototype, "value", {
        get: function() {
          return this.num;
        },
        set: function(v) {
          var t = typeof v;
          if ("number" === t) {
            this._prev = this.num;
            if (this.first || this.dur <= 0) {
              this._isRolling = false;
              this.num = this._prev = v;
              this.updateShow();
              this.first = false;
            } else {
              this._inc = v - this._prev;
              var maxStep = this.dur / .02;
              this._step = this._inc / maxStep;
              this.num = v;
              if (this._step) {
                this.updateShow();
                this._start = Date.now() / 1e3;
                this._isRolling = true;
              }
            }
          } else if ("string" === t) {
            v = PPPB_lib_1._.parseNumber(v);
            this._prev = this.num = v;
            this.updateShow();
          } else if (Array.isArray(v) && "number" === typeof v[0] && v[1] instanceof cc.Color) {
            this.value = v[0];
            this.node.color = v[1];
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(MoneyTextHelper.prototype, "Label", {
        get: function() {
          return this._labelComponent;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(MoneyTextHelper.prototype, "LabelString", {
        get: function() {
          return this._labelComponent.string;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(MoneyTextHelper.prototype, "isLabel", {
        get: function() {
          var hasLabel = !!PPPB_ui_1.ui.getComponent(this, cc.Label);
          hasLabel || (hasLabel = !!PPPB_ui_1.ui.getComponent(this, cc.RichText));
          return hasLabel;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(MoneyTextHelper.prototype, "format", {
        set: function(v) {
          var t = typeof v;
          "string" === t ? this._format = function(str) {
            str.format(v);
          } : "function" === t && (this._format = v);
        },
        enumerable: false,
        configurable: true
      });
      MoneyTextHelper.prototype.update = function(dt) {
        if (this._isRolling) {
          this._prev += dt / this.dur * this._inc;
          if (this._prev >= this.num) {
            this._isRolling = false;
            var end = Date.now() / 1e3;
            this._prev = this.num;
            this._step = 0;
          }
          this.updateShow();
        }
      };
      MoneyTextHelper.prototype.updateShow = function() {
        if (this._labelComponent) if (!this._prev && this.isHideZero) this._labelComponent.string = ""; else if (this._format) this._labelComponent.string = this._format(this._prev); else {
          this.prefixLocalekey && (this.prefix = PPPB_language_1.language.getText(this.prefixLocalekey));
          this._labelComponent.string = this.prefix + this._prev.toString();
        }
        var com = PPPB_ui_1.ui.getComponent(this, cc.ProgressBar);
        com && (com.progress = this._prev);
        this.emitDataChangeEvent();
      };
      MoneyTextHelper.prototype.onDisable = function() {
        this.first = true;
      };
      MoneyTextHelper.prototype.onLoad = function() {
        this._labelComponent = this.node.getComponent(cc.Label);
        this._labelComponent || (this._labelComponent = this.node.getComponent(cc.RichText));
        this._prev = this.num;
        this.updateShow();
      };
      __decorate([ property({
        tooltip: false
      }) ], MoneyTextHelper.prototype, "dur", void 0);
      __decorate([ property({
        tooltip: false
      }) ], MoneyTextHelper.prototype, "prefixLocalekey", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel && "" === this.prefixLocalekey;
        }
      }) ], MoneyTextHelper.prototype, "prefix", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel;
        },
        tooltip: false
      }) ], MoneyTextHelper.prototype, "isHideZero", void 0);
      MoneyTextHelper = __decorate([ ccclass, menu("PPPB/ui/MoneyTextHelper") ], MoneyTextHelper);
      return MoneyTextHelper;
    }(PPPB_UIData_1.UIDataValue);
    exports.MoneyTextHelper = MoneyTextHelper;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UIData": "PPPB-UIData",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-MultiplierPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "2363cBig11EEZHQhAOM+pyA", "PPPB-MultiplierPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var initialMultipliers = [ 2, 2, 2, 2, 2 ];
    var initialSymbols = [ 5, 2, 9, 10, 1 ];
    var symbolHighlightColor = cc.Color.WHITE;
    var symbolHighlightFreeColor = new cc.Color(255, 68, 232);
    var glowCircleNormalGameColor = new cc.Color(15, 178, 255, 100);
    var glowCircleFreeGameColor = new cc.Color(245, 255, 4);
    var MultiplierPanel = function(_super) {
      __extends(MultiplierPanel, _super);
      function MultiplierPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.symbolFrameNodes = [];
        _this.symbolLabel = [];
        _this.topSymbolLabel = [];
        _this.glowSymbolLabel = [];
        _this.symbolFrameAnimations = [];
        _this.outerMultiplierRotator = null;
        _this.outerMultiplierLabel = null;
        _this.multiplierFrameNodes = [];
        _this.x30Node = null;
        _this.x50Node = null;
        _this.glowCircleNodes = [];
        _this.multiplierLabels = [];
        _this.multiplierRotator = [];
        _this.glowMultiplierLabels = [];
        _this.multiplierFrameAnimations = [];
        _this.graySprites = [];
        _this.lightSprites = [];
        _this.purpleSprites = [];
        _this.multiplierArrowAnim = null;
        _this.multiplierFreeSpinsAnim = null;
        _this.spritesDict = [];
        _this.multiplierLabelOGPos = [];
        _this.outerMultiplierOGPos = null;
        _this.outerMultiplierOGRot = null;
        _this.isFreeSpin = false;
        return _this;
      }
      MultiplierPanel.prototype.start = function() {
        this.isFreeSpin = false;
        for (var _i = 0, _a = this.symbolFrameNodes; _i < _a.length; _i++) {
          var frameNode = _a[_i];
          var symbolFrameAnimation = frameNode.getComponent(cc.Animation);
          var symbolLabel = frameNode.getChildByName("Symbol").getComponent(cc.Sprite);
          var topSymbolLabel = frameNode.getChildByName("TopSymbol").getComponent(cc.Sprite);
          var glowSymbolLabel = frameNode.getChildByName("SymbolGlow").getComponent(cc.Sprite);
          this.symbolFrameAnimations.push(symbolFrameAnimation);
          this.symbolLabel.push(symbolLabel);
          this.topSymbolLabel.push(topSymbolLabel);
          this.glowSymbolLabel.push(glowSymbolLabel);
        }
        for (var _b = 0, _c = this.multiplierFrameNodes; _b < _c.length; _b++) {
          var frameNode = _c[_b];
          var multiplierFrameAnimation = frameNode.getComponent(cc.Animation);
          var rotator = frameNode.getChildByName("Rotator");
          var multiplierLabel = rotator.getChildByName("MultiplierText").getComponent(cc.Label);
          var glowMultiplierLabel = rotator.getChildByName("MultiplierTextYellow").getComponent(cc.Label);
          var glowCircle = frameNode.getChildByName("GlowCircle");
          this.multiplierFrameAnimations.push(multiplierFrameAnimation);
          var rotatorWorldPos = PPPB_ui_1.ui.getWorldPos(rotator);
          this.multiplierLabelOGPos.push(rotatorWorldPos);
          this.multiplierRotator.push(rotator);
          this.multiplierLabels.push(multiplierLabel);
          this.glowMultiplierLabels.push(glowMultiplierLabel);
          this.glowCircleNodes.push(glowCircle);
        }
        for (var i = 0; i < this.graySprites.length; i++) this.spritesDict[this.graySprites[i].name] || (this.spritesDict[this.graySprites[i].name] = this.graySprites[i]);
        for (var i = 0; i < this.lightSprites.length; i++) this.spritesDict[this.lightSprites[i].name] || (this.spritesDict[this.lightSprites[i].name] = this.lightSprites[i]);
        for (var i = 0; i < this.purpleSprites.length; i++) this.spritesDict[this.purpleSprites[i].name] || (this.spritesDict[this.purpleSprites[i].name] = this.purpleSprites[i]);
        this.outerMultiplierLabel.string = "X2";
        this.outerMultiplierOGPos = this.outerMultiplierRotator.position;
        this.outerMultiplierOGRot = this.outerMultiplierRotator.angle;
        PPPB_event_1.Events.publish("update", "multipliers", "", initialMultipliers, true);
        PPPB_event_1.Events.publish("update", "symbol", "", initialSymbols, true);
      };
      MultiplierPanel.prototype.$event_transition_freeSpin = function() {
        return __awaiter(this, void 0, void 0, function() {
          var i, i, _i, _a, symbolAnim, glowNode, i;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.isFreeSpin = true;
              this.multiplierFreeSpinsAnim.play();
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 1:
              _b.sent();
              for (i = 0; i < this.glowCircleNodes.length; i++) this.glowCircleNodes[i].color = glowCircleFreeGameColor;
              for (i = 0; i < this.symbolList.length; i++) this.topSymbolLabel[i].spriteFrame = this.spritesDict["Purple_" + this.symbolList[i].toString()];
              for (_i = 0, _a = this.symbolFrameAnimations; _i < _a.length; _i++) {
                symbolAnim = _a[_i];
                symbolAnim.play("multiplierSymbolNormalToFree");
                glowNode = symbolAnim.node.getChildByName("FrameGlow");
                glowNode.color = new cc.Color(symbolHighlightFreeColor.r, symbolHighlightFreeColor.g, symbolHighlightFreeColor.b, glowNode.color.a);
              }
              return [ 4, PPPB_lib_1._.sleep(180) ];

             case 2:
              _b.sent();
              for (i = 0; i < this.symbolList.length; i++) this.symbolLabel[i].spriteFrame = this.spritesDict["Purple_" + this.symbolList[i].toString()];
              return [ 2 ];
            }
          });
        });
      };
      MultiplierPanel.prototype.$event_update_freespinindex = function(index) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (index < 5) {
              this.multiplierLabels[index].string = "X5";
              this.glowMultiplierLabels[index].string = "X5";
            } else {
              this.x30Node.active = false;
              this.x50Node.active = true;
            }
            return [ 2 ];
          });
        });
      };
      MultiplierPanel.prototype.$event_transition_freeSpinOut = function(normalMultiplierList) {
        return __awaiter(this, void 0, void 0, function() {
          var i, i, _i, _a, symbolAnim, glowNode, i;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.isFreeSpin = false;
              this.x30Node.active = true;
              this.x50Node.active = false;
              this.$event_update_multipliers(normalMultiplierList, true);
              for (i = 0; i < this.glowCircleNodes.length; i++) this.glowCircleNodes[i].color = glowCircleNormalGameColor;
              for (i = 0; i < this.symbolList.length; i++) this.topSymbolLabel[i].spriteFrame = this.spritesDict["Grey_" + this.symbolList[i].toString()];
              for (_i = 0, _a = this.symbolFrameAnimations; _i < _a.length; _i++) {
                symbolAnim = _a[_i];
                symbolAnim.play("multiplierSymbolFreeToNormal");
                glowNode = symbolAnim.node.getChildByName("FrameGlow");
                glowNode.color = new cc.Color(symbolHighlightColor.r, symbolHighlightColor.g, symbolHighlightColor.b, glowNode.color.a);
              }
              return [ 4, PPPB_lib_1._.sleep(180) ];

             case 1:
              _b.sent();
              for (i = 0; i < this.symbolList.length; i++) this.symbolLabel[i].spriteFrame = this.spritesDict["Grey_" + this.symbolList[i].toString()];
              return [ 2 ];
            }
          });
        });
      };
      MultiplierPanel.prototype.$event_toggle_arrowanim = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            toggle ? this.multiplierArrowAnim.play("MultiplierArrowAnimLoop") : this.multiplierArrowAnim.play("MultiplierArrowAnimIdle");
            return [ 2 ];
          });
        });
      };
      MultiplierPanel.prototype.$event_update_multipliers = function(multiplierList, instantUpdate) {
        return __awaiter(this, void 0, void 0, function() {
          var i, _i, _a, multiplierAnim, i;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (!instantUpdate) return [ 3, 1 ];
              for (i = 0; i < multiplierList.length; i++) {
                this.multiplierLabels[i].string = "X" + multiplierList[i].toString();
                this.glowMultiplierLabels[i].string = "X" + multiplierList[i].toString();
              }
              return [ 3, 3 ];

             case 1:
              for (_i = 0, _a = this.multiplierFrameAnimations; _i < _a.length; _i++) {
                multiplierAnim = _a[_i];
                multiplierAnim.play("multiplierLabelSwitch");
              }
              return [ 4, PPPB_lib_1._.sleep(250) ];

             case 2:
              _b.sent();
              for (i = 0; i < multiplierList.length; i++) {
                this.multiplierLabels[i].string = "X" + multiplierList[i].toString();
                this.glowMultiplierLabels[i].string = "X" + multiplierList[i].toString();
              }
              _b.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      MultiplierPanel.prototype.$event_update_symbol = function(symbolList, instantUpdate) {
        return __awaiter(this, void 0, void 0, function() {
          var i, i, _i, _a, symbolAnim, i;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              symbolList = symbolList.reverse();
              this.symbolList = symbolList;
              if (!instantUpdate) return [ 3, 1 ];
              for (i = 0; i < symbolList.length; i++) this.symbolLabel[i].spriteFrame = this.spritesDict["Grey_" + symbolList[i].toString()];
              return [ 3, 3 ];

             case 1:
              for (i = 0; i < symbolList.length; i++) this.topSymbolLabel[i].spriteFrame = this.spritesDict[this.isFreeSpin ? "Purple_" + symbolList[i].toString() : "Grey_" + symbolList[i].toString()];
              for (_i = 0, _a = this.symbolFrameAnimations; _i < _a.length; _i++) {
                symbolAnim = _a[_i];
                symbolAnim.play(this.isFreeSpin ? "multiplierSymbolSwitchFreeGame" : "multiplierSymbolSwitch");
              }
              return [ 4, PPPB_lib_1._.sleep(180) ];

             case 2:
              _b.sent();
              for (i = 0; i < symbolList.length; i++) {
                this.symbolLabel[i].spriteFrame = this.spritesDict[this.isFreeSpin ? "Purple_" + symbolList[i].toString() : "Grey_" + symbolList[i].toString()];
                this.glowSymbolLabel[i].spriteFrame = this.spritesDict["Light_" + symbolList[i].toString()];
              }
              _b.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      MultiplierPanel.prototype.$event_highlight_frame = function(index) {
        return __awaiter(this, void 0, void 0, function() {
          var multiplierFrameAnim, symbolFrameAnim;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.$event_toggle_arrowanim(false);
              multiplierFrameAnim = this.multiplierFrameAnimations[index];
              symbolFrameAnim = this.symbolFrameAnimations[index];
              multiplierFrameAnim.getAnimationState("multiplierLabelHighlight").wrapMode = cc.WrapMode.Normal;
              multiplierFrameAnim.play("multiplierLabelHighlight");
              symbolFrameAnim.getAnimationState("multiplierSymbolHighlight").wrapMode = cc.WrapMode.Normal;
              symbolFrameAnim.play("multiplierSymbolHighlight");
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 1:
              _a.sent();
              multiplierFrameAnim = this.multiplierFrameAnimations[index];
              symbolFrameAnim = this.symbolFrameAnimations[index];
              multiplierFrameAnim.getAnimationState("multiplierLabelHighlight").wrapMode = cc.WrapMode.Reverse;
              symbolFrameAnim.getAnimationState("multiplierSymbolHighlight").wrapMode = cc.WrapMode.Reverse;
              symbolFrameAnim.play("multiplierSymbolHighlight");
              PPPB_ui_1.ui.playAnimation(multiplierFrameAnim, "multiplierLabelHighlight");
              return [ 2 ];
            }
          });
        });
      };
      MultiplierPanel.prototype.$event_pop_multiplier = function(indices, incomingMultipliers) {
        return __awaiter(this, void 0, void 0, function() {
          var i_1, moveDuration, maxIndex, _loop_1, this_1, i_2, i_3, i, i;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              for (i_1 = 0; i_1 < indices.length; i_1++) PPPB_ui_1.ui.playAnimation(this.multiplierFrameAnimations[indices[i_1]], "multiplierLabelPopOut");
              return [ 4, PPPB_lib_1._.sleep(750) ];

             case 1:
              _a.sent();
              moveDuration = .25;
              this.outerMultiplierLabel.string = "X" + incomingMultipliers[incomingMultipliers.length - 1].toString();
              this.outerMultiplierRotator.active = true;
              PPPB_action_1.ACT(this.outerMultiplierRotator).fadeIn(moveDuration).act();
              PPPB_action_1.ACT(this.outerMultiplierRotator).moveTo(moveDuration, new cc.Vec2(0, 0)).act();
              PPPB_action_1.ACT(this.outerMultiplierRotator).rotateTo(moveDuration, 0).act();
              maxIndex = indices.reduce(function(indexOne, indexTwo) {
                return Math.max(indexOne, indexTwo);
              });
              _loop_1 = function(i_2) {
                this_1.multiplierLabels[i_2].string = "X" + incomingMultipliers[incomingMultipliers.length - i_2 - 2].toString() + "}";
                this_1.glowMultiplierLabels[i_2].string = this_1.multiplierLabels[i_2].string;
                var targetPos = this_1.multiplierRotator[i_2].convertToNodeSpaceAR(this_1.multiplierLabelOGPos[i_2 + 1]);
                var rotator = this_1.multiplierRotator[i_2];
                rotator.position = new cc.Vec3(0, 0, 0);
                rotator.angle = 0;
                PPPB_action_1.ACT(rotator).rotateTo(moveDuration, 6).act().then(function() {
                  rotator.angle = 0;
                });
                PPPB_action_1.ACT(rotator).moveTo(moveDuration, targetPos).act().then(function() {
                  rotator.position = new cc.Vec3(0, 0, 0);
                });
              };
              this_1 = this;
              for (i_2 = 0; i_2 < maxIndex; i_2++) _loop_1(i_2);
              return [ 4, PPPB_lib_1._.sleep(260) ];

             case 2:
              _a.sent();
              for (i_3 = 0; i_3 < incomingMultipliers.length; i_3++) {
                this.multiplierLabels[i_3].string = "X" + incomingMultipliers[incomingMultipliers.length - i_3 - 1].toString();
                this.glowMultiplierLabels[i_3].string = this.multiplierLabels[i_3].string;
              }
              for (i = 0; i < this.multiplierLabels.length; i++) {
                this.multiplierFrameAnimations[i].stop("multiplierLabelPopOut");
                this.multiplierLabels[i].node.opacity = 255;
              }
              for (i = 0; i < this.multiplierRotator.length; i++) {
                this.multiplierRotator[i].angle = 0;
                this.multiplierRotator[i].position = new cc.Vec3(0, 0, 0);
              }
              this.outerMultiplierRotator.active = false;
              this.outerMultiplierRotator.position = this.outerMultiplierOGPos;
              this.outerMultiplierRotator.angle = this.outerMultiplierOGRot;
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property([ cc.Node ]) ], MultiplierPanel.prototype, "symbolFrameNodes", void 0);
      __decorate([ property(cc.Node) ], MultiplierPanel.prototype, "outerMultiplierRotator", void 0);
      __decorate([ property(cc.Label) ], MultiplierPanel.prototype, "outerMultiplierLabel", void 0);
      __decorate([ property([ cc.Node ]) ], MultiplierPanel.prototype, "multiplierFrameNodes", void 0);
      __decorate([ property(cc.Node) ], MultiplierPanel.prototype, "x30Node", void 0);
      __decorate([ property(cc.Node) ], MultiplierPanel.prototype, "x50Node", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], MultiplierPanel.prototype, "graySprites", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], MultiplierPanel.prototype, "lightSprites", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], MultiplierPanel.prototype, "purpleSprites", void 0);
      __decorate([ property(cc.Animation) ], MultiplierPanel.prototype, "multiplierArrowAnim", void 0);
      __decorate([ property(cc.Animation) ], MultiplierPanel.prototype, "multiplierFreeSpinsAnim", void 0);
      MultiplierPanel = __decorate([ ccclass ], MultiplierPanel);
      return MultiplierPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = MultiplierPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-PlayAnimation": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "805ddXXCvdLt6kUkUx06rua", "PPPB-PlayAnimation");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.GPlayAnimation = void 0;
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_audio_1 = require("../../../framework-cocos/PPPB-audio");
    var PPPB_UISwitch_1 = require("../../../framework-cocos/components/PPPB-UISwitch");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_AudioID_1 = require("./PPPB-AudioID");
    var PPPB_States_1 = require("./States/PPPB-States");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_MoneyTextHelper_1 = require("../ui/PPPB-MoneyTextHelper");
    var PPPB_language_1 = require("../../../framework-cocos/PPPB-language");
    var PPPB_TextMeshPro_1 = require("../../../../textMeshPro/scripts/PPPB-TextMeshPro");
    var PPPB_BgmAudioHandler_1 = require("../PPPB-BgmAudioHandler");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var continueFreeSpinsController = {
      shouldStop: false
    };
    var GPlayAnimation = function() {
      function GPlayAnimation() {
        this.spinAni = null;
        this.spinWheelbtn = null;
        this.mask = [];
        this.totalGold = null;
        this.bottomPanels = [];
        this.prevGameSpeed = PPPB_gameSettings_1.GameSpeed.NORMAL;
        this.isSpin = true;
        PPPB_event_1.InitEvents(this);
      }
      GPlayAnimation.prototype.InitAni = function() {
        return __awaiter(this, void 0, void 0, function() {
          var bottomLandScapeAnimator, spinFrame, tipsWinFrame, msgArr, randInt;
          return __generator(this, function(_a) {
            bottomLandScapeAnimator = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "GameScaler/bottom" ]).getComponent(cc.Animation);
            bottomLandScapeAnimator.play(PPPB_lib_1.cc1.sys.isMobile ? "bottom_panel_mobile" : "bottom_panel_web");
            this.gameScaler = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "GameScaler" ]);
            this.spin = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/spinGroup/spinbtn/spining/spin1" ]);
            this.spinPortrait = PPPB_ui_1.ui.getNode([ this.gameScaler, "portraitBottom/spinGroup/spinbtn/spining/spin1" ]);
            this.spinR = this.spin.getChildByName("root");
            this.spinAni = this.spinR.getComponent(cc.Animation);
            this.spinbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, PPPB_lib_1.cc1.sys.isMobile ? "bottom/mobile/spinGroup/spinbtn/spining" : "bottom/spinGroup/spinbtn/spining" ]);
            this.spinbtnPortrait = PPPB_ui_1.ui.getNode([ this.gameScaler, "portraitBottom/spinGroup/spinbtn/spining" ]);
            this.spinGrayBtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/spinGroup/spinbtn/spining/spin1/root/spin/grayspin" ]);
            this.spinWheelbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "spinWheel" ]);
            spinFrame = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/spinGroup/spinbtn/spining/spin1/root/SpinFrame" ]);
            this.spinDefaultSprite = spinFrame.getChildByName("SpinDefault");
            this.spinStopSprite = spinFrame.getChildByName("SpinStop");
            this.spinAutoplayBtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/spinGroup/AutoPlayBtn" ]).getComponent(cc.Button);
            this.autobtn = PPPB_ui_1.ui.getNode([ this.gameScaler, PPPB_lib_1.cc1.sys.isMobile ? "bottom/mobile/autobtn" : "bottom/btns/autobtn" ]);
            this.autobtnPortrait = PPPB_ui_1.ui.getNode([ this.gameScaler, "portraitBottom/btns/autobtn" ]);
            this.fastbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/btns/fastbtn" ]);
            this.setbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/btns/setbtn" ]);
            this.betbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, PPPB_lib_1.cc1.sys.isMobile ? "bottom/mobile/betbtn" : "bottom/btns/betbtn" ]);
            this.betbtnPortrait = PPPB_ui_1.ui.getNode([ this.gameScaler, "portraitBottom/btns/betbtn" ]);
            this.exitbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/btns/exit" ]);
            this.walletbtn = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/money" ]);
            tipsWinFrame = PPPB_ui_1.ui.getNode([ this.gameScaler, "Stage/txtbg1/Frame/Mask" ]);
            this.isFree = PPPB_ui_1.ui.getNode([ this.gameScaler, "isFree" ]).getComponent(PPPB_UISwitch_1.UISwitch);
            this.signBoardNodeLandscape = PPPB_ui_1.ui.getNode([ this.gameScaler, "Stage/SignBoard" ]);
            this.autoSpin = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/spinGroup/spinbtn/spining/autoSpin" ]);
            this.totalGold = PPPB_ui_1.ui.getNode([ this.gameScaler, "bottom/money/totalGold" ]);
            console.log("initing client ani");
            this.freeSpinNotice = PPPB_ui_1.ui.getNode([ this.gameScaler, "freeSpin" ]);
            this.freeSpinNoticeAnimator = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "root" ]).getComponent(cc.Animation);
            this.freeSpinBGSpine = this.freeSpinNoticeAnimator.getComponentInChildren(sp.Skeleton);
            this.freeSpinWinAmtLabel = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "root/btn/btn/num1" ]).getComponent(PPPB_MoneyTextHelper_1.MoneyTextHelper);
            this.freeSpinWinSpinCountText = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "root/btn/btn/num" ]).getComponent(cc.Label);
            this.freeSpinResultSpinCountText = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "root/btn/freeSpins/time" ]).getComponent(cc.Label);
            this.freeSpinNoticeContinueLabel = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "root/btn/press" ]);
            this.stageAnimator = PPPB_ui_1.ui.getNode([ this.gameScaler, "Stage" ]).getComponent(cc.Animation);
            this.bgAnimator = PPPB_ui_1.ui.getNode([ this.gameScaler, "background" ]).getComponent(cc.Animation);
            this.bgPortraitAnimator = PPPB_ui_1.ui.getNode([ this.gameScaler, "background/bgPortrait" ]).getComponent(cc.Animation);
            this.fgAnimator = PPPB_ui_1.ui.getNode([ this.gameScaler, "foreground" ]).getComponent(cc.Animation);
            this.cardListNode = PPPB_ui_1.ui.getNode([ this.gameScaler, "list" ]);
            this.bgAnimator.play("mainbg_1");
            if (PPPB_lib_1.cc1.sys.isMobile) PPPB_event_1.Events.publish("update", "gameMessage", "", "label_web.PLACEYOURBETS"); else {
              msgArr = [];
              msgArr.push("label_web.PLACEYOURBETS");
              msgArr.push("label_web.HOLDSPACEFORTURBO");
              msgArr.push("label_web.SPINTOWIN");
              randInt = PPPB_lib_1._.rand(0, msgArr.length);
              PPPB_event_1.Events.publish("update", "gameMessage", "", msgArr[randInt]);
            }
            this.gameLogoNode = PPPB_ui_1.ui.getNode([ this.gameScaler, "Stage/logo" ]);
            this.freeSpinWinAmtLabel && (this.freeSpinWinAmtLabel.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText);
            return [ 2 ];
          });
        });
      };
      GPlayAnimation.prototype.$event_show_mask = function(listindex) {
        this.Show_Mask(listindex);
      };
      GPlayAnimation.prototype.$event_hide_mask = function(listindex, isskip) {
        this.Hide_Mask(listindex, isskip);
      };
      GPlayAnimation.prototype.$event_win_mask = function() {
        this.Win_Mask();
      };
      GPlayAnimation.prototype.$event_btn_grayspinOpen = function(active) {
        this.Btn_GraySpinOpen(active);
      };
      GPlayAnimation.prototype.$event_btn_setSpinToDefault = function() {
        this.Btn_SetSpinToDefault();
      };
      GPlayAnimation.prototype.$event_btn_setSpinToStop = function() {
        this.Btn_SetSpinToStop();
      };
      GPlayAnimation.prototype.$event_btn_spinCloseScr = function() {
        this.Btn_SpinCloseScr();
      };
      GPlayAnimation.prototype.$event_btn_enableAutoplay = function(isEnabled) {
        this.Btn_EnableAutoplay(isEnabled);
      };
      GPlayAnimation.prototype.$event_btn_fast = function() {
        this.Btn_Fast();
      };
      GPlayAnimation.prototype.$event_play_spinScroll2 = function() {
        this.Play_SpinScroll2();
      };
      GPlayAnimation.prototype.$event_play_spinScroll = function() {
        this.Play_SpinScroll();
      };
      GPlayAnimation.prototype.$event_play_scatterDown = function(w) {
        this.Play_ScatterDown(w);
      };
      GPlayAnimation.prototype.$event_extend_freeIn = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.Extend_FreeIn_PB() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.$event_play_freeIn = function() {
        this.Play_FreeIn();
      };
      GPlayAnimation.prototype.$event_stop_freeIn = function() {
        this.Stop_FreeIn();
      };
      GPlayAnimation.prototype.$event_play_freeOut = function() {
        this.Play_FreeOut();
      };
      GPlayAnimation.prototype.$event_stop_freeOut = function() {
        this.Stop_FreeOut();
      };
      GPlayAnimation.prototype.$event_free_updateNum = function(b) {
        this.Free_UpdateNum(b);
      };
      GPlayAnimation.prototype.$event_play_spinMouseAni = function() {
        this.Play_SpinMouseAni();
      };
      GPlayAnimation.prototype.$event_stop_spinMouseAni = function() {
        this.Stop_SpinMouseAni();
      };
      GPlayAnimation.prototype.$event_enter_autoSpin = function() {
        this.Enter_AutoSpin();
      };
      GPlayAnimation.prototype.$event_exit_autoSpin = function() {
        this.Exit_AutoSpin();
      };
      GPlayAnimation.prototype.$event_update_autoNum = function() {
        this.Update_AutoNum();
      };
      GPlayAnimation.prototype.$event_play_autoBtnAni = function() {
        this.Play_AutoBtnAni();
      };
      GPlayAnimation.prototype.Enter_AutoSpin = function() {
        this.autoSpin.opacity = 0;
        this.autoSpin.active = true;
        PPPB_action_1.ACT(this.autoSpin).fade(.5, 1).act();
        PPPB_action_1.ACT(this.spin).fade(.5, 0).act();
      };
      GPlayAnimation.prototype.Exit_AutoSpin = function() {
        this.spin.stopAllActions();
        this.autoSpin.stopAllActions();
        PPPB_action_1.ACT(this.autoSpin).fade(.5, 0).act();
        PPPB_action_1.ACT(this.spin).fade(.5, 1).act();
        var ani = this.autobtn.getComponent(cc.Animation);
        ani.setCurrentTime(0);
        ani.stop();
      };
      GPlayAnimation.prototype.Play_AutoBtnAni = function() {
        PPPB_ui_1.ui.playAnimation(this.autobtn, "autoBtnAni", 0);
      };
      GPlayAnimation.prototype.Update_AutoNum = function() {};
      GPlayAnimation.prototype.Btn_Fast = function() {};
      GPlayAnimation.prototype.Btn_GraySpinOpen = function(active) {
        this.spinGrayBtn.active = active;
      };
      GPlayAnimation.prototype.Btn_SetSpinToDefault = function() {
        if (PPPB_lib_1.cc1.sys.isMobile) {
          this.betbtn.active = true;
          this.autobtn.active = true;
          this.autobtnPortrait.active = true;
          this.betbtnPortrait.active = true;
          this.spinbtn.active = true;
          this.spinbtnPortrait.active = true;
          for (var _i = 0, _a = this.bottomPanels; _i < _a.length; _i++) {
            var panel = _a[_i];
            panel.autoSpinNode.active = false;
          }
          this.spin.opacity = 255;
          this.spinPortrait.opacity = 255;
        } else {
          this.spinDefaultSprite.active = true;
          this.spinStopSprite.active = false;
        }
      };
      GPlayAnimation.prototype.Btn_SetSpinToStop = function() {
        if (PPPB_lib_1.cc1.sys.isMobile) {
          this.betbtn.active = false;
          this.autobtn.active = false;
          this.autobtnPortrait.active = false;
          this.betbtnPortrait.active = false;
          if (PPPB_gameSettings_1.default.isAutoplayEnabled && !this.w.isScatter) {
            this.spinbtnPortrait.active = true;
            this.spinbtn.active = true;
            this.spin.opacity = 0;
            this.spinPortrait.opacity = 0;
            for (var _i = 0, _a = this.bottomPanels; _i < _a.length; _i++) {
              var panel = _a[_i];
              panel.autoSpinNode.active = true;
            }
          } else if (!this.w.isHoldForceTurbo) {
            this.spinbtn.active = false;
            this.spinbtnPortrait.active = false;
          }
        } else {
          this.spinDefaultSprite.active = false;
          this.spinStopSprite.active = true;
          if (PPPB_gameSettings_1.default.isAutoplayEnabled && !this.w.isScatter) {
            this.spinAutoplayBtn.interactable = true;
            this.spinAutoplayBtn.normalColor = cc.color(213, 59, 59);
            this.spinAutoplayBtn.hoverColor = cc.color(240, 80, 80);
            this.spinAutoplayBtn.pressedColor = cc.color(190, 50, 50);
          }
        }
      };
      GPlayAnimation.prototype.Btn_SpinCloseScr = function() {
        PPPB_ui_1.ui.setUIDataValue(this.spinR.getChildByName("spin"), "spinc");
        this.isSpin = false;
      };
      GPlayAnimation.prototype.Btn_EnableAutoplay = function(isEnabled) {
        this.spinAutoplayBtn.interactable = isEnabled;
        if (isEnabled) {
          this.spinAutoplayBtn.node.color = cc.Color.WHITE;
          this.spinAutoplayBtn.normalColor = cc.color(230, 230, 230);
          this.spinAutoplayBtn.hoverColor = cc.Color.WHITE;
          this.spinAutoplayBtn.pressedColor = cc.color(200, 200, 200);
        } else {
          this.spinAutoplayBtn.node.color = cc.Color.GRAY;
          this.spinAutoplayBtn.normalColor = cc.Color.GRAY;
          this.spinAutoplayBtn.hoverColor = cc.Color.GRAY;
          this.spinAutoplayBtn.pressedColor = cc.Color.GRAY;
        }
      };
      GPlayAnimation.prototype.Win_Mask = function() {
        return __awaiter(this, void 0, void 0, function() {
          var i, i;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              for (i = 0; i < this.w.cardlistlist2.length; i++) this.Show_Mask(i);
              return [ 4, PPPB_lib_1._.sleep(400) ];

             case 1:
              _a.sent();
              for (i = 0; i < this.w.cardlistlist2.length; i++) this.Hide_Mask(i);
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Show_Mask = function(listindex) {
        this.mask[listindex].opacity = 0;
        this.mask[listindex].active = true;
        PPPB_action_1.ACT(this.mask[listindex]).fade(.1, .6).act();
      };
      GPlayAnimation.prototype.Hide_Mask = function(listindex, isskip) {
        var _this = this;
        PPPB_action_1.ACT(this.mask[listindex]).fade(.1, 0).act().then(function() {
          return _this.mask[listindex].active = false;
        });
      };
      GPlayAnimation.prototype.Play_SpinMouseAni = function() {
        null != this.w.current && this.w.current != PPPB_States_1.states.end || this.spinAni.playAdditive("spin_3");
      };
      GPlayAnimation.prototype.Stop_SpinMouseAni = function() {};
      GPlayAnimation.prototype.Play_SpinScroll2 = function() {
        PPPB_ui_1.ui.playAnimation(this.spinR, "spin_4", 1);
      };
      GPlayAnimation.prototype.Play_SpinScroll = function() {
        PPPB_ui_1.ui.playAnimation(this.spinR, "spin_1", 0);
        console.log("scroll\u5b8c\u6210");
      };
      GPlayAnimation.prototype.Play_ScatterDown = function(w) {
        PPPB_ui_1.ui.playAnimation(w, "scatter_cast", 1, true).then(function() {
          return PPPB_ui_1.ui.playAnimation(w, "scatter_wait", 0);
        });
      };
      GPlayAnimation.prototype.$event_toggle_cardBackFrames = function(isFree) {
        this.w.isVisualScatter = isFree;
      };
      GPlayAnimation.prototype.$event_toggle_freeGamePortraitView = function(isEnabled) {
        PPPB_ui_1.ui.canvas.getComponent(cc.Animation).play(isEnabled ? "game_view_portrait_mobile_free_game" : "game_view_portrait_mobile");
      };
      GPlayAnimation.prototype.$event_toggle_freeGameLandscapeView = function(isEnabled) {
        PPPB_ui_1.ui.canvas.getComponent(cc.Animation).play(isEnabled ? "game_view_landscape_mobile_free_game" : "game_view_landscape_mobile");
      };
      GPlayAnimation.prototype.$event_signal_gameViewRefreshed = function() {
        PPPB_quick_1.ks.isLandscape && this.w.isScattering && this.$event_toggle_freeGameLandscapeView(true);
      };
      GPlayAnimation.prototype.Extend_FreeIn_PB = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.freeSpinNotice.opacity = 255;
              this.freeSpinNotice.setPosition(cc.v2(0, this.freeSpinNotice.position.y));
              return [ 4, PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, "free_game_5", 1, true) ];

             case 1:
              _a.sent();
              this.Free_UpdateNum();
              this.freeSpinNotice.opacity = 0;
              this.freeSpinNotice.setPosition(cc.v2(2e3, this.freeSpinNotice.position.y));
              this.w.isPlayingFreeGameTransition = false;
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Extend_FreeIn = function() {
        return __awaiter(this, void 0, void 0, function() {
          var animToPlay;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              this.freeSpinNoticeContinueLabel.opacity = 0;
              this.freeSpinWinAmtLabel.format = function(text) {
                return "+" + text.toString();
              };
              this.freeSpinWinAmtLabel.dur = 0;
              this.freeSpinWinAmtLabel.value = this.w.extraFreeSpins;
              this.freeSpinWinSpinCountText.string = this.w.extraFreeSpins.toString();
              this.freeSpinNotice.opacity = 255;
              this.freeSpinNotice.setPosition(cc.v2(0, this.freeSpinNotice.position.y));
              animToPlay = "free_game";
              PPPB_lib_1.cc1.sys.isMobile && (animToPlay = (PPPB_quick_1.ks.isLandscape, "free_game"));
              PPPB_ui_1.ui.playAnimation(this.freeSpinBGSpine.node, "entry_anim", 1, true);
              return [ 4, PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, animToPlay, 1, true) ];

             case 1:
              _a.sent();
              PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, "free_game_2", 0, true);
              continueFreeSpinsController.shouldStop = false;
              return [ 4, PPPB_lib_1._.waiting(function() {
                if (continueFreeSpinsController.shouldStop) return true;
              }, this, 2e3) ];

             case 2:
              _a.sent();
              return [ 4, this.Stop_FreeIn(false) ];

             case 3:
              _a.sent();
              this.Free_UpdateNum();
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Play_FreeIn = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, animToPlay, _b;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              console.log("=========== play free in ");
              return [ 4, PPPB_event_1.Events.publishAsync("play", "freeGameTransitionAnim", "") ];

             case 1:
              _c.sent();
              _a = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDoubleStartBGM() ];

             case 2:
              _a.bgm2ID = _c.sent();
              animToPlay = "free_game";
              PPPB_lib_1.cc1.sys.isMobile && (animToPlay = (PPPB_quick_1.ks.isLandscape, "free_game"));
              console.log("free spins win is " + this.w.freeSpins);
              this.freeSpinWinSpinCountText.string = this.w.freeSpins.toString();
              PPPB_audio_1.audio.stop(PPPB_AudioID_1.default.bgm2ID);
              _b = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDoubleStartBGM() ];

             case 3:
              _b.bgm2ID = _c.sent();
              this.bgPortraitAnimator.play("mainbg_portrait_2");
              this.bgAnimator.play("mainbg_2");
              this.fgAnimator.play("mainfg_2");
              PPPB_quick_1.ks.isLandscape && this.$event_toggle_freeGameLandscapeView(true);
              this.signBoardNodeLandscape.opacity = 0;
              this.bottomPanels[1].ToggleDisplayDoubleBetButtons(false);
              PPPB_event_1.Events.publish("toggle", "topTipsFreeGame", "", true);
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 4:
              _c.sent();
              this.freeSpinNoticeContinueLabel.opacity = 255;
              this.freeSpinNotice.opacity = 255;
              this.freeSpinNotice.setPosition(cc.v2(0, this.freeSpinNotice.position.y));
              PPPB_ui_1.ui.playAnimation(this.freeSpinBGSpine.node, "entry_anim", 1, true);
              return [ 4, PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, animToPlay, 1, true) ];

             case 5:
              _c.sent();
              PPPB_event_1.Events.publish("set", "freeInSkip", "");
              PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, "free_game_2", 0, true);
              continueFreeSpinsController.shouldStop = false;
              return [ 4, PPPB_lib_1._.waiting(function() {
                return continueFreeSpinsController.shouldStop;
              }, this, PPPB_gameSettings_1.default.isSkipScreenEnabled ? 3e3 : null) ];

             case 6:
              _c.sent();
              this.Stop_FreeIn();
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.getFreeGameMultiplierRangeLanguageEntryName = function(multArr) {
        var multArrLangName = "";
        for (var i = 0; i < multArr.length; i++) {
          multArrLangName += multArr[i].toString() + "x";
          i == multArr.length - 2 && (multArrLangName += "OR");
        }
        multArrLangName += "_PG2";
        return multArrLangName;
      };
      GPlayAnimation.prototype.Display_SelectedFreeIn = function(freeSpinCount, multArr) {
        var _a;
        return __awaiter(this, void 0, void 0, function() {
          var _b, langKey, multArrLangName, continuePromptText, animToPlay;
          var _this = this;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              console.log("=========== play selected free in ");
              PPPB_audio_1.audio.stop(PPPB_AudioID_1.default.bgm2ID);
              _b = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDefaultBGM() ];

             case 1:
              _b.bgm2ID = _c.sent();
              PPPB_action_1.ACT(this.cardListNode).fadeIn(.15).act();
              this.stageAnimator.play("freegameselect_exit");
              this.bottomPanels[1].ToggleAnimation("freegame_portraitbottom_exit");
              langKey = PPPB_lib_1.cc1.sys.isMobile ? "label_mobile" : "label_web";
              multArrLangName = this.getFreeGameMultiplierRangeLanguageEntryName(multArr);
              PPPB_lib_1._.sleep(500).then(function() {
                _this.isFree.isChecked = false;
                _this.freeSpinWinAmtLabel.format = function(text) {
                  return text.toString();
                };
                _this.freeSpinWinAmtLabel.dur = 0;
                _this.freeSpinWinAmtLabel.value = freeSpinCount;
              });
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 2:
              _c.sent();
              continuePromptText = null === (_a = PPPB_ui_1.ui.getNode([ this.freeSpinNotice, "signboard/pressAnywhereToContinueLbl" ])) || void 0 === _a ? void 0 : _a.getComponent(PPPB_TextMeshPro_1.default);
              null != continuePromptText && (continuePromptText.string = PPPB_language_1.language.getText((PPPB_lib_1.cc1.sys.isMobile ? "label_mobile" : "label_web") + ".PRESSANYWHERETOCONTINUE"));
              this.freeSpinNotice.opacity = 255;
              this.freeSpinNotice.setPosition(cc.v2(0, this.freeSpinNotice.position.y));
              this.freeSpinWinAmtLabel.format = function(text) {
                return text.toString();
              };
              this.freeSpinWinAmtLabel.dur = 0;
              this.freeSpinWinAmtLabel.value = freeSpinCount;
              animToPlay = "free_game_entry_debug";
              PPPB_lib_1.cc1.sys.isMobile && (animToPlay = PPPB_quick_1.ks.isLandscape ? "free_game_out_entry_debug" : "freespins_enter_portrait");
              this.freeSpinNoticeAnimator.getAnimationState(animToPlay).wrapMode = cc.WrapMode.Normal;
              this.freeSpinNoticeAnimator.play(animToPlay);
              PPPB_quick_1.ks.playEffectSound("FreeGameWindowSlideDown");
              return [ 4, PPPB_lib_1._.sleep(700) ];

             case 3:
              _c.sent();
              PPPB_event_1.Events.publish("set", "freeInSkip", "");
              continueFreeSpinsController.shouldStop = false;
              return [ 4, PPPB_lib_1._.waiting(function() {
                return continueFreeSpinsController.shouldStop;
              }, this, PPPB_gameSettings_1.default.isSkipScreenEnabled ? 3e3 : null) ];

             case 4:
              _c.sent();
              this.Stop_FreeIn();
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Stop_FreeIn = function(isEnteringScatter) {
        void 0 === isEnteringScatter && (isEnteringScatter = true);
        return __awaiter(this, void 0, void 0, function() {
          var _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.prevGameSpeed = PPPB_gameSettings_1.default.gameSpeed;
              PPPB_gameSettings_1.default.gameSpeed = PPPB_gameSettings_1.GameSpeed.NORMAL;
              PPPB_ui_1.ui.playAnimation(this.freeSpinBGSpine.node, "idle_anim", 0, true);
              PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, "free_game_3", 1, true);
              this.Free_UpdateNum();
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 1:
              _b.sent();
              return [ 4, PPPB_lib_1._.sleep(700) ];

             case 2:
              _b.sent();
              PPPB_audio_1.audio.stop(PPPB_AudioID_1.default.bgm2ID);
              _a = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDoubleBGM() ];

             case 3:
              _a.bgm2ID = _b.sent();
              this.freeSpinNotice.opacity = 0;
              this.freeSpinNotice.setPosition(cc.v2(2e3, this.freeSpinNotice.position.y));
              this.w.isPlayingFreeGameTransition = false;
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Play_FreeOut = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, _b, animToPlay, emptyController;
          var _this = this;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              console.log("=========== play free out ");
              PPPB_audio_1.audio.stop(PPPB_AudioID_1.default.bgm2ID);
              _a = PPPB_AudioID_1.default;
              return [ 4, PPPB_quick_1.ks.playEffectSound("FreeGameResult_PB") ];

             case 1:
              _a.freeEndWinID = _c.sent();
              _b = PPPB_AudioID_1.default;
              return [ 4, PPPB_BgmAudioHandler_1.BgmAudio.playDefaultBGM() ];

             case 2:
              _b.bgmID = _c.sent();
              if (!(this.w.totalWinGolds > 0)) return [ 3, 5 ];
              this.freeSpinNoticeContinueLabel.opacity = 255;
              this.freeSpinNotice.opacity = 255;
              this.freeSpinNotice.setPosition(cc.v2(0, this.freeSpinNotice.position.y));
              animToPlay = "free_game_out";
              PPPB_lib_1.cc1.sys.isMobile && (animToPlay = PPPB_quick_1.ks.isLandscape ? "free_game_out" : "freespins_enter_portrait");
              PPPB_quick_1.ks.playEffectSound("FreeGameResult_PB");
              PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, animToPlay, 1, true).then(function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    PPPB_ui_1.ui.playAnimation(this.freeSpinBGSpine.node, "exit_anim", 1, true);
                    PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, "free_game_out_2", 1, true);
                    return [ 2 ];
                  });
                });
              });
              emptyController = {
                shouldStop: false
              };
              this.freeSpinWinAmtLabel.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
              this.freeSpinWinAmtLabel.dur = 0;
              this.freeSpinWinAmtLabel.value = 0;
              this.freeSpinWinAmtLabel.dur = 2;
              this.freeSpinWinAmtLabel.value = this.w.totalWinGolds;
              PPPB_event_1.Events.publish("gold", "add", "", this.w.totalWinGolds, true);
              return [ 4, PPPB_lib_1._.sleep(2e3) ];

             case 3:
              _c.sent();
              PPPB_event_1.Events.publish("set", "freeInSkip", "");
              continueFreeSpinsController.shouldStop = false;
              return [ 4, PPPB_lib_1._.waiting(function() {
                return continueFreeSpinsController.shouldStop;
              }, this, PPPB_gameSettings_1.default.isSkipScreenEnabled || PPPB_gameSettings_1.default.isAutoplayEnabled ? 2e3 : null) ];

             case 4:
              _c.sent();
              PPPB_event_1.Events.publish("update", "gameSubMessage", "", "label_web.FREESPINSCOMPLETED");
              _c.label = 5;

             case 5:
              this.Stop_FreeOut();
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Stop_FreeOut = function() {
        return __awaiter(this, void 0, void 0, function() {
          var animToPlay, _i, _a, panel;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.w.freeGolds > 0;
              PPPB_gameSettings_1.default.gameSpeed = this.prevGameSpeed;
              animToPlay = "free_game_out_3";
              PPPB_lib_1.cc1.sys.isMobile && (animToPlay = PPPB_quick_1.ks.isLandscape ? "free_game_out_3" : "freespins_enter_portrait");
              PPPB_event_1.Events.publishAsync("play", "freeGameTransitionAnim", "");
              this.$event_toggle_cardBackFrames(false);
              PPPB_ui_1.ui.playAnimation(this.freeSpinBGSpine.node, "exit_anim", 1, true);
              PPPB_ui_1.ui.playAnimation(this.freeSpinNoticeAnimator.node, animToPlay, 1, true);
              PPPB_lib_1._.sleep(500).then(function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    PPPB_event_1.Events.publish("exit", "freeout", "");
                    this.bgPortraitAnimator.play("mainbg_portrait_1");
                    this.bgAnimator.play("mainbg_1");
                    this.fgAnimator.play("mainfg_1");
                    this.signBoardNodeLandscape.opacity = 255;
                    PPPB_quick_1.ks.isLandscape ? this.$event_toggle_freeGameLandscapeView(false) : PPPB_lib_1.cc1.sys.isMobile;
                    PPPB_event_1.Events.publish("toggle", "topTipsFreeGame", "", false);
                    return [ 2 ];
                  });
                });
              });
              return [ 4, PPPB_lib_1._.sleep(3e3) ];

             case 1:
              _b.sent();
              this.freeSpinNotice.opacity = 0;
              this.freeSpinNotice.setPosition(cc.v2(2e3, this.freeSpinNotice.position.y));
              if (PPPB_gameSettings_1.default.isAutoplayEnabled) for (_i = 0, _a = this.bottomPanels; _i < _a.length; _i++) {
                panel = _a[_i];
                panel.autoSpinNode.active = true;
              }
              this.w.isPlayingFreeGameTransition = false;
              this.signBoardNodeLandscape.opacity = 255;
              this.bottomPanels[1].ToggleDisplayDoubleBetButtons(true);
              return [ 2 ];
            }
          });
        });
      };
      GPlayAnimation.prototype.Free_UpdateNum = function(beforeGain) {
        if (null == this.w.data) {
          console.log("no data, returning");
          return;
        }
        if (null == this.w.data.freeSpins) {
          console.log("no free spins, returning");
          return;
        }
        var remainingFreeSpins = Math.max(0, !beforeGain && this.w.hasGainedExtraFreeSpins ? this.w.extraFreeSpins : this.w.freeSpins);
        beforeGain && this.w.hasGainedExtraFreeSpins && (remainingFreeSpins -= this.w.extraFreeSpins);
        PPPB_event_1.Events.publish("update", "gameSubMessage", "", "gameSubMessage.FREESPINSLEFT", remainingFreeSpins.toString());
      };
      GPlayAnimation.prototype.$event_enter_freeSpins = function() {
        this.Event_EnterFreeSpins();
      };
      GPlayAnimation.prototype.Event_EnterFreeSpins = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            continueFreeSpinsController.shouldStop = true;
            return [ 2 ];
          });
        });
      };
      GPlayAnimation.prototype.$event_showCoin_change = function(v) {
        this.freeSpinWinAmtLabel.updateShow();
      };
      GPlayAnimation = __decorate([ PPPB_event_1.EventClass ], GPlayAnimation);
      return GPlayAnimation;
    }();
    exports.GPlayAnimation = GPlayAnimation;
    cc._RF.pop();
  }, {
    "../../../../textMeshPro/scripts/PPPB-TextMeshPro": "PPPB-TextMeshPro",
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../../framework-cocos/PPPB-language": "PPPB-language",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UISwitch": "PPPB-UISwitch",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-BgmAudioHandler": "PPPB-BgmAudioHandler",
    "../ui/PPPB-MoneyTextHelper": "PPPB-MoneyTextHelper",
    "./PPPB-AudioID": "PPPB-AudioID",
    "./States/PPPB-States": "PPPB-States"
  } ],
  "PPPB-QuickSpinNoticePanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6dda78n4bFISZTeRuxA7Mzu", "PPPB-QuickSpinNoticePanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_gameSettings_1 = require("../../PPPB-gameSettings");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var QuickSpinNoticePanel = function(_super) {
      __extends(QuickSpinNoticePanel, _super);
      function QuickSpinNoticePanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.webLandscapeText = null;
        _this.mobileLandscapeText = null;
        _this.panelAnimation = null;
        _this.hasDisplayed = false;
        return _this;
      }
      QuickSpinNoticePanel.prototype.onLoaded = function() {
        this.hasDisplayed = false;
      };
      QuickSpinNoticePanel.prototype.$event_display_quickSpin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.hasDisplayed) return [ 2 ];
            this.webLandscapeText.opacity = PPPB_lib_1.cc1.sys.isMobile ? 0 : 255;
            this.mobileLandscapeText.opacity = PPPB_lib_1.cc1.sys.isMobile ? 255 : 0;
            this.hasDisplayed = true;
            this.node.setPosition(cc.v2(0, this.node.position.y));
            this.node.opacity = 255;
            this.panelAnimation.play(PPPB_quick_1.ks.isLandscape ? "DisplayQuickSpinLandscape" : "DisplayQuickSpinPortrait");
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$event_mark_quickSpin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.hasDisplayed = true;
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$ui_BGFrame_closebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$ui_confirmbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$event_close_quickspin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$ui_confirmbtnMobile__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.$ui_QuickSpin_Toggle__toggle = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.gameSpeed = toggle.isChecked ? PPPB_gameSettings_1.GameSpeed.QUICK : PPPB_gameSettings_1.GameSpeed.NORMAL;
            return [ 2 ];
          });
        });
      };
      QuickSpinNoticePanel.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.opacity = 0;
            this.node.setPosition(cc.v2(2e3, this.node.position.y));
            return [ 2 ];
          });
        });
      };
      __decorate([ property(cc.Node) ], QuickSpinNoticePanel.prototype, "webLandscapeText", void 0);
      __decorate([ property(cc.Node) ], QuickSpinNoticePanel.prototype, "mobileLandscapeText", void 0);
      __decorate([ property(cc.Animation) ], QuickSpinNoticePanel.prototype, "panelAnimation", void 0);
      QuickSpinNoticePanel = __decorate([ ccclass ], QuickSpinNoticePanel);
      return QuickSpinNoticePanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = QuickSpinNoticePanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../PPPB-gameSettings": "PPPB-gameSettings",
    "../../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-ResLoad": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5b54dJExshMjZUv4G86j06M", "PPPB-ResLoad");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_res_1 = require("../../../framework-cocos/PPPB-res");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ResLoad = function(_super) {
      __extends(ResLoad, _super);
      function ResLoad() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      ResLoad.LoadRes = function(onProgressCallback) {
        return __awaiter(this, void 0, void 0, function() {
          var totalSequence;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              totalSequence = PPPB_lib_1.cc1.sys.isMobile ? 4 : 3;
              return [ 4, this.ResAudioClips("music/bgm") ];

             case 1:
              _a.sent();
              onProgressCallback(1, totalSequence);
              return [ 4, this.ResAudioClips("music/sound2") ];

             case 2:
              _a.sent();
              onProgressCallback(2, totalSequence);
              return [ 4, this.ResPrefabs("prefab/ui/preload") ];

             case 3:
              _a.sent();
              onProgressCallback(3, totalSequence);
              if (!PPPB_lib_1.cc1.sys.isMobile) return [ 3, 5 ];
              return [ 4, this.ResPrefabs("prefab/ui/preloadMobile") ];

             case 4:
              _a.sent();
              onProgressCallback(4, totalSequence);
              _a.label = 5;

             case 5:
              return [ 2 ];
            }
          });
        });
      };
      ResLoad.ResPrefabs = function(path) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_res_1.res.loadResDir(path, true, null, -1) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      ResLoad.ResAudioClips = function(path) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_res_1.res.loadResDir(path, true, null, -1) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      ResLoad = __decorate([ ccclass ], ResLoad);
      return ResLoad;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ResLoad;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-res": "PPPB-res",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-RichTextAtlasManager": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "73393v0kIxBQb1SYuB7J4AS", "PPPB-RichTextAtlasManager");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode;
    var RichTextAtlasManager = function(_super) {
      __extends(RichTextAtlasManager, _super);
      function RichTextAtlasManager() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spriteFrameArr = [];
        return _this;
      }
      RichTextAtlasManager_1 = RichTextAtlasManager;
      RichTextAtlasManager.prototype.onLoaded = function() {
        RichTextAtlasManager_1.cachedAtlas = new cc.SpriteAtlas();
        for (var _i = 0, _a = this.spriteFrameArr; _i < _a.length; _i++) {
          var spriteFrame = _a[_i];
          RichTextAtlasManager_1.cachedAtlas["_spriteFrames"][spriteFrame.name] = spriteFrame;
        }
      };
      var RichTextAtlasManager_1;
      __decorate([ property([ cc.SpriteFrame ]) ], RichTextAtlasManager.prototype, "spriteFrameArr", void 0);
      RichTextAtlasManager = RichTextAtlasManager_1 = __decorate([ ccclass, executeInEditMode ], RichTextAtlasManager);
      return RichTextAtlasManager;
    }(PPPB_UComponent_1.UComponent);
    exports.default = RichTextAtlasManager;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-ScrollingText": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4ebben875FMNJ2VmvZLD2Mu", "PPPB-ScrollingText");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ScrollingText = function(_super) {
      __extends(ScrollingText, _super);
      function ScrollingText() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spriteCom = null;
        _this.spriteList = [];
        _this.speed = 80;
        _this.timeStop = 1.5;
        _this.timeFade = 1;
        _this.lastSpr = -1;
        return _this;
      }
      ScrollingText.prototype.$event_txt_scroll = function() {
        this.StartST();
      };
      ScrollingText.prototype.StartST = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              false;
              return [ 4, this.Tips() ];

             case 1:
              _a.sent();
              return [ 3, 0 ];

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      ScrollingText.prototype.Tips = function() {
        return __awaiter(this, void 0, void 0, function() {
          var tips, randomInt, spr;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              tips = this.node;
              randomInt = PPPB_lib_1._.rand(0, this.spriteList.length);
              while (this.lastSpr == randomInt) randomInt = PPPB_lib_1._.rand(0, this.spriteList.length);
              this.lastSpr = randomInt;
              spr = this.spriteList[randomInt];
              this.spriteCom.spriteFrame = this.spriteList[randomInt];
              this.widht = tips.width;
              if (!(this.node.parent.width >= this.widht)) return [ 3, 2 ];
              tips.setPosition(-this.widht / 2, 0);
              return [ 4, PPPB_lib_1._.sleep(2 * this.timeStop * 1e3) ];

             case 1:
              _a.sent();
              return [ 3, 5 ];

             case 2:
              tips.setPosition(-this.node.parent.width / 2, 0);
              this.timeMove = this.widht / this.speed;
              return [ 4, PPPB_lib_1._.sleep(1e3 * this.timeStop) ];

             case 3:
              _a.sent();
              return [ 4, PPPB_action_1.ACT(tips).moveTo(this.timeMove, -this.node.parent.width / 2 - this.widht, 0).delay(500).act() ];

             case 4:
              _a.sent();
              _a.label = 5;

             case 5:
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Sprite) ], ScrollingText.prototype, "spriteCom", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], ScrollingText.prototype, "spriteList", void 0);
      ScrollingText = __decorate([ ccclass ], ScrollingText);
      return ScrollingText;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ScrollingText;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-SkinnedAnimationAssetManager": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "920d2tl99VJDZkRj9LUk3hl", "PPPB-SkinnedAnimationAssetManager");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var DragonbonesAssetData = function() {
      function DragonbonesAssetData() {
        this.dragonAsset = null;
        this.dragonAtlasAsset = null;
        this.armatureName = "";
      }
      __decorate([ property(dragonBones.DragonBonesAsset) ], DragonbonesAssetData.prototype, "dragonAsset", void 0);
      __decorate([ property(dragonBones.DragonBonesAtlasAsset) ], DragonbonesAssetData.prototype, "dragonAtlasAsset", void 0);
      __decorate([ property() ], DragonbonesAssetData.prototype, "armatureName", void 0);
      DragonbonesAssetData = __decorate([ ccclass("PPPB-DragonAssetPair") ], DragonbonesAssetData);
      return DragonbonesAssetData;
    }();
    var SkinnedAnimationAssetManager = function(_super) {
      __extends(SkinnedAnimationAssetManager, _super);
      function SkinnedAnimationAssetManager() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spineMapTable = {};
        _this.dragonbonesMapTable = {};
        _this.spineAssetList = [];
        _this.dragonbonesAssetList = [];
        _this.isInited = false;
        return _this;
      }
      SkinnedAnimationAssetManager.prototype.InitAnimations = function() {
        if (this.isInited) return;
        this.isInited = true;
        for (var i = 0; i < this.spineAssetList.length; i++) this.spineMapTable[this.spineAssetList[i].name] = this.spineAssetList[i];
        for (var i = 0; i < this.dragonbonesAssetList.length; i++) this.dragonbonesMapTable[this.dragonbonesAssetList[i].dragonAsset.name] = this.dragonbonesAssetList[i];
      };
      SkinnedAnimationAssetManager.prototype.GetSpineSkeleton = function(assetName) {
        if (this.spineMapTable[assetName]) return this.spineMapTable[assetName];
        console.warn("[SkinnedAnimationAssetManager] Unable to find spine asset: " + assetName);
        return null;
      };
      SkinnedAnimationAssetManager.prototype.GetDragonbonesAssetData = function(assetName) {
        var asset = this.dragonbonesMapTable[assetName];
        if (asset) return asset;
        console.warn("[SkinnedAnimationAssetManager] Unable to find dragonbones asset: " + assetName);
        return null;
      };
      __decorate([ property([ sp.SkeletonData ]) ], SkinnedAnimationAssetManager.prototype, "spineAssetList", void 0);
      __decorate([ property([ DragonbonesAssetData ]) ], SkinnedAnimationAssetManager.prototype, "dragonbonesAssetList", void 0);
      SkinnedAnimationAssetManager = __decorate([ ccclass ], SkinnedAnimationAssetManager);
      return SkinnedAnimationAssetManager;
    }(PPPB_UComponent_1.UComponent);
    exports.default = SkinnedAnimationAssetManager;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-SpinButtonHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "bd0c4MckAVMCI+9E7JTyaSt", "PPPB-SpinButtonHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var MAIN_ARROW_SPIN_1 = "mobile_spin_1";
    var MAIN_ARROW_SPIN_2 = "mobile_spin_2";
    var MAIN_ARROW_SPIN_1_PORTRAIT = "mobile_spin_1_portrait";
    var MAIN_ARROW_SPIN_2_PORTRAIT = "mobile_spin_2_portrait";
    var SpinButtonHelper = function(_super) {
      __extends(SpinButtonHelper, _super);
      function SpinButtonHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spinBtn = null;
        _this.spinFrame = null;
        _this.scalerAnimation = null;
        _this.buttonAnimation = null;
        _this.selectedArrowNode = null;
        _this.isPortraitUI = false;
        _this.isSpinning = false;
        _this.baseScene = null;
        _this.work = null;
        _this.isLandscape = false;
        return _this;
      }
      SpinButtonHelper.prototype.init = function(baseScene) {
        this.baseScene = baseScene;
        this.work = baseScene.work;
        this.buttonAnimation.play(PPPB_quick_1.ks.isLandscape ? MAIN_ARROW_SPIN_1 : MAIN_ARROW_SPIN_1_PORTRAIT);
      };
      SpinButtonHelper.prototype.onLoaded = function() {
        if (PPPB_lib_1.cc1.sys.isMobile) {
          this.isLandscape = PPPB_quick_1.ks.isLandscape;
          this.node.on(cc.Node.EventType.TOUCH_START, this.OnTouchStart, this);
          this.node.on(cc.Node.EventType.TOUCH_MOVE, this.OnTouchMove, this);
          this.node.on(cc.Node.EventType.TOUCH_END, this.OnTouchEnd, this);
          this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.OnTouchEnd, this);
          this.node.on(cc.Node.EventType.MOUSE_UP, this.OnTouchEnd, this);
        }
      };
      SpinButtonHelper.prototype.OnTouchStart = function() {
        var _this = this;
        if (this.baseScene.isSpamBlockSpin) return;
        if (this.baseScene.IsPlaying) return;
        this.spinFrame.opacity = 0;
        this.selectedArrowNode.opacity = 255;
        this.isPortraitUI ? this.scalerAnimation.play("mobile_spin_scale_portrait") : this.scalerAnimation.play("mobile_spin_scale");
        this._timeoutTimer = setTimeout(function() {
          return __awaiter(_this, void 0, void 0, function() {
            var _this = this;
            return __generator(this, function(_a) {
              this.work.isHoldForceTurbo = true;
              this.StartSpinning();
              this.isPortraitUI || this.scalerAnimation.play("mobile_spin_scale_default");
              this.scheduleOnce(function() {
                _this.buttonAnimation.play(PPPB_quick_1.ks.isLandscape ? MAIN_ARROW_SPIN_1 : MAIN_ARROW_SPIN_1_PORTRAIT);
              });
              return [ 2 ];
            });
          });
        }, 1500);
      };
      SpinButtonHelper.prototype.OnTouchMove = function() {};
      SpinButtonHelper.prototype.OnTouchEnd = function() {
        this.work.isHoldForceTurbo = false;
        clearTimeout(this._timeoutTimer);
        if (this.baseScene.isSpamBlockSpin) return;
        if (this.baseScene.IsPlaying) return;
        this.spinFrame.opacity = 255;
        this.selectedArrowNode.opacity = 0;
        this.isPortraitUI || this.scalerAnimation.play("mobile_spin_scale_default");
        this.buttonAnimation.play(PPPB_quick_1.ks.isLandscape ? MAIN_ARROW_SPIN_2 : MAIN_ARROW_SPIN_2_PORTRAIT);
      };
      SpinButtonHelper.prototype.$event_spinbutton_auto = function(autoOn) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.scalerAnimation.node.opacity = autoOn ? 0 : 255;
            return [ 2 ];
          });
        });
      };
      SpinButtonHelper.prototype.$event_update_spinbtnOrientation = function() {
        if (this.isLandscape != PPPB_quick_1.ks.isLandscape) {
          this.isLandscape = PPPB_quick_1.ks.isLandscape;
          this.buttonAnimation.play(PPPB_quick_1.ks.isLandscape ? MAIN_ARROW_SPIN_1 : MAIN_ARROW_SPIN_1_PORTRAIT);
        }
      };
      SpinButtonHelper.prototype.$event_finish_spin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.isLandscape = PPPB_quick_1.ks.isLandscape;
            this.spinBtn.active = true;
            this.spinFrame.opacity = 255;
            this.selectedArrowNode.opacity = 0;
            this.scalerAnimation.play("mobile_spin_scale_default");
            this.buttonAnimation.play(PPPB_quick_1.ks.isLandscape ? MAIN_ARROW_SPIN_1 : MAIN_ARROW_SPIN_1_PORTRAIT);
            return [ 2 ];
          });
        });
      };
      SpinButtonHelper.prototype.StartSpinning = function() {
        return __awaiter(this, void 0, void 0, function() {
          var me_1;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_event_1.Events.publish("turbo", "isForced", "", true);
              return [ 4, PPPB_event_1.Events.publishAsync("spin", "scroll", "") ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(200) ];

             case 2:
              _a.sent();
              if (this.work.isHoldForceTurbo) {
                me_1 = this;
                this.scheduleOnce(function() {
                  return me_1.StartSpinning();
                });
              } else PPPB_event_1.Events.publish("turbo", "isForced", "", false);
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Node) ], SpinButtonHelper.prototype, "spinBtn", void 0);
      __decorate([ property(cc.Node) ], SpinButtonHelper.prototype, "spinFrame", void 0);
      __decorate([ property(cc.Animation) ], SpinButtonHelper.prototype, "scalerAnimation", void 0);
      __decorate([ property(cc.Animation) ], SpinButtonHelper.prototype, "buttonAnimation", void 0);
      __decorate([ property(cc.Node) ], SpinButtonHelper.prototype, "selectedArrowNode", void 0);
      __decorate([ property ], SpinButtonHelper.prototype, "isPortraitUI", void 0);
      SpinButtonHelper = __decorate([ ccclass ], SpinButtonHelper);
      return SpinButtonHelper;
    }(PPPB_UComponent_1.UComponent);
    exports.default = SpinButtonHelper;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-SpineAssetManager": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "7b557N41btB2bKxYqou/6o3", "PPPB-SpineAssetManager");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var SpineAssetManager = function(_super) {
      __extends(SpineAssetManager, _super);
      function SpineAssetManager() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spineMapTable = {};
        _this.spineAssetList = [];
        _this.isInited = false;
        return _this;
      }
      SpineAssetManager.prototype.InitSpineAnimations = function() {
        if (this.isInited) return;
        this.isInited = true;
        for (var i = 0; i < this.spineAssetList.length; i++) {
          if (!this.spineAssetList[i]) continue;
          this.spineMapTable[this.spineAssetList[i].name] = this.spineAssetList[i];
        }
      };
      SpineAssetManager.prototype.GetSpineAnimation = function(name) {
        if (this.spineMapTable[name]) return this.spineMapTable[name];
        console.warn("[SpineAssetManager] Unable to find spine asset: " + name);
        return null;
      };
      __decorate([ property([ sp.SkeletonData ]) ], SpineAssetManager.prototype, "spineAssetList", void 0);
      SpineAssetManager = __decorate([ ccclass ], SpineAssetManager);
      return SpineAssetManager;
    }(PPPB_UComponent_1.UComponent);
    exports.default = SpineAssetManager;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-StageZeus": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d2dfc7O3DZOgKrLmctUW/I2", "PPPB-StageZeus");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var StageZeus = function(_super) {
      __extends(StageZeus, _super);
      function StageZeus() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.armature = null;
        _this.prepareLightningAnim = null;
        _this.isIdle = true;
        _this.summonedLightningParent = null;
        return _this;
      }
      StageZeus.prototype.onLoaded = function() {
        this.summonedLightningParent = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "GameScaler/frontTumble" ]);
      };
      StageZeus.prototype.$event_prepare_lightning = function() {
        this.PrepareLightning();
      };
      StageZeus.prototype.$event_prepare_lightningAnimSwitch = function() {
        this.PrepareLightningSwitchAnim();
      };
      StageZeus.prototype.$event_summon_lightning = function(lightningAnim, type) {
        this.SummonLightning(lightningAnim, type);
      };
      StageZeus.prototype.PrepareLightning = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.prepareLightningAnim.play();
            PPPB_quick_1.ks.playEffectSound("SymbolMultiplierStart");
            return [ 2 ];
          });
        });
      };
      StageZeus.prototype.PrepareLightningSwitchAnim = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!this.isIdle) return [ 3, 2 ];
              this.isIdle = false;
              this.armature.playAnimation("hand_up", 1);
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 1:
              _a.sent();
              this.prepareLightningAnim.play();
              return [ 3, 3 ];

             case 2:
              this.isIdle = true;
              this.armature.playAnimation("idle", -1);
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      StageZeus.prototype.SummonLightning = function(lightningAnim, type) {
        return __awaiter(this, void 0, void 0, function() {
          var lightningNode, originalLightningParent, lightningWorldPos, animName;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              lightningNode = lightningAnim.node.parent;
              originalLightningParent = lightningNode.parent;
              lightningWorldPos = PPPB_ui_1.ui.getWorldPos(lightningNode);
              lightningNode.setParent(this.summonedLightningParent);
              lightningNode.setPosition(this.summonedLightningParent.convertToNodeSpaceAR(lightningWorldPos));
              PPPB_quick_1.ks.playEffectSound("SymbolMultiplier");
              animName = "lightning" + type;
              lightningAnim.play(animName);
              return [ 4, PPPB_lib_1._.sleep(1e3 * lightningAnim.getAnimationState(animName).duration) ];

             case 1:
              _a.sent();
              lightningNode.setParent(originalLightningParent);
              lightningNode.setPosition(originalLightningParent.convertToNodeSpaceAR(lightningWorldPos));
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(dragonBones.ArmatureDisplay) ], StageZeus.prototype, "armature", void 0);
      __decorate([ property(cc.Animation) ], StageZeus.prototype, "prepareLightningAnim", void 0);
      StageZeus = __decorate([ ccclass ], StageZeus);
      return StageZeus;
    }(PPPB_UComponent_1.UComponent);
    exports.default = StageZeus;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-StartCardsConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "918d9XiS3VMjb+dMyRnfhyy", "PPPB-StartCardsConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.teststartCards = exports.startCards = void 0;
    exports.startCards = {
      cards: [ [ "s1", "s4", "s5", "s4", "s2", "s1", "s3", "s1" ], [ "s1", "s8", "s3", "g8", "scatter", "g7", "s6", "s4", "s1" ], [ "s1", "s7", "s5", "wild", "g9", "wild", "s1", "s7", "s1" ], [ "s1", "s8", "s3", "g8", "scatter", "g7", "s6", "s4", "s1" ], [ "s1", "s4", "s5", "s4", "s2", "s1", "s3", "s1" ] ]
    };
    exports.teststartCards = {
      cards: [ [ "s4", "s5", "scatter", "s2", "s1", "s3" ], [ "s8", "s3", "g8", "scatter", "g7", "s6", "s4" ], [ "s7", "s5", "wild", "g9", "wild", "s1", "s7" ], [ "s8", "s3", "g8", "scatter", "g7", "s6", "s4" ], [ "s4", "s5", "s4", "s2", "s1", "s3" ] ]
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-States": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a7e534VDatBYaLcyQu5sGqe", "PPPB-States");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.states = exports.States = void 0;
    var PPPB_endState_1 = require("./PPPB-endState");
    var PPPB_scatterState_1 = require("./PPPB-scatterState");
    var PPPB_startState_1 = require("./PPPB-startState");
    var PPPB_winState_1 = require("./PPPB-winState");
    var States = function() {
      function States() {}
      States.start = new PPPB_startState_1.startState();
      States.win = new PPPB_winState_1.winState();
      States.scatter = new PPPB_scatterState_1.scatterState();
      States.end = new PPPB_endState_1.endState();
      return States;
    }();
    exports.States = States;
    exports.states = States;
    cc._RF.pop();
  }, {
    "./PPPB-endState": "PPPB-endState",
    "./PPPB-scatterState": "PPPB-scatterState",
    "./PPPB-startState": "PPPB-startState",
    "./PPPB-winState": "PPPB-winState"
  } ],
  "PPPB-State": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "2d45cIJkEFERomcetgkIuUz", "PPPB-State");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.State = void 0;
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var State = function() {
      function State() {}
      Object.defineProperty(State.prototype, "aniroot", {
        get: function() {
          return PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "GameScaler/aniroot" ]);
        },
        enumerable: false,
        configurable: true
      });
      State.prototype.getWays = function(w) {
        var ways = [];
        for (var i = 0; i < w.data.cards.length; i++) {
          var cs = w.data.cards[i];
          var n = 0;
          for (var j = 0; j < cs.length; j++) 0 != cs[j] && n++;
          ways.push(n);
        }
        return ways;
      };
      return State;
    }();
    exports.State = State;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-SystemSettingsPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c5f68k3hI9JYYAywYXpghob", "PPPB-SystemSettingsPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_gameSettings_1 = require("../../PPPB-gameSettings");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var SystemSettingsPanel = function(_super) {
      __extends(SystemSettingsPanel, _super);
      function SystemSettingsPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.isPortraitUI = false;
        _this.quickSpinToggleAnimation = null;
        _this.batterySaverToggleAnimation = null;
        _this.mobileSoundToggleAnimation = null;
        _this.ambientMusicToggleAnimation = null;
        _this.soundFXToggleAnimation = null;
        _this.introScreenToggleAnimation = null;
        _this.mobileSoundToggleLabel = null;
        _this.ambientMusicToggleLabel = null;
        _this.soundFXToggleLabel = null;
        _this.addBetBtn = null;
        _this.minusBetBtn = null;
        _this.totalBetLabel = null;
        return _this;
      }
      SystemSettingsPanel.prototype.$event_display_syssettings = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.isPortraitUI && PPPB_quick_1.ks.isLandscape || !this.isPortraitUI && !PPPB_quick_1.ks.isLandscape) return [ 2 ];
            this.node.setPosition(cc.v2(0, this.node.position.y));
            this.node.opacity = 255;
            this.RefreshQuickSpinState(true);
            this.RefreshIntroScreenState(true);
            this.RefreshBatterySaverState(true);
            this.mobileSoundToggleAnimation.node.parent.active = PPPB_lib_1.cc1.sys.isMobile;
            this.mobileSoundToggleLabel.active = PPPB_lib_1.cc1.sys.isMobile;
            this.ambientMusicToggleLabel.active = !PPPB_lib_1.cc1.sys.isMobile;
            this.soundFXToggleLabel.active = !PPPB_lib_1.cc1.sys.isMobile;
            this.ambientMusicToggleAnimation.node.parent.active = !PPPB_lib_1.cc1.sys.isMobile;
            this.soundFXToggleAnimation.node.parent.active = !PPPB_lib_1.cc1.sys.isMobile;
            if (PPPB_lib_1.cc1.sys.isMobile) this.RefreshMobileSoundState(true); else {
              this.RefreshAmbientMusicState(true);
              this.RefreshSoundFXState(true);
            }
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_GameHistoryLayout_GameHistoryButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var historyPanel;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.create("prefab/ui/history") ];

             case 1:
              historyPanel = _a.sent();
              historyPanel.node.setPosition(0, 0);
              return [ 2 ];
            }
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_QuickSpin_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.gameSpeed = PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK ? PPPB_gameSettings_1.GameSpeed.NORMAL : PPPB_gameSettings_1.GameSpeed.QUICK;
            this.quickSpinToggleAnimation.play(PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK ? "ToggleOn" : "ToggleOff");
            this.RefreshQuickSpinState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_BatterySaver_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.isBatterySaverEnabled = !PPPB_gameSettings_1.default.isBatterySaverEnabled;
            this.batterySaverToggleAnimation.play(PPPB_gameSettings_1.default.isBatterySaverEnabled ? "ToggleOn" : "ToggleOff");
            this.RefreshBatterySaverState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_MobileSound_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.isSoundMute = !PPPB_gameSettings_1.default.isSoundMute;
            this.mobileSoundToggleAnimation.play(PPPB_gameSettings_1.default.isSoundMute ? "ToggleOff" : "ToggleOn");
            this.RefreshMobileSoundState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_AmbientMusic_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.isBGMMute = !PPPB_gameSettings_1.default.isBGMMute;
            this.ambientMusicToggleAnimation.play(PPPB_gameSettings_1.default.isBGMMute ? "ToggleOff" : "ToggleOn");
            this.RefreshAmbientMusicState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_SoundFX_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.isSFXMute = !PPPB_gameSettings_1.default.isSFXMute;
            this.soundFXToggleAnimation.play(PPPB_gameSettings_1.default.isSFXMute ? "ToggleOff" : "ToggleOn");
            this.RefreshSoundFXState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_ButtonsLayout_IntroScreen_Toggle__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_gameSettings_1.default.introScreenSkip = !PPPB_gameSettings_1.default.introScreenSkip;
            this.introScreenToggleAnimation.play(PPPB_gameSettings_1.default.introScreenSkip ? "ToggleOff" : "ToggleOn");
            this.RefreshIntroScreenState();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.RefreshQuickSpinState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        isUpdateUI && this.quickSpinToggleAnimation.play(PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK ? "ToggleOnDefault" : "ToggleOffDefault");
      };
      SystemSettingsPanel.prototype.RefreshBatterySaverState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        cc.game.setFrameRate(PPPB_gameSettings_1.default.isBatterySaverEnabled ? 30 : 60);
        isUpdateUI && this.batterySaverToggleAnimation.play(PPPB_gameSettings_1.default.isBatterySaverEnabled ? "ToggleOnDefault" : "ToggleOffDefault");
      };
      SystemSettingsPanel.prototype.RefreshMobileSoundState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        isUpdateUI ? this.mobileSoundToggleAnimation.play(PPPB_gameSettings_1.default.isSoundMute ? "ToggleOffDefault" : "ToggleOnDefault") : PPPB_event_1.Events.publish("volume", "toggleMute", "", PPPB_gameSettings_1.default.isSoundMute);
      };
      SystemSettingsPanel.prototype.RefreshAmbientMusicState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        isUpdateUI ? this.ambientMusicToggleAnimation.play(PPPB_gameSettings_1.default.isBGMMute ? "ToggleOffDefault" : "ToggleOnDefault") : PPPB_event_1.Events.publish("volume", "toggleMute", "", PPPB_gameSettings_1.default.isBGMMute && PPPB_gameSettings_1.default.isSFXMute);
      };
      SystemSettingsPanel.prototype.RefreshSoundFXState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        isUpdateUI ? this.soundFXToggleAnimation.play(PPPB_gameSettings_1.default.isSFXMute ? "ToggleOffDefault" : "ToggleOnDefault") : PPPB_event_1.Events.publish("volume", "toggleMute", "", PPPB_gameSettings_1.default.isBGMMute && PPPB_gameSettings_1.default.isSFXMute);
      };
      SystemSettingsPanel.prototype.RefreshIntroScreenState = function(isUpdateUI) {
        void 0 === isUpdateUI && (isUpdateUI = false);
        isUpdateUI && this.introScreenToggleAnimation.play(PPPB_gameSettings_1.default.introScreenSkip ? "ToggleOffDefault" : "ToggleOnDefault");
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_closebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("close", "systemsettings", "");
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$event_close_systemsettings = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.opacity = 0;
            this.node.setPosition(cc.v2(2e3, this.node.position.y));
            return [ 2 ];
          });
        });
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_TotalBetLayout_PlusBet__click = function() {
        PPPB_event_1.Events.publish("bet", "increase", "");
      };
      SystemSettingsPanel.prototype.$ui_BGFrame_TotalBetLayout_MinusBet__click = function() {
        PPPB_event_1.Events.publish("bet", "decrease", "");
      };
      SystemSettingsPanel.prototype.$event_bet_isMax = function(isMax) {
        var addBetBtn = PPPB_ui_1.ui.getNode([ this, "BGFrame/TotalBetLayout/PlusBet" ]).getComponent(cc.Button);
        this.addBetBtn.interactable = isMax;
      };
      SystemSettingsPanel.prototype.$event_bet_isMin = function(isMin) {
        var minusBetBtn = PPPB_ui_1.ui.getNode([ this, "BGFrame/TotalBetLayout/MinusBet" ]).getComponent(cc.Button);
        this.minusBetBtn.interactable = isMin;
      };
      SystemSettingsPanel.prototype.$event_display_updateBet = function(betDisplay) {
        this.totalBetLabel.string = betDisplay;
      };
      SystemSettingsPanel.prototype.$event_start_spin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.addBetBtn.interactable = false;
            this.minusBetBtn.interactable = false;
            return [ 2 ];
          });
        });
      };
      __decorate([ property ], SystemSettingsPanel.prototype, "isPortraitUI", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "quickSpinToggleAnimation", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "batterySaverToggleAnimation", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "mobileSoundToggleAnimation", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "ambientMusicToggleAnimation", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "soundFXToggleAnimation", void 0);
      __decorate([ property(cc.Animation) ], SystemSettingsPanel.prototype, "introScreenToggleAnimation", void 0);
      __decorate([ property(cc.Node) ], SystemSettingsPanel.prototype, "mobileSoundToggleLabel", void 0);
      __decorate([ property(cc.Node) ], SystemSettingsPanel.prototype, "ambientMusicToggleLabel", void 0);
      __decorate([ property(cc.Node) ], SystemSettingsPanel.prototype, "soundFXToggleLabel", void 0);
      __decorate([ property(cc.Button) ], SystemSettingsPanel.prototype, "addBetBtn", void 0);
      __decorate([ property(cc.Button) ], SystemSettingsPanel.prototype, "minusBetBtn", void 0);
      __decorate([ property(cc.Label) ], SystemSettingsPanel.prototype, "totalBetLabel", void 0);
      SystemSettingsPanel = __decorate([ ccclass ], SystemSettingsPanel);
      return SystemSettingsPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = SystemSettingsPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../PPPB-gameSettings": "PPPB-gameSettings",
    "../../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-TextMeshPro": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "65910Z4NTRKBp9PBrx1//s6", "PPPB-TextMeshPro");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.TmpUniform = exports.TmpOverflow = void 0;
    var PPPB_TmpAssembler_1 = require("./utils/PPPB-TmpAssembler");
    var PPPB_TmpFontConfig_1 = require("./utils/PPPB-TmpFontConfig");
    var PPPB_TmpUtils_1 = require("./utils/PPPB-TmpUtils");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode, menu = _a.menu;
    var TmpOverflow;
    (function(TmpOverflow) {
      TmpOverflow[TmpOverflow["NONE"] = 0] = "NONE";
      TmpOverflow[TmpOverflow["CLAMP"] = 1] = "CLAMP";
      TmpOverflow[TmpOverflow["ELLIPSIS"] = 2] = "ELLIPSIS";
      TmpOverflow[TmpOverflow["SHRINK"] = 3] = "SHRINK";
      TmpOverflow[TmpOverflow["RESIZE_HEIGHT"] = 4] = "RESIZE_HEIGHT";
    })(TmpOverflow = exports.TmpOverflow || (exports.TmpOverflow = {}));
    var TmpUniform = function() {
      function TmpUniform() {
        this._faceColor = cc.Color.WHITE;
        this._faceDilate = .5;
        this._faceSoftness = .01;
        this._enableOutline = false;
        this._outlineColor = cc.color(255, 0, 0, 255);
        this._outlineThickness = .1;
        this._enableUnderlay = false;
        this._underlayColor = cc.color(0, 0, 0, 255);
        this._underlayOffset = cc.v2(0, 0);
        this._underlayDilate = .5;
        this._underlaySoftness = .1;
        this._enableGlow = false;
        this._glowColor = cc.color(0, 255, 0, 255);
        this._glowOffset = .5;
        this._glowInner = .01;
        this._glowOuter = .01;
        this._glowPower = 1;
        this._comp = null;
      }
      Object.defineProperty(TmpUniform.prototype, "faceColor", {
        get: function() {
          return this._faceColor;
        },
        set: function(v) {
          if (true, this._faceColor === v) return;
          this._faceColor = v;
          if (!this._comp) return;
          this._comp.updateTmpMatFace(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "faceDilate", {
        get: function() {
          return this._faceDilate;
        },
        set: function(v) {
          if (this._faceDilate === v) return;
          this._faceDilate = v;
          if (!this._comp) return;
          this._comp.updateTmpMatFace(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "faceSoftness", {
        get: function() {
          return this._faceSoftness;
        },
        set: function(v) {
          if (this._faceSoftness === v) return;
          this._faceSoftness = v;
          if (!this._comp) return;
          this._comp.updateTmpMatFace(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "enableOutline", {
        get: function() {
          return this._enableOutline;
        },
        set: function(v) {
          if (this._enableOutline === v) return;
          this._enableOutline = v;
          if (!this._comp) return;
          this._comp.updateTmpMatOutline(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "outlineColor", {
        get: function() {
          return this._outlineColor;
        },
        set: function(v) {
          if (true, this._outlineColor === v) return;
          this._outlineColor = v;
          if (!this._comp) return;
          this._comp.updateTmpMatOutline(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "outlineThickness", {
        get: function() {
          return this._outlineThickness;
        },
        set: function(v) {
          if (this._outlineThickness === v) return;
          this._outlineThickness = v;
          if (!this._comp) return;
          this._comp.updateTmpMatOutline(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "enableUnderlay", {
        get: function() {
          return this._enableUnderlay;
        },
        set: function(v) {
          if (this._enableUnderlay === v) return;
          this._enableUnderlay = v;
          if (!this._comp) return;
          this._comp.updateTmpMatUnderlay(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "underlayColor", {
        get: function() {
          return this._underlayColor;
        },
        set: function(v) {
          if (true, this._underlayColor === v) return;
          this._underlayColor = v;
          if (!this._comp) return;
          this._comp.updateTmpMatUnderlay(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "underlayOffset", {
        get: function() {
          return this._underlayOffset;
        },
        set: function(v) {
          if (true, this._underlayOffset === v) return;
          this._underlayOffset = v;
          if (!this._comp) return;
          this._comp.updateTmpMatUnderlay(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "underlayDilate", {
        get: function() {
          return this._underlayDilate;
        },
        set: function(v) {
          if (this._underlayDilate === v) return;
          this._underlayDilate = v;
          if (!this._comp) return;
          this._comp.updateTmpMatUnderlay(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "underlaySoftness", {
        get: function() {
          return this._underlaySoftness;
        },
        set: function(v) {
          if (this._underlaySoftness === v) return;
          this._underlaySoftness = v;
          if (!this._comp) return;
          this._comp.updateTmpMatUnderlay(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "enableGlow", {
        get: function() {
          return this._enableGlow;
        },
        set: function(v) {
          if (this._enableGlow === v) return;
          this._enableGlow = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "glowColor", {
        get: function() {
          return this._glowColor;
        },
        set: function(v) {
          if (true, this._glowColor === v) return;
          this._glowColor = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "glowOffset", {
        get: function() {
          return this._glowOffset;
        },
        set: function(v) {
          if (this._glowOffset === v) return;
          this._glowOffset = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "glowInner", {
        get: function() {
          return this._glowInner;
        },
        set: function(v) {
          if (this._glowInner === v) return;
          this._glowInner = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "glowOuter", {
        get: function() {
          return this._glowOuter;
        },
        set: function(v) {
          if (this._glowOuter === v) return;
          this._glowOuter = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "glowPower", {
        get: function() {
          return this._glowPower;
        },
        set: function(v) {
          if (this._glowPower === v) return;
          this._glowPower = v;
          if (!this._comp) return;
          this._comp.updateTmpMatGlow(this._comp.getMaterial(0));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpUniform.prototype, "comp", {
        get: function() {
          return this._comp;
        },
        enumerable: false,
        configurable: true
      });
      TmpUniform.prototype.init = function(text) {
        this._comp = text;
        false;
        var material = this._comp.getMaterial(0);
        this._comp.updateTmpMatFace(material);
        this._comp.updateTmpMatOutline(material);
        this._comp.updateTmpMatUnderlay(material);
        this._comp.updateTmpMatGlow(material);
      };
      __decorate([ property(cc.Color) ], TmpUniform.prototype, "_faceColor", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Color
      }) ], TmpUniform.prototype, "faceColor", null);
      __decorate([ property() ], TmpUniform.prototype, "_faceDilate", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ]
      }) ], TmpUniform.prototype, "faceDilate", null);
      __decorate([ property() ], TmpUniform.prototype, "_faceSoftness", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ]
      }) ], TmpUniform.prototype, "faceSoftness", null);
      __decorate([ property() ], TmpUniform.prototype, "_enableOutline", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TmpUniform.prototype, "enableOutline", null);
      __decorate([ property(cc.Color) ], TmpUniform.prototype, "_outlineColor", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Color,
        visible: function() {
          return this._enableOutline;
        }
      }) ], TmpUniform.prototype, "outlineColor", null);
      __decorate([ property() ], TmpUniform.prototype, "_outlineThickness", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableOutline;
        }
      }) ], TmpUniform.prototype, "outlineThickness", null);
      __decorate([ property() ], TmpUniform.prototype, "_enableUnderlay", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TmpUniform.prototype, "enableUnderlay", null);
      __decorate([ property(cc.Color) ], TmpUniform.prototype, "_underlayColor", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Color,
        visible: function() {
          return this._enableUnderlay;
        }
      }) ], TmpUniform.prototype, "underlayColor", null);
      __decorate([ property(cc.Vec2) ], TmpUniform.prototype, "_underlayOffset", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Vec2,
        range: [ -1, 1 ],
        visible: function() {
          return this._enableUnderlay;
        }
      }) ], TmpUniform.prototype, "underlayOffset", null);
      __decorate([ property() ], TmpUniform.prototype, "_underlayDilate", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableUnderlay;
        }
      }) ], TmpUniform.prototype, "underlayDilate", null);
      __decorate([ property() ], TmpUniform.prototype, "_underlaySoftness", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableUnderlay;
        }
      }) ], TmpUniform.prototype, "underlaySoftness", null);
      __decorate([ property() ], TmpUniform.prototype, "_enableGlow", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TmpUniform.prototype, "enableGlow", null);
      __decorate([ property(cc.Color) ], TmpUniform.prototype, "_glowColor", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Color,
        visible: function() {
          return this._enableGlow;
        }
      }) ], TmpUniform.prototype, "glowColor", null);
      __decorate([ property() ], TmpUniform.prototype, "_glowOffset", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableGlow;
        }
      }) ], TmpUniform.prototype, "glowOffset", null);
      __decorate([ property() ], TmpUniform.prototype, "_glowInner", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableGlow;
        }
      }) ], TmpUniform.prototype, "glowInner", null);
      __decorate([ property() ], TmpUniform.prototype, "_glowOuter", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableGlow;
        }
      }) ], TmpUniform.prototype, "glowOuter", null);
      __decorate([ property() ], TmpUniform.prototype, "_glowPower", void 0);
      __decorate([ property({
        tooltip: false,
        range: [ 0, 1, .01 ],
        visible: function() {
          return this._enableGlow;
        }
      }) ], TmpUniform.prototype, "glowPower", null);
      TmpUniform = __decorate([ ccclass("PPPB-TmpUniform") ], TmpUniform);
      return TmpUniform;
    }();
    exports.TmpUniform = TmpUniform;
    var TextMeshPro = function(_super) {
      __extends(TextMeshPro, _super);
      function TextMeshPro() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._string = "";
        _this._font = null;
        _this._horizontalAlign = cc.Label.HorizontalAlign.LEFT;
        _this._verticalAlign = cc.Label.VerticalAlign.TOP;
        _this._actualFontSize = 0;
        _this._fontSize = 32;
        _this._lineHeight = 32;
        _this._spacingX = 0;
        _this._overflow = TmpOverflow.NONE;
        _this._enableWrapText = true;
        _this._enableItalic = false;
        _this._enableUnderline = false;
        _this._underlineOffset = 0;
        _this._enableStrikethrough = false;
        _this._strikethroughOffset = 0;
        _this._color = new cc.Gradient();
        _this.tmpUniform = new TmpUniform();
        _this.textures = [];
        _this._fontConfig = null;
        _this._assembler = null;
        _this._worldVertsDirty = false;
        _this._colorExtraDirty = false;
        _this._prevColor = null;
        _this._colorsPrevLength = 0;
        _this._richTextDeltaX = 0;
        return _this;
      }
      Object.defineProperty(TextMeshPro.prototype, "string", {
        get: function() {
          return this._string;
        },
        set: function(v) {
          if (this._string === v) return;
          this._string = v;
          this["setVertsDirty"]();
          this._checkStringEmpty();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "font", {
        get: function() {
          return this._font;
        },
        set: function(v) {
          if (this._font === v) return;
          this._font = v;
          false;
          if (!this.enabledInHierarchy) return;
          this.forceUpdateRenderData();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "horizontalAlign", {
        get: function() {
          return this._horizontalAlign;
        },
        set: function(v) {
          if (this._horizontalAlign === v) return;
          this._horizontalAlign = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "verticalAlign", {
        get: function() {
          return this._verticalAlign;
        },
        set: function(v) {
          if (this._verticalAlign === v) return;
          this._verticalAlign = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "actualFontSize", {
        get: function() {
          return this._actualFontSize;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "bmfontOriginalSize", {
        get: function() {
          return this.font ? this.font.json.size : -1;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "fontSize", {
        get: function() {
          return this._fontSize;
        },
        set: function(v) {
          if (this._fontSize === v) return;
          this._fontSize = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "lineHeight", {
        get: function() {
          return this._lineHeight;
        },
        set: function(v) {
          if (this._lineHeight === v) return;
          this._lineHeight = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "spacingX", {
        get: function() {
          return this._spacingX;
        },
        set: function(v) {
          if (this._spacingX === v) return;
          this._spacingX = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "overflow", {
        get: function() {
          return this._overflow;
        },
        set: function(v) {
          if (this._overflow === v) return;
          this._overflow = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "enableWrapText", {
        get: function() {
          return this._enableWrapText;
        },
        set: function(v) {
          if (this._enableWrapText === v) return;
          this._enableWrapText = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "enableItalic", {
        get: function() {
          return this._enableItalic;
        },
        set: function(v) {
          if (this._enableItalic === v) return;
          this._enableItalic = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "enableUnderline", {
        get: function() {
          return this._enableUnderline;
        },
        set: function(v) {
          if (this._enableUnderline === v) return;
          this._enableUnderline = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "underlineOffset", {
        get: function() {
          return this._underlineOffset;
        },
        set: function(v) {
          if (this._underlineOffset === v) return;
          this._underlineOffset = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "enableStrikethrough", {
        get: function() {
          return this._enableStrikethrough;
        },
        set: function(v) {
          if (this._enableStrikethrough === v) return;
          this._enableStrikethrough = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "strikethroughOffset", {
        get: function() {
          return this._strikethroughOffset;
        },
        set: function(v) {
          if (this._strikethroughOffset === v) return;
          this._strikethroughOffset = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "color", {
        get: function() {
          return this._color;
        },
        set: function(v) {
          if (true, this._color === v) return;
          this._color = v;
          this["setVertsDirty"]();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "fontConfig", {
        get: function() {
          return this._fontConfig;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TextMeshPro.prototype, "richTextDeltaX", {
        get: function() {
          return this._richTextDeltaX;
        },
        enumerable: false,
        configurable: true
      });
      TextMeshPro.prototype.editorInit = function() {
        var _this = this;
        false;
      };
      TextMeshPro.prototype.resetInEditor = function() {
        var _this = this;
        false;
      };
      TextMeshPro.prototype.onLoad = function() {
        this.editorInit();
        this.tmpUniform.init(this);
        !this._fontConfig && this.font && this.textures.length > 0 && (this._fontConfig = new PPPB_TmpFontConfig_1.default(this._font.json, this.textures));
      };
      TextMeshPro.prototype.onEnable = function() {
        _super.prototype.onEnable.call(this);
        this.node.on(cc.Node.EventType.SIZE_CHANGED, this._nodeSizeChanged, this);
        this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this["setVertsDirty"], this);
        this.forceUpdateRenderData();
      };
      TextMeshPro.prototype.onDisable = function() {
        _super.prototype.onDisable.call(this);
        this.node.off(cc.Node.EventType.SIZE_CHANGED, this._nodeSizeChanged, this);
        this.node.off(cc.Node.EventType.ANCHOR_CHANGED, this["setVertsDirty"], this);
      };
      TextMeshPro.prototype.lateUpdate = function(dt) {
        if (this._worldVertsDirty) {
          this._worldVertsDirty = false;
          this._assembler.updateWorldVerts(this);
        }
        if (this._colorExtraDirty) {
          this._colorExtraDirty = false;
          this._assembler.updateColorExtra(this.getVertexColors());
        }
      };
      TextMeshPro.prototype._nodeSizeChanged = function() {
        (false, this.overflow !== TmpOverflow.NONE) && this["setVertsDirty"]();
      };
      TextMeshPro.prototype._validateRender = function() {
        if (!this.string) {
          this["disableRender"]();
          return;
        }
        if (this.getMaterial(0) && this.textures.length > 0) return;
        this["disableRender"]();
      };
      TextMeshPro.prototype._resetAssembler = function() {
        cc.RenderComponent.prototype["_resetAssembler"].call(this);
      };
      TextMeshPro.prototype._checkStringEmpty = function() {
        this["markForRender"](!!this.string);
      };
      TextMeshPro.prototype._on3DNodeChanged = function() {
        this._resetAssembler();
        this._applyFontTexture();
      };
      TextMeshPro.prototype._onBMFontTextureLoaded = function() {
        this["markForRender"](true);
        this._updateMaterial();
      };
      TextMeshPro.prototype._onBlendChanged = function() {
        if (!this.enabledInHierarchy) return;
        this.forceUpdateRenderData();
      };
      TextMeshPro.prototype._applyFontTexture = function() {
        this["markForValidate"]();
      };
      TextMeshPro.prototype._updateMaterial = function() {
        var material = this.getMaterial(0);
        if (!material) return;
        cc.BlendFunc.prototype["_updateMaterialBlendFunc"].call(this, material);
        this._updateTmpMatTexture(material);
        if (!this.tmpUniform || !this.tmpUniform.comp) return;
        this.updateTmpMatFace(material);
        this.updateTmpMatOutline(material);
        this.updateTmpMatUnderlay(material);
        this.updateTmpMatGlow(material);
      };
      TextMeshPro.prototype._updateTmpMatTexture = function(material) {
        if (!material || this.textures.length <= 0) return;
        material.define("USE_TEXTURE_LEVEL_1", this.textures.length > 0);
        material.define("USE_TEXTURE_LEVEL_2", this.textures.length > 1);
        material.define("USE_TEXTURE_LEVEL_3", this.textures.length > 2);
        material.define("USE_TEXTURE_LEVEL_4", this.textures.length > 4);
        for (var i = 0; i < this.textures.length; i++) material.setProperty("texture" + i, this.textures[i]);
        material["_effect"]._dirty = true;
      };
      TextMeshPro.prototype.updateTmpMatFace = function(material) {
        if (!material) return;
        material.setProperty("faceColor", this.tmpUniform.faceColor);
        material.setProperty("faceDilate", this.tmpUniform.faceDilate);
        material.setProperty("faceSoftness", this.tmpUniform.faceSoftness);
        material["_effect"]._dirty = true;
      };
      TextMeshPro.prototype.updateTmpMatOutline = function(material) {
        if (!material) return;
        material.define("USE_OUTLINE", this.tmpUniform.enableOutline);
        if (this.tmpUniform.enableOutline) {
          material.setProperty("outlineColor", this.tmpUniform.outlineColor);
          material.setProperty("outlineThickness", this.tmpUniform.outlineThickness);
        }
        material["_effect"]._dirty = true;
      };
      TextMeshPro.prototype.updateTmpMatUnderlay = function(material) {
        if (!material) return;
        material.define("USE_UNDERLAY", this.tmpUniform.enableUnderlay);
        if (this.tmpUniform.enableUnderlay) {
          material.setProperty("underlayColor", this.tmpUniform.underlayColor);
          material.setProperty("underlayOffsetX", this.tmpUniform.underlayOffset.x);
          material.setProperty("underlayOffsetY", this.tmpUniform.underlayOffset.y);
          material.setProperty("underlayDilate", this.tmpUniform.underlayDilate);
          material.setProperty("underlaySoftness", this.tmpUniform.underlaySoftness);
        }
        material["_effect"]._dirty = true;
      };
      TextMeshPro.prototype.updateTmpMatGlow = function(material) {
        if (!material) return;
        material.define("USE_GLOW", this.tmpUniform.enableGlow);
        if (this.tmpUniform.enableGlow) {
          material.setProperty("glowColor", this.tmpUniform.glowColor);
          material.setProperty("glowOffset", this.tmpUniform.glowOffset);
          material.setProperty("glowInner", this.tmpUniform.glowInner);
          material.setProperty("glowOuter", this.tmpUniform.glowOuter);
          material.setProperty("glowPower", this.tmpUniform.glowPower);
        }
        material["_effect"]._dirty = true;
      };
      TextMeshPro.prototype.forceUpdateRenderData = function() {
        this["setVertsDirty"]();
        this._resetAssembler();
        this._applyFontTexture();
        this._assembler && this._assembler.updateRenderData(this);
        this.node["_renderFlag"] |= cc["RenderFlow"].FLAG_COLOR;
      };
      TextMeshPro.prototype.setFont = function(font, textures) {
        if (!font || textures.length < 0) {
          cc.error("please check your font!");
          return;
        }
        this._font = font;
        this.textures = textures;
        this._fontConfig = new PPPB_TmpFontConfig_1.default(this._font.json, this.textures);
        if (!this.enabledInHierarchy) return;
        this.forceUpdateRenderData();
        this._onBMFontTextureLoaded();
      };
      TextMeshPro.prototype.isVisible = function(index) {
        if (!this.enabledInHierarchy) return false;
        return this._assembler.isVisble(index);
      };
      TextMeshPro.prototype.setVisible = function(index, visible) {
        if (!this.enabledInHierarchy) return;
        this._assembler.setVisible(this, index, visible);
      };
      TextMeshPro.prototype.getColorExtraVertices = function(index) {
        if (!this.enabledInHierarchy) return null;
        return this._assembler.getColorExtraVertices(index);
      };
      TextMeshPro.prototype.setColorExtraVertices = function(index, data) {
        if (!this.enabledInHierarchy) return;
        this._assembler.setColorExtraVertices(index, data);
      };
      TextMeshPro.prototype.getPosVertices = function(index) {
        if (!this.enabledInHierarchy) return null;
        return this._assembler.getPosVertices(index);
      };
      TextMeshPro.prototype.setPosVertices = function(index, data) {
        if (!this.enabledInHierarchy) return;
        this._assembler.setPosVertices(index, data);
        this._worldVertsDirty = true;
      };
      TextMeshPro.prototype.getNumVerticesPerChar = function() {
        var colorKeys = this.color.colorKeys;
        var colorBands = colorKeys.length;
        if (colorKeys.length >= 2) {
          colorKeys[0].time > 0 && colorBands++;
          colorKeys[colorKeys.length - 1].time < 1 && colorBands++;
        }
        return Math.max(4, 2 * colorBands);
      };
      TextMeshPro.prototype.getNumIndicesPerChar = function() {
        var trianglesPerChar = this.getNumVerticesPerChar() - 2;
        return 3 * trianglesPerChar;
      };
      TextMeshPro.prototype.getColorGradientWeights = function() {
        var colorKeys = this.color.colorKeys;
        var weights = [];
        if (colorKeys.length < 2) return weights;
        for (var _i = 0, colorKeys_1 = colorKeys; _i < colorKeys_1.length; _i++) {
          var colorKey = colorKeys_1[_i];
          colorKey.time > 0 && colorKey.time < 1 && weights.push(colorKey.time);
        }
        return weights;
      };
      TextMeshPro.prototype.getVertexColors = function() {
        var colorKeys = this.color.colorKeys;
        if (colorKeys.length < 2) {
          var color = colorKeys.length > 0 ? colorKeys[0].color : cc.Color.WHITE;
          var colors = [];
          for (var i = 0; i < this.getNumVerticesPerChar(); i++) colors.push(color);
          return colors;
        }
        var vertexColors = [];
        for (var i = 0; i < colorKeys.length; i++) {
          var colorKey = colorKeys[i];
          if (0 == i && colorKey.time > 0) {
            vertexColors.push(colorKey.color);
            vertexColors.push(colorKey.color);
          }
          vertexColors.push(colorKey.color);
          vertexColors.push(colorKey.color);
          if (i == colorKeys.length - 1 && colorKey.time < 1) {
            vertexColors.push(colorKey.color);
            vertexColors.push(colorKey.color);
          }
        }
        return vertexColors;
      };
      __decorate([ property ], TextMeshPro.prototype, "_string", void 0);
      __decorate([ property({
        multiline: true
      }) ], TextMeshPro.prototype, "string", null);
      __decorate([ property(cc.JsonAsset) ], TextMeshPro.prototype, "_font", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.JsonAsset
      }) ], TextMeshPro.prototype, "font", null);
      __decorate([ property({
        type: cc.Label.HorizontalAlign
      }) ], TextMeshPro.prototype, "_horizontalAlign", void 0);
      __decorate([ property({
        type: cc.Label.HorizontalAlign
      }) ], TextMeshPro.prototype, "horizontalAlign", null);
      __decorate([ property({
        type: cc.Label.VerticalAlign
      }) ], TextMeshPro.prototype, "_verticalAlign", void 0);
      __decorate([ property({
        type: cc.Label.VerticalAlign
      }) ], TextMeshPro.prototype, "verticalAlign", null);
      __decorate([ property ], TextMeshPro.prototype, "_actualFontSize", void 0);
      __decorate([ property({
        visible: function() {
          return this._overflow === TmpOverflow.SHRINK;
        }
      }) ], TextMeshPro.prototype, "actualFontSize", null);
      __decorate([ property ], TextMeshPro.prototype, "bmfontOriginalSize", null);
      __decorate([ property ], TextMeshPro.prototype, "_fontSize", void 0);
      __decorate([ property({
        range: [ 0, 1024 ]
      }) ], TextMeshPro.prototype, "fontSize", null);
      __decorate([ property ], TextMeshPro.prototype, "_lineHeight", void 0);
      __decorate([ property ], TextMeshPro.prototype, "lineHeight", null);
      __decorate([ property ], TextMeshPro.prototype, "_spacingX", void 0);
      __decorate([ property ], TextMeshPro.prototype, "spacingX", null);
      __decorate([ property({
        type: cc.Enum(TmpOverflow)
      }) ], TextMeshPro.prototype, "_overflow", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Enum(TmpOverflow)
      }) ], TextMeshPro.prototype, "overflow", null);
      __decorate([ property ], TextMeshPro.prototype, "_enableWrapText", void 0);
      __decorate([ property({
        tooltip: false,
        visible: function() {
          return this._overflow === TmpOverflow.CLAMP || this._overflow === TmpOverflow.ELLIPSIS;
        }
      }) ], TextMeshPro.prototype, "enableWrapText", null);
      __decorate([ property ], TextMeshPro.prototype, "_enableItalic", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TextMeshPro.prototype, "enableItalic", null);
      __decorate([ property ], TextMeshPro.prototype, "_enableUnderline", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TextMeshPro.prototype, "enableUnderline", null);
      __decorate([ property ], TextMeshPro.prototype, "_underlineOffset", void 0);
      __decorate([ property({
        tooltip: false,
        visible: function() {
          return this._enableUnderline;
        }
      }) ], TextMeshPro.prototype, "underlineOffset", null);
      __decorate([ property ], TextMeshPro.prototype, "_enableStrikethrough", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TextMeshPro.prototype, "enableStrikethrough", null);
      __decorate([ property ], TextMeshPro.prototype, "_strikethroughOffset", void 0);
      __decorate([ property({
        tooltip: false,
        visible: function() {
          return this._enableStrikethrough;
        }
      }) ], TextMeshPro.prototype, "strikethroughOffset", null);
      __decorate([ property ], TextMeshPro.prototype, "_color", void 0);
      __decorate([ property({
        tooltip: false,
        type: [ cc.Gradient ]
      }) ], TextMeshPro.prototype, "color", null);
      __decorate([ property({
        tooltip: false,
        type: TmpUniform
      }) ], TextMeshPro.prototype, "tmpUniform", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Texture2D,
        readonly: true
      }) ], TextMeshPro.prototype, "textures", void 0);
      TextMeshPro = __decorate([ ccclass, executeInEditMode, menu("TextMeshPro\u7ec4\u4ef6/TextMeshPro") ], TextMeshPro);
      return TextMeshPro;
    }(cc.RenderComponent);
    exports.default = TextMeshPro;
    cc["Assembler"].register(TextMeshPro, {
      getConstructor: function(comp) {
        return PPPB_TmpAssembler_1.default;
      }
    });
    cc._RF.pop();
  }, {
    "./utils/PPPB-TmpAssembler": "PPPB-TmpAssembler",
    "./utils/PPPB-TmpFontConfig": "PPPB-TmpFontConfig",
    "./utils/PPPB-TmpUtils": "PPPB-TmpUtils"
  } ],
  "PPPB-TimeDisplayHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "72db3Iy3ztIM43ZxLiLb5Nc", "PPPB-TimeDisplayHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var TimeDisplayHelper = function(_super) {
      __extends(TimeDisplayHelper, _super);
      function TimeDisplayHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.timeLabel = null;
        return _this;
      }
      TimeDisplayHelper.prototype.onLoad = function() {
        var _this = this;
        if (!PPPB_lib_1.cc1.sys.isMobile) {
          this.node.active = false;
          return;
        }
        this.updateClock();
        this._timer = setInterval(function() {
          _this.updateClock();
        }, 1e3);
      };
      TimeDisplayHelper.prototype.updateClock = function() {
        this.dateTime = new Date();
        null != this.timeLabel && (this.timeLabel.string = PPPB_lib_1._.dateString(this.dateTime, "HM"));
      };
      __decorate([ property(cc.RichText) ], TimeDisplayHelper.prototype, "timeLabel", void 0);
      TimeDisplayHelper = __decorate([ ccclass ], TimeDisplayHelper);
      return TimeDisplayHelper;
    }(cc.Component);
    exports.default = TimeDisplayHelper;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-TmpAssembler": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "df12d4S5J1DdoFyLCY3ExHl", "PPPB-TmpAssembler");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_TextMeshPro_1 = require("../PPPB-TextMeshPro");
    var gfx = cc["gfx"];
    var vfmt = new gfx.VertexFormat([ {
      name: gfx.ATTR_POSITION,
      type: gfx.ATTR_TYPE_FLOAT32,
      num: 2
    }, {
      name: gfx.ATTR_UV0,
      type: gfx.ATTR_TYPE_FLOAT32,
      num: 2
    }, {
      name: gfx.ATTR_COLOR,
      type: gfx.ATTR_TYPE_UINT8,
      num: 4,
      normalize: true
    }, {
      name: "a_color_extra",
      type: gfx.ATTR_TYPE_UINT8,
      num: 4,
      normalize: true
    }, {
      name: "a_texture_idx",
      type: gfx.ATTR_TYPE_FLOAT32,
      num: 1
    } ]);
    var WHITE = cc.Color.WHITE;
    var ITALIC_REDIANS = cc.misc.degreesToRadians(15);
    var UNDERLINE_CODE = 95;
    var ELLIPSIS_CODE = 46;
    var ELLIPSIS_CHAR = ".";
    var ELLIPSIS_NUM = 3;
    var shareLabelInfo = {
      fontAtlas: null,
      fontSize: 0,
      lineHeight: 0,
      hAlign: 0,
      vAlign: 0,
      hash: "",
      margin: 0
    };
    var _comp = null;
    var _tmpUvRect = cc.rect();
    var _tmpPosRect = cc.rect();
    var _horizontalKernings = [];
    var _linesWidth = [];
    var _linesOffsetX = [];
    var _fntConfig = null;
    var _numberOfLines = 0;
    var _textDesiredHeight = 0;
    var _letterOffsetY = 0;
    var _tailoredTopY = 0;
    var _tailoredBottomY = 0;
    var _bmfontScale = 1;
    var _lineBreakWithoutSpaces = false;
    var _lineSpacing = 0;
    var _contentSize = cc.size(0, 0);
    var _string = "";
    var _fontSize = 0;
    var _originFontSize = 0;
    var _hAlign = 0;
    var _vAlign = 0;
    var _spacingX = 0;
    var _lineHeight = 0;
    var _overflow = 0;
    var _isWrapText = false;
    var _labelWidth = 0;
    var _labelHeight = 0;
    var _maxLineWidth = 0;
    var _dataOffset = 0;
    var _italicVec = cc.v2();
    var _extraLinesData = {};
    var _extraLineDef = null;
    var _ellipsisDef = null;
    var _ellipsisWidth = 0;
    var LetterInfo = function() {
      function LetterInfo() {
        this.valid = true;
        this.char = "";
        this.x = 0;
        this.y = 0;
        this.line = 0;
        this.hash = "";
        this.quadsIndex = 0;
        this.visible = true;
      }
      return LetterInfo;
    }();
    var TmpAssembler = function(_super) {
      __extends(TmpAssembler, _super);
      function TmpAssembler() {
        var _this = _super.call(this) || this;
        _this.vertsPerChar = 4;
        _this.indicesPerChar = 6;
        _this.floatsPerVert = 7;
        _this.verticesCount = _this.vertsPerChar;
        _this.indicesCount = _this.indicesPerChar;
        _this.uvOffset = 2;
        _this.colorOffset = 4;
        _this.colorExtraOffset = 5;
        _this.textureIdxOffset = 6;
        _this._renderData = null;
        _this._local = [];
        _this._lettersInfo = [];
        _this._renderData = new cc["RenderData"]();
        _this._renderData.init(_this);
        _this.initData();
        _this.initLocal();
        return _this;
      }
      Object.defineProperty(TmpAssembler.prototype, "verticesFloats", {
        get: function() {
          return this.verticesCount * this.floatsPerVert;
        },
        enumerable: false,
        configurable: true
      });
      TmpAssembler.prototype.populateVertexIndices = function(indices) {
        var indicesPerTriangle = 3;
        var trianglesPerQuad = 2;
        var count = indices.length / this.indicesPerChar;
        var quadsPerChar = this.indicesPerChar / indicesPerTriangle / trianglesPerQuad;
        for (var i = 0, idx = 0; i < count; i++) for (var j = 0; j < quadsPerChar; j++) {
          var vertextID = i * this.vertsPerChar + j * trianglesPerQuad;
          indices[idx++] = vertextID;
          indices[idx++] = vertextID + 1;
          indices[idx++] = vertextID + 2;
          indices[idx++] = vertextID + 1;
          indices[idx++] = vertextID + 3;
          indices[idx++] = vertextID + 2;
        }
      };
      TmpAssembler.prototype.initData = function() {
        var data = this._renderData;
        data.createFlexData(0, this.verticesCount, this.indicesCount, this.getVfmt());
        this.populateVertexIndices(data.iDatas[0]);
      };
      TmpAssembler.prototype.initLocal = function() {
        this._local = [];
      };
      TmpAssembler.prototype.getBuffer = function(v) {
        return cc.renderer["_handle"].getBuffer("mesh", this.getVfmt());
      };
      TmpAssembler.prototype.getVfmt = function() {
        return vfmt;
      };
      TmpAssembler.prototype.fillBuffers = function(comp, renderer) {
        renderer.worldMatDirty && this.updateWorldVerts(comp);
        var renderData = this._renderData;
        var vData = renderData.vDatas[0];
        var iData = renderData.iDatas[0];
        var buffer = this.getBuffer(renderer);
        var offsetInfo = buffer.request(this.verticesCount, this.indicesCount);
        var vertexOffset = offsetInfo.byteOffset >> 2, vbuf = buffer._vData;
        vData.length + vertexOffset > vbuf.length ? vbuf.set(vData.subarray(0, vbuf.length - vertexOffset), vertexOffset) : vbuf.set(vData, vertexOffset);
        var ibuf = buffer._iData, indiceOffset = offsetInfo.indiceOffset, vertexId = offsetInfo.vertexOffset;
        for (var i = 0, l = iData.length; i < l; i++) ibuf[indiceOffset++] = vertexId + iData[i];
      };
      TmpAssembler.prototype.updateRenderData = function(comp) {
        if (!comp["_vertsDirty"]) return;
        if (_comp === comp) return;
        if (!comp.fontConfig) return;
        _comp = comp;
        this._lettersInfo.length = 0;
        this.vertsPerChar = _comp.getNumVerticesPerChar();
        this.indicesPerChar = _comp.getNumIndicesPerChar();
        this._updateProperties(comp);
        this._updateContent();
        this.updateWorldVerts(comp);
        _comp["_actualFontSize"] = _fontSize;
        _comp.node.setContentSize(_contentSize);
        _comp["_vertsDirty"] = false;
        _comp = null;
        this._resetProperties();
      };
      TmpAssembler.prototype._updateProperties = function(comp) {
        _fntConfig = comp.fontConfig;
        _string = comp.string.toString();
        _fontSize = comp.fontSize;
        _originFontSize = _fntConfig ? _fntConfig.json.size : comp.fontSize;
        _bmfontScale = _fontSize / _originFontSize;
        _hAlign = comp.horizontalAlign;
        _vAlign = comp.verticalAlign;
        _spacingX = comp.spacingX;
        _overflow = comp.overflow;
        _lineHeight = comp.lineHeight;
        _contentSize.width = comp.node.width;
        _contentSize.height = comp.node.height;
        shareLabelInfo.fontAtlas = comp.fontConfig;
        shareLabelInfo.lineHeight = _lineHeight;
        shareLabelInfo.fontSize = _fontSize;
        shareLabelInfo.hash = "";
        shareLabelInfo.margin = 0;
        if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.NONE) {
          _isWrapText = false;
          _contentSize.width += 2 * shareLabelInfo.margin;
          _contentSize.height += 2 * shareLabelInfo.margin;
        } else if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.RESIZE_HEIGHT) {
          _isWrapText = true;
          _contentSize.height += 2 * shareLabelInfo.margin;
        } else _isWrapText = _overflow !== PPPB_TextMeshPro_1.TmpOverflow.SHRINK && comp.enableWrapText;
        this._setupBMFontOverflowMetrics();
        if (comp.enableItalic) {
          _italicVec.x = 0;
          _italicVec.y = _contentSize.height / 2;
          _italicVec.rotateSelf(ITALIC_REDIANS);
          _contentSize.width += 2 * Math.abs(_italicVec.x);
          _contentSize.height -= 2 * Math.abs(_contentSize.height / 2 - _italicVec.y);
        }
        if (comp.enableUnderline || comp.enableStrikethrough) {
          _extraLineDef = shareLabelInfo.fontAtlas.getLetter(UNDERLINE_CODE + shareLabelInfo.hash);
          _extraLineDef || cc.error("Can't find letter definition in textures. letter: _");
        }
        if (comp.overflow === PPPB_TextMeshPro_1.TmpOverflow.ELLIPSIS) {
          _ellipsisDef = shareLabelInfo.fontAtlas.getLetter(ELLIPSIS_CODE + shareLabelInfo.hash);
          if (_ellipsisDef) _ellipsisWidth = (_ellipsisDef.xAdvance * _bmfontScale + _spacingX) * ELLIPSIS_NUM; else {
            _ellipsisWidth = 0;
            cc.error("Can't find letter definition in textures. letter: " + ELLIPSIS_CHAR);
          }
        }
      };
      TmpAssembler.prototype._resetProperties = function() {
        _fntConfig = null;
        shareLabelInfo.hash = "";
        shareLabelInfo.margin = 0;
      };
      TmpAssembler.prototype._updateContent = function() {
        this._computeHorizontalKerningForText();
        this._alignText();
      };
      TmpAssembler.prototype._computeHorizontalKerningForText = function() {
        var string = _string;
        var stringLen = string.length;
        var horizontalKernings = _horizontalKernings;
        var kerningDict;
        horizontalKernings.length = 0;
      };
      TmpAssembler.prototype._alignText = function() {
        _textDesiredHeight = 0;
        _linesWidth.length = 0;
        _extraLinesData = {};
        _lineBreakWithoutSpaces ? this._multilineTextWrapByChar() : this._multilineTextWrapByWord();
        if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.SHRINK && _fontSize > 0) {
          var scaleHeight = _bmfontScale;
          var scaleWidth = _bmfontScale;
          var needReset = false;
          if (_textDesiredHeight > _contentSize.height) {
            scaleHeight = _contentSize.height / _textDesiredHeight * _bmfontScale;
            needReset = true;
          }
          var maxWidth_1 = 0;
          _linesWidth.forEach(function(v) {
            v > maxWidth_1 && (maxWidth_1 = v);
          });
          if (maxWidth_1 > _contentSize.width) {
            scaleWidth = _contentSize.width / maxWidth_1 * _bmfontScale;
            needReset = true;
          }
          _bmfontScale = Math.min(scaleHeight, scaleWidth);
          if (needReset) {
            _fontSize = _bmfontScale * _originFontSize;
            _textDesiredHeight = 0;
            _linesWidth.length = 0;
            _extraLinesData = {};
            _lineBreakWithoutSpaces ? this._multilineTextWrapByChar() : this._multilineTextWrapByWord();
          }
        }
        this._computeAlignmentOffset();
        this._reserveQuads(_comp, this._lettersInfo.length);
        this._updateQuads();
      };
      TmpAssembler.prototype._multilineTextWrapByWord = function() {
        return this._multilineTextWrap(this._getFirstWordLen);
      };
      TmpAssembler.prototype._multilineTextWrapByChar = function() {
        return this._multilineTextWrap(this._getFirstCharLen);
      };
      TmpAssembler.prototype._multilineTextWrap = function(nextTokenFunc) {
        var ellipsisMaxLines = 0;
        var useEllipsis = false;
        _overflow === PPPB_TextMeshPro_1.TmpOverflow.ELLIPSIS && _ellipsisDef && (ellipsisMaxLines = Math.max(1, Math.floor(_contentSize.height / _lineHeight)));
        var textLen = _string.length;
        var lineIndex = 0;
        var nextTokenX = 0;
        var nextTokenY = 0;
        var longestLine = 0;
        var letterRight = 0;
        var highestY = 0;
        var lowestY = 0;
        var letterDef = null;
        var letterPosition = cc.v2(0, 0);
        for (var index = 0; index < textLen; ) {
          var character = _string.charAt(index);
          if ("\n" === character) {
            if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.ELLIPSIS && _ellipsisDef && lineIndex + 1 >= ellipsisMaxLines) {
              this._recordEllipsis(nextTokenY, letterPosition, lineIndex);
              useEllipsis = true;
              var ellipsisInfo = this._lettersInfo[this._lettersInfo.length - 1];
              letterRight = ellipsisInfo.x + (_ellipsisDef.xAdvance - _ellipsisDef.offsetX) * _bmfontScale + _spacingX - 2 * shareLabelInfo.margin;
              break;
            }
            _linesWidth.push(letterRight);
            letterRight = 0;
            lineIndex++;
            nextTokenX = 0;
            nextTokenY -= _lineHeight * this._getFontScale() + _lineSpacing;
            this._recordPlaceholderInfo(index, character);
            index++;
            continue;
          }
          var tokenLen = nextTokenFunc(_string, index, textLen);
          var tokenHighestY = highestY;
          var tokenLowestY = lowestY;
          var tokenRight = letterRight;
          var nextLetterX = nextTokenX;
          var newLine = false;
          for (var tmp = 0; tmp < tokenLen; ++tmp) {
            var letterIndex = index + tmp;
            character = _string.charAt(letterIndex);
            if ("\r" === character) {
              this._recordPlaceholderInfo(letterIndex, character);
              continue;
            }
            letterDef = shareLabelInfo.fontAtlas.getLetterDefinitionForChar(character);
            if (!letterDef) {
              this._recordPlaceholderInfo(letterIndex, character);
              cc.error("Can't find letter definition in textures. letter: " + character);
              continue;
            }
            var letterX = nextLetterX + letterDef.offsetX * _bmfontScale - shareLabelInfo.margin;
            if (_comp.enableItalic) {
              _italicVec.x = 0;
              _italicVec.y = letterDef.h * _bmfontScale / 2;
              _italicVec.rotateSelf(ITALIC_REDIANS);
              letterX += Math.abs(_italicVec.x);
            }
            if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.ELLIPSIS && _ellipsisDef && letterX + (letterDef.xAdvance - letterDef.offsetX) * _bmfontScale > _maxLineWidth && (!_isWrapText || lineIndex + 1 >= ellipsisMaxLines)) {
              this._recordEllipsis(nextTokenY, letterPosition, lineIndex);
              useEllipsis = true;
              var ellipsisInfo = this._lettersInfo[this._lettersInfo.length - 1];
              letterRight = ellipsisInfo.x + (_ellipsisDef.xAdvance - _ellipsisDef.offsetX) * _bmfontScale + _spacingX - 2 * shareLabelInfo.margin;
              break;
            }
            if (_isWrapText && _maxLineWidth > 0 && nextTokenX > 0 && letterX + (letterDef.xAdvance - letterDef.offsetX) * _bmfontScale > _maxLineWidth && !cc["textUtils"].isUnicodeSpace(character)) {
              _linesWidth.push(letterRight);
              letterRight = 0;
              lineIndex++;
              nextTokenX = 0;
              nextTokenY -= _lineHeight * this._getFontScale() + _lineSpacing;
              newLine = true;
              break;
            }
            letterPosition.x = letterX;
            letterPosition.y = nextTokenY - letterDef.offsetY * _bmfontScale + shareLabelInfo.margin;
            this._recordLetterInfo(letterPosition, character, letterIndex, lineIndex);
            letterIndex + 1 < _horizontalKernings.length && letterIndex < textLen - 1 && (nextLetterX += _horizontalKernings[letterIndex + 1]);
            nextLetterX += letterDef.xAdvance * _bmfontScale + _spacingX - 2 * shareLabelInfo.margin;
            tokenRight = nextLetterX;
            if (_comp.enableItalic) {
              _italicVec.x = 0;
              _italicVec.y = letterDef.h * _bmfontScale / 2;
              _italicVec.rotateSelf(ITALIC_REDIANS);
              tokenRight += Math.abs(_italicVec.x);
            }
            tokenHighestY < letterPosition.y && (tokenHighestY = letterPosition.y);
            tokenLowestY > letterPosition.y - letterDef.h * _bmfontScale && (tokenLowestY = letterPosition.y - letterDef.h * _bmfontScale);
          }
          if (useEllipsis) break;
          if (newLine) continue;
          nextTokenX = nextLetterX;
          letterRight = tokenRight;
          highestY < tokenHighestY && (highestY = tokenHighestY);
          lowestY > tokenLowestY && (lowestY = tokenLowestY);
          longestLine < letterRight && (longestLine = letterRight);
          index += tokenLen;
        }
        _linesWidth.push(letterRight);
        _numberOfLines = lineIndex + 1;
        _textDesiredHeight = _numberOfLines * _lineHeight * this._getFontScale();
        _numberOfLines > 1 && (_textDesiredHeight += (_numberOfLines - 1) * _lineSpacing);
        _contentSize.width = _labelWidth;
        _contentSize.height = _labelHeight;
        _labelWidth <= 0 && (_contentSize.width = parseFloat(longestLine.toFixed(2)) + 2 * shareLabelInfo.margin);
        _labelHeight <= 0 && (_contentSize.height = parseFloat(_textDesiredHeight.toFixed(2)) + 2 * shareLabelInfo.margin);
        _tailoredTopY = _contentSize.height;
        _tailoredBottomY = 0;
        if (_overflow !== PPPB_TextMeshPro_1.TmpOverflow.CLAMP) {
          highestY > 0 && (_tailoredTopY = _contentSize.height + highestY);
          lowestY < -_textDesiredHeight && (_tailoredBottomY = _textDesiredHeight + lowestY);
        }
        _comp["_richTextDeltaX"] = nextTokenX - letterRight;
        return true;
      };
      TmpAssembler.prototype._getFirstCharLen = function() {
        return 1;
      };
      TmpAssembler.prototype._getFontScale = function() {
        return _overflow === PPPB_TextMeshPro_1.TmpOverflow.SHRINK ? _bmfontScale : 1;
      };
      TmpAssembler.prototype._getFirstWordLen = function(text, startIndex, textLen) {
        var character = text.charAt(startIndex);
        if (cc["textUtils"].isUnicodeCJK(character) || "\n" === character || cc["textUtils"].isUnicodeSpace(character)) return 1;
        var len = 1;
        var letterDef = shareLabelInfo.fontAtlas.getLetterDefinitionForChar(character);
        if (!letterDef) return len;
        var nextLetterX = letterDef.xAdvance * _bmfontScale + _spacingX;
        var letterX;
        for (var index = startIndex + 1; index < textLen; ++index) {
          character = text.charAt(index);
          letterDef = shareLabelInfo.fontAtlas.getLetterDefinitionForChar(character);
          if (!letterDef) break;
          letterX = nextLetterX + letterDef.offsetX * _bmfontScale;
          if (letterX + (letterDef.xAdvance - letterDef.offsetX) * _bmfontScale > _maxLineWidth && !cc["textUtils"].isUnicodeSpace(character) && _maxLineWidth > 0) return len;
          nextLetterX += letterDef.xAdvance * _bmfontScale + _spacingX;
          if ("\n" === character || cc["textUtils"].isUnicodeSpace(character) || cc["textUtils"].isUnicodeCJK(character)) break;
          len++;
        }
        return len;
      };
      TmpAssembler.prototype._recordEllipsis = function(nextTokenY, letterPosition, lineIndex) {
        var nextX = 0;
        var lastIndex = this._lettersInfo.length - 1;
        while (lastIndex >= 0) {
          var lastInfo = this._lettersInfo[lastIndex];
          var lastDef = shareLabelInfo.fontAtlas.getLetterDefinitionForChar(lastInfo.char);
          var lastW = lastDef ? lastDef.w : 0;
          var lastXAdvance = lastDef ? lastDef.xAdvance : 0;
          var lastOffsetX = lastDef ? lastDef.offsetX : 0;
          var lastRightX = lastInfo.x + lastW * _bmfontScale - shareLabelInfo.margin;
          nextX = lastInfo.x + (lastXAdvance - lastOffsetX) * _bmfontScale + _spacingX - 2 * shareLabelInfo.margin;
          if (_maxLineWidth >= lastRightX + _ellipsisWidth) break;
          lastIndex--;
          this._lettersInfo.pop();
        }
        lastIndex < 0 && (nextX = 0);
        letterPosition.y = nextTokenY - _ellipsisDef.offsetY * _bmfontScale + shareLabelInfo.margin;
        for (var i = 1; i <= ELLIPSIS_NUM; i++) {
          letterPosition.x = nextX + _ellipsisDef.offsetX * _bmfontScale - shareLabelInfo.margin;
          this._recordLetterInfo(letterPosition, ELLIPSIS_CHAR, lastIndex + i, lineIndex);
          nextX += _ellipsisDef.xAdvance * _bmfontScale + _spacingX - 2 * shareLabelInfo.margin;
        }
      };
      TmpAssembler.prototype._recordPlaceholderInfo = function(letterIndex, char) {
        if (letterIndex >= this._lettersInfo.length) {
          var tmpInfo = new LetterInfo();
          this._lettersInfo.push(tmpInfo);
        }
        this._lettersInfo[letterIndex].char = char;
        this._lettersInfo[letterIndex].hash = char.charCodeAt(0) + shareLabelInfo.hash;
        this._lettersInfo[letterIndex].valid = false;
      };
      TmpAssembler.prototype._recordLetterInfo = function(letterPosition, character, letterIndex, lineIndex) {
        if (letterIndex >= this._lettersInfo.length) {
          var tmpInfo = new LetterInfo();
          this._lettersInfo.push(tmpInfo);
        }
        var char = character.charCodeAt(0);
        var key = char + shareLabelInfo.hash;
        this._lettersInfo[letterIndex].line = lineIndex;
        this._lettersInfo[letterIndex].char = character;
        this._lettersInfo[letterIndex].hash = key;
        this._lettersInfo[letterIndex].valid = shareLabelInfo.fontAtlas.getLetter(key).valid;
        this._lettersInfo[letterIndex].x = letterPosition.x;
        this._lettersInfo[letterIndex].y = letterPosition.y;
      };
      TmpAssembler.prototype._computeAlignmentOffset = function() {
        _linesOffsetX.length = 0;
        switch (_hAlign) {
         case cc.Label.HorizontalAlign.LEFT:
          for (var i = 0; i < _numberOfLines; ++i) _linesOffsetX.push(0);
          break;

         case cc.Label.HorizontalAlign.CENTER:
          for (var i = 0, l = _linesWidth.length; i < l; i++) _linesOffsetX.push((_contentSize.width - _linesWidth[i]) / 2);
          break;

         case cc.Label.HorizontalAlign.RIGHT:
          for (var i = 0, l = _linesWidth.length; i < l; i++) _linesOffsetX.push(_contentSize.width - _linesWidth[i]);
        }
        _letterOffsetY = _contentSize.height;
        if (_vAlign !== cc.Label.VerticalAlign.TOP) {
          var blank = _contentSize.height - _textDesiredHeight + _lineHeight * this._getFontScale() - _originFontSize * _bmfontScale;
          _vAlign === cc.Label.VerticalAlign.BOTTOM ? _letterOffsetY -= blank : _letterOffsetY -= blank / 2;
        }
      };
      TmpAssembler.prototype._setupBMFontOverflowMetrics = function() {
        var newWidth = _contentSize.width;
        var newHeight = _contentSize.height;
        _overflow === PPPB_TextMeshPro_1.TmpOverflow.RESIZE_HEIGHT && (newHeight = 0);
        if (_overflow === PPPB_TextMeshPro_1.TmpOverflow.NONE) {
          newWidth = 0;
          newHeight = 0;
        }
        _labelWidth = newWidth;
        _labelHeight = newHeight;
        _maxLineWidth = newWidth;
      };
      TmpAssembler.prototype._updateQuads = function() {
        var node = _comp.node;
        this.verticesCount = this.indicesCount = 0;
        this._renderData && (this._renderData.dataLength = 0);
        var contentSize = _contentSize, appx = node["_anchorPoint"].x * contentSize.width, appy = node["_anchorPoint"].y * contentSize.height;
        var quadsIndex = 0;
        for (var i = 0, l = this._lettersInfo.length; i < l; ++i) {
          var letterInfo = this._lettersInfo[i];
          if (!letterInfo) break;
          if (!letterInfo.valid) continue;
          letterInfo.quadsIndex = quadsIndex;
          var letterDef = shareLabelInfo.fontAtlas.getLetter(letterInfo.hash);
          _tmpUvRect.height = letterDef.h;
          _tmpUvRect.width = letterDef.w;
          _tmpUvRect.x = letterDef.u;
          _tmpUvRect.y = letterDef.v;
          var py = letterInfo.y + _letterOffsetY;
          if (_labelHeight > 0 && _overflow === PPPB_TextMeshPro_1.TmpOverflow.CLAMP) {
            if (py > _tailoredTopY) {
              var clipTop = py - _tailoredTopY;
              _tmpUvRect.y += clipTop / _bmfontScale;
              _tmpUvRect.height -= clipTop / _bmfontScale;
              py -= clipTop;
            }
            py - _tmpUvRect.height * _bmfontScale < _tailoredBottomY && (_tmpUvRect.height = py < _tailoredBottomY ? 0 : (py - _tailoredBottomY) / _bmfontScale);
          }
          var px = letterInfo.x + _linesOffsetX[letterInfo.line];
          if (_labelWidth > 0 && _overflow === PPPB_TextMeshPro_1.TmpOverflow.CLAMP) {
            if (px < 0) {
              _tmpUvRect.x += -px / _bmfontScale;
              _tmpUvRect.width -= -px / _bmfontScale;
              px = 0;
            }
            if (px + _tmpUvRect.width * _bmfontScale > _contentSize.width) {
              var clipRight = px + _tmpUvRect.width * _bmfontScale - _contentSize.width;
              _tmpUvRect.width -= clipRight / _bmfontScale;
            }
          }
          if (_tmpUvRect.height > 0 && _tmpUvRect.width > 0) {
            _tmpPosRect.x = px - appx;
            _tmpPosRect.y = py - appy;
            _tmpPosRect.width = _tmpUvRect.width * _bmfontScale;
            _tmpPosRect.height = _tmpUvRect.height * _bmfontScale;
            this.appendQuad(letterDef.textureId, _tmpUvRect, _tmpPosRect);
            quadsIndex++;
            if (_extraLineDef && (_comp.enableUnderline || _comp.enableStrikethrough) && !cc["textUtils"].isUnicodeSpace(letterInfo.char)) {
              var lineData = _extraLinesData[letterInfo.line];
              lineData ? lineData.last < i && (lineData.last = i) : _extraLinesData[letterInfo.line] = {
                lineIndex: letterInfo.line,
                first: i,
                last: i
              };
            }
          }
        }
        if (_extraLineDef) {
          _comp.enableUnderline && this._updateLineQuads(appx, appy, -_fontSize + _comp.underlineOffset * _bmfontScale);
          _comp.enableStrikethrough && this._updateLineQuads(appx, appy, -_fontSize / 2 + _comp.strikethroughOffset * _bmfontScale);
        }
        this.updateColorExtra(_comp.getVertexColors());
        this._quadsUpdated();
      };
      TmpAssembler.prototype._updateLineQuads = function(appx, appy, offsetY) {
        for (var key in _extraLinesData) {
          var underlineInfo = _extraLinesData[key];
          var lineIdx = underlineInfo.lineIndex;
          var first = underlineInfo.first;
          var last = underlineInfo.last > 0 ? underlineInfo.last : first;
          var firstInfo = this._lettersInfo[first];
          if (!firstInfo.valid) continue;
          var lastInfo = this._lettersInfo[last];
          var firstDef = shareLabelInfo.fontAtlas.getLetter(firstInfo.hash);
          var lastDef = shareLabelInfo.fontAtlas.getLetter(lastInfo.hash);
          var maxWidth = lastInfo.x + lastDef.w * _bmfontScale - firstInfo.x;
          var wLeft = maxWidth >= _extraLineDef.w * _bmfontScale ? _extraLineDef.w * _bmfontScale / 3 : maxWidth / 2;
          var wRight = wLeft;
          var wMid = maxWidth - wLeft - wRight;
          var leftX = firstInfo.x + _linesOffsetX[lineIdx];
          var rightX = leftX + wLeft + wMid;
          var midX = leftX + wLeft;
          _tmpUvRect.height = _extraLineDef.h;
          _tmpUvRect.width = wLeft / _bmfontScale;
          _tmpUvRect.x = _extraLineDef.u;
          _tmpUvRect.y = _extraLineDef.v;
          var py = firstInfo.y + _letterOffsetY + firstDef.offsetY * _bmfontScale + offsetY;
          if (_labelHeight > 0) {
            if (py > _tailoredTopY) {
              var clipTop = py - _tailoredTopY;
              _tmpUvRect.y += clipTop;
              _tmpUvRect.height -= clipTop;
              py -= clipTop;
            }
            py - _extraLineDef.h * _bmfontScale < _tailoredBottomY && _overflow === PPPB_TextMeshPro_1.TmpOverflow.CLAMP && (_tmpUvRect.height = py < _tailoredBottomY ? 0 : (py - _tailoredBottomY) / _bmfontScale);
          }
          if (_tmpUvRect.height > 0 && _tmpUvRect.width > 0) {
            _tmpPosRect.x = leftX - appx;
            _tmpPosRect.y = py - appy;
            _tmpPosRect.width = wLeft;
            _tmpPosRect.height = _tmpUvRect.height * _bmfontScale;
            this.appendQuad(_extraLineDef.textureId, _tmpUvRect, _tmpPosRect);
          }
          _tmpUvRect.width = wRight / _bmfontScale;
          _tmpUvRect.x = _extraLineDef.u + _extraLineDef.w - _tmpUvRect.width;
          if (_tmpUvRect.height > 0 && _tmpUvRect.width > 0) {
            _tmpPosRect.x = rightX - appx;
            _tmpPosRect.y = py - appy;
            _tmpPosRect.width = wRight;
            _tmpPosRect.height = _tmpUvRect.height * _bmfontScale;
            this.appendQuad(_extraLineDef.textureId, _tmpUvRect, _tmpPosRect);
          }
          if (wMid > 0) {
            _tmpUvRect.width = _extraLineDef.w - 2 * wLeft / _bmfontScale;
            _tmpUvRect.x = _extraLineDef.u + _tmpUvRect.width;
            if (_tmpUvRect.height > 0 && _tmpUvRect.width > 0) {
              _tmpPosRect.x = midX - appx;
              _tmpPosRect.y = py - appy;
              _tmpPosRect.width = wMid;
              _tmpPosRect.height = _tmpUvRect.height * _bmfontScale;
              this.appendQuad(_extraLineDef.textureId, _tmpUvRect, _tmpPosRect);
            }
          }
        }
      };
      TmpAssembler.prototype._reserveQuads = function(comp, count) {
        var extra = 0;
        comp.enableUnderline && extra++;
        comp.enableStrikethrough && extra++;
        count += extra * _numberOfLines * 3;
        var verticesCount = count * this.vertsPerChar;
        var indicesCount = count * this.indicesPerChar;
        var flexBuffer = this._renderData._flexBuffer;
        flexBuffer.reserve(verticesCount, indicesCount);
        flexBuffer.used(verticesCount, indicesCount);
        this.populateVertexIndices(this._renderData.iDatas[0]);
        _dataOffset = 0;
      };
      TmpAssembler.prototype._quadsUpdated = function() {
        _dataOffset = 0;
        var flexBuffer = this._renderData._flexBuffer;
        flexBuffer.used(this.verticesCount, this.indicesCount);
      };
      TmpAssembler.prototype.setVertexCoordinatesInFloatDataArray = function(dataArray, initialOffset, bottomLeft, bottomRight, topLeft, topRight, interVertexWeights) {
        var coordinates = [];
        coordinates.push(bottomLeft);
        coordinates.push(bottomRight);
        var leftTotalDistance = new cc.Vec2(topLeft.x - bottomLeft.x, topLeft.y - bottomLeft.y);
        var rightTotalDistance = new cc.Vec2(topRight.x - bottomRight.x, topRight.y - bottomRight.y);
        for (var i = 0; i < interVertexWeights.length; i++) {
          coordinates.push(new cc.Vec2(bottomLeft.x + interVertexWeights[i] * leftTotalDistance.x, bottomLeft.y + interVertexWeights[i] * leftTotalDistance.y));
          coordinates.push(new cc.Vec2(bottomRight.x + interVertexWeights[i] * rightTotalDistance.x, bottomRight.y + interVertexWeights[i] * rightTotalDistance.y));
        }
        coordinates.push(topLeft);
        coordinates.push(topRight);
        var offset = initialOffset;
        for (var _i = 0, coordinates_1 = coordinates; _i < coordinates_1.length; _i++) {
          var coordinate = coordinates_1[_i];
          dataArray[offset] = coordinate.x;
          dataArray[offset + 1] = coordinate.y;
          offset += this.floatsPerVert;
        }
      };
      TmpAssembler.prototype.appendQuad = function(textureId, uvRect, posRect) {
        var renderData = this._renderData;
        var verts = renderData.vDatas[0], uintVerts = renderData.uintVDatas[0];
        this.verticesCount += this.vertsPerChar;
        this.indicesCount += this.indicesPerChar;
        var texture = shareLabelInfo.fontAtlas.getTexture(textureId);
        var texw = texture.width, texh = texture.height, rectWidth = uvRect.width, rectHeight = uvRect.height, color = _comp.node["_color"]._val;
        var xMin, yMin, xMax, yMax;
        var floatsPerVert = this.floatsPerVert;
        var uvDataOffset = _dataOffset + this.uvOffset;
        xMin = uvRect.x / texw;
        xMax = (uvRect.x + rectWidth) / texw;
        yMin = (uvRect.y + rectHeight) / texh;
        yMax = uvRect.y / texh;
        this.setVertexCoordinatesInFloatDataArray(verts, uvDataOffset, new cc.Vec2(xMin, yMin), new cc.Vec2(xMax, yMin), new cc.Vec2(xMin, yMax), new cc.Vec2(xMax, yMax), _comp.getColorGradientWeights());
        xMin = posRect.x;
        xMax = posRect.x + posRect.width;
        yMin = posRect.y - posRect.height;
        yMax = posRect.y;
        this.appendVerts(_comp, _dataOffset, xMin, yMin, xMax, yMax);
        var colorOffset = _dataOffset + this.colorOffset;
        for (var i = 0; i < this.vertsPerChar; i++) {
          uintVerts[colorOffset] = color;
          colorOffset += floatsPerVert;
        }
        var colorExtraOffset = _dataOffset + this.colorExtraOffset;
        for (var i = 0; i < this.vertsPerChar; i++) {
          uintVerts[colorExtraOffset] = WHITE["_val"];
          colorExtraOffset += floatsPerVert;
        }
        var idOffset = _dataOffset + this.textureIdxOffset;
        for (var i = 0; i < this.vertsPerChar; i++) {
          verts[idOffset] = textureId;
          idOffset += this.floatsPerVert;
        }
        _dataOffset += this.floatsPerVert * this.vertsPerChar;
      };
      TmpAssembler.prototype.appendVerts = function(comp, offset, xMin, yMin, xMax, yMax) {
        var local = this._local;
        var floatsPerVert = this.floatsPerVert;
        if (comp.enableItalic) {
          _italicVec.x = 0;
          _italicVec.y = (yMax - xMax) / 2;
          _italicVec.rotateSelf(ITALIC_REDIANS);
          var xCoordinateOffset = Math.abs(_italicVec.x);
          var yCoordinateOffset = Math.abs((yMax - yMin) / 2 - _italicVec.y);
          this.setVertexCoordinatesInFloatDataArray(local, offset, new cc.Vec2(xMin - xCoordinateOffset, yMin + yCoordinateOffset), new cc.Vec2(xMax - xCoordinateOffset, yMin + yCoordinateOffset), new cc.Vec2(xMin + xCoordinateOffset, yMax - yCoordinateOffset), new cc.Vec2(xMax + xCoordinateOffset, yMax - yCoordinateOffset), comp.getColorGradientWeights());
        } else this.setVertexCoordinatesInFloatDataArray(local, offset, new cc.Vec2(xMin, yMin), new cc.Vec2(xMax, yMin), new cc.Vec2(xMin, yMax), new cc.Vec2(xMax, yMax), comp.getColorGradientWeights());
      };
      TmpAssembler.prototype.updateWorldVerts = function(comp) {
        var node = comp.node;
        var local = this._local;
        var world = this._renderData.vDatas[0];
        var floatsPerVert = this.floatsPerVert;
        var matrix;
        var matrixm, a, b, c, d, tx, ty;
        var offset;
        var x;
        var y;
        true;
        for (var offset = 0, l = local.length; offset < l; offset += floatsPerVert) {
          world[offset] = local[offset];
          world[offset + 1] = local[offset + 1];
        }
      };
      TmpAssembler.prototype.updateColor = function(comp, color) {
        true;
        this["_dirtyPtr"][0] |= cc["Assembler"]["FLAG_VERTICES_OPACITY_CHANGED"];
        var uintVerts = this._renderData.uintVDatas[0];
        if (!uintVerts) return;
        color = null != color ? color : comp.node.color._val;
        var floatsPerVert = this.floatsPerVert;
        var colorOffset = this.colorOffset;
        for (var i = colorOffset, l = uintVerts.length; i < l; i += floatsPerVert) uintVerts[i] = color;
      };
      TmpAssembler.prototype.updateColorExtra = function(colors) {
        var uintVerts = this._renderData.uintVDatas[0];
        if (!uintVerts) return;
        var tmpColor = cc.color();
        for (var i = 0; i < this._lettersInfo.length; i++) {
          var info = this._lettersInfo[i];
          if (!info.valid || cc["textUtils"].isUnicodeSpace(info.char)) continue;
          var alpha = info.visible ? 1 : 0;
          var offset = this.colorExtraOffset + this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
          for (var _i = 0, colors_1 = colors; _i < colors_1.length; _i++) {
            var color = colors_1[_i];
            tmpColor.set(WHITE);
            tmpColor.setA(tmpColor.a * alpha);
            tmpColor.multiply(color);
            uintVerts[offset] = tmpColor["_val"];
            offset += this.floatsPerVert;
          }
        }
      };
      TmpAssembler.prototype.isVisble = function(index) {
        var info = this._lettersInfo[index];
        return info && info.valid && info.visible && !cc["textUtils"].isUnicodeSpace(info.char);
      };
      TmpAssembler.prototype.setVisible = function(comp, index, visible) {
        var info = this._lettersInfo[index];
        if (!info || this.isVisble(index) === visible || info.visible === visible || cc["textUtils"].isUnicodeSpace(info.char)) return;
        info.visible = visible;
        var offset = this.colorExtraOffset + this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
        var tmpColor = cc.color();
        var alpha = visible ? 1 : 0;
        var uintVerts = this._renderData.uintVDatas[0];
        for (var _i = 0, _a = comp.getVertexColors(); _i < _a.length; _i++) {
          var color = _a[_i];
          tmpColor.set(WHITE);
          tmpColor.setA(tmpColor.a * alpha);
          tmpColor.multiply(color);
          uintVerts[offset] = tmpColor["_val"];
          offset += this.floatsPerVert;
        }
      };
      TmpAssembler.prototype.getColorExtraVertices = function(index) {
        var info = this._lettersInfo[index];
        if (!info || !info.valid) return null;
        var result = [];
        var uintVerts = this._renderData.uintVDatas[0];
        var offset = this.colorExtraOffset + this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
        for (var i = 0; i < this.vertsPerChar; i++) {
          var color = cc.color();
          color["_val"] = uintVerts[offset];
          result.push(color);
          offset += this.floatsPerVert;
        }
        return result;
      };
      TmpAssembler.prototype.setColorExtraVertices = function(index, data) {
        var info = this._lettersInfo[index];
        if (!info || !info.valid || data.length !== this.vertsPerChar || cc["textUtils"].isUnicodeSpace(info.char)) return;
        var uintVerts = this._renderData.uintVDatas[0];
        var offset = this.colorExtraOffset + this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
        for (var i = 0; i < this.vertsPerChar; i++) {
          uintVerts[offset] = data[i]["_val"];
          offset += this.floatsPerVert;
        }
      };
      TmpAssembler.prototype.getPosVertices = function(index) {
        var info = this._lettersInfo[index];
        if (!info || !info.valid) return null;
        var result = [];
        var local = this._local;
        var offset = this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
        for (var i = 0; i < this.vertsPerChar; i++) {
          result.push(cc.v2(local[offset], local[offset + 1]));
          offset += this.floatsPerVert;
        }
        return result;
      };
      TmpAssembler.prototype.setPosVertices = function(index, data) {
        var info = this._lettersInfo[index];
        if (!info || !info.valid || data.length !== this.vertsPerChar || cc["textUtils"].isUnicodeSpace(info.char)) return;
        var local = this._local;
        var offset = this.floatsPerVert * info.quadsIndex * this.vertsPerChar;
        for (var i = 0; i < this.vertsPerChar; i++) {
          local[offset] = data[i].x;
          local[offset + 1] = data[i].y;
          offset += this.floatsPerVert;
        }
      };
      return TmpAssembler;
    }(cc["Assembler"]);
    exports.default = TmpAssembler;
    cc._RF.pop();
  }, {
    "../PPPB-TextMeshPro": "PPPB-TextMeshPro"
  } ],
  "PPPB-TmpFontConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6f8efyWp3JOs7a3cteiULp2", "PPPB-TmpFontConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.TmpFontLetter = void 0;
    var TmpFontLetter = function() {
      function TmpFontLetter() {
        this.u = 0;
        this.v = 0;
        this.w = 0;
        this.h = 0;
        this.offsetX = 0;
        this.offsetY = 0;
        this.textureId = 0;
        this.valid = false;
        this.xAdvance = 0;
      }
      return TmpFontLetter;
    }();
    exports.TmpFontLetter = TmpFontLetter;
    var TmpFontConfig = function() {
      function TmpFontConfig(json, textures) {
        var _this = this;
        this._letterDefinitions = {};
        this._textures = {};
        this._json = null;
        this._json = json;
        textures.forEach(function(v, id) {
          _this._textures[id] = v;
        });
        json.charData.forEach(function(v) {
          var letter = new TmpFontLetter();
          letter.offsetX = v.xoffset;
          letter.offsetY = v.yoffset;
          letter.w = v.width;
          letter.h = v.height;
          letter.u = v.x;
          letter.v = v.y;
          letter.textureId = v.page;
          letter.valid = true;
          letter.xAdvance = v.xadvance;
          _this.addLetterDefinitions(v.id, letter);
        });
      }
      Object.defineProperty(TmpFontConfig.prototype, "json", {
        get: function() {
          return this._json;
        },
        enumerable: false,
        configurable: true
      });
      TmpFontConfig.prototype.addTexture = function(id, texture) {
        this._textures[id] = texture;
      };
      TmpFontConfig.prototype.addLetterDefinitions = function(letter, letterDefinition) {
        this._letterDefinitions[letter] = letterDefinition;
      };
      TmpFontConfig.prototype.cloneLetterDefinition = function() {
        var copyLetterDefinitions = {};
        for (var key in this._letterDefinitions) {
          var value = new TmpFontLetter();
          cc.js.mixin(value, this._letterDefinitions[key]);
          copyLetterDefinitions[key] = value;
        }
        return copyLetterDefinitions;
      };
      TmpFontConfig.prototype.getTexture = function(id) {
        return this._textures[id];
      };
      TmpFontConfig.prototype.getLetter = function(key) {
        return this._letterDefinitions[key];
      };
      TmpFontConfig.prototype.getLetterDefinitionForChar = function(char) {
        var key = char.charCodeAt(0);
        var hasKey = this._letterDefinitions.hasOwnProperty(key);
        var letter;
        letter = hasKey ? this._letterDefinitions[key] : null;
        return letter;
      };
      TmpFontConfig.prototype.clear = function() {
        this._letterDefinitions = {};
      };
      return TmpFontConfig;
    }();
    exports.default = TmpFontConfig;
    cc._RF.pop();
  }, {} ],
  "PPPB-TmpRichText": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "acd31zDoCxCB6IabdeJDber", "PPPB-TmpRichText");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_TextMeshPro_1 = require("./PPPB-TextMeshPro");
    var PPPB_HtmlParser_1 = require("./utils/PPPB-HtmlParser");
    var PPPB_TmpUtils_1 = require("./utils/PPPB-TmpUtils");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, disallowMultiple = _a.disallowMultiple, executeInEditMode = _a.executeInEditMode, menu = _a.menu;
    var RichTextChildName = "RICHTEXT_CHILD";
    var RichTextChildImageName = "RICHTEXT_Image_CHILD";
    var _htmlTextParser = new PPPB_HtmlParser_1.HtmlTextParser();
    var pool = new cc.js.Pool(function(node) {
      false;
      false;
      if (!cc.isValid(node)) return false;
      return true;
    }, 20);
    pool.get = function(string, richtext) {
      var labelNode = this._get();
      if (!labelNode) {
        labelNode = new cc.PrivateNode(RichTextChildName);
        labelNode._objFlags |= cc.Object["Flags"].DontSave;
      }
      labelNode.setPosition(0, 0);
      labelNode.setAnchorPoint(.5, .5);
      var labelComponent = labelNode.getComponent(PPPB_TextMeshPro_1.default);
      labelComponent || (labelComponent = labelNode.addComponent(PPPB_TextMeshPro_1.default));
      labelComponent.string = "";
      labelComponent.horizontalAlign = cc.Label.HorizontalAlign.LEFT;
      labelComponent.verticalAlign = cc.Label.VerticalAlign.CENTER;
      return labelNode;
    };
    var TmpRichText = function(_super) {
      __extends(TmpRichText, _super);
      function TmpRichText() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._string = "";
        _this._font = null;
        _this._horizontalAlign = cc.Label.HorizontalAlign.LEFT;
        _this._verticalAlign = cc.Label.VerticalAlign.TOP;
        _this._fontSize = 32;
        _this._maxWidth = 0;
        _this._lineHeight = 32;
        _this._color = new cc.Gradient();
        _this._imageAtlas = null;
        _this._handleTouchEvent = true;
        _this.material = null;
        _this.textures = [];
        _this._textArray = null;
        _this._labelSegments = [];
        _this._labelSegmentsCache = [];
        _this._linesWidth = [];
        _this._lineOffsetX = 0;
        _this._lineCount = 1;
        _this._labelWidth = 0;
        _this._labelHeight = 0;
        _this._layoutDirty = true;
        _this._labelContent = null;
        _this._imageContent = null;
        return _this;
      }
      Object.defineProperty(TmpRichText.prototype, "string", {
        get: function() {
          return this._string;
        },
        set: function(v) {
          if (this._string === v) return;
          this._string = v;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "font", {
        get: function() {
          return this._font;
        },
        set: function(v) {
          if (this._font === v) return;
          this._font = v;
          false;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "horizontalAlign", {
        get: function() {
          return this._horizontalAlign;
        },
        set: function(v) {
          if (this._horizontalAlign === v) return;
          this._horizontalAlign = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "verticalAlign", {
        get: function() {
          return this._verticalAlign;
        },
        set: function(v) {
          if (this._verticalAlign === v) return;
          this._verticalAlign = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "fontSize", {
        get: function() {
          return this._fontSize;
        },
        set: function(v) {
          if (this._fontSize === v) return;
          this._fontSize = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "maxWidth", {
        get: function() {
          return this._maxWidth;
        },
        set: function(v) {
          if (this._maxWidth === v) return;
          this._maxWidth = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "lineHeight", {
        get: function() {
          return this._lineHeight;
        },
        set: function(v) {
          if (this._lineHeight === v) return;
          this._lineHeight = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "color", {
        get: function() {
          return this._color;
        },
        set: function(v) {
          if (true, this._color === v) return;
          this._color = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "imageAtlas", {
        get: function() {
          return this._imageAtlas;
        },
        set: function(v) {
          if (this._imageAtlas === v) return;
          this._imageAtlas = v;
          this._layoutDirty = true;
          this._updateRichText();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "handleTouchEvent", {
        get: function() {
          return this._handleTouchEvent;
        },
        set: function(v) {
          if (this._handleTouchEvent === v) return;
          this._handleTouchEvent = v;
          this.enabledInHierarchy && (this.handleTouchEvent ? this._addEventListeners() : this._removeEventListeners());
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "labelContent", {
        get: function() {
          var _a;
          if (!this._labelContent) {
            var content = "TMP_LABEL_CONTENT";
            this._labelContent = null !== (_a = this.node.getChildByName(content)) && void 0 !== _a ? _a : new cc.PrivateNode(content);
            this._labelContent["_objFlags"] |= cc.Object["Flags"].DontSave;
            this.node.insertChild(this._labelContent, this._imageContent ? 1 : 0);
          }
          return this._labelContent;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(TmpRichText.prototype, "imageContent", {
        get: function() {
          var _a;
          if (!this._imageContent) {
            var content = "TMP_IMAGE_CONTENT";
            this._imageContent = null !== (_a = this.node.getChildByName(content)) && void 0 !== _a ? _a : new cc.PrivateNode(content);
            this._imageContent["_objFlags"] |= cc.Object["Flags"].DontSave;
            this.node.insertChild(this._imageContent, 0);
          }
          return this._imageContent;
        },
        enumerable: false,
        configurable: true
      });
      TmpRichText.prototype.editorInit = function() {
        var _this = this;
        false;
      };
      TmpRichText.prototype.resetInEditor = function() {
        var _this = this;
        false;
      };
      TmpRichText.prototype.onRestore = function() {
        false;
      };
      TmpRichText.prototype.onEnable = function() {
        this.handleTouchEvent && this._addEventListeners();
        this._onFontLoaded();
        this._activateChildren(true);
      };
      TmpRichText.prototype.onDisable = function() {
        this.handleTouchEvent && this._removeEventListeners();
        this._activateChildren(false);
      };
      TmpRichText.prototype.onDestroy = function() {
        for (var i = 0; i < this._labelSegments.length; ++i) {
          this._labelSegments[i].removeFromParent();
          pool.put(this._labelSegments[i]);
        }
      };
      TmpRichText.prototype._onColorChanged = function(parentColor) {
        this.node.children.forEach(function(content) {
          content.children.forEach(function(childNode) {
            childNode.color = parentColor;
          });
        });
      };
      TmpRichText.prototype._addEventListeners = function() {
        this.node.on(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
        this.node.on(cc.Node.EventType.COLOR_CHANGED, this._onColorChanged, this);
      };
      TmpRichText.prototype._removeEventListeners = function() {
        this.node.off(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
        this.node.off(cc.Node.EventType.COLOR_CHANGED, this._onColorChanged, this);
      };
      TmpRichText.prototype._updateLabelSegmentTextAttributes = function() {
        this._labelSegments.forEach(function(item) {
          this._applyTextAttribute(item, null, true);
        }.bind(this));
      };
      TmpRichText.prototype._createFontLabel = function(string) {
        var node = pool.get(string, this);
        var tmp = node.getComponent(PPPB_TextMeshPro_1.default);
        tmp && tmp.getMaterial(0) !== this.material && tmp.setMaterial(0, this.material);
        return node;
      };
      TmpRichText.prototype._onFontLoaded = function() {
        this._layoutDirty = true;
        this._updateRichText();
      };
      TmpRichText.prototype._measureText = function(styleIndex, string) {
        var self = this;
        var func = function(string) {
          var label;
          if (0 === self._labelSegmentsCache.length) {
            label = self._createFontLabel(string);
            self._labelSegmentsCache.push(label);
          } else label = self._labelSegmentsCache[0];
          label["_styleIndex"] = styleIndex;
          self._applyTextAttribute(label, string, true);
          var labelSize = label.getContentSize();
          return labelSize.width;
        };
        return string ? func(string) : func;
      };
      TmpRichText.prototype._onTouchEnded = function(event) {
        var components = this.node.getComponents(cc.Component);
        var _loop_1 = function(i) {
          var labelSegment = this_1._labelSegments[i];
          var clickHandler = labelSegment["_clickHandler"];
          var clickParam = labelSegment["_clickParam"];
          if (clickHandler && this_1._containsTouchLocation(labelSegment, event.touch.getLocation())) {
            components.forEach(function(component) {
              component.enabledInHierarchy && component[clickHandler] && component[clickHandler](event, clickParam);
            });
            event.stopPropagation();
          }
        };
        var this_1 = this;
        for (var i = 0; i < this._labelSegments.length; ++i) _loop_1(i);
      };
      TmpRichText.prototype._containsTouchLocation = function(label, point) {
        var myRect = label.getBoundingBoxToWorld();
        return myRect.contains(point);
      };
      TmpRichText.prototype._resetContent = function(node) {
        if (!node) return;
        var children = node.children;
        for (var i = children.length - 1; i >= 0; i--) {
          var child = children[i];
          if (child.name === RichTextChildName || child.name === RichTextChildImageName) {
            child.parent === node ? child.parent = null : children.splice(i, 1);
            child.name === RichTextChildName && pool.put(child);
          }
        }
      };
      TmpRichText.prototype._resetState = function() {
        for (var i = 0; i < this.node.childrenCount; i++) this._resetContent(this.node.children[i]);
        this._labelSegments.length = 0;
        this._labelSegmentsCache.length = 0;
        this._linesWidth.length = 0;
        this._lineOffsetX = 0;
        this._lineCount = 1;
        this._labelWidth = 0;
        this._labelHeight = 0;
        this._layoutDirty = true;
      };
      TmpRichText.prototype._activateChildren = function(active) {
        this.node.children.forEach(function(content) {
          for (var i = content.children.length - 1; i >= 0; i--) {
            var child = content.children[i];
            child.name !== RichTextChildName && child.name !== RichTextChildImageName || (child.active = active);
          }
        });
      };
      TmpRichText.prototype._addLabelSegment = function(stringToken, styleIndex) {
        var labelSegment;
        labelSegment = 0 === this._labelSegmentsCache.length ? this._createFontLabel(stringToken) : this._labelSegmentsCache.pop();
        var tmp = labelSegment.getComponent(PPPB_TextMeshPro_1.default);
        tmp.verticalAlign !== this._verticalAlign && (tmp.verticalAlign = this._verticalAlign);
        labelSegment._styleIndex = styleIndex;
        labelSegment._lineCount = this._lineCount;
        labelSegment.active = this.node.active;
        labelSegment.setAnchorPoint(0, 0);
        this._applyTextAttribute(labelSegment, stringToken, false);
        this.labelContent.addChild(labelSegment);
        this._labelSegments.push(labelSegment);
        return labelSegment;
      };
      TmpRichText.prototype._updateRichTextWithMaxWidth = function(labelString, labelWidth, styleIndex) {
        var fragmentWidth = labelWidth;
        var labelSegment;
        if (this._lineOffsetX > 0 && fragmentWidth + this._lineOffsetX > this.maxWidth) {
          var checkStartIndex = 0;
          while (this._lineOffsetX <= this.maxWidth) {
            var checkEndIndex = this._getFirstWordLen(labelString, checkStartIndex, labelString.length);
            var checkString = labelString.substr(checkStartIndex, checkEndIndex);
            var checkStringWidth = this._measureText(styleIndex, checkString);
            if (!(this._lineOffsetX + checkStringWidth <= this.maxWidth)) {
              if (checkStartIndex > 0) {
                var remainingString = labelString.substr(0, checkStartIndex);
                this._addLabelSegment(remainingString, styleIndex);
                labelString = labelString.substr(checkStartIndex, labelString.length);
                fragmentWidth = this._measureText(styleIndex, labelString);
              }
              this._updateLineInfo();
              break;
            }
            this._lineOffsetX += checkStringWidth;
            checkStartIndex += checkEndIndex;
          }
        }
        if (fragmentWidth > this.maxWidth) {
          var fragments = cc["textUtils"].fragmentText(labelString, fragmentWidth, this.maxWidth, this._measureText(styleIndex));
          for (var k = 0; k < fragments.length; ++k) {
            var splitString = fragments[k];
            labelSegment = this._addLabelSegment(splitString, styleIndex);
            var labelSize = labelSegment.getContentSize();
            this._lineOffsetX += labelSize.width;
            fragments.length > 1 && k < fragments.length - 1 && this._updateLineInfo();
          }
        } else {
          this._lineOffsetX += fragmentWidth;
          this._addLabelSegment(labelString, styleIndex);
        }
      };
      TmpRichText.prototype._isLastComponentCR = function(stringToken) {
        return stringToken.length - 1 === stringToken.lastIndexOf("\n");
      };
      TmpRichText.prototype._updateLineInfo = function() {
        this._linesWidth.push(this._lineOffsetX);
        this._lineOffsetX = 0;
        this._lineCount++;
      };
      TmpRichText.prototype._needsUpdateTextLayout = function(newTextArray) {
        if (this._layoutDirty || !this._textArray || !newTextArray) return true;
        if (this._textArray.length !== newTextArray.length) return true;
        for (var i = 0; i < this._textArray.length; ++i) {
          var oldItem = this._textArray[i];
          var newItem = newTextArray[i];
          if (oldItem.text !== newItem.text) return true;
          var oldStyle = oldItem.style, newStyle = newItem.style;
          if (oldStyle) {
            if (newStyle) {
              if (!oldStyle.outline !== !newStyle.outline) return true;
              if (oldStyle.size !== newStyle.size || !oldStyle.italic !== !newStyle.italic || oldStyle.isImage !== newStyle.isImage) return true;
              if (oldStyle.src !== newStyle.src || oldStyle.imageAlign !== newStyle.imageAlign || oldStyle.imageHeight !== newStyle.imageHeight || oldStyle.imageWidth !== newStyle.imageWidth || oldStyle.imageOffset !== newStyle.imageOffset) return true;
            } else if (oldStyle.size || oldStyle.italic || oldStyle.isImage || oldStyle.outline) return true;
          } else if (newStyle && (newStyle.size || newStyle.italic || newStyle.isImage || newStyle.outline)) return true;
        }
        return false;
      };
      TmpRichText.prototype._addRichTextImageElement = function(richTextElement) {
        var spriteFrameName = richTextElement.style.src;
        var spriteFrame = this.imageAtlas.getSpriteFrame(spriteFrameName);
        if (spriteFrame) {
          var spriteNode = new cc.PrivateNode(RichTextChildImageName);
          spriteNode["_objFlags"] |= cc.Object["Flags"].DontSave;
          var spriteComponent = spriteNode.addComponent(cc.Sprite);
          switch (richTextElement.style.imageAlign) {
           case "top":
            spriteNode.setAnchorPoint(0, 1);
            break;

           case "center":
            spriteNode.setAnchorPoint(0, .5);
            break;

           default:
            spriteNode.setAnchorPoint(0, 0);
          }
          richTextElement.style.imageOffset && (spriteNode["_imageOffset"] = richTextElement.style.imageOffset);
          spriteComponent.type = cc.Sprite.Type.SLICED;
          spriteComponent.sizeMode = cc.Sprite.SizeMode.CUSTOM;
          this.imageContent.addChild(spriteNode);
          this._labelSegments.push(spriteNode);
          var spriteRect = spriteFrame.getRect();
          var scaleFactor = 1;
          var spriteWidth = spriteRect.width;
          var spriteHeight = spriteRect.height;
          var expectWidth = richTextElement.style.imageWidth;
          var expectHeight = richTextElement.style.imageHeight;
          if (expectHeight > 0) {
            scaleFactor = expectHeight / spriteHeight;
            spriteWidth *= scaleFactor;
            spriteHeight *= scaleFactor;
          } else {
            scaleFactor = this.lineHeight / spriteHeight;
            spriteWidth *= scaleFactor;
            spriteHeight *= scaleFactor;
          }
          expectWidth > 0 && (spriteWidth = expectWidth);
          if (this.maxWidth > 0) {
            this._lineOffsetX + spriteWidth > this.maxWidth && this._updateLineInfo();
            this._lineOffsetX += spriteWidth;
          } else {
            this._lineOffsetX += spriteWidth;
            this._lineOffsetX > this._labelWidth && (this._labelWidth = this._lineOffsetX);
          }
          spriteComponent.spriteFrame = spriteFrame;
          spriteNode.setContentSize(spriteWidth, spriteHeight);
          spriteNode["_lineCount"] = this._lineCount;
          if (richTextElement.style.event) {
            richTextElement.style.event.click && (spriteNode["_clickHandler"] = richTextElement.style.event.click);
            richTextElement.style.event.param ? spriteNode["_clickParam"] = richTextElement.style.event.param : spriteNode["_clickParam"] = "";
          } else spriteNode["_clickHandler"] = null;
        } else cc["warnID"](4400);
      };
      TmpRichText.prototype._updateRichText = function() {
        if (!this.enabledInHierarchy) return;
        var newTextArray = _htmlTextParser.parse(this.string);
        if (!this._needsUpdateTextLayout(newTextArray)) {
          this._textArray = newTextArray.slice();
          this._updateLabelSegmentTextAttributes();
          return;
        }
        this._textArray = newTextArray.slice();
        this._resetState();
        var lastEmptyLine = false;
        var label;
        var labelSize;
        for (var i = 0; i < this._textArray.length; ++i) {
          var richTextElement = this._textArray[i];
          var text = richTextElement.text;
          if ("" === text) {
            if (richTextElement.style && richTextElement.style.newline) {
              this._updateLineInfo();
              continue;
            }
            if (richTextElement.style && richTextElement.style.isImage && this.imageAtlas) {
              this._addRichTextImageElement(richTextElement);
              continue;
            }
          }
          var multilineTexts = text.split("\n");
          for (var j = 0; j < multilineTexts.length; ++j) {
            var labelString = multilineTexts[j];
            if ("" === labelString) {
              if (this._isLastComponentCR(text) && j === multilineTexts.length - 1) continue;
              this._updateLineInfo();
              lastEmptyLine = true;
              continue;
            }
            lastEmptyLine = false;
            if (this.maxWidth > 0) {
              var labelWidth = this._measureText(i, labelString);
              this._updateRichTextWithMaxWidth(labelString, labelWidth, i);
              multilineTexts.length > 1 && j < multilineTexts.length - 1 && this._updateLineInfo();
            } else {
              label = this._addLabelSegment(labelString, i);
              labelSize = label.getContentSize();
              this._lineOffsetX += labelSize.width;
              this._lineOffsetX > this._labelWidth && (this._labelWidth = this._lineOffsetX);
              multilineTexts.length > 1 && j < multilineTexts.length - 1 && this._updateLineInfo();
            }
          }
        }
        lastEmptyLine || this._linesWidth.push(this._lineOffsetX);
        this.maxWidth > 0 && (this._labelWidth = this.maxWidth);
        this._labelHeight = (this._lineCount + cc["textUtils"].BASELINE_RATIO) * this.lineHeight;
        this.node.setContentSize(this._labelWidth, this._labelHeight);
        this._updateRichTextPosition();
        this._layoutDirty = false;
      };
      TmpRichText.prototype._getFirstWordLen = function(text, startIndex, textLen) {
        var character = text.charAt(startIndex);
        if (cc["textUtils"].isUnicodeCJK(character) || cc["textUtils"].isUnicodeSpace(character)) return 1;
        var len = 1;
        for (var index = startIndex + 1; index < textLen; ++index) {
          character = text.charAt(index);
          if (cc["textUtils"].isUnicodeSpace(character) || cc["textUtils"].isUnicodeCJK(character)) break;
          len++;
        }
        return len;
      };
      TmpRichText.prototype._updateRichTextPosition = function() {
        var nextTokenX = 0;
        var nextLineIndex = 1;
        var totalLineCount = this._lineCount;
        for (var i = 0; i < this._labelSegments.length; ++i) {
          var label = this._labelSegments[i];
          var lineCount = label["_lineCount"];
          if (lineCount > nextLineIndex) {
            nextTokenX = 0;
            nextLineIndex = lineCount;
          }
          var lineOffsetX = 0;
          switch (this.horizontalAlign) {
           case cc.Label.HorizontalAlign.LEFT:
            lineOffsetX = -this._labelWidth / 2;
            break;

           case cc.Label.HorizontalAlign.CENTER:
            lineOffsetX = -this._linesWidth[lineCount - 1] / 2;
            break;

           case cc.Label.HorizontalAlign.RIGHT:
            lineOffsetX = this._labelWidth / 2 - this._linesWidth[lineCount - 1];
          }
          label.x = nextTokenX + lineOffsetX;
          label.y = this.lineHeight * (totalLineCount - lineCount) - this._labelHeight / 2;
          if (lineCount === nextLineIndex) {
            var labelSize = label.getContentSize();
            nextTokenX += labelSize.width;
            var tmp = label.getComponent(PPPB_TextMeshPro_1.default);
            tmp && tmp.richTextDeltaX && (nextTokenX += tmp.richTextDeltaX);
          }
          var sprite = label.getComponent(cc.Sprite);
          if (sprite) {
            var lineHeightSet = this.lineHeight;
            var lineHeightReal = this.lineHeight * (1 + cc["textUtils"].BASELINE_RATIO);
            switch (label.anchorY) {
             case 1:
              label.y += lineHeightSet + (lineHeightReal - lineHeightSet) / 2;
              break;

             case .5:
              label.y += lineHeightReal / 2;
              break;

             default:
              label.y += (lineHeightReal - lineHeightSet) / 2;
            }
            if (label["_imageOffset"]) {
              var offsets = label["_imageOffset"].split(",");
              if (1 === offsets.length && offsets[0]) {
                var offsetY = parseFloat(offsets[0]);
                Number.isInteger(offsetY) && (label.y += offsetY);
              } else if (2 === offsets.length) {
                var offsetX = parseFloat(offsets[0]);
                var offsetY = parseFloat(offsets[1]);
                Number.isInteger(offsetX) && (label.x += offsetX);
                Number.isInteger(offsetY) && (label.y += offsetY);
              }
            }
          }
        }
      };
      TmpRichText.prototype._convertLiteralColorValue = function(color) {
        var colorValue = color.toUpperCase();
        if (cc.Color[colorValue]) return cc.Color[colorValue];
        var hexString = 0 === color.indexOf("#") ? color.substring(1) : color;
        var r = parseInt(hexString.substring(0, 2), 16) || 0;
        var g = parseInt(hexString.substring(2, 4), 16) || 0;
        var b = parseInt(hexString.substring(4, 6), 16) || 0;
        var a = parseInt(hexString.substring(6, 8), 16);
        Number.isNaN(a) && (a = 255);
        return cc.color(r, g, b, a);
      };
      TmpRichText.prototype._applyTextAttribute = function(labelNode, string, force) {
        var labelComponent = labelNode.getComponent(PPPB_TextMeshPro_1.default);
        if (!labelComponent) return;
        var index = labelNode["_styleIndex"];
        var textStyle = null;
        this._textArray[index] && (textStyle = this._textArray[index].style);
        textStyle && textStyle.color ? labelNode.color = this._convertLiteralColorValue(textStyle.color) : labelNode.color = this.node.color;
        labelComponent.setFont(this.font, this.textures);
        labelComponent.lineHeight = this.lineHeight;
        labelComponent.color = this.color;
        if (textStyle && textStyle.face) {
          labelComponent.tmpUniform.faceColor = this._convertLiteralColorValue(textStyle.face.color);
          labelComponent.tmpUniform.faceDilate = textStyle.face.dilate;
          labelComponent.tmpUniform.faceSoftness = textStyle.face.softness;
        } else {
          labelComponent.tmpUniform.faceColor = cc.Color.WHITE;
          labelComponent.tmpUniform.faceDilate = .5;
          labelComponent.tmpUniform.faceSoftness = .01;
        }
        labelComponent.enableItalic = Boolean(textStyle && textStyle.italic);
        labelComponent.enableUnderline = Boolean(textStyle && textStyle.underline);
        labelComponent.enableUnderline && (labelComponent.underlineOffset = textStyle.offset || 0);
        labelComponent.enableStrikethrough = Boolean(textStyle && textStyle.strikethrough);
        labelComponent.enableStrikethrough && (labelComponent.strikethroughOffset = textStyle.offset || 0);
        labelComponent.tmpUniform.enableOutline = Boolean(textStyle && textStyle.outline);
        if (textStyle && textStyle.outline) {
          labelComponent.tmpUniform.outlineColor = this._convertLiteralColorValue(textStyle.outline.color);
          labelComponent.tmpUniform.outlineThickness = textStyle.outline.thickness;
        }
        labelComponent.tmpUniform.enableUnderlay = Boolean(textStyle && textStyle.underlay);
        if (labelComponent.tmpUniform.enableUnderlay) {
          labelComponent.tmpUniform.underlayColor = this._convertLiteralColorValue(textStyle.underlay.color);
          labelComponent.tmpUniform.underlayOffset = cc.v2(textStyle.underlay.x, textStyle.underlay.y);
          labelComponent.tmpUniform.underlayDilate = textStyle.underlay.dilate;
          labelComponent.tmpUniform.underlaySoftness = textStyle.underlay.softness;
        }
        labelComponent.tmpUniform.enableGlow = Boolean(textStyle && textStyle.glow);
        if (labelComponent.tmpUniform.enableGlow) {
          labelComponent.tmpUniform.glowColor = this._convertLiteralColorValue(textStyle.glow.color);
          labelComponent.tmpUniform.glowOffset = textStyle.glow.offset;
          labelComponent.tmpUniform.glowInner = textStyle.glow.inner;
          labelComponent.tmpUniform.glowOuter = textStyle.glow.outer;
          labelComponent.tmpUniform.glowPower = textStyle.glow.power;
        }
        textStyle && textStyle.size ? labelComponent.fontSize = textStyle.size : labelComponent.fontSize = this.fontSize;
        if (null !== string) {
          "string" !== typeof string && (string = "" + string);
          labelComponent.string = string;
        }
        force && labelComponent.forceUpdateRenderData();
        if (textStyle && textStyle.event) {
          textStyle.event.click && (labelNode["_clickHandler"] = textStyle.event.click);
          textStyle.event.param ? labelNode["_clickParam"] = textStyle.event.param : labelNode["_clickParam"] = "";
        } else labelNode["_clickHandler"] = null;
      };
      __decorate([ property ], TmpRichText.prototype, "_string", void 0);
      __decorate([ property({
        multiline: true
      }) ], TmpRichText.prototype, "string", null);
      __decorate([ property(cc.JsonAsset) ], TmpRichText.prototype, "_font", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.JsonAsset
      }) ], TmpRichText.prototype, "font", null);
      __decorate([ property({
        type: cc.Label.HorizontalAlign
      }) ], TmpRichText.prototype, "_horizontalAlign", void 0);
      __decorate([ property({
        type: cc.Label.HorizontalAlign
      }) ], TmpRichText.prototype, "horizontalAlign", null);
      __decorate([ property({
        type: cc.Label.VerticalAlign
      }) ], TmpRichText.prototype, "_verticalAlign", void 0);
      __decorate([ property({
        type: cc.Label.VerticalAlign
      }) ], TmpRichText.prototype, "verticalAlign", null);
      __decorate([ property ], TmpRichText.prototype, "_fontSize", void 0);
      __decorate([ property({
        range: [ 0, 1024 ]
      }) ], TmpRichText.prototype, "fontSize", null);
      __decorate([ property ], TmpRichText.prototype, "_maxWidth", void 0);
      __decorate([ property({
        tooltip: false
      }) ], TmpRichText.prototype, "maxWidth", null);
      __decorate([ property ], TmpRichText.prototype, "_lineHeight", void 0);
      __decorate([ property ], TmpRichText.prototype, "lineHeight", null);
      __decorate([ property ], TmpRichText.prototype, "_color", void 0);
      __decorate([ property ], TmpRichText.prototype, "color", null);
      __decorate([ property(cc.SpriteAtlas) ], TmpRichText.prototype, "_imageAtlas", void 0);
      __decorate([ property(cc.SpriteAtlas) ], TmpRichText.prototype, "imageAtlas", null);
      __decorate([ property ], TmpRichText.prototype, "_handleTouchEvent", void 0);
      __decorate([ property ], TmpRichText.prototype, "handleTouchEvent", null);
      __decorate([ property(cc.Material) ], TmpRichText.prototype, "material", void 0);
      __decorate([ property({
        tooltip: false,
        type: cc.Texture2D,
        readonly: true
      }) ], TmpRichText.prototype, "textures", void 0);
      TmpRichText = __decorate([ ccclass, disallowMultiple, executeInEditMode, menu("TextMeshPro\u7ec4\u4ef6/TmpRichText") ], TmpRichText);
      return TmpRichText;
    }(cc.Component);
    exports.default = TmpRichText;
    cc._RF.pop();
  }, {
    "./PPPB-TextMeshPro": "PPPB-TextMeshPro",
    "./utils/PPPB-HtmlParser": "PPPB-HtmlParser",
    "./utils/PPPB-TmpUtils": "PPPB-TmpUtils"
  } ],
  "PPPB-TmpUtils": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f3d89dPZqZC0K7yxzJmiA6q", "PPPB-TmpUtils");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var TmpUtils = function() {
      function TmpUtils() {}
      TmpUtils.load = function(url) {
        return new Promise(function(resolve, reject) {
          true;
          resolve(null);
          return;
        });
      };
      TmpUtils.waitCmpt = function(cmpt, seconds) {
        return new Promise(function(resolve, reject) {
          cmpt.scheduleOnce(function() {
            resolve();
          }, seconds);
        });
      };
      TmpUtils.TMP_MAT = "textMeshPro/resources/shader/materials/textMeshPro.mtl";
      return TmpUtils;
    }();
    exports.default = TmpUtils;
    cc._RF.pop();
  }, {} ],
  "PPPB-TopTipsPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4ba29Yqv2dKT7bP3SkAfOIq", "PPPB-TopTipsPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UILanguageImg_1 = require("../../../framework-cocos/components/PPPB-UILanguageImg");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var WAIT_DURATION = 15;
    var IMAGEORDER = [ "tips1", "tips2", "tips3" ];
    var FREEGAMEIMAGEORDER = [ "tips4" ];
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.tipImage1 = null;
        _this.tipImage2 = null;
        _this.curImageOrder = IMAGEORDER;
        _this.curImageOrderIndex = 0;
        _this.isShowAlt = true;
        return _this;
      }
      NewClass.prototype.onLoaded = function() {
        this.init();
      };
      NewClass.prototype.init = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.curImageOrderIndex = 0;
              this.isShowAlt = true;
              return [ 4, this.WaitAndDisplay() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.WaitAndDisplay = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_lib_1._.sleep(1e3 * WAIT_DURATION) ];

             case 1:
              _a.sent();
              if (this.curImageOrder.length <= 1) {
                this.WaitAndDisplay();
                return [ 2 ];
              }
              this.isShowAlt = !this.isShowAlt;
              this.curImageOrderIndex++;
              this.curImageOrderIndex >= this.curImageOrder.length && (this.curImageOrderIndex = 0);
              if (this.isShowAlt) {
                this.tipImage2.spriteID = this.curImageOrder[this.curImageOrderIndex];
                PPPB_action_1.ACT(this.tipImage1.node).fadeOut(.5).act();
                PPPB_action_1.ACT(this.tipImage2.node).fadeIn(.5).act();
              } else {
                this.tipImage1.spriteID = this.curImageOrder[this.curImageOrderIndex];
                PPPB_action_1.ACT(this.tipImage2.node).fadeOut(.5).act();
                PPPB_action_1.ACT(this.tipImage1.node).fadeIn(.5).act();
              }
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 2:
              _a.sent();
              this.WaitAndDisplay();
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.$event_toggle_topTipsFreeGame = function(isFreeGame) {
        var oldImageOrder = this.curImageOrder;
        var oldImageOrderIndex = this.curImageOrderIndex;
        this.curImageOrder = isFreeGame ? FREEGAMEIMAGEORDER : IMAGEORDER;
        this.curImageOrderIndex = 0;
        if (this.curImageOrder[this.curImageOrderIndex] != oldImageOrder[oldImageOrderIndex]) {
          this.isShowAlt = false;
          this.tipImage1.spriteID = this.curImageOrder[this.curImageOrderIndex];
          this.tipImage1.node.opacity = 255;
          this.tipImage2.node.opacity = 0;
        }
      };
      NewClass.prototype.$event_show_topTips = function() {
        PPPB_action_1.ACT(this.node).fadeIn(.5).act();
      };
      NewClass.prototype.$event_hide_topTips = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_action_1.ACT(this.node).fadeOut(.5).act();
            return [ 2 ];
          });
        });
      };
      __decorate([ property(PPPB_UILanguageImg_1.UILanguageImg) ], NewClass.prototype, "tipImage1", void 0);
      __decorate([ property(PPPB_UILanguageImg_1.UILanguageImg) ], NewClass.prototype, "tipImage2", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguageImg": "PPPB-UILanguageImg",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-TumbleFreeGameMultiplier": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c8dc9h4pSFLmrbwe5+LwT60", "PPPB-TumbleFreeGameMultiplier");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_TextMeshPro_1 = require("../../../../textMeshPro/scripts/PPPB-TextMeshPro");
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var MULTIPLIER_ANIMATION_INDEX = {
      "00": [ 1, 9 ],
      "01": [ 10, 19 ],
      "02": [ 20, 29 ],
      "03": [ 30 ]
    };
    var TumbleFreeGameMultiplier = function(_super) {
      __extends(TumbleFreeGameMultiplier, _super);
      function TumbleFreeGameMultiplier() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.multiplierText = null;
        _this.multiplierTextAnim = null;
        _this.multiplierTextFlier = null;
        return _this;
      }
      TumbleFreeGameMultiplier.prototype.onLoaded = function() {
        this.ToggleActive(false, 0);
        this.multiplierTextFlier.node.opacity = 0;
      };
      TumbleFreeGameMultiplier.prototype.$event_toggle_tumbleFreeGameMultiplierActive = function(isActive, multiplierTextOpacity) {
        this.ToggleActive(isActive, multiplierTextOpacity);
      };
      TumbleFreeGameMultiplier.prototype.$event_update_tumbleFreeGameMultiplier = function(multiplier) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.UpdateMultiplier(multiplier) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleFreeGameMultiplier.prototype.$event_apply_tumbleFreeGameMultiplier = function(multiplier, sendMultiplierNodeToTargetFunc) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.ApplyMultiplier(multiplier, sendMultiplierNodeToTargetFunc) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleFreeGameMultiplier.prototype.ToggleActive = function(isActive, multiplierTextOpacity) {
        this.node.active = isActive;
        null != multiplierTextOpacity && (this.multiplierText.node.opacity = multiplierTextOpacity);
      };
      TumbleFreeGameMultiplier.prototype.UpdateMultiplier = function(multiplier) {
        return __awaiter(this, void 0, void 0, function() {
          var ogScale, _i, _a, _b, animIndex, multiplierRange;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              this.multiplierText.string = multiplier + "x";
              this.multiplierText.node.opacity = 255;
              this.multiplierTextAnim.stop();
              ogScale = this.multiplierText.node.scale;
              return [ 4, PPPB_action_1.ACT(this.multiplierText.node).scaleTo(.1, 1.5 * ogScale).scaleTo(.2, ogScale).act() ];

             case 1:
              _c.sent();
              this.multiplierText.node.setScale(ogScale);
              for (_i = 0, _a = Object.entries(MULTIPLIER_ANIMATION_INDEX); _i < _a.length; _i++) {
                _b = _a[_i], animIndex = _b[0], multiplierRange = _b[1];
                (2 == multiplierRange.length && multiplierRange[0] <= multiplier && multiplier <= multiplierRange[1] || 1 == multiplierRange.length && multiplierRange[0] <= multiplier) && this.multiplierTextAnim.play("TumbleFreeGameMultiplierPulse" + animIndex);
              }
              return [ 2 ];
            }
          });
        });
      };
      TumbleFreeGameMultiplier.prototype.ApplyMultiplier = function(multiplier, sendMultiplierNodeToTargetFunc) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.multiplierTextFlier.string = multiplier + "x";
              return [ 4, sendMultiplierNodeToTargetFunc(this.multiplierTextFlier.node, multiplier) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(PPPB_TextMeshPro_1.default) ], TumbleFreeGameMultiplier.prototype, "multiplierText", void 0);
      __decorate([ property(cc.Animation) ], TumbleFreeGameMultiplier.prototype, "multiplierTextAnim", void 0);
      __decorate([ property(PPPB_TextMeshPro_1.default) ], TumbleFreeGameMultiplier.prototype, "multiplierTextFlier", void 0);
      TumbleFreeGameMultiplier = __decorate([ ccclass ], TumbleFreeGameMultiplier);
      return TumbleFreeGameMultiplier;
    }(PPPB_UComponent_1.UComponent);
    exports.default = TumbleFreeGameMultiplier;
    cc._RF.pop();
  }, {
    "../../../../textMeshPro/scripts/PPPB-TextMeshPro": "PPPB-TextMeshPro",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-TumbleWinPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "459bbNxEG9O9LCw5RY+IBsy", "PPPB-TumbleWinPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_MoneyTextHelper_1 = require("./PPPB-MoneyTextHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var MULTIPLIER_HIGHLIGHT_ANIM_TIMESCALE = 2.5;
    var TumbleWinPanel = function(_super) {
      __extends(TumbleWinPanel, _super);
      function TumbleWinPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.tumbleWinLabel = null;
        _this.multiplicationTextsGroup = null;
        _this.multiplicationAmountText = null;
        _this.multiplicationSignText = null;
        _this.multiplicationMultiplierText = null;
        _this.multiplierTarget = null;
        _this.multiplicationTarget = null;
        _this.tumbleFront = null;
        return _this;
      }
      TumbleWinPanel.prototype.onLoaded = function() {
        this.tumbleFront = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "GameScaler/frontTumble" ]);
        this.tumbleWinLabel.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
        this.node.opacity = 0;
      };
      TumbleWinPanel.prototype.$event_roll_tumbleWin = function(fromAmount, toAmount, durationInSeconds) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.RollTumbleWin(fromAmount, toAmount, durationInSeconds) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.$event_apply_tumbleMultipliers = function(cardLists, freeGameMultiplier, finalTumbleWinAmount) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.ApplyTumbleMultipliers(cardLists, freeGameMultiplier, finalTumbleWinAmount) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.$event_hide_tumbleWin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.Hide() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.RollTumbleWin = function(fromAmount, toAmount, durationInSeconds) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              0 == this.node.opacity && PPPB_action_1.ACT(this.node).fadeIn(.5).act();
              if (void 0 != fromAmount) {
                this.tumbleWinLabel.dur = 0;
                this.tumbleWinLabel.value = fromAmount;
              }
              this.tumbleWinLabel.dur = durationInSeconds;
              this.tumbleWinLabel.value = toAmount;
              return [ 4, PPPB_lib_1._.sleep(1e3 * durationInSeconds) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.ApplyTumbleMultipliers = function(cardLists, freeGameMultiplier, finalTumbleWinAmount) {
        return __awaiter(this, void 0, void 0, function() {
          var multipliersToApply, _i, cardLists_1, cardList, _a, _b, card, sumOfNewMultipliers, _c, multipliersToApply_1, multiplierCard, currentTumbleMult, _loop_1, this_1, i;
          return __generator(this, function(_d) {
            switch (_d.label) {
             case 0:
              multipliersToApply = [];
              for (_i = 0, cardLists_1 = cardLists; _i < cardLists_1.length; _i++) {
                cardList = cardLists_1[_i];
                for (_a = 0, _b = cardList.activeCards; _a < _b.length; _a++) {
                  card = _b[_a];
                  card.isMultiplier && multipliersToApply.push(card);
                }
              }
              this.multiplicationAmountText.string = this.tumbleWinLabel.LabelString;
              this.multiplicationAmountText.node.opacity = 255;
              this.multiplicationSignText.string = "x";
              this.multiplicationSignText.node.opacity = 255;
              this.multiplicationMultiplierText.string = "";
              this.multiplicationMultiplierText.node.opacity = 255;
              sumOfNewMultipliers = 0;
              for (_c = 0, multipliersToApply_1 = multipliersToApply; _c < multipliersToApply_1.length; _c++) {
                multiplierCard = multipliersToApply_1[_c];
                sumOfNewMultipliers += multiplierCard.GetMultiplier();
              }
              currentTumbleMult = Math.max(freeGameMultiplier - sumOfNewMultipliers, 0);
              _loop_1 = function(i) {
                var multiplierCard, defaultTimeScale;
                return __generator(this, function(_a) {
                  switch (_a.label) {
                   case 0:
                    multiplierCard = multipliersToApply[i];
                    currentTumbleMult += multiplierCard.GetMultiplier();
                    PPPB_quick_1.ks.playEffectSound("SymbolMultiplier");
                    defaultTimeScale = multiplierCard.spineSkeleton.timeScale;
                    multiplierCard.spineSkeleton.timeScale = MULTIPLIER_HIGHLIGHT_ANIM_TIMESCALE;
                    multiplierCard.playByType("multiplier_highlight").then(function() {
                      multiplierCard.spineSkeleton.timeScale = defaultTimeScale;
                      multiplierCard.play("multiplier_highlight");
                    });
                    return [ 4, PPPB_lib_1._.sleep(500) ];

                   case 1:
                    _a.sent();
                    this_1.SendMultiplierNodeToWinPanel(multiplierCard.multiplierText.node, 1.6, 2, 1, 0, currentTumbleMult);
                    return [ 4, PPPB_lib_1._.sleep(500) ];

                   case 2:
                    _a.sent();
                    return [ 2 ];
                  }
                });
              };
              this_1 = this;
              i = 0;
              _d.label = 1;

             case 1:
              if (!(i < multipliersToApply.length)) return [ 3, 4 ];
              return [ 5, _loop_1(i) ];

             case 2:
              _d.sent();
              _d.label = 3;

             case 3:
              i++;
              return [ 3, 1 ];

             case 4:
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 5:
              _d.sent();
              PPPB_quick_1.ks.playEffectSound("FreeGameTumbleMultiplier_PB");
              this.multiplicationSignText.node.opacity = 0;
              this.multiplicationTextsGroup.enabled = false;
              PPPB_lib_1._.moveNodeToOtherNodePos(this.multiplicationAmountText.node, this.multiplicationTarget, .4, true);
              return [ 4, PPPB_lib_1._.moveNodeToOtherNodePos(this.multiplicationMultiplierText.node, this.multiplicationTarget, .4, true) ];

             case 6:
              _d.sent();
              this.multiplicationTextsGroup.node.opacity = 0;
              this.multiplicationTextsGroup.enabled = true;
              this.tumbleWinLabel.dur = 0;
              this.tumbleWinLabel.value = finalTumbleWinAmount;
              this.tumbleWinLabel.node.opacity = 255;
              return [ 4, this.PunchNode(this.tumbleWinLabel.node, 1.5) ];

             case 7:
              _d.sent();
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 8:
              _d.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.SendMultiplierNodeToWinPanel = function(multiplierNode, initialScaleConversionRatio, scaleUpAmount, scaleDownAmount, scalePeakTimeRelative, updatedTumbleMultiplier, movementSfx) {
        void 0 === movementSfx && (movementSfx = "");
        return __awaiter(this, void 0, void 0, function() {
          var originalMultiplierParent, originalMultiplierWorldPos, originalMultiplierScale, startScale, scaledUpScale, scaledDownScale, moveTime, scaleUpDuration, scaleDownDuration;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              multiplierNode.opacity = 255;
              originalMultiplierParent = multiplierNode.parent;
              originalMultiplierWorldPos = PPPB_ui_1.ui.getWorldPos(multiplierNode);
              originalMultiplierScale = multiplierNode.scale;
              multiplierNode.setParent(this.tumbleFront);
              multiplierNode.setPosition(this.tumbleFront.convertToNodeSpaceAR(originalMultiplierWorldPos));
              startScale = initialScaleConversionRatio * multiplierNode.scale;
              scaledUpScale = startScale * scaleUpAmount;
              scaledDownScale = startScale * scaleDownAmount;
              multiplierNode.setScale(startScale);
              moveTime = 0 == scalePeakTimeRelative ? .6 : 1;
              "" != movementSfx && PPPB_quick_1.ks.playEffectSound(movementSfx);
              if (!(0 == scalePeakTimeRelative)) return [ 3, 3 ];
              return [ 4, PPPB_action_1.ACT(multiplierNode).scaleTo(.2, scaledUpScale).act() ];

             case 1:
              _a.sent();
              multiplierNode.setScale(scaledUpScale);
              return [ 4, PPPB_lib_1._.sleep(100) ];

             case 2:
              _a.sent();
              multiplierNode.setScale(scaledUpScale);
              PPPB_action_1.ACT(multiplierNode).scaleTo(moveTime, scaledDownScale).act();
              return [ 3, 4 ];

             case 3:
              scaleUpDuration = scalePeakTimeRelative * moveTime;
              scaleDownDuration = moveTime - scaleUpDuration;
              PPPB_action_1.ACT(multiplierNode).scaleTo(scaleUpDuration, scaledUpScale).scaleTo(scaleDownDuration, scaledDownScale).act();
              _a.label = 4;

             case 4:
              if (this.multiplicationTextsGroup.node.opacity <= 0) {
                this.tumbleWinLabel.node.opacity = 0;
                this.multiplicationMultiplierText.node.opacity = 0;
                this.multiplicationMultiplierText.string = updatedTumbleMultiplier.toString();
                this.multiplicationTextsGroup.node.opacity = 255;
              }
              return [ 4, PPPB_lib_1._.moveNodeToOtherNodePos(multiplierNode, this.multiplierTarget, moveTime, true) ];

             case 5:
              _a.sent();
              multiplierNode.opacity = 0;
              multiplierNode.setScale(startScale / initialScaleConversionRatio);
              multiplierNode.setParent(originalMultiplierParent);
              multiplierNode.setPosition(originalMultiplierParent.convertToNodeSpaceAR(originalMultiplierWorldPos));
              multiplierNode.setScale(originalMultiplierScale);
              this.multiplicationMultiplierText.string = updatedTumbleMultiplier.toString();
              this.multiplicationMultiplierText.node.opacity = 255;
              return [ 4, this.PunchNode(this.multiplicationMultiplierText.node, 1.5) ];

             case 6:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.PunchNode = function(nodeToPunch, punchedScale) {
        return __awaiter(this, void 0, void 0, function() {
          var ogScale;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              ogScale = nodeToPunch.scale;
              return [ 4, PPPB_action_1.ACT(nodeToPunch).scaleTo(.1, ogScale * punchedScale).scaleTo(.2, ogScale).act() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      TumbleWinPanel.prototype.Hide = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_action_1.ACT(this.node).fadeOut(.5).act();
            return [ 2 ];
          });
        });
      };
      __decorate([ property(PPPB_MoneyTextHelper_1.MoneyTextHelper) ], TumbleWinPanel.prototype, "tumbleWinLabel", void 0);
      __decorate([ property(cc.Layout) ], TumbleWinPanel.prototype, "multiplicationTextsGroup", void 0);
      __decorate([ property(cc.Label) ], TumbleWinPanel.prototype, "multiplicationAmountText", void 0);
      __decorate([ property(cc.Label) ], TumbleWinPanel.prototype, "multiplicationSignText", void 0);
      __decorate([ property(cc.Label) ], TumbleWinPanel.prototype, "multiplicationMultiplierText", void 0);
      __decorate([ property(cc.Node) ], TumbleWinPanel.prototype, "multiplierTarget", void 0);
      __decorate([ property(cc.Node) ], TumbleWinPanel.prototype, "multiplicationTarget", void 0);
      TumbleWinPanel = __decorate([ ccclass ], TumbleWinPanel);
      return TumbleWinPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = TumbleWinPanel;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-MoneyTextHelper": "PPPB-MoneyTextHelper"
  } ],
  "PPPB-UAdapt": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "43140zVPfJLJqPMfXj+3rjm", "PPPB-UAdapt");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UAdapt = void 0;
    var PPPB_config_1 = require("../../PPPB-config");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, inspector = _a.inspector, requireComponent = _a.requireComponent;
    var UAdapt = function(_super) {
      __extends(UAdapt, _super);
      function UAdapt() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.scaleLandscape = 1;
        _this.isScaleByDesignWidthHeightRate = true;
        _this.isFitViewLandscape = false;
        _this.scalePortrait = 1;
        _this.isFitViewPortrait = false;
        _this.isFitViewAspect = true;
        _this._landscape = "";
        _this._portrait = "";
        _this._scales = {};
        _this._lpRate = 1.8;
        _this._width = 0;
        _this._height = 0;
        return _this;
      }
      Object.defineProperty(UAdapt.prototype, "isLandscape", {
        get: function() {
          var rect = cc.game.canvas.getBoundingClientRect();
          return rect.width > rect.height;
        },
        enumerable: false,
        configurable: true
      });
      UAdapt.prototype.onLoaded = function() {
        this.updateDesignResolution();
        var isLandscape = this.isLandscape;
        for (var _i = 0, _a = PPPB_ui_1.ui.getChildren(this); _i < _a.length; _i++) {
          var e = _a[_i];
          this._scales[e.name] = e.scale;
        }
        this._width = this.node.width;
        this._height = this.node.height;
        var a = PPPB_ui_1.ui.getComponent(this, cc.Animation);
        if (a) {
          var _b = a.getClips(), landscape = _b[0], portrait = _b[1];
          landscape && (this._landscape = landscape.name);
          portrait && (this._portrait = portrait.name);
        }
        this.refresh(isLandscape);
      };
      UAdapt.prototype.$event_game_viewResize = function(landscape) {
        this.updateDesignResolution();
        this.refresh(landscape);
      };
      UAdapt.prototype.refreshWH = function() {
        this.node.width = this._width;
        this.node.height = this._height;
      };
      UAdapt.prototype.refresh = function(isLandscape) {
        var _this = this;
        this.refreshWH();
        if (isLandscape) {
          if (this._landscape) PPPB_ui_1.ui.playAnimation(this, this._landscape); else {
            var r = 1;
            PPPB_config_1.mainConfig.designWidthHeightRate < 0 && this.isScaleByDesignWidthHeightRate && (r *= PPPB_config_1.mainConfig.designWidthHeightRate);
            this.scaleLandscape > 0 && (r *= this.scaleLandscape);
            for (var _i = 0, _a = PPPB_ui_1.ui.getChildren(this); _i < _a.length; _i++) {
              var e = _a[_i];
              if ("_" !== e.name[0]) {
                var s = this._scales[e.name];
                void 0 !== s && (e.scale = s * r);
              }
            }
          }
          if (this.isFitViewAspect) {
            var canvas = PPPB_ui_1.ui.getComponent(PPPB_ui_1.ui.canvas, cc.Canvas);
            canvas.node.scale = 1;
            var frame = cc.view.getFrameSize();
            var aspect = frame.width / frame.height;
            canvas.fitHeight = aspect > PPPB_config_1.mainConfig.designWidthHeightRate;
            canvas.fitWidth = aspect < PPPB_config_1.mainConfig.designWidthHeightRate;
          }
          if (this.isFitViewLandscape) {
            PPPB_ui_1.ui.removeComponent(this, cc.Widget);
            this.nextFrame(function() {
              var rect = cc.game.canvas.getBoundingClientRect();
              var wh = _this.node.height / rect.height;
              _this.node.width = rect.width * wh;
              PPPB_ui_1.ui.lookupComponents(_this, cc.Widget, function(c, res) {
                c.updateAlignment();
                return true;
              });
            });
          }
        } else {
          if (this._portrait) PPPB_lib_1.cc1.sys.isMobile && PPPB_ui_1.ui.playAnimation(this, this._portrait); else {
            var r = 1;
            PPPB_config_1.mainConfig.designWidthHeightRate > 0 && this.isScaleByDesignWidthHeightRate && (r *= PPPB_config_1.mainConfig.designWidthHeightRate);
            this.scalePortrait > 0 && (r *= this.scalePortrait);
            for (var _b = 0, _c = PPPB_ui_1.ui.getChildren(this); _b < _c.length; _b++) {
              var e = _c[_b];
              if ("_" !== e.name[0]) {
                var s = this._scales[e.name];
                void 0 !== s && (e.scale = s * r);
              }
            }
          }
          if (this.isFitViewAspect) {
            var canvas = PPPB_ui_1.ui.getComponent(PPPB_ui_1.ui.canvas, cc.Canvas);
            var frame = cc.view.getFrameSize();
            var aspect = frame.height / frame.width;
            canvas.fitHeight = aspect < PPPB_config_1.mainConfig.designWidthHeightRate;
            canvas.fitWidth = aspect > PPPB_config_1.mainConfig.designWidthHeightRate;
          }
          if (this.isFitViewPortrait) {
            PPPB_ui_1.ui.removeComponent(this, cc.Widget);
            this.nextFrame(function() {
              var rect = cc.game.canvas.getBoundingClientRect();
              var wh = _this.node.width / rect.width;
              _this.node.height = rect.height * wh;
              PPPB_ui_1.ui.lookupComponents(_this, cc.Widget, function(c, res) {
                c.updateAlignment();
                return true;
              });
            });
          }
        }
        PPPB_event_1.Events.publish("signal", "gameViewRefreshed", "");
      };
      UAdapt.prototype.updateDesignResolution = function() {
        var designResolutionSize = cc.view.getDesignResolutionSize();
        var canvasSize = cc.game.canvas.getBoundingClientRect();
        if (canvasSize.width > canvasSize.height != designResolutionSize.width > designResolutionSize.height) {
          var canvas = PPPB_ui_1.ui.getComponent(PPPB_ui_1.ui.canvas, cc.Canvas);
          canvas.designResolution = cc.size(designResolutionSize.height, designResolutionSize.width);
        }
      };
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "scaleLandscape", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "isScaleByDesignWidthHeightRate", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "isFitViewLandscape", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "scalePortrait", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "isFitViewPortrait", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UAdapt.prototype, "isFitViewAspect", void 0);
      UAdapt = __decorate([ ccclass, menu("PPPB/ui/UAdapt") ], UAdapt);
      return UAdapt;
    }(PPPB_UComponent_1.UComponent);
    exports.UAdapt = UAdapt;
    cc._RF.pop();
  }, {
    "../../PPPB-config": "PPPB-config",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-UAnimation": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "3c9c51vQXBO8p1Zm8qj/HJO", "PPPB-UAnimation");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.AnimationType = void 0;
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_res_1 = require("../PPPB-res");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UIData_1 = require("./PPPB-UIData");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, requireComponent = _a.requireComponent, executeInEditMode = _a.executeInEditMode;
    var AnimationType;
    (function(AnimationType) {
      AnimationType[AnimationType["NONE"] = 0] = "NONE";
      AnimationType[AnimationType["Animation"] = 1] = "Animation";
      AnimationType[AnimationType["SPINE"] = 2] = "SPINE";
      AnimationType[AnimationType["DRAGONBONES"] = 3] = "DRAGONBONES";
    })(AnimationType = exports.AnimationType || (exports.AnimationType = {}));
    var UAnimation = function(_super) {
      __extends(UAnimation, _super);
      function UAnimation() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._aniType = AnimationType.NONE;
        _this._speed = 1;
        _this.isBreak = false;
        _this.path = "";
        _this._animID = "";
        _this._aniComponent = null;
        _this._loopingResolver = null;
        return _this;
      }
      Object.defineProperty(UAnimation.prototype, "asset", {
        get: function() {
          var c = this.component;
          if (c) switch (this._aniType) {
           case AnimationType.Animation:
            return c.defaultClip;

           case AnimationType.SPINE:
            return c.skeletonData;

           case AnimationType.DRAGONBONES:
            return c.dragonAsset;
          }
          return null;
        },
        set: function(v) {
          this.setAsset(v);
        },
        enumerable: false,
        configurable: true
      });
      UAnimation.prototype.setAsset = function(v) {
        return __awaiter(this, void 0, void 0, function() {
          var type, initFunc, a;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if ((!cc.sys.isBrowser || window["sp"]) && v instanceof sp.SkeletonData) {
                type = AnimationType.SPINE;
                initFunc = function(sp) {
                  sp.skeletonData = v;
                  sp.animation = sp.defaultAnimation || _this.animationNames[0];
                };
              } else if ((!cc.sys.isBrowser || window["dragonBones"]) && v instanceof dragonBones.DragonBonesAsset) {
                type = AnimationType.DRAGONBONES;
                initFunc = function(ad) {
                  ad.dragonAsset = v;
                  _this.anim = ad.getAnimationNames(_this.group)[0];
                };
              } else if (v instanceof cc.AnimationClip) {
                type = AnimationType.Animation;
                initFunc = function(ani) {
                  var c = v;
                  ani.addClip(c);
                  ani.currentClip = c;
                  ani.defaultClip = c;
                  _this.anim = c.name;
                };
              }
              if (!type) return [ 3, 2 ];
              return [ 4, this.setAniType(type) ];

             case 1:
              a = _a.sent();
              initFunc(a);
              _a.label = 2;

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(UAnimation.prototype, "atlasAsset", {
        get: function() {
          var c = this.component;
          if (!c || this._aniType !== AnimationType.DRAGONBONES) return null;
          var ad = c;
          return ad.dragonAtlasAsset;
        },
        set: function(v) {
          var c = this.component;
          if (!c || this._aniType !== AnimationType.DRAGONBONES) return;
          var ad = c;
          ad.dragonAtlasAsset = v;
          var a = ad.getAnimationNames(this.group);
          ad.animationName = a[0];
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UAnimation.prototype, "aniType", {
        get: function() {
          return this._aniType;
        },
        set: function(v) {
          this.setAniType(v);
        },
        enumerable: false,
        configurable: true
      });
      UAnimation.prototype.setAniType = function(type) {
        return __awaiter(this, void 0, void 0, function() {
          var old;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (type === this._aniType) return [ 2, this._aniComponent ];
              old = this._aniType;
              this._aniType = type;
              old !== AnimationType.NONE && PPPB_ui_1.ui.removeComponent(this, AnimationType[old]);
              if (type === AnimationType.NONE) {
                this._aniComponent = null;
                return [ 2 ];
              }
              if (!(type > AnimationType.Animation && old > AnimationType.Animation)) return [ 3, 2 ];
              return [ 4, PPPB_lib_1._.sleep(50) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              this._aniComponent = PPPB_ui_1.ui.addComponent(this, AnimationType[type]);
              return [ 2, this._aniComponent ];
            }
          });
        });
      };
      Object.defineProperty(UAnimation.prototype, "speed", {
        get: function() {
          return this._speed;
        },
        set: function(v) {
          this._speed = v;
          if (this.component) switch (this._aniType) {
           case AnimationType.Animation:
            var c = this._aniComponent;
            var s = c.getAnimationState(c.currentClip.name);
            s.speed = v;
            break;

           case AnimationType.SPINE:
            var sp = this._aniComponent;
            sp.timeScale = v;
            break;

           case AnimationType.DRAGONBONES:
            var db = this._aniComponent;
            db.timeScale = v;
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UAnimation.prototype, "animID", {
        get: function() {
          return this._animID;
        },
        set: function(i) {
          i && i != this._animID && this.loadRes(this.path, i);
          this._animID = i;
        },
        enumerable: false,
        configurable: true
      });
      UAnimation.prototype.loadRes = function(path, name) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!path) return [ 2 ];
              if (!this.component) return [ 2 ];
              name ? path = path + "/" + name : name = path.split("/").pop();
              return [ 4, new Promise(function(resolve, reject) {
                switch (_this._aniType) {
                 case AnimationType.Animation:
                  var c_1 = _this._aniComponent;
                  c_1.getClips().map(function(v) {
                    return v.name;
                  }).indexOf(name) < 0 && PPPB_res_1.res.loadResDir(path, true, function(err, assets) {
                    if (err) reject(err); else if (assets.length > 0) {
                      var clip = cc.AnimationClip.createWithSpriteFrames(assets, 10);
                      clip.name = name;
                      clip.wrapMode = cc.WrapMode.Loop;
                      c_1.addClip(clip);
                      c_1.currentClip = clip;
                      c_1.defaultClip = clip;
                      true, PPPB_ui_1.ui.addComponent(_this, cc.Sprite);
                      _this.play(0, name);
                      resolve(c_1);
                    }
                  });
                  break;

                 case AnimationType.SPINE:
                  PPPB_res_1.res.loadRes(path, true, function(err, asset) {
                    return __awaiter(_this, void 0, void 0, function() {
                      return __generator(this, function(_a) {
                        switch (_a.label) {
                         case 0:
                          if (!err) return [ 3, 1 ];
                          reject(err);
                          return [ 3, 3 ];

                         case 1:
                          return [ 4, this.setAsset(asset) ];

                         case 2:
                          _a.sent();
                          this.isBreak || this.play();
                          resolve(this.component);
                          _a.label = 3;

                         case 3:
                          return [ 2 ];
                        }
                      });
                    });
                  });
                  break;

                 case AnimationType.DRAGONBONES:
                  var db = _this._aniComponent;
                  Promise.all([]);
                }
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      Object.defineProperty(UAnimation.prototype, "group", {
        get: function() {
          if (this.component && this._aniType === AnimationType.DRAGONBONES) {
            var db = this._aniComponent;
            if (!db.animationName) {
              var as = db.getArmatureNames();
              db.armatureName = as[0];
            }
            return db.armatureName;
          }
          return "";
        },
        set: function(g) {
          if (this.component && this._aniType === AnimationType.DRAGONBONES) {
            var db = this._aniComponent;
            var as = db.getArmatureNames();
            as.indexOf(g) >= 0 ? db.armatureName = g : db.armatureName || (db.armatureName = as[0]);
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UAnimation.prototype, "anim", {
        get: function() {
          if (!this.component) return "";
          switch (this._aniType) {
           case AnimationType.Animation:
            return this._aniComponent.currentClip.name;

           case AnimationType.SPINE:
            return this._aniComponent.animation;

           case AnimationType.DRAGONBONES:
            var db = this._aniComponent;
            return db.animationName;
          }
        },
        set: function(value) {
          if (!this.component) return;
          switch (this._aniType) {
           case AnimationType.Animation:
            var c = this._aniComponent;
            c.currentClip = c.getClips().find(function(v) {
              return v.name === value;
            });
            c.play(value);
            break;

           case AnimationType.SPINE:
            var sp = this._aniComponent;
            sp.animation = value;
            break;

           case AnimationType.DRAGONBONES:
            var db = this._aniComponent;
            var gs = db.getArmatureNames();
            var idx = gs.indexOf(this.group);
            for (var i = 0; i < gs.length; i++) {
              var j = (i + idx) % gs.length;
              var as = db.getAnimationNames(gs[j]);
              if (as.indexOf(value) >= 0) {
                db.animationName = value;
                break;
              }
            }
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UAnimation.prototype, "value", {
        get: function() {
          return this._animID || this.anim;
        },
        set: function(v) {
          this.path ? this.animID = v : this.anim = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UAnimation.prototype, "component", {
        get: function() {
          if (cc.isValid(this._aniComponent)) return this._aniComponent;
          this._aniComponent = PPPB_ui_1.ui.getComponent(this, AnimationType[this._aniType]);
          return this._aniComponent;
        },
        enumerable: false,
        configurable: true
      });
      UAnimation.prototype.getAnimation = function() {
        return this.component;
      };
      Object.defineProperty(UAnimation.prototype, "animationNames", {
        get: function() {
          switch (this._aniType) {
           case AnimationType.Animation:
            return this.component.getClips().map(function(v) {
              return v.name;
            });

           case AnimationType.SPINE:
            return PPPB_lib_1._.keys(this.asset.skeletonJson.animations);

           case AnimationType.DRAGONBONES:
            var c = this.component;
            return c.getAnimationNames(c.getArmatureNames()[0]);
          }
          return [];
        },
        enumerable: false,
        configurable: true
      });
      UAnimation.prototype.onLoad = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this._aniType === AnimationType.NONE && this.refreshType();
            this._aniComponent = this.component;
            (true, this.path) && this.animID && this.loadRes(this.path, this.animID);
            return [ 2 ];
          });
        });
      };
      UAnimation.prototype.onDestroy = function() {
        if (this._loopingResolver) {
          this._loopingResolver();
          this._loopingResolver = null;
        }
      };
      UAnimation.prototype.refreshType = function() {
        if (this.node.getComponent(cc.Animation)) this._aniType = AnimationType.Animation; else if (cc.sys.isBrowser && !window["sp"] || !this.node.getComponent(sp.Skeleton)) {
          if ((!cc.sys.isBrowser || window["dragonBones"]) && this.node.getComponent(dragonBones.ArmatureDisplay)) {
            this._aniType = AnimationType.DRAGONBONES;
            var db = this.component;
            var gs = db.getArmatureNames();
            cc.log(gs.length);
          }
        } else {
          this._aniType = AnimationType.SPINE;
          var asp = this.component;
          asp.animation = asp.defaultAnimation || this.animationNames[0];
        }
      };
      UAnimation.prototype.getAnimNameByIndex = function(index) {
        var anis = this.animationNames;
        if (void 0 === index) return PPPB_lib_1._.rand(anis);
        index %= anis.length;
        index < 0 && (index = anis.length + anis.length);
        return anis[index];
      };
      UAnimation.prototype.play = function(loop, animName, isAdditive) {
        void 0 === loop && (loop = 0);
        void 0 === isAdditive && (isAdditive = false);
        return __awaiter(this, void 0, void 0, function() {
          var name, _a, anim_1, animState, anisp_1, isLoop, i, anigb_1;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (this._loopingResolver) {
                this._loopingResolver();
                this._loopingResolver = null;
              }
              if (!this.component) return [ 2 ];
              name = "number" === typeof animName ? this.getAnimNameByIndex(animName) : animName;
              name && (this.anim = name);
              name = name || this.anim;
              if (this.animationNames.indexOf(name) < 0) return [ 2 ];
              _a = this._aniType;
              switch (_a) {
               case AnimationType.Animation:
                return [ 3, 1 ];

               case AnimationType.SPINE:
                return [ 3, 7 ];

               case AnimationType.DRAGONBONES:
                return [ 3, 12 ];
              }
              return [ 3, 17 ];

             case 1:
              anim_1 = this._aniComponent;
              animState = isAdditive ? anim_1.playAdditive(name) : anim_1.play(name);
              animState.speed = this._speed;
              animState.wrapMode = cc.WrapMode.Loop;
              if (!(loop > 0)) return [ 3, 2 ];
              animState.repeatCount = loop;
              return [ 3, 4 ];

             case 2:
              animState.repeatCount = Infinity;
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      this._loopingResolver = resolve;
                      if (!(loop < 0)) return [ 3, 2 ];
                      return [ 4, PPPB_lib_1._.sleep(-loop) ];

                     case 1:
                      _a.sent();
                      if (resolve === this._loopingResolver) {
                        this._loopingResolver();
                        this._loopingResolver = null;
                      }
                      _a.label = 2;

                     case 2:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 3:
              return [ 2, _b.sent() ];

             case 4:
              if (!(loop > 0)) return [ 3, 6 ];
              return [ 4, new Promise(function(resolve, reject) {
                anim_1.once("finished", function() {
                  resolve && resolve(1);
                  resolve = null;
                });
              }) ];

             case 5:
              return [ 2, _b.sent() ];

             case 6:
              return [ 3, 17 ];

             case 7:
              anisp_1 = this.component;
              isLoop = loop <= 0;
              anisp_1.timeScale = this._speed;
              anisp_1.setAnimation(0, name, isLoop);
              if (loop > 0) for (i = 0; i < loop - 1; i++) anisp_1.addAnimation(0, name, false);
              if (!isLoop) return [ 3, 9 ];
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      this._loopingResolver = resolve;
                      if (!(loop < 0)) return [ 3, 2 ];
                      return [ 4, PPPB_lib_1._.sleep(-loop) ];

                     case 1:
                      _a.sent();
                      if (resolve === this._loopingResolver) {
                        this._loopingResolver();
                        this._loopingResolver = null;
                      }
                      _a.label = 2;

                     case 2:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 8:
              return [ 2, _b.sent() ];

             case 9:
              return [ 4, new Promise(function(resolve, reject) {
                var l = 0;
                anisp_1.setCompleteListener(function() {
                  l++;
                  if (l >= loop && resolve) {
                    resolve(anisp_1);
                    resolve = null;
                  }
                });
              }) ];

             case 10:
              _b.sent();
              _b.label = 11;

             case 11:
              return [ 3, 17 ];

             case 12:
              anigb_1 = this.component;
              anigb_1.timeScale = this._speed;
              anigb_1.playAnimation(name, loop);
              if (!(loop > 0)) return [ 3, 14 ];
              return [ 4, new Promise(function(resolve, reject) {
                anigb_1.addEventListener(dragonBones.EventObject.COMPLETE, function() {
                  if (resolve) {
                    resolve(anigb_1);
                    resolve = null;
                    anigb_1.removeEventListener(dragonBones.EventObject.COMPLETE);
                  }
                });
              }) ];

             case 13:
              _b.sent();
              return [ 3, 16 ];

             case 14:
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      this._loopingResolver = resolve;
                      if (!(loop < 0)) return [ 3, 2 ];
                      return [ 4, PPPB_lib_1._.sleep(-loop) ];

                     case 1:
                      _a.sent();
                      if (resolve === this._loopingResolver) {
                        this._loopingResolver();
                        this._loopingResolver = null;
                      }
                      _a.label = 2;

                     case 2:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 15:
              return [ 2, _b.sent() ];

             case 16:
              return [ 3, 17 ];

             case 17:
              return [ 2 ];
            }
          });
        });
      };
      UAnimation.AnimationType = AnimationType;
      __decorate([ property({
        type: cc.Asset
      }) ], UAnimation.prototype, "asset", null);
      __decorate([ property({
        type: cc.Asset,
        visible: function() {
          return this._aniType === AnimationType.DRAGONBONES;
        }
      }) ], UAnimation.prototype, "atlasAsset", null);
      __decorate([ property({
        type: cc.Enum(AnimationType)
      }) ], UAnimation.prototype, "_aniType", void 0);
      __decorate([ property({
        type: cc.Enum(AnimationType)
      }) ], UAnimation.prototype, "aniType", null);
      __decorate([ property ], UAnimation.prototype, "_speed", void 0);
      __decorate([ property ], UAnimation.prototype, "isBreak", void 0);
      __decorate([ property ], UAnimation.prototype, "speed", null);
      __decorate([ property({
        tooltip: false
      }) ], UAnimation.prototype, "path", void 0);
      __decorate([ property ], UAnimation.prototype, "_animID", void 0);
      __decorate([ property({
        type: cc.String,
        visible: function() {
          return !!this.path;
        },
        tooltip: false
      }) ], UAnimation.prototype, "animID", null);
      UAnimation = __decorate([ ccclass, executeInEditMode, menu("PPPB/ui/UI_Animation") ], UAnimation);
      return UAnimation;
    }(PPPB_UIData_1.UIDataValue);
    exports.default = UAnimation;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-res": "PPPB-res",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UIData": "PPPB-UIData"
  } ],
  "PPPB-UComponent": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "51c9eIO1UFNLJdq0+Xsk0Zr", "PPPB-UComponent");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UComponent = void 0;
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_pool_1 = require("../PPPB-pool");
    var PPPB_sys_1 = require("../PPPB-sys");
    var PPPB_ui_1 = require("../PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var UComponent = function(_super) {
      __extends(UComponent, _super);
      function UComponent() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.recycleList = [];
        _this.oldDestroy = null;
        _this.__showed_ = false;
        _this._nextUpdates = [];
        return _this;
      }
      UComponent.prototype.onLoad = function() {
        PPPB_ui_1.ui.helper(this);
        PPPB_event_1.InitEvents(this);
        this.onLoaded();
      };
      UComponent.prototype.onDestroy = function() {
        PPPB_event_1.RemoveEvents(this);
        this.onDestroyed();
      };
      UComponent.prototype.start = function() {
        this.__showed_ = true;
        this.onStart();
        this.onShow(true);
        PPPB_ui_1.ui.isUnquire(this) && (this.node.active ? PPPB_pool_1.pool.remove(this.node) : PPPB_pool_1.pool.add(this.node));
      };
      UComponent.prototype.onEnable = function() {
        if (this.__showed_) {
          this.onShow(false);
          PPPB_ui_1.ui.isUnquire(this) && PPPB_pool_1.pool.remove(this.node);
        }
      };
      UComponent.prototype.onDisable = function() {
        if (this.__showed_) {
          this.onHide();
          this.node.emit("hide");
          PPPB_ui_1.ui.isUnquire(this) && PPPB_pool_1.pool.add(this.node);
        }
      };
      UComponent.prototype.onLoaded = function() {};
      UComponent.prototype.onDestroyed = function() {};
      UComponent.prototype.onStart = function() {};
      UComponent.prototype.onShow = function(isFistShow) {};
      UComponent.prototype.onHide = function() {};
      UComponent.prototype.nextFrame = function(handler) {
        var _this = this;
        if (this._nextUpdates.length > 0) this._nextUpdates.push(handler); else {
          this._nextUpdates.push(handler);
          this.scheduleOnce(function() {
            for (var _i = 0, _a = _this._nextUpdates; _i < _a.length; _i++) {
              var h = _a[_i];
              h && h();
            }
            _this._nextUpdates = [];
          }, 0);
        }
      };
      UComponent.prototype.setTimeout = function(callback, ms) {
        this.scheduleOnce(callback, ms / 1e3);
      };
      UComponent.prototype.delay = function(sec) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(rs, rj) {
                _this.scheduleOnce(rs, sec);
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      UComponent.prototype.sleep = function(ms) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.delay(ms / 1e3) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      UComponent.prototype.tryClose = function() {
        return;
      };
      UComponent.prototype.initRecycle = function() {
        false;
        var ns = Object.getOwnPropertyNames(this);
        if (ns.length > 12) {
          var c = cc.js.getClassByName("UIList");
          for (var i = ns.length - 1; i >= 12; i--) {
            var n = ns[i];
            var v = this[n];
            if (!v || "object" !== typeof v) continue;
            if (Array.isArray(v)) for (var _i = 0, v_1 = v; _i < v_1.length; _i++) {
              var l = v_1[_i];
              if ("object" !== typeof l) break;
              l instanceof c && l.isPool && this.recycleList.push(l);
            } else v instanceof c && v.isPool && this.recycleList.push(v);
          }
        }
        this.upDestroy();
      };
      UComponent.prototype.upDestroy = function() {
        var _this = this;
        if (this.recycleList && this.recycleList.length) {
          if (this.oldDestroy) return;
          this.oldDestroy = this.node.destroy.bind(this.node);
          this.node.destroy = function() {
            _this.recycle();
            return _this.oldDestroy();
          };
        } else this.oldDestroy && (this.node.destroy = this.oldDestroy);
      };
      UComponent.prototype.recycle = function() {
        PPPB_sys_1.sys.log && console.log("\u6267\u884c\u56de\u6536", this.name, "list count:", this.recycleList.length);
        for (var _i = 0, _a = this.recycleList; _i < _a.length; _i++) {
          var l = _a[_i];
          if (!l) continue;
          l.recycleItems();
        }
      };
      UComponent = __decorate([ ccclass ], UComponent);
      return UComponent;
    }(cc.Component);
    exports.UComponent = UComponent;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event",
    "../PPPB-pool": "PPPB-pool",
    "../PPPB-sys": "PPPB-sys",
    "../PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-UIButtonSound": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "56dc1VEjh5L87nsiCDO8mXL", "PPPB-UIButtonSound");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIButtonSound = void 0;
    var PPPB_res_1 = require("../PPPB-res");
    var PPPB_audio_1 = require("../PPPB-audio");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, inspector = _a.inspector, requireComponent = _a.requireComponent;
    var UIButtonSound = function(_super) {
      __extends(UIButtonSound, _super);
      function UIButtonSound() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.sound = null;
        _this.volume = 1;
        _this.hoverSound = null;
        _this.hoverVolume = 1;
        _this.targetNode = null;
        _this.isCheckOpacity = false;
        return _this;
      }
      UIButtonSound.prototype.onLoad = function() {
        var _this = this;
        !this.sound && PPPB_audio_1.audio.globalButtonClickSound && PPPB_res_1.res.loadRes(PPPB_audio_1.audio.globalButtonClickSound, true, null, -1).then(function(a) {
          _this.sound = a;
        });
        this.node.on("click", this.click, this);
        this.node.on(cc.Node.EventType.MOUSE_ENTER, this.hover, this);
      };
      UIButtonSound.prototype.onDestroy = function() {
        this.node.off("click", this.click);
      };
      UIButtonSound.prototype.hover = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.targetNode && this.isCheckOpacity && 0 == this.targetNode.opacity) return [ 2 ];
            this.hoverSound && PPPB_quick_1.ks.playEffectSoundByClip(this.hoverSound, this.hoverVolume * PPPB_quick_1.ks.GetSFXVolume(), false);
            return [ 2 ];
          });
        });
      };
      UIButtonSound.prototype.click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.targetNode && this.isCheckOpacity && 0 == this.targetNode.opacity) return [ 2 ];
            this.sound && PPPB_quick_1.ks.playEffectSoundByClip(this.sound, this.volume * PPPB_quick_1.ks.GetSFXVolume(), false);
            return [ 2 ];
          });
        });
      };
      __decorate([ property({
        type: cc.AudioClip
      }) ], UIButtonSound.prototype, "sound", void 0);
      __decorate([ property({
        min: 0,
        max: 1,
        slide: true,
        visible: function() {
          return this.sound;
        }
      }) ], UIButtonSound.prototype, "volume", void 0);
      __decorate([ property({
        type: cc.AudioClip
      }) ], UIButtonSound.prototype, "hoverSound", void 0);
      __decorate([ property({
        min: 0,
        max: 1,
        slide: true,
        visible: function() {
          return this.hoverSound;
        }
      }) ], UIButtonSound.prototype, "hoverVolume", void 0);
      __decorate([ property({
        type: cc.Node
      }) ], UIButtonSound.prototype, "targetNode", void 0);
      __decorate([ property(cc.Boolean) ], UIButtonSound.prototype, "isCheckOpacity", void 0);
      UIButtonSound = __decorate([ ccclass, menu("PPPB/\u529f\u80fd\u6309\u94ae/botton\u58f0\u97f3"), executeInEditMode, requireComponent(cc.Button) ], UIButtonSound);
      return UIButtonSound;
    }(cc.Component);
    exports.UIButtonSound = UIButtonSound;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../PPPB-audio": "PPPB-audio",
    "../PPPB-res": "PPPB-res"
  } ],
  "PPPB-UIButton": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "9ede067jjVPNrm+rNkuZzMl", "PPPB-UIButton");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __assign = this && this.__assign || function() {
      __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
          s = arguments[i];
          for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
        }
        return t;
      };
      return __assign.apply(this, arguments);
    };
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIButton = exports.UIParam = void 0;
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, inspector = _a.inspector, requireComponent = _a.requireComponent;
    var UIParamType;
    (function(UIParamType) {
      UIParamType[UIParamType["Const"] = 0] = "Const";
      UIParamType[UIParamType["API"] = 1] = "API";
      UIParamType[UIParamType["User"] = 2] = "User";
      UIParamType[UIParamType["Function"] = 3] = "Function";
    })(UIParamType || (UIParamType = {}));
    var UIParam = function() {
      function UIParam() {
        this.key = "";
        this.type = UIParamType.Const;
        this.defaultValue = "";
        this.api = "";
        this.attrPath = "";
        this.func = "";
        this.target = null;
      }
      UIParam.prototype.getValue = function() {
        return __awaiter(this, void 0, void 0, function() {
          var v, _a, args, _b, err, r;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              v = this.defaultValue.split(",");
              _a = this.type;
              switch (_a) {
               case UIParamType.API:
                return [ 3, 1 ];

               case UIParamType.User:
                return [ 3, 3 ];

               case UIParamType.Function:
                return [ 3, 4 ];
              }
              return [ 3, 5 ];

             case 1:
              args = this.api.split(".");
              return [ 4, PPPB_event_1.Events.apiAsync.apply(null, args) ];

             case 2:
              _b = _c.sent(), err = _b.err, r = _b.r;
              err || (v = r);
              return [ 3, 5 ];

             case 3:
              return [ 3, 5 ];

             case 4:
              v = PPPB_ui_1.ui.callComponentFunc(this.target, this.func);
              return [ 3, 5 ];

             case 5:
              return [ 2, v ];
            }
          });
        });
      };
      __decorate([ property() ], UIParam.prototype, "key", void 0);
      __decorate([ property({
        type: cc.Enum(UIParamType)
      }) ], UIParam.prototype, "type", void 0);
      __decorate([ property() ], UIParam.prototype, "defaultValue", void 0);
      __decorate([ property({
        visible: function() {
          return this.type === UIParamType.API;
        }
      }) ], UIParam.prototype, "api", void 0);
      __decorate([ property({
        visible: function() {
          return this.type === UIParamType.User;
        },
        tooltip: false
      }) ], UIParam.prototype, "attrPath", void 0);
      __decorate([ property({
        visible: function() {
          return this.type === UIParamType.Function;
        }
      }) ], UIParam.prototype, "func", void 0);
      __decorate([ property({
        type: cc.Node,
        visible: function() {
          return this.type === UIParamType.Function;
        }
      }) ], UIParam.prototype, "target", void 0);
      UIParam = __decorate([ ccclass("PPPB-UIParam") ], UIParam);
      return UIParam;
    }();
    exports.UIParam = UIParam;
    var UIButton = function(_super) {
      __extends(UIButton, _super);
      function UIButton() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.delayMS = 0;
        _this._openUI = false;
        _this.uiPrefab = null;
        _this.uiPrefabPath = "";
        _this.uiKey = "";
        _this.uiParent = "";
        _this.closeNode = null;
        _this.isDestroy = false;
        _this.switch = null;
        _this._clickAction = false;
        _this.occupy = true;
        _this.net = false;
        _this.channel = "";
        _this.api = "";
        _this.params = [];
        _this._collider = false;
        _this.colliderPoints = [];
        return _this;
      }
      UIButton_1 = UIButton;
      Object.defineProperty(UIButton.prototype, "openUI", {
        get: function() {
          return this._openUI;
        },
        set: function(b) {
          this._openUI = b;
          if (!b) {
            this.uiPrefab = null;
            this.uiKey = "";
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIButton.prototype, "uiKeyEnum", {
        get: function() {
          if (!this.uiKey) return 0;
          var e = this["_uiKeyEnum"];
          if (e) return e[this.uiKey] || -1;
          return -1;
        },
        set: function(v) {
          var e = this["_uiKeyEnum"];
          if (0 === v) this.uiKey = ""; else for (var k in e) if (e[k] == v) {
            this.uiKey = k;
            return;
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIButton.prototype, "clickAction", {
        get: function() {
          return this._clickAction;
        },
        set: function(b) {
          this._clickAction = b;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIButton.prototype, "collider", {
        get: function() {
          return this._collider;
        },
        set: function(b) {
          this._collider = b;
          b || (this.colliderPoints = []);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIButton.prototype, "editPoly", {
        get: function() {
          return false;
        },
        set: function(b) {
          var isEdit;
          var poly_1;
          var r;
          var poly_2;
          false;
        },
        enumerable: false,
        configurable: true
      });
      UIButton.setEnumAttr = function(obj, propName, enumDef) {
        cc.Class.Attr.setClassAttr(obj, propName, "enumList", cc.Enum.getList(enumDef));
      };
      UIButton.refreshPropertyEnum = function(compoment, property, enumDef) {
        this.setEnumAttr(compoment, property, enumDef);
        Editor.Utils.refreshSelectedInspector("node", compoment.node.uuid);
      };
      UIButton.prototype.onLoad = function() {
        var _this = this;
        var e;
        var i_1;
        var ep;
        false;
        this.node.on("click", this.click, this);
        if (this.delayMS > 0) {
          var btn_1 = this.getComponent(cc.Button);
          if (btn_1.interactable) {
            btn_1.interactable = false;
            this.scheduleOnce(function() {
              btn_1.interactable = true;
            }, this.delayMS / 1e3);
          }
        }
        var node = this.node;
        this._collider && this.colliderPoints.length && (node._hitTest = function(point, listener) {
          var b = cc.Intersection.pointInPolygon(_this.node.convertToNodeSpaceAR(point), _this.colliderPoints);
          return b;
        });
      };
      UIButton.prototype.onLostFocusInEditor = function() {
        this._collider && (this.editPoly = false);
      };
      UIButton.prototype.onDestroy = function() {
        this.node.off("click", this.click);
      };
      UIButton.prototype.click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var btn, btn_2, params, _a, _b, _c, r, err;
          return __generator(this, function(_d) {
            switch (_d.label) {
             case 0:
              btn = this.getComponent(cc.Button);
              if (this.delayMS > 0) {
                btn_2 = this.getComponent(cc.Button);
                if (btn_2.interactable) {
                  btn_2.interactable = false;
                  this.scheduleOnce(function() {
                    btn_2.interactable = true;
                  }, this.delayMS / 1e3);
                }
              }
              _b = (_a = PPPB_lib_1._).objs;
              return [ 4, Promise.all(this.params.map(function(v) {
                return [ v.key, v.getValue() ];
              })) ];

             case 1:
              params = _b.apply(_a, [ _d.sent(), function(v) {
                return v;
              } ]);
              if (!this._clickAction) return [ 3, 6 ];
              this.occupy && (btn.interactable = false);
              if (!this.net) return [ 3, 2 ];
              return [ 3, 5 ];

             case 2:
              if (!PPPB_event_1.Events.hasApi(this.channel, this.api)) return [ 3, 4 ];
              return [ 4, PPPB_event_1.Events.apiAsync(this.channel, this.api, "", params, this, btn) ];

             case 3:
              _c = _d.sent(), r = _c.r, err = _c.err;
              err ? console.error(PPPB_lib_1._.logger("ERROR"), err) : params = r;
              return [ 3, 5 ];

             case 4:
              PPPB_event_1.Events.publish(this.channel, this.api, "", params, this, btn);
              _d.label = 5;

             case 5:
              this.occupy && (btn.interactable = true);
              _d.label = 6;

             case 6:
              if (this.uiKey && "" !== this.uiKey) PPPB_ui_1.ui.showUnquire(this.uiKey, params); else if (this.uiPrefab || this.uiPrefabPath) {
                this.uiPrefab && console.warn("[WARN]\u6253\u5f00\u7684\u9884\u5236\u4f53\u4e0d\u652f\u6301\u5185\u5b58\u4f18\u5316,\u8bf7\u4f7f\u7528\u9884\u5236\u4f53\u8def\u5f84\u4ee3\u66ff", this.uiPrefab);
                PPPB_ui_1.ui.create(this.uiPrefabPath || this.uiPrefab, void 0, params);
              }
              if (this.closeNode) {
                PPPB_ui_1.ui.doModelResolve(this.closeNode);
                PPPB_ui_1.ui.hide(this.closeNode);
                this.isDestroy && PPPB_ui_1.ui.destroy(this.closeNode, 50);
              }
              this.switch && (this.switch.isChecked = !this.switch.isChecked);
              return [ 2 ];
            }
          });
        });
      };
      var UIButton_1;
      __decorate([ property({
        tooltip: false
      }) ], UIButton.prototype, "delayMS", void 0);
      __decorate([ property ], UIButton.prototype, "_openUI", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UIButton.prototype, "openUI", null);
      __decorate([ property({
        type: cc.Enum({}),
        visible: function() {
          return this._openUI;
        }
      }) ], UIButton.prototype, "uiKeyEnum", null);
      __decorate([ property({
        type: cc.Prefab,
        visible: function() {
          return this._openUI && "" === this.uiKey;
        },
        tooltip: (true, "\u9700\u8981\u6253\u5f00\u7684\u9884\u5236\u4f53(\u4e0d\u652f\u6301\u5185\u5b58\u4f18\u5316,\u8bf7\u4f7f\u7528\u9884\u5236\u4f53\u8def\u5f84\u4ee3\u66ff)")
      }) ], UIButton.prototype, "uiPrefab", void 0);
      __decorate([ property({
        visible: function() {
          return this._openUI && "" === this.uiKey;
        },
        tooltip: (true, "\u9700\u8981\u6253\u5f00\u7684\u9884\u5236\u4f53\u8def\u5f84")
      }) ], UIButton.prototype, "uiPrefabPath", void 0);
      __decorate([ property({
        visible: function() {
          return this._openUI && 0 !== this.uiKeyEnum;
        }
      }) ], UIButton.prototype, "uiKey", void 0);
      __decorate([ property({
        visible: function() {
          return this._openUI && !this.uiKey;
        }
      }) ], UIButton.prototype, "uiParent", void 0);
      __decorate([ property(cc.Node) ], UIButton.prototype, "closeNode", void 0);
      __decorate([ property({
        visible: function() {
          return !!this.closeNode;
        }
      }) ], UIButton.prototype, "isDestroy", void 0);
      __decorate([ property(cc.Toggle) ], UIButton.prototype, "switch", void 0);
      __decorate([ property ], UIButton.prototype, "_clickAction", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UIButton.prototype, "clickAction", null);
      __decorate([ property({
        visible: function() {
          return this._clickAction;
        },
        tooltip: false
      }) ], UIButton.prototype, "occupy", void 0);
      __decorate([ property({
        visible: function() {
          return this._clickAction;
        },
        tooltip: false
      }) ], UIButton.prototype, "net", void 0);
      __decorate([ property({
        visible: function() {
          return this._clickAction;
        }
      }) ], UIButton.prototype, "channel", void 0);
      __decorate([ property({
        visible: function() {
          return this._clickAction;
        }
      }) ], UIButton.prototype, "api", void 0);
      __decorate([ property({
        type: [ UIParam ],
        visible: function() {
          return this._clickAction || this._openUI;
        },
        tooltip: false
      }) ], UIButton.prototype, "params", void 0);
      __decorate([ property ], UIButton.prototype, "_collider", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UIButton.prototype, "collider", null);
      __decorate([ property({
        visible: function() {
          return this._collider;
        },
        type: [ cc.Vec2 ]
      }) ], UIButton.prototype, "colliderPoints", void 0);
      __decorate([ property({
        visible: function() {
          return this._collider;
        }
      }) ], UIButton.prototype, "editPoly", null);
      UIButton = UIButton_1 = __decorate([ ccclass, executeInEditMode, menu("PPPB/\u529f\u80fd\u6309\u94ae/botton"), requireComponent(cc.Button) ], UIButton);
      return UIButton;
    }(cc.Component);
    exports.UIButton = UIButton;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-UIData": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e525dLFFydDaIijEQq1jEPI", "PPPB-UIData");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIData = exports.UIDataValue = void 0;
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode;
    var KEY_DATA = Symbol("DATA");
    var DataKeys = [ "id" ];
    var DATA_TYPE = cc.Enum({
      default: 0,
      string: 1,
      number: 2,
      boolean: 3,
      array: 100,
      object: 200,
      uiData: 1e3,
      null: -99
    });
    var __nodePoller = function(node) {
      if (true, "$" === node.name[0]) {
        var _a = node.name.split("_"), name = _a[0], type = _a[1], mapping = _a.slice(2);
        name = name.length > 1 ? name.slice(1) : node.parent.name;
        var c = PPPB_ui_1.ui.addComponent(node, UIData);
        c.key = name;
        c.dataType = DATA_TYPE[type] || DATA_TYPE.default;
        if (mapping.length) {
          var m = {};
          for (var i = 0; i < mapping.length; i += 2) {
            var k = mapping[i];
            var v = mapping[i + 1] || i / 2;
            m[k] = v;
          }
          c.setMappingData(m);
        }
      }
    };
    function setKeyData(node, v) {
      if ("object" === typeof v) for (var k in v) if (DataKeys.indexOf(k) >= 0) {
        node[KEY_DATA] = node[KEY_DATA] || {};
        node[KEY_DATA][k] = v[k];
      }
    }
    var UIDataValue = function(_super) {
      __extends(UIDataValue, _super);
      function UIDataValue() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      Object.defineProperty(UIDataValue.prototype, "value", {
        get: function() {
          var kd = this.node[KEY_DATA];
          var v = PPPB_ui_1.ui.getUIDataValue(this);
          return kd ? PPPB_lib_1._.merge(kd, v, true) : v;
        },
        set: function(v) {
          setKeyData(this.node, v);
          PPPB_ui_1.ui.setUIDataValue(this, v);
        },
        enumerable: false,
        configurable: true
      });
      UIDataValue.prototype.emitDataChangeEvent = function() {
        this.node.emit("dataChange", this.value);
      };
      return UIDataValue;
    }(PPPB_UComponent_1.UComponent);
    exports.UIDataValue = UIDataValue;
    var UIData = function(_super) {
      __extends(UIData, _super);
      function UIData() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.dataType = DATA_TYPE.default;
        _this.isCombo = false;
        _this.isWatchingChange = false;
        _this.mappingData = "";
        _this._key = "";
        _this._objectKeys = [];
        _this._mappingData = null;
        _this._getValueFunc = function() {
          return _this.defaultValue;
        };
        _this._setValueFunc = null;
        _this.tclass = null;
        _this._mappingFunc = null;
        _this._unMappingFunc = null;
        _this._isInit = false;
        return _this;
      }
      UIData_1 = UIData;
      Object.defineProperty(UIData.prototype, "key", {
        get: function() {
          return PPPB_lib_1._.arrayGet(this._objectKeys, -1) || this._key;
        },
        set: function(k) {
          if ("" === k) {
            k = this.node.name;
            if ("" === k) return;
          }
          "$" === k && this.node.parent && (k = this.node.parent.name);
          this._key = k;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "fullKey", {
        get: function() {
          return this._objectKeys.join(".") || this._key;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "root", {
        get: function() {
          return this._objectKeys[0] || this._key;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "Reset", {
        get: function() {
          return false;
        },
        set: function(k) {
          this.reset();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData, "TYPE", {
        get: function() {
          return DATA_TYPE;
        },
        enumerable: false,
        configurable: true
      });
      UIData.getTYPE = function(data) {
        switch (typeof data) {
         case "string":
          return DATA_TYPE.string;

         case "number":
          return DATA_TYPE.number;

         case "boolean":
          return DATA_TYPE.boolean;

         case "object":
          return PPPB_lib_1._.isArray(data) ? DATA_TYPE.array : DATA_TYPE.object;

         default:
          return DATA_TYPE.default;
        }
      };
      Object.defineProperty(UIData.prototype, "value", {
        get: function() {
          this._setValueFunc || this.init();
          var kd = this.node[KEY_DATA];
          var v = this.__mapping(this._getValueFunc(), this.dataType);
          return kd ? PPPB_lib_1._.merge(kd, v, true) : v;
        },
        set: function(data) {
          this._setValueFunc || this.init();
          setKeyData(this.node, data);
          this._setValueFunc(this.__unMapping(data, this.dataType));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "defaultValue", {
        get: function() {
          switch (this.dataType) {
           case DATA_TYPE.string:
            return "";

           case DATA_TYPE.number:
            return 0;

           case DATA_TYPE.boolean:
            return false;

           case DATA_TYPE.array:
            return [];

           case DATA_TYPE.object:
           case DATA_TYPE.uiData:
            return {};

           default:
            return;
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "mappingFunc", {
        set: function(func) {
          this._mappingFunc = func;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIData.prototype, "unMappingFunc", {
        set: function(func) {
          this._unMappingFunc = func;
        },
        enumerable: false,
        configurable: true
      });
      UIData.prototype.setMappingData = function(data) {
        this._mappingData = data;
      };
      UIData.prototype.onLoad = function() {
        this.init();
      };
      UIData.prototype.reset = function() {
        this._isInit = false;
        this.init();
      };
      UIData.prototype.init = function() {
        var _this = this;
        if (this._isInit) return;
        this._key && "" != this._key || (this._key = this.node.name);
        "$" === this._key && (this._key = this.node.parent.name);
        "$" !== this._key[0] && (this._objectKeys = this._key.split(".") || []);
        if ("" != this.mappingData) {
          var len = this.mappingData.length;
          "[" === this.mappingData[0] && "]" === this.mappingData[len - 1] || "{" === this.mappingData[0] && "}" === this.mappingData[len - 1] ? this._mappingData = PPPB_lib_1._.unserialize(this.mappingData) : this._mappingData = this.mappingData;
        }
        var onDataChangeFunc = this.isWatchingChange ? this.onDataChange.bind(this) : null;
        var cdv = PPPB_ui_1.ui.getComponent(this, UIDataValue);
        if (cdv) {
          this.tclass = cdv;
          this._getValueFunc = function() {
            return cdv.value;
          };
          this._setValueFunc = function(v) {
            return cdv.value = v;
          };
        } else switch (this.dataType) {
         case DATA_TYPE.string:
          if (this.isCombo) {
            PPPB_ui_1.ui.onCustomEvent(this, "comboName", onDataChangeFunc);
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.getComboName(_this, "");
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.comboName(_this, v);
            };
            break;
          }
          var c_1 = PPPB_ui_1.ui.getComponent(this, cc.Label);
          c_1 || (c_1 = PPPB_ui_1.ui.getComponent(this, cc.RichText));
          if (c_1) {
            this._getValueFunc = function() {
              return c_1.string;
            };
            this._setValueFunc = function(v) {
              return c_1.string = v;
            };
            break;
          }
          c_1 = PPPB_ui_1.ui.getComponent(this, cc.EditBox);
          if (c_1) {
            onDataChangeFunc && c_1.node.on("editing-did-ended", function(event) {
              onDataChangeFunc(c_1.string);
            });
            this._getValueFunc = function() {
              return c_1.string;
            };
            this._setValueFunc = function(v) {
              return c_1.string = v;
            };
            break;
          }
          c_1 = PPPB_ui_1.ui.getComponent(this, cc.Toggle);
          if (c_1) {
            onDataChangeFunc && c_1.node.on("toggle", function(event) {
              onDataChangeFunc(c_1.isChecked ? "true" : "false");
            });
            this._getValueFunc = function() {
              return c_1.isChecked ? "true" : "false";
            };
            this._setValueFunc = function(v) {
              return c_1.isChecked = !!v && "no" !== v && "false" != v;
            };
            break;
          }
          c_1 = PPPB_ui_1.ui.getComponent(this, cc.Sprite);
          if (c_1) {
            this._getValueFunc = function() {
              return;
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.setSprite(_this, v);
            };
            break;
          }
          PPPB_ui_1.ui.onCustomEvent(this, "comboName", onDataChangeFunc);
          this._getValueFunc = function() {
            return PPPB_ui_1.ui.getComboName(_this, "");
          };
          this._setValueFunc = function(v) {
            return PPPB_ui_1.ui.comboName(_this, v);
          };
          break;

         case DATA_TYPE.number:
          if (this.isCombo) {
            PPPB_ui_1.ui.onCustomEvent(this, "combo", onDataChangeFunc);
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.getCombo(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.combo(_this, v);
            };
            break;
          }
          var c_2 = PPPB_ui_1.ui.getComponent(this, cc.ProgressBar);
          if (c_2) {
            this._getValueFunc = function() {
              return c_2.progress;
            };
            this._setValueFunc = function(v) {
              return c_2.progress = v;
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.Slider);
          if (c_2) {
            onDataChangeFunc && c_2.node.on("slide", function(event) {
              onDataChangeFunc(Number(c_2.progress));
            });
            this._getValueFunc = function() {
              return c_2.progress;
            };
            this._setValueFunc = function(v) {
              return c_2.progress = v;
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.PageView);
          if (c_2) {
            onDataChangeFunc && c_2.node.on("page-turning", function(event) {
              onDataChangeFunc(c_2.getCurrentPageIndex());
            });
            this._getValueFunc = function() {
              return c_2.getCurrentPageIndex();
            };
            this._setValueFunc = function(v) {
              return c_2.setCurrentPageIndex(v);
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.Label);
          c_2 || (c_2 = PPPB_ui_1.ui.getComponent(this, cc.RichText));
          if (c_2) {
            this._getValueFunc = function() {
              return Number(c_2.string);
            };
            this._setValueFunc = function(v) {
              return c_2.string = "" + v;
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.EditBox);
          if (c_2) {
            onDataChangeFunc && c_2.node.on("editing-did-ended", function(event) {
              onDataChangeFunc(Number(c_2.string));
            });
            this._getValueFunc = function() {
              return Number(c_2.string);
            };
            this._setValueFunc = function(v) {
              return c_2.string = "" + v;
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.ToggleContainer);
          if (c_2) {
            PPPB_ui_1.ui.onToggleContainerEvent(this, onDataChangeFunc);
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.getToggleContainerSelectIndex(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.toggleContainerSelect(_this, v);
            };
            break;
          }
          c_2 = PPPB_ui_1.ui.getComponent(this, cc.Toggle);
          if (c_2) {
            onDataChangeFunc && c_2.node.on("toggle", function(event) {
              onDataChangeFunc(c_2.isChecked ? 1 : 0);
            });
            this._getValueFunc = function() {
              return c_2.isChecked ? 1 : 0;
            };
            this._setValueFunc = function(v) {
              return c_2.isChecked = 0 !== v;
            };
            break;
          }
          PPPB_ui_1.ui.onCustomEvent(this, "combo", onDataChangeFunc);
          this._getValueFunc = function() {
            return PPPB_ui_1.ui.getCombo(_this, 0);
          };
          this._setValueFunc = function(v) {
            return PPPB_ui_1.ui.combo(_this, v);
          };
          break;

         case DATA_TYPE.boolean:
          if (this.isCombo) {
            PPPB_ui_1.ui.onCustomEvent(this, "combo", onDataChangeFunc);
            this._getValueFunc = function() {
              return !!PPPB_ui_1.ui.getCombo(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.combo(_this, v ? 1 : 0);
            };
            break;
          }
          var c_3 = PPPB_ui_1.ui.getComponent(this, cc.Toggle);
          if (c_3) {
            onDataChangeFunc && c_3.node.on("toggle", function(event) {
              onDataChangeFunc(c_3.isChecked);
            });
            this._getValueFunc = function() {
              return c_3.isChecked;
            };
            this._setValueFunc = function(v) {
              return c_3.isChecked = !!v && 0 !== v && "false" !== v && "no" !== v;
            };
            break;
          }
          c_3 = PPPB_ui_1.ui.getComponent(this, cc.ToggleContainer);
          if (c_3) {
            PPPB_ui_1.ui.onToggleContainerEvent(this, onDataChangeFunc);
            this._getValueFunc = function() {
              return !!PPPB_ui_1.ui.getToggleContainerSelectIndex(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.toggleContainerSelect(_this, v ? 1 : 0);
            };
            break;
          }
          this._getValueFunc = function() {
            return PPPB_ui_1.ui.isShow(_this);
          };
          this._setValueFunc = function(v) {
            return PPPB_ui_1.ui.show(_this, v);
          };
          break;

         case DATA_TYPE.default:
          if (this.isCombo) {
            PPPB_ui_1.ui.onCustomEvent(this, "combo", onDataChangeFunc);
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.getCombo(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.combo(_this, v);
            };
            break;
          }
          var c_4 = PPPB_ui_1.ui.getComponent(this, cc.ProgressBar);
          if (c_4) {
            this._getValueFunc = function() {
              return c_4.progress;
            };
            this._setValueFunc = function(v) {
              return c_4.progress = v;
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.Slider);
          if (c_4) {
            onDataChangeFunc && c_4.node.on("slide", function(event) {
              onDataChangeFunc(Number(c_4.string));
            });
            this._getValueFunc = function() {
              return c_4.progress;
            };
            this._setValueFunc = function(v) {
              return c_4.progress = v;
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.PageView);
          if (c_4) {
            onDataChangeFunc && c_4.node.on("page-turning", function(event) {
              onDataChangeFunc(c_4.getCurrentPageIndex());
            });
            this._getValueFunc = function() {
              return c_4.getCurrentPageIndex();
            };
            this._setValueFunc = function(v) {
              return c_4.setCurrentPageIndex(v);
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.Label);
          c_4 || (c_4 = PPPB_ui_1.ui.getComponent(this, cc.RichText));
          if (c_4) {
            this._getValueFunc = function() {
              return c_4.string;
            };
            this._setValueFunc = function(v) {
              return c_4.string = v;
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.EditBox);
          if (c_4) {
            onDataChangeFunc && c_4.node.on("editing-did-ended", function(event) {
              onDataChangeFunc(c_4.string);
            });
            this._getValueFunc = function() {
              return c_4.inputMode === cc.EditBox.InputMode.NUMERIC || c_4.inputMode === cc.EditBox.InputMode.PHONE_NUMBER ? Number(c_4.string) : c_4.string;
            };
            this._setValueFunc = function(v) {
              return c_4.string = v;
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.Toggle);
          if (c_4) {
            onDataChangeFunc && c_4.node.on("toggle", function(event) {
              onDataChangeFunc(c_4.isChecked);
            });
            this._getValueFunc = function() {
              return c_4.isChecked;
            };
            this._setValueFunc = function(v) {
              return c_4.isChecked = !!v && 0 !== v && "false" !== v && "no" !== v;
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.ToggleContainer);
          if (c_4) {
            PPPB_ui_1.ui.onToggleContainerEvent(this, onDataChangeFunc);
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.getToggleContainerSelectIndex(_this, 0);
            };
            this._setValueFunc = function(v) {
              return PPPB_ui_1.ui.toggleContainerSelect(_this, v);
            };
            break;
          }
          c_4 = PPPB_ui_1.ui.getComponent(this, cc.Sprite);
          if (c_4) {
            this._getValueFunc = function() {
              return PPPB_ui_1.ui.isShow(_this);
            };
            this._setValueFunc = function(v) {
              return UIData_1.setValue(_this, v, true);
            };
            break;
          }
          PPPB_ui_1.ui.onCustomEvent(this, "combo", onDataChangeFunc);
          this._getValueFunc = function() {
            return PPPB_ui_1.ui.getCombo(_this, 0);
          };
          this._setValueFunc = function(v) {
            return PPPB_ui_1.ui.combo(_this, v);
          };
          return UIData_1.getValue(this, DATA_TYPE.uiData);

         case DATA_TYPE.object:
         case DATA_TYPE.array:
          onDataChangeFunc && PPPB_ui_1.ui.onChildrenDataEvent(this, function(v) {
            onDataChangeFunc(v);
          }, this.dataType == DATA_TYPE.array);
          this._getValueFunc = function() {
            return PPPB_ui_1.ui.getChildenOData(_this, _this.dataType == DATA_TYPE.array);
          };
          this._setValueFunc = function(v) {
            PPPB_ui_1.ui.setChildenOData(_this, v);
          };
          break;

         case DATA_TYPE.uiData:
          onDataChangeFunc && PPPB_ui_1.ui.lookupComponents(this, UIData_1, function(c, res) {
            if (c.node !== _this.node && c.dataType === DATA_TYPE.null) return false;
            if (c.node === _this.node && c.dataType === DATA_TYPE.uiData) return true;
            c.isWatchingChange && c.node.on("dataChange", function() {
              onDataChangeFunc(_this.value);
            });
            return true;
          }, __nodePoller);
          this._getValueFunc = function() {
            return UIData_1.readUIData(_this);
          };
          this._setValueFunc = function(v) {
            UIData_1.writeUIData(_this, v);
          };
          break;

         default:
          this._setValueFunc = function(v) {};
        }
      };
      UIData.prototype.onDataChange = function(v) {
        this.node.emit("dataChange", v);
      };
      UIData.prototype.mixinValue = function(value) {
        this.init();
        var v;
        var selfValue = this.value;
        var len = this._objectKeys.length;
        if (len > 1) {
          var vv = v = {};
          for (var i = 1; i < this._objectKeys.length - 1; i++) vv = vv[this._objectKeys[i]] = {};
          vv[this._objectKeys[this._objectKeys.length - 1]] = selfValue;
        } else v = selfValue;
        if (this.dataType !== DATA_TYPE.default && (false === value || false === selfValue)) return this.defaultValue;
        return PPPB_lib_1._.merge(value, v, true);
      };
      UIData.writeUIData = function(nodeOrComponent, data) {
        var node = PPPB_ui_1.ui.getNode(nodeOrComponent);
        if (!node) return 0;
        setKeyData(node, data);
        var n$ = PPPB_ui_1.ui.getChildByName(nodeOrComponent, "$");
        if (n$) {
          PPPB_ui_1.ui.removeComponent(n$, UIData_1);
          this.setValue(n$, data);
          return 1;
        }
        var wc = 0;
        PPPB_ui_1.ui.lookupComponents(nodeOrComponent, UIData_1, function(c, res) {
          if (c.node !== node && c.dataType === DATA_TYPE.null) return false;
          if (c.node === node && c.dataType === DATA_TYPE.uiData) return true;
          var vv = data;
          c.init();
          res.push(c);
          for (var _i = 0, _a = c._objectKeys; _i < _a.length; _i++) {
            var k = _a[_i];
            vv = vv && void 0 !== vv[k] && !PPPB_lib_1._.isNaN(vv[k]) ? vv[k] : void 0;
          }
          if (void 0 !== vv) {
            c.value = vv;
            wc++;
          }
          return c.dataType !== UIData_1.TYPE.uiData;
        }, __nodePoller);
        return wc;
      };
      UIData.readUIData = function(nodeOrComponent) {
        var node = PPPB_ui_1.ui.getNode(nodeOrComponent);
        if (!node) return {};
        var data;
        var n$ = PPPB_ui_1.ui.getChildByName(nodeOrComponent, "$");
        if (n$) {
          PPPB_ui_1.ui.removeComponent(n$, UIData_1);
          data = this.getValue(n$);
        } else {
          data = {};
          PPPB_ui_1.ui.lookupComponents(nodeOrComponent, UIData_1, function(c, res) {
            if (c.node !== node && c.dataType === DATA_TYPE.null) return false;
            if (c.node === node && c.dataType === DATA_TYPE.uiData) return true;
            data[c.root] = c.mixinValue(data[c.root]);
            return c.dataType !== DATA_TYPE.uiData;
          }, __nodePoller);
        }
        var kd = node[KEY_DATA];
        return kd ? PPPB_lib_1._.merge(kd, data, true) : data;
      };
      UIData.prototype.__mapping = function(data, dataType) {
        if (void 0 === data) return data;
        var ret = "";
        this._mappingFunc ? ret = this._mappingFunc(data) : this._mappingData ? "+" === this._mappingData[0] ? ret = data + Number(this._mappingData.slice(1)) : "!" === this._mappingData || (ret = void 0 !== this._mappingData[data] ? this._mappingData[data] : data) : ret = data;
        switch (dataType) {
         case DATA_TYPE.string:
          return "" + ret;

         case DATA_TYPE.number:
          return Number(ret);

         case DATA_TYPE.boolean:
          return "0" != ret && "" != ret;

         default:
          return ret;
        }
      };
      UIData.prototype.__unMapping = function(data, dataType) {
        var ret = "0";
        if (this._unMappingFunc) ret = this._unMappingFunc(data); else {
          if (!this._mappingData) return data;
          for (var k in this._mappingData) if (data == this._mappingData[k]) {
            ret = k;
            break;
          }
        }
        switch (dataType) {
         case DATA_TYPE.string:
          return ret;

         case DATA_TYPE.number:
          return Number(ret);

         case DATA_TYPE.boolean:
          return "0" != ret && "" != ret;

         default:
          return ret;
        }
      };
      UIData.getValue = function(nodeOrComponent, dataType, fromValue) {
        void 0 === dataType && (dataType = DATA_TYPE.default);
        void 0 === fromValue && (fromValue = false);
        var node = PPPB_ui_1.ui.getNode(nodeOrComponent);
        if (!cc.isValid(node)) return;
        var c;
        if (!fromValue) {
          c = PPPB_ui_1.ui.getComponent(node, UIData_1);
          if (c) return c.value;
        }
        c = node.getComponent(UIDataValue);
        if (c) return c.value;
        switch (dataType) {
         case DATA_TYPE.string:
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.RichText));
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) return c.string;
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.Toggle));
          if (c) return c.isChecked ? "true" : "false";
          PPPB_ui_1.ui.isCombo(node) && PPPB_ui_1.ui.getComboName(node, "");
          break;

         case DATA_TYPE.number:
          c = PPPB_ui_1.ui.getComponent(node, cc.ProgressBar);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.Slider));
          if (c) return c.progress;
          c = PPPB_ui_1.ui.getComponent(node, cc.PageView);
          if (c) return c.getCurrentPageIndex();
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) return Number(c.string);
          c = PPPB_ui_1.ui.getComponent(node, cc.ToggleContainer);
          if (c) return PPPB_ui_1.ui.getToggleContainerSelectIndex(node, 0);
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) return c.isChecked ? 1 : 0;
          PPPB_ui_1.ui.isCombo(node) && PPPB_ui_1.ui.getCombo(node, 0);
          break;

         case DATA_TYPE.boolean:
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) return c.isChecked;
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.RichText));
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) return "true" === c.string || c.string && "false" !== c.string && "0" != c.string;
          c = PPPB_ui_1.ui.getComponent(node, cc.ToggleContainer);
          if (c) return !!PPPB_ui_1.ui.getToggleContainerSelectIndex(node, 0);
          if (PPPB_ui_1.ui.isCombo(node) && 2 === PPPB_ui_1.ui.getChildrenCount(node)) return !!PPPB_ui_1.ui.getCombo(node, 0);
          return PPPB_ui_1.ui.isShow(node);

         case DATA_TYPE.default:
          c = PPPB_ui_1.ui.getComponent(node, cc.ProgressBar);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.Slider));
          if (c) return c.progress;
          c = PPPB_ui_1.ui.getComponent(node, cc.PageView);
          if (c) return c.getCurrentPageIndex();
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.RichText));
          if (c) return c.string;
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) return c.inputMode === cc.EditBox.InputMode.NUMERIC || c.inputMode === cc.EditBox.InputMode.PHONE_NUMBER ? Number(c.string) : c.string;
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) return c.isChecked;
          c = PPPB_ui_1.ui.getComponent(node, cc.ToggleContainer);
          if (c) return PPPB_ui_1.ui.getToggleContainerSelectIndex(node, 0);
          PPPB_ui_1.ui.isCombo(node) && PPPB_ui_1.ui.getCombo(node, 0);
          return UIData_1.getValue(node, DATA_TYPE.uiData, fromValue);

         case DATA_TYPE.array:
          return PPPB_ui_1.ui.getChildenOData(node, true);

         case DATA_TYPE.array:
          return PPPB_ui_1.ui.getChildenOData(node, false);

         case DATA_TYPE.uiData:
          var data_1 = {};
          PPPB_ui_1.ui.lookupComponents(node, UIData_1, function(c, res) {
            if (c.node !== node && c.dataType === DATA_TYPE.null) return false;
            if (c.node === node && c.dataType === DATA_TYPE.uiData) return true;
            data_1[c.key] = c.mixinValue(data_1[c.key]);
            return c.dataType !== DATA_TYPE.uiData;
          }, __nodePoller);
          return data_1;
        }
      };
      UIData.setValue = function(nodeOrComponent, data, fromValue) {
        void 0 === fromValue && (fromValue = false);
        if (PPPB_lib_1._.isVoid(data)) return;
        var node = PPPB_ui_1.ui.getNode(nodeOrComponent);
        if (!cc.isValid(node)) return;
        var t = typeof data;
        "string" === t && "@L:" === data.slice(0, 2);
        var c;
        if (!fromValue) {
          c = PPPB_ui_1.ui.getComponent(node, UIData_1);
          if (c) {
            c.value = data;
            return;
          }
        }
        c = PPPB_ui_1.ui.getComponent(node, UIDataValue);
        if (c) {
          c.value = data;
          return;
        }
        this.setValueInternalComp(nodeOrComponent, data);
      };
      UIData.setValueInternalComp = function(nodeOrComponent, data) {
        if (PPPB_lib_1._.isVoid(data)) return;
        var c;
        var t = typeof data;
        var node = PPPB_ui_1.ui.getNode(nodeOrComponent);
        switch (t) {
         case "string":
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.RichText));
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) {
            c.string = data;
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) {
            c.isChecked = !!data && "0" !== data && "false" !== data && "no" !== data;
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Sprite);
          if (c) {
            PPPB_ui_1.ui.setSprite(node, data);
            break;
          }
          var cn = PPPB_ui_1.ui.getChildByName(node, data);
          if (cn) {
            PPPB_ui_1.ui.comboName(node, data);
            break;
          }
          break;

         case "number":
          c = PPPB_ui_1.ui.getComponent(node, cc.ProgressBar);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.Slider));
          if (c) {
            c.progress = data;
            break;
          }
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.PageView));
          if (c) {
            c.setCurrentPageIndex(data);
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) {
            c.string = data;
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) {
            c.isChecked = 0 !== data;
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.ToggleContainer);
          if (c) {
            PPPB_ui_1.ui.toggleContainerSelect(c, data);
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Sprite);
          if (c) {
            c.opacity = data;
            break;
          }
          if (2 === PPPB_ui_1.ui.getChildrenCount(node)) {
            PPPB_ui_1.ui.combo(node, data);
            break;
          }
          break;

         case "boolean":
          c = PPPB_ui_1.ui.getComponent(node, cc.Toggle);
          if (c) {
            c.isChecked = data;
            break;
          }
          c = PPPB_ui_1.ui.getComponent(node, cc.Label);
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.RichText));
          c || (c = PPPB_ui_1.ui.getComponent(node, cc.EditBox));
          if (c) {
            c.string = data ? "true" : "false";
            break;
          }
          var cs = PPPB_ui_1.ui.getChildren(node);
          if (cs && 2 == cs.length) {
            PPPB_ui_1.ui.combo(node, data ? 1 : 0);
            break;
          }
          PPPB_ui_1.ui.show(node, data);
          break;

         case "object":
          PPPB_ui_1.ui.setChildenOData(node, data);
        }
      };
      var UIData_1;
      UIData.DataType = DATA_TYPE;
      __decorate([ property({
        type: DATA_TYPE
      }) ], UIData.prototype, "dataType", void 0);
      __decorate([ property({
        visible: function() {
          return this.dataType < DATA_TYPE.array;
        },
        tooltip: "\u662f\u5426\u8bbe\u7f6e\u4e3a\u7ec4\u5408\u5355\u9009\u63a7\u4ef6\uff0c\u7ec4\u5408\u63a7\u4ef6\u53ea\u6709\u4e00\u4e2a\u5b50\u8282\u70b9\u53ef\u89c1"
      }) ], UIData.prototype, "isCombo", void 0);
      __decorate([ property({
        visible: function() {
          return this.dataType !== DATA_TYPE.null;
        },
        tooltip: "\u662f\u5426\u76d1\u542c\u7528\u6237\u4fee\u6539\u6570\u636e\uff0c\u5982\u679c\u4e3atrue\uff0c\u6570\u636e\u4fee\u6539\u65f6\u5c06\u4f1a\u53d1\u5c04\u2018dataChange\u2019\u4e8b\u4ef6"
      }) ], UIData.prototype, "isWatchingChange", void 0);
      __decorate([ property({
        type: cc.String,
        visible: function() {
          return this.dataType !== DATA_TYPE.null;
        },
        tooltip: "\u6570\u636e\u7684\u5b57\u6bb5\u540d\uff0c\u5982\u679c\u7528\u2018\u3002\u2019\u9694\u5f00\uff0c\u5219\u8868\u793a\u6570\u636e\u7684\u5bf9\u8c61\u5c5e\u6027\u94fe"
      }) ], UIData.prototype, "key", null);
      __decorate([ property({
        multiline: true,
        visible: function() {
          return this.dataType < DATA_TYPE.array;
        },
        tooltip: "\u6620\u5c04\u5bf9\u8c61\uff0cjson\u683c\u5f0f"
      }) ], UIData.prototype, "mappingData", void 0);
      __decorate([ property ], UIData.prototype, "_key", void 0);
      __decorate([ property({
        type: cc.Boolean
      }) ], UIData.prototype, "Reset", null);
      __decorate([ property({
        visible: function() {
          return this.dataType === DATA_TYPE.number || this.dataType === DATA_TYPE.string;
        },
        tooltip: "\u6620\u5c04\u5bf9\u8c61\uff0cjson\u683c\u5f0f"
      }) ], UIData.prototype, "value", null);
      UIData = UIData_1 = __decorate([ ccclass, menu("PPPB/ui/UI_DATA"), executeInEditMode ], UIData);
      return UIData;
    }(PPPB_UComponent_1.UComponent);
    exports.UIData = UIData;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-UILangAlign": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ae530j/xUJMSaF12v+IMlAv", "PPPB-UILangAlign");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UILangAlign = void 0;
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_language_1 = require("../PPPB-language");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UILanguage_1 = require("./PPPB-UILanguage");
    var PPPB_editor_1 = require("./PPPB-editor");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var UILangAlign = function(_super) {
      __extends(UILangAlign, _super);
      function UILangAlign() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.target = null;
        _this._languagePrev = PPPB_language_1.language.dev;
        _this._language = PPPB_language_1.language.dev;
        _this.pos = true;
        _this.flip = false;
        _this.anchor = false;
        _this.align = false;
        _this.reverse = false;
        return _this;
      }
      UILangAlign_1 = UILangAlign;
      Object.defineProperty(UILangAlign.prototype, "language", {
        get: function() {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (this._language === k) return i;
            i++;
          }
          return 0;
        },
        set: function(l) {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (i == l) {
              this._language = k;
              this.refreshLanguageAlign();
              return;
            }
            i++;
          }
          this._language = "";
        },
        enumerable: false,
        configurable: true
      });
      UILangAlign.prototype._refreshEnumLanguage = function() {
        var e;
        false;
      };
      UILangAlign.prototype.refreshLanguageAlign = function() {
        if (!this.target) {
          console.error(PPPB_lib_1._.logger("ERROR"), "UILangAlign refreshLanguageAlign  target is null ", PPPB_ui_1.ui.getPath(this).join("/"));
          return;
        }
        if (!this.isValid) return;
        if (this._languagePrev == this._language) return;
        var a = PPPB_language_1.language.getAlign(this._languagePrev);
        var a2 = PPPB_language_1.language.getAlign(this._language);
        this._languagePrev = this._language;
        if (a !== a2) {
          var isWidget = false;
          var w = this.getComponent(cc.Widget);
          w && (w.isAlignLeft || w.isAlignRight) && (isWidget = true);
          if (this.pos && !isWidget) {
            var x = this.target.width * this.target.anchorX;
            var p = PPPB_ui_1.ui.getRelativePos(this, this.target);
            p.x = this.target.width - (p.x + x) - x;
            PPPB_ui_1.ui.syncPos(this, this.target, p);
          }
          this.flip && (this.node.scaleX *= -1);
          this.anchor && (this.node.anchorX = 1 - this.node.anchorX);
          if (this.align) {
            var Layout = this.getComponent(cc.Layout);
            Layout && (Layout.horizontalDirection = Layout.horizontalDirection === cc.Layout.HorizontalDirection.LEFT_TO_RIGHT ? cc.Layout.HorizontalDirection.RIGHT_TO_LEFT : cc.Layout.HorizontalDirection.LEFT_TO_RIGHT);
            var l = this.getComponent(cc.Label);
            l && (l.horizontalAlign === cc.Label.HorizontalAlign.LEFT ? l.horizontalAlign = cc.Label.HorizontalAlign.RIGHT : l.horizontalAlign === cc.Label.HorizontalAlign.RIGHT && (l.horizontalAlign = cc.Label.HorizontalAlign.LEFT));
            var r = this.getComponent(cc.RichText);
            r && (r.horizontalAlign == cc.macro.TextAlignment.LEFT ? r.horizontalAlign = cc.macro.TextAlignment.RIGHT : r.horizontalAlign === cc.macro.TextAlignment.RIGHT && (r.horizontalAlign = cc.macro.TextAlignment.LEFT));
          }
          if (this.reverse) {
            var p = this.getComponent(cc.ProgressBar);
            p && (p.reverse = !p.reverse);
          }
          if (isWidget) {
            var t = void 0;
            t = w.isAlignLeft;
            w.isAlignLeft = w.isAlignRight;
            w.isAlignRight = t;
            t = w.isAbsoluteLeft;
            w.isAbsoluteLeft = w.isAbsoluteRight;
            w.isAbsoluteRight = t;
            w.updateAlignment();
            t = w.left;
            w.left = w.right;
            w.right = t;
            w.horizontalCenter = -w.horizontalCenter;
          }
        }
      };
      Object.defineProperty(UILangAlign.prototype, "rootNode", {
        get: function() {
          var p = this.node.parent;
          while (p.parent && !(p.parent instanceof cc.Scene)) p = p.parent;
          return p;
        },
        enumerable: false,
        configurable: true
      });
      UILangAlign.prototype.onLoad = function() {
        false;
        this._languagePrev = this._language;
        this._language = PPPB_language_1.language.type;
        this.refreshLanguageAlign();
      };
      UILangAlign.refresh = function(lang) {
        cc.director.getScene().getChildByName("Canvas").getComponentsInChildren(UILangAlign_1).forEach(function(ul) {
          ul._languagePrev = ul._language;
          ul._language = lang;
          ul.refreshLanguageAlign();
        });
      };
      var UILangAlign_1;
      __decorate([ property(cc.Node) ], UILangAlign.prototype, "target", void 0);
      __decorate([ property ], UILangAlign.prototype, "_language", void 0);
      __decorate([ property({
        type: PPPB_UILanguage_1.UILanguage.languageEnum
      }) ], UILangAlign.prototype, "language", null);
      __decorate([ property({
        tooltip: false
      }) ], UILangAlign.prototype, "pos", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UILangAlign.prototype, "flip", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UILangAlign.prototype, "anchor", void 0);
      __decorate([ property({
        visible: function() {
          return this.getComponent(cc.Layout) || this.getComponent(cc.Label) || this.getComponent(cc.RichText) || this.getComponent(cc.EditBox);
        },
        tooltip: false
      }) ], UILangAlign.prototype, "align", void 0);
      __decorate([ property({
        visible: function() {
          return this.getComponent(cc.ProgressBar);
        },
        tooltip: false
      }) ], UILangAlign.prototype, "reverse", void 0);
      UILangAlign = UILangAlign_1 = __decorate([ ccclass, menu("PPPB/\u591a\u8bed\u8a00\u652f\u6301/UILangAlign"), executeInEditMode ], UILangAlign);
      return UILangAlign;
    }(cc.Component);
    exports.UILangAlign = UILangAlign;
    PPPB_event_1.Events.on("setLanguage", UILangAlign.refresh);
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-language": "PPPB-language",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UILanguage": "PPPB-UILanguage",
    "./PPPB-editor": "PPPB-editor"
  } ],
  "PPPB-UILanguageImg": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "7f7c0WVuG9HeqL9GOrfUoKe", "PPPB-UILanguageImg");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UILanguageImg = exports.ImgParam = void 0;
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_language_1 = require("../PPPB-language");
    var PPPB_res_1 = require("../PPPB-res");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_editor_1 = require("./PPPB-editor");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var ImgParam = function() {
      function ImgParam() {
        this.en = null;
        this.es = null;
        this.kh = null;
        this.mm = null;
        this.pt = null;
        this.thai = null;
        this.vn = null;
        this.zh = null;
      }
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "en", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "es", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "kh", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "mm", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "pt", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "thai", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "vn", void 0);
      __decorate([ property(cc.SpriteFrame) ], ImgParam.prototype, "zh", void 0);
      ImgParam = __decorate([ ccclass("PPPB-ImgParam") ], ImgParam);
      return ImgParam;
    }();
    exports.ImgParam = ImgParam;
    var UILanguageImg = function(_super) {
      __extends(UILanguageImg, _super);
      function UILanguageImg() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._language = PPPB_language_1.language.dev;
        _this.isImg = false;
        _this.imgs = null;
        _this.prepath = "";
        _this.path = "";
        _this._idEnums = {};
        _this._spriteID = "";
        _this._lastPath = "";
        return _this;
      }
      UILanguageImg_1 = UILanguageImg;
      Object.defineProperty(UILanguageImg, "languageEnum", {
        get: function() {
          var e = {
            none: 0
          };
          var i = 1;
          for (var k in PPPB_language_1.language.data) e[k] = i++;
          return cc.Enum(e);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguageImg.prototype, "languageType", {
        get: function() {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (this._language === k) return i;
            i++;
          }
          return 0;
        },
        set: function(l) {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (i == l) {
              this._language = k;
              this.refreshImg();
              return;
            }
            i++;
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguageImg.prototype, "selectPath", {
        get: function() {
          return false;
        },
        set: function(p) {
          false;
        },
        enumerable: false,
        configurable: true
      });
      UILanguageImg.prototype._refreshEnum = function() {
        var files;
        var enumDef;
        false;
      };
      Object.defineProperty(UILanguageImg.prototype, "selectSpriteID", {
        get: function() {
          var i = this._idEnums[this._spriteID];
          return "number" === typeof i ? i : -1;
        },
        set: function(idt) {
          if (idt > 0) {
            var tid = this._idEnums[idt];
            this.spriteID = tid || "";
          } else this.spriteID = "";
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguageImg.prototype, "spriteID", {
        get: function() {
          return this._spriteID;
        },
        set: function(i) {
          if (this._spriteID !== i) {
            this._spriteID = i;
            this.refreshImg();
          }
        },
        enumerable: false,
        configurable: true
      });
      UILanguageImg.prototype.refreshImg = function() {
        var _this = this;
        if (this.isImg) {
          this.sprite.spriteFrame = this.imgs[this._language];
          return;
        }
        var spriteID = this._spriteID || "";
        if (spriteID) {
          var path = spriteID ? this.prepath + "/" + this._language + "/" + spriteID : "";
          PPPB_res_1.res.loadAsset(path, cc.SpriteFrame, true, function(err, sf, url) {
            if (err) {
              cc.log(err);
              console.error(err);
            } else if (sf && _this.isValid && _this._spriteID == spriteID) {
              _this._lastPath && PPPB_res_1.res.delResourcesMap(_this.node, _this._lastPath);
              _this._lastPath = url;
              _this.sprite.spriteFrame = sf;
              PPPB_res_1.res.addResourcesMap(_this.node, url);
              PPPB_res_1.res.addPrefabDepsEX(sf, _this);
              _this.node.emit("refresh");
            }
          });
        }
      };
      Object.defineProperty(UILanguageImg.prototype, "sprite", {
        get: function() {
          return this.getComponent(cc.Sprite);
        },
        enumerable: false,
        configurable: true
      });
      UILanguageImg.prototype.onLoad = function() {
        false;
        this._language = PPPB_language_1.language.type;
        this.refreshImg();
      };
      UILanguageImg.prototype.onEnable = function() {
        this.refreshImg();
      };
      UILanguageImg.refresh = function(lang) {
        cc.director.getScene().getChildByName("Canvas").getComponentsInChildren(UILanguageImg_1).forEach(function(ul) {
          ul._language = lang;
          ul.refreshImg();
        });
      };
      var UILanguageImg_1;
      __decorate([ property ], UILanguageImg.prototype, "_language", void 0);
      __decorate([ property({
        type: UILanguageImg_1.languageEnum
      }) ], UILanguageImg.prototype, "languageType", null);
      __decorate([ property ], UILanguageImg.prototype, "isImg", void 0);
      __decorate([ property({
        type: ImgParam,
        visible: function() {
          return this.isImg;
        }
      }) ], UILanguageImg.prototype, "imgs", void 0);
      __decorate([ property({
        tooltip: false,
        readonly: true
      }) ], UILanguageImg.prototype, "prepath", void 0);
      __decorate([ property ], UILanguageImg.prototype, "path", void 0);
      __decorate([ property({
        type: cc.Integer,
        tooltip: false
      }) ], UILanguageImg.prototype, "selectPath", null);
      __decorate([ property({
        type: cc.Enum({}),
        visible: function() {
          return PPPB_lib_1._.size(this._idEnums) > 0;
        }
      }) ], UILanguageImg.prototype, "selectSpriteID", null);
      __decorate([ property ], UILanguageImg.prototype, "_spriteID", void 0);
      __decorate([ property({
        type: cc.String
      }) ], UILanguageImg.prototype, "spriteID", null);
      UILanguageImg = UILanguageImg_1 = __decorate([ ccclass, menu("PPPB/\u591a\u8bed\u8a00\u652f\u6301/UILanguageImg"), executeInEditMode ], UILanguageImg);
      return UILanguageImg;
    }(cc.Component);
    exports.UILanguageImg = UILanguageImg;
    PPPB_event_1.Events.on("setLanguage", UILanguageImg.refresh);
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-language": "PPPB-language",
    "../PPPB-res": "PPPB-res",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-editor": "PPPB-editor"
  } ],
  "PPPB-UILanguage": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f9cbeHGEXNGuqhk2n+w/Els", "PPPB-UILanguage");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UILanguage = exports.UILanguageStringProperty = exports.LanguageParam = void 0;
    var PPPB_RichTextAtlasManager_1 = require("../../common/managers/PPPB-RichTextAtlasManager");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_language_1 = require("../PPPB-language");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_editor_1 = require("./PPPB-editor");
    var PPPB_TextMeshPro_1 = require("../../../textMeshPro/scripts/PPPB-TextMeshPro");
    var PPPB_TmpRichText_1 = require("../../../textMeshPro/scripts/PPPB-TmpRichText");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var TargetTextNodeType;
    (function(TargetTextNodeType) {
      TargetTextNodeType[TargetTextNodeType["Label"] = 0] = "Label";
      TargetTextNodeType[TargetTextNodeType["RichText"] = 1] = "RichText";
      TargetTextNodeType[TargetTextNodeType["TextMeshPro"] = 2] = "TextMeshPro";
      TargetTextNodeType[TargetTextNodeType["TMPRichText"] = 3] = "TMPRichText";
    })(TargetTextNodeType || (TargetTextNodeType = {}));
    var LanguageParamType;
    (function(LanguageParamType) {
      LanguageParamType[LanguageParamType["Const"] = 0] = "Const";
      LanguageParamType[LanguageParamType["API"] = 1] = "API";
      LanguageParamType[LanguageParamType["Function"] = 2] = "Function";
    })(LanguageParamType || (LanguageParamType = {}));
    var LanguageParam = function() {
      function LanguageParam() {
        this.type = LanguageParamType.Const;
        this.defaultValue = "";
        this.api = "";
        this.func = "";
        this.target = null;
      }
      LanguageParam.prototype.getValue = function() {
        return __awaiter(this, void 0, void 0, function() {
          var v, _a, args, _b, err, r;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              v = this.defaultValue.split(",");
              _a = this.type;
              switch (_a) {
               case LanguageParamType.API:
                return [ 3, 1 ];

               case LanguageParamType.Function:
                return [ 3, 3 ];
              }
              return [ 3, 4 ];

             case 1:
              args = this.api.split(".");
              return [ 4, PPPB_event_1.Events.apiAsync.apply(null, args) ];

             case 2:
              _b = _c.sent(), err = _b.err, r = _b.r;
              err || (v = r);
              return [ 3, 4 ];

             case 3:
              v = PPPB_ui_1.ui.callComponentFunc(this.target, this.func);
              return [ 3, 4 ];

             case 4:
              return [ 2, v ];
            }
          });
        });
      };
      __decorate([ property({
        type: cc.Enum(LanguageParamType)
      }) ], LanguageParam.prototype, "type", void 0);
      __decorate([ property() ], LanguageParam.prototype, "defaultValue", void 0);
      __decorate([ property({
        visible: function() {
          return this.type === LanguageParamType.API;
        }
      }) ], LanguageParam.prototype, "api", void 0);
      __decorate([ property({
        visible: function() {
          return this.type === LanguageParamType.Function;
        }
      }) ], LanguageParam.prototype, "func", void 0);
      __decorate([ property({
        type: cc.Node,
        visible: function() {
          return this.type === LanguageParamType.Function;
        }
      }) ], LanguageParam.prototype, "target", void 0);
      LanguageParam = __decorate([ ccclass("PPPB-LanguageParam") ], LanguageParam);
      return LanguageParam;
    }();
    exports.LanguageParam = LanguageParam;
    var UILanguageStringProperty = function() {
      function UILanguageStringProperty() {
        this.key = "";
        this.value = "";
        this.fontTtf = null;
        this.font = null;
        this.fontJson = null;
        this.fontTextures = [];
        this._defaultFontSize = 0;
        this.useCustomFontSize = false;
        this.customFontSize = 24;
        this._targetTextNodeType = TargetTextNodeType.Label;
      }
      Object.defineProperty(UILanguageStringProperty.prototype, "defaultFontSize", {
        set: function(v) {
          this._defaultFontSize = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguageStringProperty.prototype, "targetTextNodeType", {
        set: function(v) {
          this._targetTextNodeType = v;
        },
        enumerable: false,
        configurable: true
      });
      __decorate([ property({
        readonly: true
      }) ], UILanguageStringProperty.prototype, "key", void 0);
      __decorate([ property({
        multiline: true
      }) ], UILanguageStringProperty.prototype, "value", void 0);
      __decorate([ property({
        type: cc.TTFFont,
        visible: function() {
          return this._targetTextNodeType == TargetTextNodeType.RichText;
        },
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "fontTtf", void 0);
      __decorate([ property({
        type: cc.Font,
        visible: function() {
          return this._targetTextNodeType == TargetTextNodeType.Label;
        },
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "font", void 0);
      __decorate([ property({
        type: cc.JsonAsset,
        visible: function() {
          return this._targetTextNodeType == TargetTextNodeType.TextMeshPro || this._targetTextNodeType == TargetTextNodeType.TMPRichText;
        },
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "fontJson", void 0);
      __decorate([ property({
        type: [ cc.Texture2D ],
        visible: function() {
          return this._targetTextNodeType == TargetTextNodeType.TextMeshPro || this._targetTextNodeType == TargetTextNodeType.TMPRichText;
        },
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "fontTextures", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "useCustomFontSize", void 0);
      __decorate([ property({
        type: cc.Integer,
        visible: function() {
          return this.useCustomFontSize;
        },
        tooltip: false
      }) ], UILanguageStringProperty.prototype, "customFontSize", void 0);
      UILanguageStringProperty = __decorate([ ccclass("PPPB-UILanguageStringProperty") ], UILanguageStringProperty);
      return UILanguageStringProperty;
    }();
    exports.UILanguageStringProperty = UILanguageStringProperty;
    var UILanguage = function(_super) {
      __extends(UILanguage, _super);
      function UILanguage() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._targetTextNodeType = TargetTextNodeType.Label;
        _this.target = null;
        _this._language = PPPB_language_1.language.dev;
        _this._textKeyName = "";
        _this.refreshEventNode = null;
        _this.paramKeyStrings = [];
        _this._setDefaultFontSize = false;
        _this._defaultFontSize = 24;
        _this._languageStringPropertys = [];
        _this._params = [];
        return _this;
      }
      UILanguage_1 = UILanguage;
      Object.defineProperty(UILanguage, "languageEnum", {
        get: function() {
          var e = {
            none: 0
          };
          var i = 1;
          for (var k in PPPB_language_1.language.data) e[k] = i++;
          return cc.Enum(e);
        },
        enumerable: false,
        configurable: true
      });
      UILanguage.splitkeyName = function(keyName) {
        var i = keyName.lastIndexOf(".");
        if (i > 0) return [ keyName.slice(0, i), keyName.slice(i + 1) ];
        i = keyName.indexOf("_");
        return i > 0 ? [ keyName.slice(0, i), "_" + keyName.slice(i + 1) ] : keyName ? [ keyName, "-" ] : [ keyName ];
      };
      Object.defineProperty(UILanguage.prototype, "language", {
        get: function() {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (this._language === k) return i;
            i++;
          }
          return 0;
        },
        set: function(l) {
          var i = 1;
          for (var k in PPPB_language_1.language.data) {
            if (i == l) {
              this._language = k;
              this._refreshEnumTextKey();
              this.refreshLanguage();
              return;
            }
            i++;
          }
          this._language = "";
        },
        enumerable: false,
        configurable: true
      });
      UILanguage.prototype._refreshEnumLanguage = function() {
        var e;
        false;
      };
      Object.defineProperty(UILanguage.prototype, "textKeyName", {
        get: function() {
          return this._textKeyName;
        },
        set: function(textKeyName) {
          this._textKeyName = textKeyName;
          false;
          this.refreshLanguage();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "textKey", {
        get: function() {
          var i = 1;
          var key = UILanguage_1.splitkeyName(this._textKeyName)[0];
          void 0 === this["_textKey"] && (this["_textKey"] = key);
          for (var k in this["__textKeysE"]) {
            if (this["_textKey"] === k) return i;
            i++;
          }
          return 0;
        },
        set: function(l) {
          var i = 1;
          for (var k in this["__textKeysE"]) {
            if (i === l) {
              this["_textKey"] = k;
              this._textKeyName = "";
              this._refreshEnumTextName();
              return;
            }
            i++;
          }
          this["_textKey"] && delete this["_textKey"];
          this._textKeyName = "";
        },
        enumerable: false,
        configurable: true
      });
      UILanguage.prototype.setTextKey = function(textKey) {
        var i = 1;
        for (var k in this["__textKeysE"]) {
          if (k === textKey) {
            this.textKey = i;
            return;
          }
          i++;
        }
        this.textKey = -1;
      };
      Object.defineProperty(UILanguage.prototype, "textName", {
        get: function() {
          var i = 1;
          var _a = UILanguage_1.splitkeyName(this._textKeyName), _b = _a[1], name = void 0 === _b ? "" : _b;
          for (var k in this["__textNamesE"]) {
            if (name === k) return i;
            i++;
          }
          return 0;
        },
        set: function(l) {
          var i = 1;
          for (var k in this["__textNamesE"]) {
            if (i == l) {
              this._textKeyName = "-" === k ? this["_textKey"] : k ? this["_textKey"] + ("_" === k[0] ? "" : ".") + k : this["_textKey"] || "";
              this.refreshLanguage();
              return;
            }
            i++;
          }
          this._textKeyName = "";
        },
        enumerable: false,
        configurable: true
      });
      UILanguage.prototype.setTextName = function(name) {
        var i = 1;
        for (var k in this["__textNamesE"]) {
          if (name === k) {
            this.textName = i;
            return;
          }
          i++;
        }
        this.textName = -1;
      };
      UILanguage.prototype._refreshEnumTextKey = function() {
        var lang;
        var k;
        var _a, key, _b, name;
        var ke;
        var e;
        var i;
        var k;
        false;
      };
      UILanguage.prototype._refreshEnumTextName = function() {
        var lang;
        var key;
        var e;
        var i;
        var k;
        false;
      };
      Object.defineProperty(UILanguage.prototype, "matchTextKeyName", {
        get: function() {
          var i = 1;
          for (var k in this["__matchTextKeyNameE"]) {
            if (this._textKeyName == k) return i;
            i++;
          }
          return -1;
        },
        set: function(l) {
          if (0 === l) {
            this._textKeyName = "";
            this.textName = -1;
            this._refreshEnumMatchTextKeyName();
          } else {
            var i = 1;
            for (var k in this["__matchTextKeyNameE"]) {
              if (i == l) {
                this.textKeyName = k;
                return;
              }
              i++;
            }
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "ParamKey", {
        set: function(v) {
          this._paramKey = v;
          this.refreshLanguage();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "setDefaultFontSize", {
        get: function() {
          return this._setDefaultFontSize;
        },
        set: function(v) {
          this._setDefaultFontSize = v;
          if (this._setDefaultFontSize) {
            this._defaultFontSize = this._getTargetTextTypeComponent().fontSize;
            this._setDefaultFontSize = false;
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "defaultFontSize", {
        get: function() {
          return this._defaultFontSize;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "LanguageStringPropertys", {
        get: function() {
          return this._languageStringPropertys;
        },
        set: function(v) {
          this._languageStringPropertys = v;
          this.refreshLanguage();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UILanguage.prototype, "Params", {
        get: function() {
          return this._params;
        },
        set: function(v) {
          this._params = v;
          this.refreshLanguage();
        },
        enumerable: false,
        configurable: true
      });
      UILanguage.prototype._initializeTargetTextNodeType = function() {
        null != this.target.getComponent(cc.Label) ? this._targetTextNodeType = TargetTextNodeType.Label : null != this.target.getComponent(cc.RichText) ? this._targetTextNodeType = TargetTextNodeType.RichText : null != this.target.getComponent(PPPB_TextMeshPro_1.default) ? this._targetTextNodeType = TargetTextNodeType.TextMeshPro : null != this.target.getComponent(PPPB_TmpRichText_1.default) ? this._targetTextNodeType = TargetTextNodeType.TMPRichText : cc.error("Unable to initialize target text node type on object: " + this.target.name);
      };
      UILanguage.prototype._setDefaultFontDataForLanguageStringProperty = function(lsp) {
        var _a, _b;
        return __awaiter(this, void 0, void 0, function() {
          var comp, comp;
          return __generator(this, function(_c) {
            switch (this._targetTextNodeType) {
             case TargetTextNodeType.Label:
              lsp.font = null !== (_a = lsp.font) && void 0 !== _a ? _a : this._getTargetTextTypeComponent().font;
              break;

             case TargetTextNodeType.RichText:
              lsp.fontTtf = null !== (_b = lsp.fontTtf) && void 0 !== _b ? _b : this._getTargetTextTypeComponent().font;
              break;

             case TargetTextNodeType.TextMeshPro:
             case TargetTextNodeType.TMPRichText:
              if (null == lsp.fontJson || 0 == lsp.fontTextures.length) {
                comp = this._getTargetTextTypeComponent();
                lsp.fontJson = comp.font;
                lsp.fontTextures = comp.textures;
              }
            }
            lsp.defaultFontSize = this._defaultFontSize;
            return [ 2 ];
          });
        });
      };
      UILanguage.prototype._getTargetTextTypeComponent = function() {
        switch (this._targetTextNodeType) {
         case TargetTextNodeType.Label:
          return this.target.getComponent(cc.Label);

         case TargetTextNodeType.RichText:
          return this.target.getComponent(cc.RichText);

         case TargetTextNodeType.TextMeshPro:
          return this.target.getComponent(PPPB_TextMeshPro_1.default);

         case TargetTextNodeType.TMPRichText:
          return this.target.getComponent(PPPB_TmpRichText_1.default);

         default:
          cc.error("Unable to get text component for target type " + this._targetTextNodeType + " on object: " + this.target.name);
        }
      };
      UILanguage.prototype._getTargetText = function() {
        switch (this._targetTextNodeType) {
         case TargetTextNodeType.TextMeshPro:
         case TargetTextNodeType.TMPRichText:
          return this._getTargetTextTypeComponent().string;

         case TargetTextNodeType.Label:
         case TargetTextNodeType.RichText:
         default:
          return PPPB_ui_1.ui.getUIDataValue(this.target || this);
        }
      };
      UILanguage.prototype._setTargetText = function(text) {
        switch (this._targetTextNodeType) {
         case TargetTextNodeType.TextMeshPro:
         case TargetTextNodeType.TMPRichText:
          this._getTargetTextTypeComponent().string = text;
          break;

         case TargetTextNodeType.Label:
         case TargetTextNodeType.RichText:
         default:
          PPPB_ui_1.ui.setUIDataValue(this.target || this, text);
        }
      };
      UILanguage.prototype._refreshEnumMatchTextKeyName = function(textKeyName) {
        var text;
        var textE;
        var keys;
        var e;
        var i;
        var k;
        false;
      };
      UILanguage.prototype._updateFontBasedOnLanguage = function() {
        var _this = this;
        var lsp = this.LanguageStringPropertys.find(function(property) {
          return property.key == _this._language;
        });
        var textComp = this._getTargetTextTypeComponent();
        if (null == textComp) {
          console.error("Could not update font for language " + this._language + " on object " + this.target.name + " due to missing text component (type " + this._targetTextNodeType + ")", this.target);
          return;
        }
        switch (this._targetTextNodeType) {
         case TargetTextNodeType.Label:
          lsp.font && (textComp.font = lsp.font);
          break;

         case TargetTextNodeType.RichText:
          textComp.font = lsp.fontTtf;
          break;

         case TargetTextNodeType.TextMeshPro:
          textComp.setFont(lsp.fontJson, lsp.fontTextures);
          break;

         case TargetTextNodeType.TMPRichText:
          textComp.font = lsp.fontJson;
          break;

         default:
          cc.error("Unable to update font due to unknown target text type: " + this._targetTextNodeType + " on object: " + this.target.name, this.target);
        }
        textComp.fontSize = lsp.useCustomFontSize ? lsp.customFontSize : this._defaultFontSize;
      };
      UILanguage.prototype.refreshLanguage = function() {
        var _this = this;
        var text;
        if (this._textKeyName) {
          var lang = PPPB_language_1.language.data[this._language];
          if (lang) if (lang[this._textKeyName]) text = lang[this._textKeyName]; else {
            lang = PPPB_language_1.language.data["en"];
            text = lang[this._textKeyName];
          } else {
            lang = PPPB_language_1.language.data["en"];
            text = lang[this._textKeyName];
          }
        } else for (var _i = 0, _a = this.LanguageStringPropertys; _i < _a.length; _i++) {
          var lsp = _a[_i];
          if (lsp.key == this._language && lsp.value) {
            text = lsp.value;
            break;
          }
        }
        if (void 0 !== text) {
          this._params.length ? Promise.all(this._params.map(function(v) {
            return v.getValue();
          })).then(function(ps) {
            1 === ps.length && Array.isArray(ps[0]) && (ps = ps[0]);
            _this._setTargetText(PPPB_lib_1._.sprintf.apply(PPPB_lib_1._, __spreadArrays([ text ], ps)));
          }) : this._setTargetText(text);
          this.refreshStringFormat();
          this.refreshLanguageAlign();
        }
        this.target.activeInHierarchy && this._updateFontBasedOnLanguage();
      };
      UILanguage.prototype.refreshStringFormat = function() {
        var text = this.getComponent(cc.RichText);
        if (text && this.paramKeyStrings.length > 0) {
          for (var i = 0; i < this.paramKeyStrings.length; i++) text.string = text.string.replace("{" + i + "}", this.paramKeyStrings[i]);
          text.imageAtlas = PPPB_RichTextAtlasManager_1.default.cachedAtlas;
        }
        var label = this.getComponent(cc.Label);
        if (label) if (this.paramKeyStrings.length > 0) for (var i = 0; i < this.paramKeyStrings.length; i++) label.string = label.string.replace("{" + i + "}", this.paramKeyStrings[i]); else this._paramKey && (label.string = label.string.replace("{0}", this._paramKey));
      };
      UILanguage.prototype.refreshLanguageAlign = function() {
        if (!this.getComponent("UILangAlign")) {
          do {
            var p = PPPB_ui_1.ui.getRelativePos(this, this.target);
            var r = this.getComponent(cc.RichText);
            var l = this.getComponent(cc.Label);
            if (0 == p.x && .5 == this.node.anchorX && l && l.horizontalAlign === cc.Label.HorizontalAlign.CENTER || r && r.horizontalAlign === cc.macro.TextAlignment.CENTER) break;
          } while (false);
          return;
        }
      };
      UILanguage.prototype.format = function(textNameKey) {
        void 0 === textNameKey && (textNameKey = "");
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
        textNameKey && (this._textKeyName = textNameKey);
        var lang = PPPB_language_1.language.data[this._language];
        if (lang) {
          var t = lang[this._textKeyName];
          this._setTargetText(PPPB_lib_1._.sprintf.apply(PPPB_lib_1._, __spreadArrays([ t ], args)));
        }
      };
      UILanguage.prototype.onLoad = function() {
        var _this = this;
        this.target || (this.target = this.node);
        this._initializeTargetTextNodeType();
        if (this._textKeyName) for (var _i = 0, _a = this.LanguageStringPropertys; _i < _a.length; _i++) {
          var property_1 = _a[_i];
          if (property_1.key == this._textKeyName && !property_1.useCustomFontSize) {
            this._defaultFontSize = this._getTargetTextTypeComponent().fontSize;
            break;
          }
        } else this._defaultFontSize = this._getTargetTextTypeComponent().fontSize;
        var langs;
        false;
        this._language = PPPB_language_1.language.type;
        this.refreshEventNode && this.refreshEventNode.on("refresh", this.refreshLanguage, this);
      };
      UILanguage.prototype.onEnable = function() {
        var _i, _a;
        var property_2;
        false;
        this.refreshLanguage();
      };
      UILanguage.refresh = function(lang) {
        cc.director.getScene().getChildByName("Canvas").getComponentsInChildren(UILanguage_1).forEach(function(ul) {
          ul._language = lang;
          ul.refreshLanguage();
        });
      };
      var UILanguage_1;
      __decorate([ property({
        type: cc.Enum(TargetTextNodeType)
      }) ], UILanguage.prototype, "_targetTextNodeType", void 0);
      __decorate([ property(cc.Node) ], UILanguage.prototype, "target", void 0);
      __decorate([ property ], UILanguage.prototype, "_language", void 0);
      __decorate([ property({
        type: UILanguage_1.languageEnum
      }) ], UILanguage.prototype, "language", null);
      __decorate([ property ], UILanguage.prototype, "_textKeyName", void 0);
      __decorate([ property ], UILanguage.prototype, "textKeyName", null);
      __decorate([ property({
        type: cc.Enum({})
      }) ], UILanguage.prototype, "textKey", null);
      __decorate([ property({
        type: cc.Enum({})
      }) ], UILanguage.prototype, "textName", null);
      __decorate([ property({
        type: cc.Enum({
          "\u5237\u65b0": 0
        })
      }) ], UILanguage.prototype, "matchTextKeyName", null);
      __decorate([ property({
        type: cc.Node,
        tooltip: false
      }) ], UILanguage.prototype, "refreshEventNode", void 0);
      __decorate([ property([ cc.String ]) ], UILanguage.prototype, "paramKeyStrings", void 0);
      __decorate([ property({
        type: cc.Boolean,
        tooltip: false
      }) ], UILanguage.prototype, "setDefaultFontSize", null);
      __decorate([ property(cc.Integer) ], UILanguage.prototype, "_defaultFontSize", void 0);
      __decorate([ property({
        type: cc.Integer,
        tooltip: false
      }) ], UILanguage.prototype, "defaultFontSize", null);
      __decorate([ property([ UILanguageStringProperty ]) ], UILanguage.prototype, "_languageStringPropertys", void 0);
      __decorate([ property({
        type: [ UILanguageStringProperty ],
        tooltip: false
      }) ], UILanguage.prototype, "LanguageStringPropertys", null);
      __decorate([ property([ LanguageParam ]) ], UILanguage.prototype, "_params", void 0);
      __decorate([ property({
        type: [ LanguageParam ],
        tooltip: false
      }) ], UILanguage.prototype, "Params", null);
      UILanguage = UILanguage_1 = __decorate([ ccclass, menu("PPPB/\u591a\u8bed\u8a00\u652f\u6301/UILanguageTxt"), executeInEditMode ], UILanguage);
      return UILanguage;
    }(cc.Component);
    exports.UILanguage = UILanguage;
    PPPB_event_1.Events.on("setLanguage", UILanguage.refresh);
    cc._RF.pop();
  }, {
    "../../../textMeshPro/scripts/PPPB-TextMeshPro": "PPPB-TextMeshPro",
    "../../../textMeshPro/scripts/PPPB-TmpRichText": "PPPB-TmpRichText",
    "../../common/managers/PPPB-RichTextAtlasManager": "PPPB-RichTextAtlasManager",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-language": "PPPB-language",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-editor": "PPPB-editor"
  } ],
  "PPPB-UIListTag": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "89511miwXVEp71QUUUdXaek", "PPPB-UIListTag");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIListTag = void 0;
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode;
    var UIListTag = function(_super) {
      __extends(UIListTag, _super);
      function UIListTag() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.tag = 0;
        return _this;
      }
      __decorate([ property({
        tooltip: (true, "UIList\u7684Item\u8282\u70b9\u5c42\u7ea7")
      }) ], UIListTag.prototype, "tag", void 0);
      UIListTag = __decorate([ ccclass, executeInEditMode, menu("PPPB/ui\u5217\u8868/UI_ListTag") ], UIListTag);
      return UIListTag;
    }(PPPB_UComponent_1.UComponent);
    exports.UIListTag = UIListTag;
    cc._RF.pop();
  }, {
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-UIList": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a2a2fkkbVdJ27YT2eOe0g4J", "PPPB-UIList");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIList = void 0;
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_UIData_1 = require("./PPPB-UIData");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, playOnFocus = _a.playOnFocus;
    var AutoScrollType = cc.Enum({
      NONE: 0,
      END_WHEN_PUSH: -1,
      WHERE_INSERT: -1
    });
    var itemJson = {
      attr: {
        y: -20,
        width: 200,
        height: 40,
        name: "item"
      },
      Components: [ [ "Widget", {
        isAlignLeft: true,
        isAlignRight: true
      } ] ],
      Childrens: [ {
        attr: {
          x: -100,
          anchorX: 0,
          width: 49.12,
          height: 30,
          name: "$"
        },
        Components: [ [ "Label", {
          string: "item",
          horizontalAlign: 1,
          verticalAlign: 1,
          fontSize: 26,
          lineHeight: 30
        } ], [ "Widget", {
          isAlignLeft: true
        } ] ]
      } ]
    };
    var listJson = {
      Components: [],
      Childrens: [ {
        attr: {
          y: 50,
          anchorY: 1,
          width: 200,
          height: 40,
          name: "content"
        },
        Components: [ [ "Widget", {
          isAlignTop: true,
          isAlignLeft: true,
          isAlignRight: true,
          bottom: -150
        } ], [ "Layout", {
          type: 3,
          resizeMode: 1,
          affectedByScale: true
        } ] ],
        Childrens: [ itemJson ]
      } ]
    };
    var scrollJson = {
      horizontal: false,
      brake: .75,
      bounceDuration: 1
    };
    var _htVec3a = cc.v3();
    var KEY_OLD_CLICK_CB = Symbol("oldClickCB");
    var KEY_OLD_TOGGLE_CB = Symbol("oldToggleCB");
    var KEY_OLD_SLIDE_CB = Symbol("oldSlideCB");
    var KEY_OLD_DEF_CB = Symbol("oldDefCB");
    var UIList = function(_super) {
      __extends(UIList, _super);
      function UIList() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._fitContentSize = false;
        _this.updateLayout = false;
        _this._length = 1;
        _this._isString = false;
        _this._values = [];
        _this.col_row = [ 0, 0 ];
        _this.interactable = true;
        _this._itemPrefab = null;
        _this._scroll = false;
        _this.autoScroll = AutoScrollType.NONE;
        _this.scrollTimeSec = .3;
        _this.scrollAttenuated = true;
        _this._content = null;
        _this._touchstartItem = null;
        return _this;
      }
      Object.defineProperty(UIList.prototype, "fitContentSize", {
        get: function() {
          return this._fitContentSize;
        },
        set: function(b) {
          this._fitContentSize = b;
          b && this.node.setContentSize(this.content.node.getContentSize());
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIList.prototype, "length", {
        get: function() {
          return this._length;
        },
        set: function(v) {
          var len = this.length;
          if (v === this.length) return;
          if (len < v) for (var i = len; i < v; i++) this.createItem(i); else for (var i = len - 1; i >= v; i--) this.removeItem(i);
          this.updateLayout && this._content && this._content.updateLayout();
          this._length || (this._values = []);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIList.prototype, "value", {
        get: function() {
          var uiData = this.getComponent(PPPB_UIData_1.UIData);
          return uiData && uiData.dataType === PPPB_UIData_1.UIData.DataType.number ? this.length : this.values;
        },
        set: function(v) {
          "number" === typeof v ? this.length = v : PPPB_lib_1._.isArray(v) && (this.values = v);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIList.prototype, "values", {
        get: function() {
          return this._values;
        },
        set: function(v) {
          this._values = v;
          var len = v.length;
          this.length = len;
          for (var i = 0; i < len; i++) this.set(i, v[i]);
        },
        enumerable: false,
        configurable: true
      });
      UIList.prototype.calcContentSize = function(len) {
        void 0 === len && (len = this._length);
        var cSize = this.content.node.getContentSize();
        var ch = this.content.node.getContentSize();
        var pl = this.content.paddingLeft;
        var pr = this.content.paddingRight;
        var pt = this.content.paddingTop;
        var pb = this.content.paddingBottom;
        var px = this.content.spacingX;
        var py = this.content.spacingY;
        switch (this.content.type) {
         case cc.Layout.Type.HORIZONTAL:
          var w = 0;
          w = this.itemSize().width * len;
          ch = cc.size(w + pl + pr + px * Math.max(len - 1, 0), cSize.height);
          break;

         case cc.Layout.Type.VERTICAL:
          var h = 0;
          h = this.itemSize().height * len;
          ch = cc.size(cSize.width, h + pt + pb + py * Math.max(len - 1, 0));
          break;

         case cc.Layout.Type.GRID:
          var iSizes = [];
          for (var i = 0; i < len; i++) {
            var iSize = this.itemSize();
            iSizes.push(iSize);
          }
          switch (this.content.startAxis) {
           case cc.Layout.AxisDirection.HORIZONTAL:
            var nw = pl + pr, ans = -2;
            var cWidth = this.content.node.width;
            for (var i = 0; i < iSizes.length; i++) {
              nw += iSizes[i].width + (i > 0 ? px : 0);
              if (nw > cWidth) {
                ans = Math.max(i - 1, 0);
                break;
              }
            }
            var col = -2 == ans ? iSizes.length : ans + 1;
            var row = col ? Math.ceil(len / col) : len;
            var h = 0;
            for (var i = 0; i < row; i++) h += iSizes[i].height;
            ch = cc.size(cSize.width, h + pt + pb + py * Math.max(row, 0));
            this.col_row = [ col, row ];
            break;

           case cc.Layout.AxisDirection.VERTICAL:
            var nh = pt + pb, ans = -2;
            var cHeight = this.content.node.height;
            for (var i = 0; i < iSizes.length; i++) {
              nh += iSizes[i].height + (i > 0 ? py : 0);
              if (nh > cHeight) {
                ans = Math.max(i - 1, 0);
                break;
              }
            }
            var row = -2 == ans ? iSizes.length : ans + 1;
            var col = row ? Math.ceil(len / row) : len;
            var w = 0;
            for (var i = 0; i < col; i++) w += iSizes[i].width;
            ch = cc.size(w + pl + pr + px * Math.max(col, 0), cSize.height);
            this.col_row = [ col, row ];
          }
        }
        return ch;
      };
      UIList.prototype.itemSize = function() {
        if (this._itemSize) return this._itemSize;
        var node = this._itemPrefab && cc.instantiate(this._itemPrefab);
        if (!node) return {
          width: 0,
          height: 0
        };
        this.registerEvent(node);
        this.setItemInfo(node);
        return this._itemSize;
      };
      UIList.prototype.itemPos = function() {
        if (this._itemPos) return this._itemPos;
        var node = this._itemPrefab && cc.instantiate(this._itemPrefab);
        if (!node) return {
          x: 0,
          y: 0
        };
        this.registerEvent(node);
        this.setItemInfo(node);
        return this._itemPos;
      };
      UIList.prototype.setItemInfo = function(node) {
        this._itemSize = node.getContentSize();
        this._itemPos = node.getPosition();
        this._itemAP = node.getAnchorPoint();
        var ap = node.getAnchorPoint();
        this._itemPos.x += (ap.x - .5) * this._itemPos.x;
        this._itemPos.y += (ap.y - .5) * this._itemPos.y;
      };
      Object.defineProperty(UIList.prototype, "itemPrefab", {
        get: function() {
          return this._itemPrefab;
        },
        set: function(v) {
          if (this._itemPrefab != v) {
            this._itemPrefab = v;
            if (v) {
              var len = this.length;
              false;
              this._removeAllItems();
              this.length = len;
            }
          }
        },
        enumerable: false,
        configurable: true
      });
      UIList.prototype._removeAllItems = function() {
        var contentNode = this.content.node;
        for (var i = contentNode.childrenCount - 1; i >= 0; i--) {
          var itemNode = contentNode.children[i];
          itemNode.destroy();
        }
        contentNode.removeAllChildren();
        this._length = 0;
      };
      Object.defineProperty(UIList.prototype, "scroll", {
        get: function() {
          return this._scroll;
        },
        set: function(b) {
          this._scroll = b;
          if (b) {
            this.fitContentSize = false;
            var c = PPPB_ui_1.ui.addComponentFromJson(this, cc.ScrollView, scrollJson);
            c.content = this.content.node;
          } else PPPB_ui_1.ui.removeComponent(this, cc.ScrollView);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIList.prototype, "scrollView", {
        get: function() {
          return this.getComponent(cc.ScrollView);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIList.prototype, "content", {
        get: function() {
          this._content || (this._content = PPPB_ui_1.ui.getComponentByPath(this, "content", cc.Layout));
          return this._content;
        },
        enumerable: false,
        configurable: true
      });
      UIList.prototype.onLoad = function() {
        var content = PPPB_ui_1.ui.getChildByName(this, "content");
        content || PPPB_ui_1.ui.fromJson(listJson, this.node);
        var contentNode = this.content.node;
        this._length !== contentNode.childrenCount && (this._length = contentNode.childrenCount);
        this.itemSize();
        true;
        var values = this.values;
        contentNode.removeAllChildren();
        this.length = 0;
        this.values = values;
        this.fitContentSize && this.node.setContentSize(contentNode.getContentSize());
        if (this.interactable) {
          contentNode.on("touchstart", this.touchItemEvents.bind(this, "touchstart"));
          contentNode.on("touchmove", this.touchItemEvents.bind(this, "touchmove"));
          contentNode.on("touchend", this.touchItemEvents.bind(this, "touchend"));
          contentNode.on("touchcancel", this.touchItemEvents.bind(this, "touchcancel"));
        }
        contentNode.on("size-changed", this.onContentSizeChange, this);
        this._scroll && this.node.on("scrolling", this.onScrolling, this);
      };
      UIList.prototype.onContentSizeChange = function() {
        this.fitContentSize && this.node.setContentSize(this.content.node.getContentSize());
      };
      UIList.prototype.onScrolling = function(ev) {};
      UIList.prototype.onDestroyed = function() {};
      UIList.prototype.onEnable = function() {
        true;
        var w_1 = PPPB_ui_1.ui.getComponent(this.content, cc.Widget);
        w_1 && w_1.enabled && this.nextFrame(function() {
          w_1.enabled = false;
        });
      };
      UIList.prototype.touchItemEvents = function(type, touch) {
        var item = this.pickIitem(touch.getLocation());
        this.itemEvents(type, item, touch);
      };
      Object.defineProperty(UIList.prototype, "reserveItemsCount", {
        get: function() {
          return this.content.node.childrenCount - this._length;
        },
        enumerable: false,
        configurable: true
      });
      UIList.prototype.removeItem = function(index) {
        var contentNode = this.content.node;
        var node = contentNode.children[index];
        if (node) {
          false;
          node.active = false;
          node.setSiblingIndex(this._length - 1);
        }
        this._length--;
        if (0 === this._length && (this.content.type === cc.Layout.Type.GRID || this.content.type === cc.Layout.Type.VERTICAL)) {
          var widget = PPPB_ui_1.ui.getComponent(this.content, cc.Widget);
          widget && widget.isAlignTop && widget.isAlignBottom || (this.content.node.height = 0);
        }
      };
      UIList.prototype.createItem = function(index, value) {
        var contentNode = this.content.node;
        var n;
        if (contentNode.childrenCount > this._length) {
          n = contentNode.children[this._length];
          n.active = true;
          n.setSiblingIndex(index);
        } else {
          n = this._createItem();
          contentNode.insertChild(n, index);
        }
        this._length++;
        n && void 0 != value && PPPB_ui_1.ui.setUIDataValue(n, value);
        return n;
      };
      UIList.prototype._createItem = function() {
        var n;
        this._itemPrefab && (n = cc.instantiate(this._itemPrefab));
        n || (n = PPPB_ui_1.ui.fromJson(itemJson));
        this.registerEvent(n);
        return n;
      };
      UIList.prototype.registerEvent = function(n) {
        var _this = this;
        if (n && this.interactable) {
          var onFun_1 = function(node, type, fun) {
            var sy = null;
            sy = "click" == type ? KEY_OLD_CLICK_CB : "toggle" == type ? KEY_OLD_TOGGLE_CB : "slide" == type ? KEY_OLD_SLIDE_CB : KEY_OLD_DEF_CB;
            if (node[sy]) {
              node.off(type, node[sy]);
              delete node[sy];
            }
            node.on(type, fun);
            node[sy] = fun;
          };
          if (n.getComponent(cc.Toggle)) {
            onFun_1(n, "toggle", this.itemEvents.bind(this, "toggle", n));
            this.regHitTest(n);
          } else if (n.getComponent(cc.Button)) {
            onFun_1(n, "click", this.itemEvents.bind(this, "click", n));
            this.regHitTest(n);
          } else if (n.getComponent(cc.Slider)) {
            onFun_1(n, "slide", this.itemEvents.bind(this, "slide", n));
            this.regHitTest(n);
          }
          PPPB_ui_1.ui.lookupComponents(n, cc.Button, function(c, res) {
            if (c.node !== n && c.node.width > 0 && c.node.height > 0) {
              onFun_1(c.node, "click", _this.itemEvents.bind(_this, PPPB_ui_1.ui.getPath(c, n).join("_") + "_click", n));
              _this.regHitTest(c.node);
            }
            return true;
          });
          PPPB_ui_1.ui.lookupComponents(n, cc.Toggle, function(c, res) {
            if (c.node !== n && c.interactable && c.node.width > 0 && c.node.height > 0) {
              onFun_1(c.node, "toggle", _this.itemEvents.bind(_this, PPPB_ui_1.ui.getPath(c, n).join("_") + "_toggle", n));
              _this.regHitTest(c.node);
            }
            return true;
          });
          PPPB_ui_1.ui.lookupComponents(n, cc.Slider, function(c, res) {
            if (c.node !== n && c.enabled && c.node.width > 0 && c.node.height > 0) {
              onFun_1(c.node, "slide", _this.itemEvents.bind(_this, PPPB_ui_1.ui.getPath(c, n).join("_") + "_slide", n));
              _this.regHitTest(c.node);
            }
            return true;
          });
        }
      };
      UIList.prototype.regHitTest = function(node) {
        var oldHitTest = node._hitTest;
        var newHitTest = function(point, listener) {
          if (oldHitTest.call(this, point, listener) && listener && "__cc_mouse" != listener._listenerID) {
            var n = node.parent;
            var worldPos = point;
            if (worldPos && n) {
              var cameraPt = _htVec3a;
              var camera = cc.Camera.findCamera(node);
              camera ? camera.getScreenToWorldPoint(point, cameraPt) : cameraPt.set(point);
              while (n && cc.Node.isNode(n)) {
                var m = n.getComponent(cc.Mask);
                if (m && m.enabledInHierarchy && !m._hitTest(cameraPt)) return false;
                n = n.parent;
              }
            }
            return true;
          }
          return false;
        };
        cc.js.value(node, "_hitTest", newHitTest, true, true);
      };
      UIList.prototype.itemEvents = function(type, item, event) {
        if (this.scrollView && this.scrollView["_touchMoved"]) {
          this._touchstartItem = null;
          event.detail = this;
          event.index = this.indexOfItems(item);
          this.node.emit("item_touchcancel", event);
        }
        if ("touchstart" === type) this._touchstartItem = item; else if (item && "touchend" === type && this._touchstartItem === item) {
          event.detail = this;
          event.index = this.indexOfItems(item);
          this.node.emit("item_click", event);
        } else "touchmove" === type || (this._touchstartItem = null);
        event.detail = this;
        event.index = this.indexOfItems(item);
        this.node.emit("item_" + type, event);
      };
      UIList.prototype.indexOfItems = function(item) {
        return this.content.node.children.indexOf(item);
      };
      UIList.prototype.pickIitem = function(worldPos) {
        for (var i = 0; i < this._length; i++) {
          var item = this.content.node.children[i];
          if (item) {
            var rect = PPPB_ui_1.ui.getWorldRect(item);
            if (rect && rect.contains(worldPos)) return item;
          }
        }
        return null;
      };
      UIList.prototype.set = function(idx, value) {
        var len = this._length;
        idx < 0 && (idx = len + idx);
        idx >= len && (idx = len - 1);
        PPPB_ui_1.ui.setChildUIDataValue(this.content, idx, value);
      };
      UIList.prototype.get = function(idx) {
        var len = this._length;
        idx < 0 && (idx = len + idx);
        idx >= len && (idx = len - 1);
        return PPPB_ui_1.ui.getChildUIDataValue(this.content, idx);
      };
      UIList.prototype.getItemNode = function(idx) {
        var len = this._length;
        idx < 0 && (idx = len + idx);
        idx >= len && (idx = len - 1);
        var node = this.content.node.children[idx];
        return node;
      };
      UIList.prototype.getItemNodeAsync = function(idx) {
        return __awaiter(this, void 0, void 0, function() {
          var node;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              node = this.content.node.children[idx];
              if (!!node) return [ 3, 2 ];
              return [ 4, PPPB_lib_1._.waiting(function() {
                if (!PPPB_ui_1.ui.isValid(_this)) return true;
                return !!_this.content.node.children[idx];
              }, true, 2e3, 10) ];

             case 1:
              _a.sent();
              if (!PPPB_ui_1.ui.isValid(this)) return [ 2, null ];
              node = this.content.node.children[idx];
              _a.label = 2;

             case 2:
              return [ 2, node ];
            }
          });
        });
      };
      UIList.prototype.getAllItemNode = function() {
        return this.content.node.children.slice(0, this._length);
      };
      UIList.prototype.isItemInViewFull = function(idx, endure) {
        void 0 === endure && (endure = cc.v2(-.1, -.1));
        if (!this.isValid) return false;
        var node = this.content.node.children[idx];
        if (!node) return false;
        var rect = PPPB_ui_1.ui.getWorldRect(this);
        var rectItem = PPPB_ui_1.ui.getWorldRect(node, cc.v2(-.1, -.1));
        return rect.containsRect(rectItem);
      };
      UIList.prototype.scrollToItemTop = function(idx, timeInSecond, attenuated) {
        if (!this.isValid || !this.scrollView) return;
        this.content.updateLayout();
        var node = this.getItemNode(idx);
        if (!node) return;
        var b = node.getBoundingBox();
        void 0 === timeInSecond ? timeInSecond = this.scrollTimeSec : 0 === timeInSecond && (timeInSecond = void 0);
        void 0 === attenuated && (attenuated = this.scrollAttenuated);
        var content = this.content.node;
        this.scrollView.scrollToOffset(cc.v2(b.xMin - this.content.paddingLeft + content.anchorX * content.width, (1 - content.anchorY) * content.height - b.yMax - this.content.paddingTop), timeInSecond, attenuated);
      };
      UIList.prototype.scrollToItem = function(idx, timeInSecond, attenuated) {
        if (!this.isValid || !this.scrollView) return;
        this.content.updateLayout();
        var node = this.getItemNode(idx);
        if (!node) return;
        var b = node.getBoundingBox();
        void 0 === timeInSecond ? timeInSecond = this.scrollTimeSec : 0 === timeInSecond && (timeInSecond = void 0);
        void 0 === attenuated && (attenuated = this.scrollAttenuated);
        var content = this.content.node;
        this.scrollView.scrollToOffset(cc.v2(b.xMax + this.content.paddingRight + content.anchorX * content.width - this.node.width, (1 - content.anchorY) * content.height - b.yMin + this.content.paddingBottom - this.node.height), timeInSecond, attenuated);
      };
      UIList.prototype.push = function() {
        var _a;
        var _this = this;
        var values = [];
        for (var _i = 0; _i < arguments.length; _i++) values[_i] = arguments[_i];
        var isAutoScrollEnd = this.autoScroll === AutoScrollType.END_WHEN_PUSH && (0 === this._length || this.scrollView && this.scrollView.isAutoScrolling() || this.isItemInViewFull(-1)) || this.autoScroll === AutoScrollType.WHERE_INSERT;
        (_a = this._values).push.apply(_a, values);
        var len = this.length;
        this.length = len + values.length;
        isAutoScrollEnd && this.scheduleOnce(function() {
          _this.scrollToItem(-1);
        });
      };
      UIList.prototype.pop = function() {
        this.length && this.length--;
      };
      UIList.prototype.unshift = function() {
        var _a;
        var values = [];
        for (var _i = 0; _i < arguments.length; _i++) values[_i] = arguments[_i];
        var vLen = values.length;
        if (vLen > 0) {
          (_a = this._values).unshift.apply(_a, values);
          for (var i = 0; i < vLen; i++) this.createItem(i, values[i]);
          vLen > 0 && this.autoScroll === AutoScrollType.WHERE_INSERT && this.scrollToItem(vLen);
        }
      };
      UIList.prototype.shift = function() {
        this._length > 0 && this.removeItem(0);
      };
      UIList.prototype.splice = function(start, deleteCount) {
        var _a;
        var values = [];
        for (var _i = 2; _i < arguments.length; _i++) values[_i - 2] = arguments[_i];
        var len = this.length;
        if (start < 0 || start >= len) return;
        start + deleteCount > len && (deleteCount = len - start);
        for (var i = deleteCount - 1; i >= 0; i--) this.removeItem(start + i);
        var vLen = values.length;
        (_a = this._values).splice.apply(_a, __spreadArrays([ start, deleteCount ], values));
        for (var i = vLen - 1; i >= 0; i--) this.createItem(start, values[i]);
        vLen > 0 && this.autoScroll === AutoScrollType.WHERE_INSERT && this.scrollToItem(start + vLen);
      };
      UIList.prototype.insert = function(start) {
        var values = [];
        for (var _i = 1; _i < arguments.length; _i++) values[_i - 1] = arguments[_i];
        if (start < 0 || start >= this._length) return this.push.apply(this, values);
        return this.splice.apply(this, __spreadArrays([ start, 0 ], values));
      };
      __decorate([ property(cc.Boolean) ], UIList.prototype, "_fitContentSize", void 0);
      __decorate([ property({
        type: cc.Boolean,
        tooltip: false
      }) ], UIList.prototype, "fitContentSize", null);
      __decorate([ property ], UIList.prototype, "updateLayout", void 0);
      __decorate([ property(cc.Integer) ], UIList.prototype, "_length", void 0);
      __decorate([ property({
        type: cc.Integer,
        min: 0,
        max: 1e3,
        visible: function() {
          return !this._isString;
        }
      }) ], UIList.prototype, "length", null);
      __decorate([ property({
        type: [ cc.String ],
        visible: function() {
          return this._isString;
        }
      }) ], UIList.prototype, "value", null);
      __decorate([ property({
        tooltip: false
      }) ], UIList.prototype, "interactable", void 0);
      __decorate([ property(cc.Prefab) ], UIList.prototype, "_itemPrefab", void 0);
      __decorate([ property({
        type: cc.Prefab,
        tooltip: false
      }) ], UIList.prototype, "itemPrefab", null);
      __decorate([ property(cc.Boolean) ], UIList.prototype, "_scroll", void 0);
      __decorate([ property({
        type: cc.Boolean,
        tooltip: false
      }) ], UIList.prototype, "scroll", null);
      __decorate([ property({
        tooltip: false
      }), property({
        type: AutoScrollType,
        visible: function() {
          return this._scroll;
        },
        tooltip: false
      }) ], UIList.prototype, "autoScroll", void 0);
      __decorate([ property({
        visible: function() {
          return this._scroll;
        }
      }) ], UIList.prototype, "scrollTimeSec", void 0);
      __decorate([ property({
        visible: function() {
          return this._scroll;
        }
      }) ], UIList.prototype, "scrollAttenuated", void 0);
      UIList = __decorate([ ccclass, executeInEditMode, playOnFocus, menu("PPPB/ui/UI_List") ], UIList);
      return UIList;
    }(PPPB_UIData_1.UIDataValue);
    exports.UIList = UIList;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UIData": "PPPB-UIData"
  } ],
  "PPPB-UIMask": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "bed30jxOyFJ/oBHs77RtoKg", "PPPB-UIMask");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIMask = void 0;
    var PPPB_UIShape_1 = require("./PPPB-UIShape");
    var _a = cc._decorator, ccclass = _a.ccclass, menu = _a.menu, inspector = _a.inspector;
    var UIMask = function(_super) {
      __extends(UIMask, _super);
      function UIMask() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      UIMask.prototype.onLoad = function() {
        _super.prototype.onLoad.call(this);
      };
      UIMask.prototype._hitTest = function(point) {
        var b;
        var shape = this.getComponent(PPPB_UIShape_1.UIShape);
        b = shape ? shape.worldPointIn(point) : _super.prototype["_hitTest"].call(this, point);
        return this.inverted ? !b : b;
      };
      UIMask = __decorate([ ccclass, menu("PPPB/ui/UI_Mask"), inspector("packages://inspector/inspectors/comps/mask.js") ], UIMask);
      return UIMask;
    }(cc.Mask);
    exports.UIMask = UIMask;
    cc._RF.pop();
  }, {
    "./PPPB-UIShape": "PPPB-UIShape"
  } ],
  "PPPB-UINumber": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5c011qotdNGPYDTFl+nrg3J", "PPPB-UINumber");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UINumber = exports.NumberShowType = void 0;
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UIData_1 = require("./PPPB-UIData");
    var PPPB_MoneyDisplayHelper_1 = require("../../common/utils/PPPB-MoneyDisplayHelper");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var NumberShowType;
    (function(NumberShowType) {
      NumberShowType[NumberShowType["Default"] = 0] = "Default";
      NumberShowType[NumberShowType["BKM_MONEY"] = 1] = "BKM_MONEY";
      NumberShowType[NumberShowType["MONEY"] = 2] = "MONEY";
      NumberShowType[NumberShowType["K_M_G"] = 3] = "K_M_G";
      NumberShowType[NumberShowType["MONEY_BIG"] = 4] = "MONEY_BIG";
      NumberShowType[NumberShowType["\u4e07\u4ebf"] = 5] = "\u4e07\u4ebf";
    })(NumberShowType = exports.NumberShowType || (exports.NumberShowType = {}));
    var UINumber = function(_super) {
      __extends(UINumber, _super);
      function UINumber() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.showType = NumberShowType.Default;
        _this.dur = .3;
        _this.toFix = 0;
        _this.isFixDot = false;
        _this.isDecimal = false;
        _this.prefix = "";
        _this.aniScale = 1.2;
        _this.isHideZero = false;
        _this.first = true;
        _this._prev = 0;
        _this._step = 0;
        _this.num = 0;
        return _this;
      }
      Object.defineProperty(UINumber.prototype, "value", {
        get: function() {
          return this.num;
        },
        set: function(v) {
          var t = typeof v;
          if ("number" === t) {
            this._prev = this.num;
            if (this.first || this.dur <= 0) {
              this.num = this._prev = v;
              this.updateShow();
              this.first = false;
            } else {
              this._step = (v - this._prev) / this.dur * .1;
              this.num = v;
              if (this._step) {
                this.updateShow();
                this.next();
              }
            }
          } else if ("string" === t) {
            v = PPPB_lib_1._.parseNumber(v);
            this._prev = this.num = v;
            this.updateShow();
          } else if (Array.isArray(v) && "number" === typeof v[0] && v[1] instanceof cc.Color) {
            this.value = v[0];
            this.node.color = v[1];
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UINumber.prototype, "Label", {
        get: function() {
          var com = PPPB_ui_1.ui.getComponent(this, cc.Label);
          if (com) return com;
          return null;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UINumber.prototype, "LabelString", {
        get: function() {
          var com = PPPB_ui_1.ui.getComponent(this, cc.Label);
          if (com) return com.string;
          return null;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UINumber.prototype, "isLabel", {
        get: function() {
          return !!PPPB_ui_1.ui.getComponent(this, cc.Label);
        },
        enumerable: false,
        configurable: true
      });
      UINumber.prototype.updateShow = function() {
        var com = PPPB_ui_1.ui.getComponent(this, cc.Label);
        if (com) if (!this._prev && this.isHideZero) com.string = ""; else {
          var str = "";
          switch (this.showType) {
           case NumberShowType.BKM_MONEY:
            this.toFix = PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin ? 0 : 2;
            this.isDecimal = !PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin;
            str = PPPB_lib_1._.bigNumberString(this._prev, this.isDecimal);
            break;

           case NumberShowType.MONEY:
            str = PPPB_lib_1._.bigNumberString(this._prev, this.isDecimal);
            break;

           case NumberShowType.MONEY_BIG:
            str = PPPB_lib_1._.bigNumberChineseString(this._prev);
            break;

           case NumberShowType.\u4e07\u4ebf:
            str = PPPB_lib_1._.bigNumberUnitString(this._prev, this.toFix, this.isFixDot, this.isDecimal);
            break;

           case NumberShowType.K_M_G:
            str = PPPB_lib_1._.bigNumberKMGString(this._prev, this.toFix, this.isFixDot, this.isDecimal);
            break;

           default:
            str = PPPB_lib_1._.numberFitLength(this._prev, this.toFix, this.isDecimal);
          }
          this.showType == NumberShowType.BKM_MONEY ? com.string = PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin ? str : this.prefix + str : com.string = str;
        }
        com = PPPB_ui_1.ui.getComponent(this, cc.ProgressBar);
        com && (com.progress = this._prev);
      };
      UINumber.prototype.next = function() {
        var _this = this;
        this.scheduleOnce(function() {
          _this._prev += _this._step;
          if (_this._step > 0 && _this._prev >= _this.num || _this._step < 0 && _this._prev <= _this.num) {
            _this._prev = _this.num;
            _this._step = 0;
          } else _this._step && _this.next();
          _this.updateShow();
        }, .02);
      };
      UINumber.prototype.onDisable = function() {
        this.first = true;
      };
      UINumber.prototype.onLoad = function() {
        this._prev = this.num;
        this.updateShow();
      };
      __decorate([ property({
        type: cc.Enum(NumberShowType),
        visible: function() {
          return this.isLabel;
        }
      }) ], UINumber.prototype, "showType", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UINumber.prototype, "dur", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel;
        }
      }) ], UINumber.prototype, "toFix", void 0);
      __decorate([ property({
        tooltip: false,
        visible: function() {
          return this.showType === NumberShowType.\u4e07\u4ebf || this.showType === NumberShowType.K_M_G;
        }
      }) ], UINumber.prototype, "isFixDot", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel;
        }
      }) ], UINumber.prototype, "isDecimal", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel;
        }
      }) ], UINumber.prototype, "prefix", void 0);
      __decorate([ property({
        visible: function() {
          return this.isScaleAni;
        },
        tooltip: false
      }) ], UINumber.prototype, "aniScale", void 0);
      __decorate([ property({
        visible: function() {
          return this.isLabel;
        },
        tooltip: false
      }) ], UINumber.prototype, "isHideZero", void 0);
      UINumber = __decorate([ ccclass, menu("PPPB/ui/UI_Number") ], UINumber);
      return UINumber;
    }(PPPB_UIData_1.UIDataValue);
    exports.UINumber = UINumber;
    cc._RF.pop();
  }, {
    "../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UIData": "PPPB-UIData"
  } ],
  "PPPB-UIShape": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "440134UDexCoqgmua4LN4/X", "PPPB-UIShape");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UIShape = void 0;
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UIMask_1 = require("./PPPB-UIMask");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executionOrder = _a.executionOrder, inspector = _a.inspector, executeInEditMode = _a.executeInEditMode;
    var defaultPoints = [ cc.v2(-50, -50), cc.v2(50, -50), cc.v2(50, 50), cc.v2(-50, 50) ];
    var BlockEvents = [ "touchstart", "touchmove", "touchend" ];
    PPPB_lib_1.cc1.sys.isMobile || BlockEvents.push("mousedown", "mousemove", "mouseup", "mouseenter", "mouseleave", "mousewheel");
    function stopPropagation(event) {
      event.stopPropagation();
    }
    var UIShape = function(_super) {
      __extends(UIShape, _super);
      function UIShape() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._type = UIShape_1.Type.GRAPHICS;
        _this._blockEvent = false;
        _this.invertedBlock = false;
        _this._listEvents = [];
        _this._draw = true;
        _this.__colorScheme = 0;
        _this._snms = 0;
        _this.__snh = false;
        _this._graphType = UIShape_1.GraphType.RRECT;
        _this.offset = cc.v2(0, 0);
        _this.points = defaultPoints;
        _this.radius = 20;
        _this._lineWidth = 5;
        _this._lineJoin = cc.Graphics.LineJoin.ROUND;
        _this._lineCap = cc.Graphics.LineCap.ROUND;
        _this._strokeColor = new cc.Color(30, 110, 160, 225);
        _this._fillColor = new cc.Color(0, 50, 95, 190);
        _this._miterLimit = 10;
        return _this;
      }
      UIShape_1 = UIShape;
      Object.defineProperty(UIShape.prototype, "type", {
        get: function() {
          return this._type;
        },
        set: function(v) {
          if (v !== this._type) {
            this._type = v;
            this._refreshType();
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "blockEvents", {
        get: function() {
          return this._blockEvent;
        },
        set: function(v) {
          var b = !!v;
          if (b !== this._blockEvent) {
            this._blockEvent = b;
            true;
            b ? this._doBlockEvents() : this._doUnBlockEvents();
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "draw", {
        get: function() {
          return this._draw;
        },
        set: function(v) {
          var _this = this;
          var b = !!v;
          if (b !== this._draw) {
            this._draw = b;
            this._refreshType(function(g) {
              g && _this._drawGraphics();
            });
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "colorScheme", {
        get: function() {
          return this.__colorScheme;
        },
        set: function(v) {
          var T = UIShape_1.ColorScheme;
          this.__colorScheme = v;
          switch (v) {
           case T.DEFAULT:
            this.setGraphicColor(new cc.Color(30, 176, 255, 225), new cc.Color(34, 76, 151, 100), 1);
            break;

           case T.UI_DARK:
            this.setGraphicColor(new cc.Color(30, 110, 160, 225), new cc.Color(0, 28, 57, 190), 5);
            break;

           case T.UI_LIGHT:
            this.setGraphicColor(new cc.Color(30, 110, 160, 225), new cc.Color(0, 50, 95, 190), 5);
            break;

           case T.UI_YELLOW:
            this.setGraphicColor(new cc.Color(255, 150, 0, 255), new cc.Color(255, 248, 181, 255), 5);
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "syncNodeMs", {
        get: function() {
          return this._snms;
        },
        set: function(v) {
          this._snms = v;
          this.__syncNodeHandler();
        },
        enumerable: false,
        configurable: true
      });
      UIShape.prototype.__syncNodeHandler = function() {
        return __awaiter(this, void 0, void 0, function() {
          var node, opacity, color, o;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.__snh || this._snms <= 0) return [ 2 ];
              this.__snh = true;
              node = this.node;
              _a.label = 1;

             case 1:
              if (!this.isValid) return [ 3, 3 ];
              if (node.active) {
                o = PPPB_ui_1.ui.getGlobalOpacity(node);
                if (opacity !== o || !node.color.equals(color)) {
                  opacity = o;
                  color = node.color.clone();
                  this._drawGraphics();
                }
              }
              if (this._snms <= 0) return [ 3, 3 ];
              return [ 4, PPPB_lib_1._.sleep(this._snms) ];

             case 2:
              _a.sent();
              return [ 3, 1 ];

             case 3:
              this.__snh = false;
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(UIShape.prototype, "graphType", {
        get: function() {
          return this._graphType;
        },
        set: function(v) {
          if (v !== this._graphType) {
            this._graphType = v;
            this.isPoly || (this.editPoly = false);
            this._drawGraphics();
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "isPoly", {
        get: function() {
          return this._graphType === UIShape_1.GraphType.POLY;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "editPoly", {
        get: function() {
          return false;
        },
        set: function(b) {
          var isEdit;
          var poly_1;
          false;
        },
        enumerable: false,
        configurable: true
      });
      UIShape.prototype.onLoad = function() {
        var _this = this;
        this._updatingGraphics();
        this.__syncNodeHandler();
        false;
        var node = this.node;
        var oldHitTest = node._hitTest.bind(this.node);
        node._hitTest = function(point, listener) {
          if (_this._blockEvent && node.parent && !node.parent._hitTest(point, listener)) return false;
          var b = _this.worldPointIn(point);
          return _this._blockEvent && _this.invertedBlock ? !b : b;
        };
      };
      UIShape.prototype.start = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this._refreshType() ];

             case 1:
              _a.sent();
              this._drawGraphics();
              return [ 2 ];
            }
          });
        });
      };
      UIShape.prototype.onEnable = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              _super.prototype.onEnable && _super.prototype.onEnable.call(this);
              this.node.on("size-changed", this._onNodeChange, this);
              this.node.on("anchor-changed", this._onNodeChange, this);
              (true, this._blockEvent) && this._doBlockEvents();
              if (!(this._type === UIShape_1.Type.MASK)) return [ 3, 2 ];
              return [ 4, PPPB_lib_1._.sleep(30) ];

             case 1:
              _a.sent();
              this._drawMask();
              _a.label = 2;

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      UIShape.prototype._doBlockEvents = function() {
        var events = PPPB_lib_1._.zip(BlockEvents, this._listEvents);
        console.log(events);
        for (var i = 0; i < events.length; i++) this.node.on(events[i], stopPropagation, this);
      };
      UIShape.prototype.onDisable = function() {
        _super.prototype.onDisable && _super.prototype.onDisable.call(this);
        this.node.off("size-changed", this._onNodeChange, this);
        this.node.off("anchor-changed", this._onNodeChange, this);
        (true, this._blockEvent) && this._doUnBlockEvents();
      };
      UIShape.prototype._doUnBlockEvents = function() {
        var events = PPPB_lib_1._.zip(BlockEvents, this._listEvents);
        for (var i = 0; i < events.length; i++) this.node.off(events[i], stopPropagation, this);
      };
      UIShape.prototype.onDestroy = function() {
        false;
        _super.prototype.onDestroy && _super.prototype.onDestroy.call(this);
      };
      UIShape.prototype.onLostFocusInEditor = function() {
        false;
      };
      UIShape.prototype._hitTest = function(point, listener) {
        var _this = this;
        var node = this.node;
        if (this.isPoly) {
          point = node.convertToNodeSpace(point);
          point.x -= node.getContentSize().width / 2;
          point.y -= node.getContentSize().height / 2;
          return cc.Intersection.pointInPolygon(point, this.points.map(function(v) {
            return v.add(_this.offset);
          }));
        }
        return this["__oldHitTest"](point, listener);
      };
      UIShape.prototype._refreshType = function(cb) {
        return __awaiter(this, void 0, Promise, function() {
          var node, sgc, T, g, _a, c, c;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              node = this.node;
              sgc = cc.RenderComponent;
              T = UIShape_1.Type;
              g = null;
              _a = this._type;
              switch (_a) {
               case T.GRAPHICS:
                return [ 3, 1 ];

               case T.MASK:
                return [ 3, 6 ];
              }
              return [ 3, 9 ];

             case 1:
              if (!this._draw) return [ 3, 4 ];
              c = cc.Graphics;
              g = this.getComponent(c);
              if (g) return [ 3, 9 ];
              if (!this.getComponent(sgc)) return [ 3, 3 ];
              node.removeComponent(sgc);
              return [ 4, PPPB_lib_1._.sleep(20) ];

             case 2:
              _b.sent();
              _b.label = 3;

             case 3:
              g = this._createGraphics();
              return [ 3, 5 ];

             case 4:
              node.removeComponent(sgc);
              _b.label = 5;

             case 5:
              return [ 3, 9 ];

             case 6:
              c = PPPB_UIMask_1.UIMask;
              g = this.getComponent(c);
              if (g) return [ 3, 9 ];
              if (!this.getComponent(sgc)) return [ 3, 8 ];
              node.removeComponent(sgc);
              return [ 4, PPPB_lib_1._.sleep(20) ];

             case 7:
              _b.sent();
              _b.label = 8;

             case 8:
              g = this._createMask();
              _b.label = 9;

             case 9:
              cb && cb(g);
              return [ 2, g ];
            }
          });
        });
      };
      UIShape.prototype._createGraphics = function() {
        var g = this.addComponent(cc.Graphics);
        if (g) {
          g.lineWidth = this._lineWidth;
          g.lineCap = this._lineCap;
          g.lineJoin = this._lineJoin;
          g.miterLimit = this._miterLimit;
          g.strokeColor = this._strokeColor.clone();
          g.fillColor = this._fillColor.clone();
        }
        return g;
      };
      UIShape.prototype._createMask = function() {
        return this.addComponent(PPPB_UIMask_1.UIMask);
      };
      Object.defineProperty(UIShape.prototype, "graphics", {
        get: function() {
          return this._type === UIShape_1.Type.GRAPHICS ? this.getComponent(cc.Graphics) : null;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "lineWidth", {
        get: function() {
          return this._getAndSyncGP("lineWidth");
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "lineJoin", {
        get: function() {
          return this._getAndSyncGP("lineJoin");
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "lineCap", {
        get: function() {
          return this._getAndSyncGP("lineCap");
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "miterLimit", {
        get: function() {
          return this._getAndSyncGP("miterLimit");
        },
        enumerable: false,
        configurable: true
      });
      UIShape.prototype._getAndSyncGP = function(key) {
        var g = this.graphics;
        var k = "_" + key;
        var ret;
        ret = g ? this[k] = g[key] : this[k];
        return ret;
      };
      Object.defineProperty(UIShape.prototype, "strokeColor", {
        get: function() {
          return this._getAndSyncGPC("strokeColor");
        },
        set: function(c) {
          var g = this.graphics;
          g ? g.strokeColor = c : this._strokeColor = c;
          this._drawGraphics();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UIShape.prototype, "fillColor", {
        get: function() {
          return this._getAndSyncGPC("fillColor");
        },
        set: function(c) {
          var g = this.graphics;
          g ? g.fillColor = c : this._fillColor = c;
          this._drawGraphics();
        },
        enumerable: false,
        configurable: true
      });
      UIShape.prototype._getAndSyncGPC = function(key) {
        var g = this.graphics;
        var k = "_" + key;
        var ret;
        if (g) {
          var gc = g[key];
          var nc = this.node.color;
          var c = new cc.Color(nc.getR() * gc.getR() / 255, nc.getG() * gc.getG() / 255, nc.getB() * gc.getB() / 255, PPPB_ui_1.ui.getGlobalOpacity(this, nc.getA() * gc.getA() / 255));
          ret = this[k] = c;
        } else ret = this[k];
        return ret;
      };
      UIShape.prototype.setGraphicColor = function(strokeColor, fillColor, lineWidth) {
        var g = this.graphics;
        if (g) {
          g.strokeColor = strokeColor;
          g.fillColor = fillColor;
          g.lineWidth = lineWidth;
        } else {
          this._strokeColor = strokeColor;
          this._fillColor = fillColor;
          this._lineWidth = lineWidth;
        }
      };
      UIShape.prototype._updatingGraphics = function() {
        return __awaiter(this, void 0, void 0, function() {
          var node_1, g, graphType, lineWidth, lineJoin, lineCap, strokeColor, fillColor, miterLimit, radius, anchorX, anchorY, _loop_1, this_1;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              true;
              return [ 3, 4 ];

             case 1:
              _a.sent();
              node_1 = this.node;
              g = this.graphics;
              graphType = this._graphType;
              lineWidth = this.lineWidth;
              lineJoin = this.lineJoin;
              lineCap = this.lineCap;
              strokeColor = this.strokeColor;
              fillColor = this.fillColor;
              miterLimit = this.miterLimit;
              radius = this.radius;
              anchorX = node_1.anchorX;
              anchorY = node_1.anchorY;
              _loop_1 = function() {
                var isEq, mask, ployCom, left_1, right_1, up_1, down_1, w_1, h_1, ax, ay, d;
                return __generator(this, function(_a) {
                  switch (_a.label) {
                   case 0:
                    isEq = g === this_1.graphics && graphType === this_1._graphType && lineWidth === this_1.lineWidth && lineJoin === this_1.lineJoin && lineCap === this_1.lineCap && strokeColor.equals(this_1.strokeColor) && fillColor.equals(this_1.fillColor) && miterLimit === this_1.miterLimit && radius === this_1.radius;
                    if (this_1.isPoly && anchorX !== node_1.anchorX || anchorY !== node_1.anchorY) {
                      this_1.offset.x += node_1.width * (anchorX - node_1.anchorX);
                      this_1.offset.y += node_1.height * (anchorY - node_1.anchorY);
                      anchorX = node_1.anchorX;
                      anchorY = node_1.anchorY;
                      isEq = false;
                    }
                    mask = this_1.getComponent(cc.Mask);
                    if (mask && mask.type !== cc.Mask.Type.RECT) {
                      mask.type = cc.Mask.Type.RECT;
                      isEq = false;
                    }
                    if (this_1.isPoly) {
                      ployCom = this_1.getComponent(cc.PolygonCollider);
                      if (ployCom) {
                        if (this_1.points.length !== ployCom.points.length) {
                          isEq = false;
                          this_1.points.length = ployCom.points.length;
                        }
                        if (!this_1.offset.equals(ployCom.offset)) {
                          isEq = false;
                          this_1.offset = ployCom.offset;
                        }
                        left_1 = 0, right_1 = 0, up_1 = 0, down_1 = 0;
                        ployCom.points.map(function(v, i) {
                          if (!_this.points[i] || !v.equals(_this.points[i])) {
                            _this.points[i] = cc.v2(v);
                            isEq = false;
                          }
                          var p = cc.v2(_this.points[i]).add(_this.offset);
                          p.x < left_1 ? left_1 = p.x : p.x > right_1 && (right_1 = p.x);
                          p.y < up_1 ? up_1 = p.y : p.y > down_1 && (down_1 = p.y);
                        });
                        w_1 = 0, h_1 = 0;
                        ax = node_1.anchorX, ay = node_1.anchorY;
                        d = void 0;
                        if (0 !== ax) {
                          d = -left_1 / ax;
                          d > w_1 && (w_1 = d);
                        }
                        if (1 !== ax) {
                          d = right_1 / (1 - ax);
                          d > w_1 && (w_1 = d);
                        }
                        if (0 !== ay) {
                          d = -up_1 / ay;
                          d > h_1 && (h_1 = d);
                        }
                        if (1 !== ay) {
                          d = down_1 / (1 - ay);
                          d > h_1 && (h_1 = d);
                        }
                        w_1 === node_1.width && h_1 === node_1.height || setTimeout(function() {
                          node_1.width = Math.ceil(w_1);
                          node_1.height = Math.ceil(h_1);
                        }, 10);
                      }
                    }
                    if (!isEq) {
                      g = this_1.graphics;
                      graphType = this_1._graphType;
                      lineWidth = this_1._lineWidth = this_1.lineWidth;
                      lineJoin = this_1._lineJoin = this_1.lineJoin;
                      lineCap = this_1._lineCap = this_1.lineCap;
                      strokeColor = this_1._strokeColor = this_1.strokeColor;
                      fillColor = this_1._fillColor = this_1.fillColor;
                      miterLimit = this_1._miterLimit = this_1.miterLimit;
                      radius = this_1.radius;
                      this_1._drawGraphics();
                    }
                    return [ 4, PPPB_lib_1._.sleep(100) ];

                   case 1:
                    _a.sent();
                    return [ 2 ];
                  }
                });
              };
              this_1 = this;
              _a.label = 2;

             case 2:
              if (!this.isValid) return [ 3, 4 ];
              return [ 5, _loop_1() ];

             case 3:
              _a.sent();
              return [ 3, 2 ];

             case 4:
              return [ 2 ];
            }
          });
        });
      };
      UIShape.prototype._onNodeChange = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_lib_1._.sleep(1) ];

             case 1:
              _a.sent();
              this._drawGraphics();
              return [ 2 ];
            }
          });
        });
      };
      UIShape.prototype._drawGraphics = function() {
        var g = this.graphics;
        if (!g) return this._drawMask();
        g.clear();
        var fc = g.fillColor;
        var sc = g.strokeColor;
        g.fillColor = this.fillColor;
        g.strokeColor = this.strokeColor;
        var node = this.node;
        var w = node.width;
        var h = node.height;
        var ax = node.anchorX * w;
        var ay = node.anchorY * h;
        var T = UIShape_1.GraphType;
        switch (this._graphType) {
         case T.CIRCLE:
          g.circle(w / 2 - ax, h / 2 - ay, w > h ? h / 2 : w / 2);
          break;

         case T.LINE:
          g.moveTo(0, 0);
          g.lineTo(w, h);
          break;

         case T.RECT:
          g.rect(-ax, -ay, w, h);
          break;

         case T.RRECT:
          g.roundRect(-ax, -ay, w, h, this.radius);
          break;

         case T.ELLIPSE:
          g.ellipse(w / 2 - ax, h / 2 - ay, w / 2, h / 2);
          break;

         case T.POLY:
          var pts = this.shapePoints;
          var p = pts[0];
          g.moveTo(p.x, p.y);
          for (var i = 1; i < pts.length; i++) {
            p = pts[i];
            g.lineTo(p.x, p.y);
          }
          g.close();
        }
        g.fill();
        g.stroke();
        if (this._graphType === T.RECT) {
          g.fillColor = cc.color(255, 0, 0, 0);
          g.circle(w / 2 - ax, h / 2 - ay, (w > h ? h / 2 : w / 2) / 2);
          g.fill();
        }
        g.fillColor = fc;
        g.strokeColor = sc;
      };
      UIShape.prototype._drawMask = function() {
        var mask = this.getComponent(cc.Mask);
        if (!mask) return;
        var g = mask["_graphics"];
        if (!g) return;
        g.clear();
        var pts = this.shapePoints;
        var p = pts[0];
        g.moveTo(p.x, p.y);
        for (var i = 1; i < pts.length; i++) {
          p = pts[i];
          g.lineTo(p.x, p.y);
        }
        g.close();
        g.fill();
        g.stroke();
      };
      UIShape.prototype.refresh = function() {
        this._drawGraphics();
      };
      Object.defineProperty(UIShape.prototype, "shapePoints", {
        get: function() {
          var T = UIShape_1.GraphType;
          var node = this.node;
          var w = node.width / 2;
          var h = node.height / 2;
          var rx = w, ry = h, rw = 0, rh = 0;
          var x = w - node.anchorX * w * 2;
          var y = h - node.anchorY * h * 2;
          switch (this._graphType) {
           case T.CIRCLE:
            rx = ry = w > h ? h : w;
            break;

           case T.LINE:
           case T.RECT:
            rx = ry = 0;
            rw = w;
            rh = h;
            break;

           case T.RRECT:
            rx = ry = this.radius;
            rw = w - rx;
            rh = h - ry;
            break;

           case T.ELLIPSE:
            rx = w, ry = h;
            break;

           case T.POLY:
            var o = this.offset;
            var p_1 = cc.v2(o.x, o.y);
            return this.points.map(function(v) {
              return cc.v2(v).add(p_1);
            });
          }
          return UIShape_1.calcShapPoints(x, y, rx, ry, rw, rh);
        },
        enumerable: false,
        configurable: true
      });
      UIShape.prototype.worldPointIn = function(point) {
        return this.pointIn(this.node.convertToNodeSpaceAR(point));
      };
      UIShape.prototype.pointIn = function(point) {
        var T = UIShape_1.GraphType;
        switch (this._graphType) {
         case T.CIRCLE:
          return this._pointInEllipse(point, true);

         case T.ELLIPSE:
          return this._pointInEllipse(point);

         default:
          return cc.Intersection.pointInPolygon(point, this.shapePoints);
        }
      };
      UIShape.prototype._pointInEllipse = function(pt, isCircle) {
        var n = this.node;
        var w = n.width / 2;
        var h = n.height / 2;
        var x = pt.x - w + n.anchorX * w * 2;
        var y = pt.y - h + n.anchorY * h * 2;
        var r;
        if (isCircle) r = w > h ? h : w; else {
          r = w;
          y = y * w / h;
        }
        return x * x + y * y <= r * r;
      };
      UIShape.calcShapPoints = function(cx, cy, rx, ry, rw, rh, precision) {
        void 0 === rw && (rw = 0);
        void 0 === rh && (rh = 0);
        void 0 === precision && (precision = 1);
        if (0 == rx || 0 == ry) {
          rx += rw;
          ry += rh;
          return [ cc.v2(cx + rx, cy + ry), cc.v2(cx - rx, cy + ry), cc.v2(cx - rx, cy - ry), cc.v2(cx + rx, cy - ry) ];
        }
        var polies = [];
        var r = (rx + ry) / 2;
        var segements = 0 | .4 * Math.pow(r, .7) * precision;
        segements < 16 && (segements = 16);
        var anglePerStep = Math.PI / 2 / segements;
        var dxs = [ rw, -rw, -rw, rw ];
        var dys = [ rh, rh, -rh, -rh ];
        var dls = [ 0, 0, 0, 0 ];
        rw > 0 && (dls[0] = dls[2] = 1);
        rh > 0 && (dls[1] = dls[2] = 1);
        for (var i = 0; i < 4; i++) {
          var a = Math.PI / 2 * i;
          var dx = dxs[i];
          var dy = dys[i];
          var len = dls[i] + segements;
          for (var step = 0; step < len; ++step) {
            var x = rx * Math.cos(a + anglePerStep * step);
            var y = ry * Math.sin(a + anglePerStep * step);
            x += dx;
            y += dy;
            polies.push(cc.v2(x + cx, y + cy));
          }
        }
        return polies;
      };
      var UIShape_1;
      UIShape.Type = cc.Enum({
        GRAPHICS: 0,
        MASK: -1
      });
      UIShape.GraphType = cc.Enum({
        CIRCLE: 0,
        LINE: -1,
        RECT: -1,
        RRECT: -1,
        ELLIPSE: -1,
        POLY: -1
      });
      UIShape.ColorScheme = cc.Enum({
        DEFAULT: 0,
        UI_DARK: 1,
        UI_LIGHT: -1,
        UI_YELLOW: -1
      });
      __decorate([ property({
        type: UIShape_1.Type
      }) ], UIShape.prototype, "type", null);
      __decorate([ property ], UIShape.prototype, "_type", void 0);
      __decorate([ property ], UIShape.prototype, "blockEvents", null);
      __decorate([ property ], UIShape.prototype, "_blockEvent", void 0);
      __decorate([ property({
        visible: function() {
          return this._blockEvent;
        }
      }) ], UIShape.prototype, "invertedBlock", void 0);
      __decorate([ property({
        visible: function() {
          return this._blockEvent;
        },
        type: [ cc.String ]
      }) ], UIShape.prototype, "_listEvents", void 0);
      __decorate([ property ], UIShape.prototype, "draw", null);
      __decorate([ property ], UIShape.prototype, "_draw", void 0);
      __decorate([ property({
        visible: function() {
          return this._draw && this._type === UIShape_1.Type.GRAPHICS;
        },
        type: UIShape_1.ColorScheme
      }) ], UIShape.prototype, "colorScheme", null);
      __decorate([ property({
        visible: function() {
          return this._draw;
        },
        tooltip: false
      }) ], UIShape.prototype, "syncNodeMs", null);
      __decorate([ property ], UIShape.prototype, "_snms", void 0);
      __decorate([ property({
        type: UIShape_1.GraphType
      }) ], UIShape.prototype, "graphType", null);
      __decorate([ property ], UIShape.prototype, "_graphType", void 0);
      __decorate([ property({
        visible: function() {
          return this.isPoly;
        }
      }) ], UIShape.prototype, "editPoly", null);
      __decorate([ property({
        visible: function() {
          return this.isPoly;
        }
      }) ], UIShape.prototype, "offset", void 0);
      __decorate([ property({
        visible: function() {
          return this.isPoly;
        },
        type: [ cc.Vec2 ]
      }) ], UIShape.prototype, "points", void 0);
      __decorate([ property({
        visible: function() {
          return this._graphType === UIShape_1.GraphType.RRECT;
        }
      }) ], UIShape.prototype, "radius", void 0);
      __decorate([ property ], UIShape.prototype, "_lineWidth", void 0);
      __decorate([ property ], UIShape.prototype, "_lineJoin", void 0);
      __decorate([ property ], UIShape.prototype, "_lineCap", void 0);
      __decorate([ property ], UIShape.prototype, "_strokeColor", void 0);
      __decorate([ property ], UIShape.prototype, "_fillColor", void 0);
      __decorate([ property ], UIShape.prototype, "_miterLimit", void 0);
      UIShape = UIShape_1 = __decorate([ ccclass, menu("PPPB/ui/UI_Shape"), executeInEditMode, executionOrder(1) ], UIShape);
      return UIShape;
    }(cc.Component);
    exports.UIShape = UIShape;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UIMask": "PPPB-UIMask"
  } ],
  "PPPB-UISpriteID": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "56ceakIV0VNs7zGUv1YTpcN", "PPPB-UISpriteID");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UISpriteID = void 0;
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_res_1 = require("../PPPB-res");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UIData_1 = require("./PPPB-UIData");
    var PPPB_editor_1 = require("./PPPB-editor");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, requireComponent = _a.requireComponent;
    var SWITCH_MODE = cc.Enum({
      NONE: 0,
      CLEAR: 1,
      FADE: 2
    });
    var GROUP_DIR_DEFAULT = cc.Enum({
      none: 0
    });
    var UISpriteID = function(_super) {
      __extends(UISpriteID, _super);
      function UISpriteID() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.path = "";
        _this._groups = UISpriteID_1.GROUP_DIR;
        _this.group = "";
        _this._groupDir = 0;
        _this._idEnums = {};
        _this._spriteID = "";
        _this._offset = cc.v2(0, 0);
        _this.mode = SWITCH_MODE.NONE;
        _this.dur = .3;
        _this.isReleaseRes = false;
        _this._lastLoadRes = [];
        _this._lastPath = "";
        return _this;
      }
      UISpriteID_1 = UISpriteID;
      Object.defineProperty(UISpriteID.prototype, "selectPath", {
        get: function() {
          return false;
        },
        set: function(p) {
          false;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UISpriteID.prototype, "groupDir", {
        get: function() {
          return this._groupDir;
        },
        set: function(v) {
          this._groupDir = v;
        },
        enumerable: false,
        configurable: true
      });
      UISpriteID.prototype._refreshEnum = function() {
        var files;
        var enumDef;
        false;
      };
      UISpriteID.prototype._refreshGroup = function() {
        return __awaiter(this, void 0, void 0, function() {
          var r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              true;
              return [ 3, 2 ];

             case 1:
              r = _a.sent();
              r && r[0] && (r = r[0]);
              if (r) {
                UISpriteID_1.setGroupDir(r[0], r[1]);
                this._groups = UISpriteID_1.GROUP_DIR;
                PPPB_editor_1.editor.refreshPropertyEnum(this, "groupDir", this._groups);
              }
              _a.label = 2;

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(UISpriteID.prototype, "selectSpriteID", {
        get: function() {
          var i = this._idEnums[this._spriteID + " "];
          return "number" === typeof i ? i : -1;
        },
        set: function(idt) {
          if (idt > 0) {
            var tid = this._idEnums[idt];
            this.spriteID = tid ? tid.slice(0, tid.length - 1) : "";
          } else this.spriteID = "";
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(UISpriteID.prototype, "spriteID", {
        get: function() {
          return this._spriteID;
        },
        set: function(i) {
          if (this._spriteID !== i) {
            this._spriteID = i;
            if (this._groupDir != UISpriteID_1.GROUP_DIR.none) {
              var f = UISpriteID_1.GROUP_DATA[this._groupDir];
              try {
                this.group = f ? f(i) : "";
              } catch (error) {
                console.error(error);
                this.group = "";
              }
            } else this.group && (this.group = "");
            true, this.updateSprite();
          }
        },
        enumerable: false,
        configurable: true
      });
      UISpriteID.setGroupDir = function(groupDir, groupData) {
        UISpriteID_1.GROUP_DIR = groupDir;
        UISpriteID_1.GROUP_DATA = groupData;
      };
      Object.defineProperty(UISpriteID.prototype, "value", {
        get: function() {
          return this.spriteID;
        },
        set: function(v) {
          this.spriteID = v;
        },
        enumerable: false,
        configurable: true
      });
      UISpriteID.prototype.updateSprite = function() {
        var _this = this;
        var spritePath = this.path;
        var spriteID = this._spriteID || "";
        "[" === spriteID[0] && "]" === spriteID[spriteID.length - 1] && (spriteID = PPPB_lib_1._.unserialize(spriteID));
        if (PPPB_lib_1._.isArray(spriteID)) {
          this.sprite.spriteFrame = null;
          var p = this._offset;
          this.node.x -= p.x;
          this.node.y -= p.y;
          this._offset = cc.v2(0, 0);
          var node = PPPB_ui_1.ui.getChildByName(this, "sprites") || PPPB_ui_1.ui.addChild(this, "sprites");
          var i = 0;
          this.releaseRes();
          for (;i < spriteID.length; i++) {
            var sid = spriteID[i];
            var rs = sid ? "" + this.path + this.group + "/" + sid : "";
            node.children[i] ? PPPB_ui_1.ui.setSprite(node.children[i], rs, function(sprite, r) {
              sprite && sprite.node && sprite.spriteFrame && (sprite.node.position = sprite.spriteFrame.getOffset());
              PPPB_res_1.res.addPrefabDepsEX(sprite.spriteFrame, _this);
              _this.node && _this.node.emit("refresh");
            }) : PPPB_ui_1.ui.createSprite(rs, node, null, function(sprite, r) {
              sprite && sprite.node && sprite.spriteFrame && (sprite.node.position = sprite.spriteFrame.getOffset());
              PPPB_res_1.res.addPrefabDepsEX(sprite.spriteFrame, _this);
              _this.node && _this.node.emit("refresh");
            });
          }
          for (;i < node.childrenCount; i++) PPPB_ui_1.ui.destroy(node.children[i]);
        } else if (spriteID) {
          this.mode == SWITCH_MODE.CLEAR ? this.sprite.spriteFrame = null : this.mode == SWITCH_MODE.FADE && this.sprite.spriteFrame;
          var path = spriteID ? "" + this.path + this.group + "/" + spriteID : "";
          PPPB_res_1.res.loadAsset(path, cc.SpriteFrame, true, function(err, sf, url) {
            if (err) console.log(err); else if (sf && _this.isValid && _this.path === spritePath && _this._spriteID == spriteID) {
              _this._lastPath && PPPB_res_1.res.delResourcesMap(_this.node, _this._lastPath);
              _this._lastPath = url;
              _this.sprite.spriteFrame = sf;
              PPPB_res_1.res.addResourcesMap(_this.node, url);
              PPPB_res_1.res.addPrefabDepsEX(sf, _this);
              _this.node.emit("refresh");
            }
          });
        } else this.sprite.spriteFrame = null;
      };
      UISpriteID.prototype.releaseRes = function() {
        if (this.isReleaseRes) {
          for (var _i = 0, _a = this._lastLoadRes; _i < _a.length; _i++) var r = _a[_i];
          this._lastLoadRes = [];
        }
      };
      Object.defineProperty(UISpriteID.prototype, "sprite", {
        get: function() {
          return PPPB_ui_1.ui.addComponent(this, cc.Sprite);
        },
        enumerable: false,
        configurable: true
      });
      UISpriteID.prototype.onLoad = function() {
        var sf = this.sprite.spriteFrame;
        sf && (this._offset = sf.getOffset());
        false;
        this.updateSprite();
      };
      UISpriteID.prototype.onDestroy = function() {
        this.releaseRes();
      };
      var UISpriteID_1;
      UISpriteID.GROUP_DIR = GROUP_DIR_DEFAULT;
      UISpriteID.GROUP_DATA = {};
      __decorate([ property ], UISpriteID.prototype, "path", void 0);
      __decorate([ property({
        type: cc.Integer,
        tooltip: false
      }) ], UISpriteID.prototype, "selectPath", null);
      __decorate([ property ], UISpriteID.prototype, "_groupDir", void 0);
      __decorate([ property({
        type: cc.Integer
      }) ], UISpriteID.prototype, "groupDir", null);
      __decorate([ property({
        type: cc.Enum({}),
        visible: function() {
          return PPPB_lib_1._.size(this._idEnums) > 0;
        }
      }) ], UISpriteID.prototype, "selectSpriteID", null);
      __decorate([ property ], UISpriteID.prototype, "_spriteID", void 0);
      __decorate([ property({
        type: cc.String
      }) ], UISpriteID.prototype, "spriteID", null);
      __decorate([ property({
        type: SWITCH_MODE
      }) ], UISpriteID.prototype, "mode", void 0);
      __decorate([ property({
        visible: function() {
          return this.mode == SWITCH_MODE.FADE;
        }
      }) ], UISpriteID.prototype, "dur", void 0);
      __decorate([ property ], UISpriteID.prototype, "isReleaseRes", void 0);
      UISpriteID = UISpriteID_1 = __decorate([ ccclass, requireComponent(cc.Sprite), executeInEditMode, menu("PPPB/uiHelper/UI_SpriteID") ], UISpriteID);
      return UISpriteID;
    }(PPPB_UIData_1.UIDataValue);
    exports.UISpriteID = UISpriteID;
    cc._RF.pop();
  }, {
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-res": "PPPB-res",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UIData": "PPPB-UIData",
    "./PPPB-editor": "PPPB-editor"
  } ],
  "PPPB-UISwitch": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "af68b5ZpjBBWJZ2CRxsBYef", "PPPB-UISwitch");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UISwitch = void 0;
    var PPPB_ui_1 = require("../PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode;
    var UISwitch = function(_super) {
      __extends(UISwitch, _super);
      function UISwitch() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.CheckNode = null;
        _this.unCheckNode = null;
        _this.CheckNodes = [];
        _this.unCheckNodes = [];
        _this.checkUnqueUIs = [];
        _this.uncheckUnqueUIs = [];
        _this.buttonEnable = [];
        return _this;
      }
      UISwitch.prototype.addCheckUnqueUI = function(name) {
        this.checkUnqueUIs.push(name);
      };
      UISwitch.prototype.addUncheckUnqueUI = function(name) {
        this.uncheckUnqueUIs.push(name);
      };
      UISwitch.prototype._updateCheckMark = function() {
        PPPB_ui_1.ui.show(this.checkMark, this.isChecked);
        PPPB_ui_1.ui.show(this.CheckNode, this.isChecked);
        PPPB_ui_1.ui.show(this.target, !this.isChecked);
        PPPB_ui_1.ui.show(this.unCheckNode, !this.isChecked);
        for (var _i = 0, _a = this.CheckNodes; _i < _a.length; _i++) {
          var n = _a[_i];
          PPPB_ui_1.ui.show(n, this.isChecked);
        }
        for (var _b = 0, _c = this.unCheckNodes; _b < _c.length; _b++) {
          var n = _c[_b];
          PPPB_ui_1.ui.show(n, !this.isChecked);
        }
        for (var _d = 0, _e = this.checkUnqueUIs; _d < _e.length; _d++) {
          var k = _e[_d];
          PPPB_ui_1.ui.showUnquire(k, this.isChecked);
        }
        for (var _f = 0, _g = this.uncheckUnqueUIs; _f < _g.length; _f++) {
          var k = _g[_f];
          PPPB_ui_1.ui.showUnquire(k, !this.isChecked);
        }
        for (var _h = 0, _j = this.buttonEnable; _h < _j.length; _h++) {
          var k = _j[_h];
          void 0 != k.interactable && (k.interactable = this.isChecked);
        }
      };
      __decorate([ property(cc.Node) ], UISwitch.prototype, "CheckNode", void 0);
      __decorate([ property(cc.Node) ], UISwitch.prototype, "unCheckNode", void 0);
      __decorate([ property([ cc.Node ]) ], UISwitch.prototype, "CheckNodes", void 0);
      __decorate([ property([ cc.Node ]) ], UISwitch.prototype, "unCheckNodes", void 0);
      __decorate([ property([ cc.String ]) ], UISwitch.prototype, "checkUnqueUIs", void 0);
      __decorate([ property([ cc.String ]) ], UISwitch.prototype, "uncheckUnqueUIs", void 0);
      __decorate([ property([ cc.Button ]) ], UISwitch.prototype, "buttonEnable", void 0);
      UISwitch = __decorate([ ccclass, executeInEditMode, menu("PPPB/ui/UI_switch") ], UISwitch);
      return UISwitch;
    }(cc.Toggle);
    exports.UISwitch = UISwitch;
    cc._RF.pop();
  }, {
    "../PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-UParticleSystem": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "cdc32xD7ltGQ5r+d1PzN5/L", "PPPB-UParticleSystem");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.UParticleSystem = void 0;
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode, inspector = _a.inspector, requireComponent = _a.requireComponent;
    var UParticleSystem = function(_super) {
      __extends(UParticleSystem, _super);
      function UParticleSystem() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.frameCount = 1;
        _this.frameSec = .03;
        return _this;
      }
      UParticleSystem.prototype.onLoaded = function() {
        this.sys = this.node.getComponent(cc.ParticleSystem);
        var sim = this.sys._simulator;
        this._simulator = this.sys._simulator;
        sim.updateParticleBuffer = this.updateParticleBuffer.bind(this);
        console.log(this.sys);
      };
      UParticleSystem.prototype.onLostFocusInEditor = function() {};
      UParticleSystem.prototype.onDestroy = function() {};
      UParticleSystem.prototype.getframeIndex = function(lifeTime) {
        var frame = Math.floor(lifeTime / this.frameSec) % this.frameCount;
        return frame;
      };
      UParticleSystem.prototype.updateParticleBuffer = function(particle, pos, buffer, offset) {
        var vbuf = buffer._vData;
        var uintbuf = buffer._uintVData;
        var frameCount = this.frameCount;
        var x = pos.x, y = pos.y;
        var width = particle.size;
        var height = width;
        var aspectRatio = particle.aspectRatio;
        aspectRatio > 1 ? height = width / aspectRatio : width = height * aspectRatio;
        var halfWidth = width / 2;
        var halfHeight = height / 2;
        if (frameCount > 1) {
          halfWidth = halfWidth;
          halfHeight *= frameCount;
        }
        if (particle.rotation) {
          var x1 = -halfWidth, y1 = -halfHeight;
          var x2 = halfWidth, y2 = halfHeight;
          var rad = -cc.misc.degreesToRadians(particle.rotation);
          var cr = Math.cos(rad), sr = Math.sin(rad);
          vbuf[offset] = x1 * cr - y1 * sr + x;
          vbuf[offset + 1] = x1 * sr + y1 * cr + y;
          vbuf[offset + 5] = x2 * cr - y1 * sr + x;
          vbuf[offset + 6] = x2 * sr + y1 * cr + y;
          vbuf[offset + 10] = x1 * cr - y2 * sr + x;
          vbuf[offset + 11] = x1 * sr + y2 * cr + y;
          vbuf[offset + 15] = x2 * cr - y2 * sr + x;
          vbuf[offset + 16] = x2 * sr + y2 * cr + y;
        } else {
          vbuf[offset] = x - halfWidth;
          vbuf[offset + 1] = y - halfHeight;
          vbuf[offset + 5] = x + halfWidth;
          vbuf[offset + 6] = y - halfHeight;
          vbuf[offset + 10] = x - halfWidth;
          vbuf[offset + 11] = y + halfHeight;
          vbuf[offset + 15] = x + halfWidth;
          vbuf[offset + 16] = y + halfHeight;
        }
        if (frameCount > 1) {
          var curFameIndex = this.getframeIndex(9999 - particle.timeToLive);
          var uv_deltaX = 1 / frameCount;
          if (curFameIndex !== particle.frameindex) {
            var sizeX = curFameIndex % frameCount;
            var uv_x = sizeX * uv_deltaX;
            var uv_y = 0;
            var uv_w = uv_deltaX;
            var uv_h = 1;
            vbuf[offset + 2] = uv_x;
            vbuf[offset + 3] = uv_y + uv_h;
            vbuf[offset + 7] = uv_x + uv_w;
            vbuf[offset + 8] = uv_y + uv_h;
            vbuf[offset + 12] = uv_x;
            vbuf[offset + 13] = uv_y;
            vbuf[offset + 17] = uv_x + uv_w;
            vbuf[offset + 18] = uv_y;
            particle.frameindex = curFameIndex;
          }
        }
        uintbuf[offset + 4] = particle.color._val;
        uintbuf[offset + 9] = particle.color._val;
        uintbuf[offset + 14] = particle.color._val;
        uintbuf[offset + 19] = particle.color._val;
      };
      __decorate([ property({
        tooltip: false
      }) ], UParticleSystem.prototype, "frameCount", void 0);
      __decorate([ property({
        tooltip: false
      }) ], UParticleSystem.prototype, "frameSec", void 0);
      UParticleSystem = __decorate([ ccclass, executeInEditMode, menu("PPPB/ui/UParticleSystem"), requireComponent(cc.ParticleSystem) ], UParticleSystem);
      return UParticleSystem;
    }(PPPB_UComponent_1.UComponent);
    exports.UParticleSystem = UParticleSystem;
    cc._RF.pop();
  }, {
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-UbgClick": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "68758T2qLFM6Z4eV98UPEAc", "PPPB-UbgClick");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode;
    var cname = "bgClick";
    var UbgClick = function(_super) {
      __extends(UbgClick, _super);
      function UbgClick() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.target = null;
        return _this;
      }
      UbgClick.prototype.onLoaded = function() {
        true;
        PPPB_ui_1.ui.getComponent(this, cc.Button) || PPPB_ui_1.ui.addComponent(this, cc.Button);
      };
      UbgClick.prototype.$ui_this__click = function() {
        this.target && this.target.isValid && this.target.emit("click");
      };
      __decorate([ property({
        type: cc.Node,
        tooltip: false
      }) ], UbgClick.prototype, "target", void 0);
      UbgClick = __decorate([ ccclass, executeInEditMode, menu("PPPB/\u529f\u80fd\u6309\u94ae/" + cname) ], UbgClick);
      return UbgClick;
    }(PPPB_UComponent_1.UComponent);
    exports.default = UbgClick;
    cc._RF.pop();
  }, {
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-VersionLabel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5720erCPw9H/qPf+1wguL41", "PPPB-VersionLabel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var PPPB_config_1 = require("../../../PPPB-config");
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.label = null;
        return _this;
      }
      NewClass.prototype.start = function() {
        this.label.string = PPPB_config_1.mainConfig.versionShow;
      };
      __decorate([ property(cc.Label) ], NewClass.prototype, "label", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(cc.Component);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../../PPPB-config": "PPPB-config"
  } ],
  "PPPB-VolumeControlPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "36df0IkajtMOpp5jocbju20", "PPPB-VolumeControlPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_gameSettings_1 = require("../../PPPB-gameSettings");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var VolumeControlPanel = function(_super) {
      __extends(VolumeControlPanel, _super);
      function VolumeControlPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.mutebtn = null;
        _this.volumeControlPanel = null;
        _this.volumeSlider = null;
        _this.sliderBar = null;
        _this.fillBackGround = null;
        _this.sliderHandle = null;
        _this.volumeSliderText = null;
        _this.volumeImages = [];
        _this.baseVolumeImage = null;
        _this.step = 1;
        _this.range = [ 0, 100 ];
        _this.maxRange = 100;
        _this.isLoaded = false;
        _this.isGlobalMute = false;
        _this.fillBackgroundColor = new cc.Color(145, 255, 0);
        _this.hoverColor = cc.color(145, 225, 0);
        _this.pressedColor = cc.color(84, 136, 0);
        _this.mutedColor = cc.color(187, 1, 0);
        _this.mutedHoverColor = cc.color(215, 7, 0);
        _this.mutedPressedColor = cc.color(130, 0, 0);
        return _this;
      }
      VolumeControlPanel.prototype.onLoaded = function() {
        this.isGlobalMute = PPPB_gameSettings_1.default.isBGMMute && PPPB_gameSettings_1.default.isSFXMute;
        this.toggleVolumeMuteUI(0 == PPPB_gameSettings_1.default.gameVolume || this.isGlobalMute);
        this.initialBarSizeX = this.sliderBar.width;
        this.node.setPosition(cc.v2(-2e3, this.node.position.y));
      };
      VolumeControlPanel.prototype.$event_display_volumecontrol = function() {
        var INIT_POS_X = -370;
        this.toggleVolumeMuteUI(0 == PPPB_gameSettings_1.default.gameVolume || this.isGlobalMute);
        if (0 == this.volumeControlPanel.opacity) {
          if (!this.isLoaded) {
            this.volumeSlider.progress = PPPB_gameSettings_1.default.gameVolume;
            this.isLoaded = true;
          }
          this.updateSliderProgress(PPPB_gameSettings_1.default.gameVolume);
          this.node.setPosition(cc.v2(INIT_POS_X, this.node.position.y));
          this.volumeControlPanel.opacity = 255;
        } else {
          PPPB_event_1.Events.publish("reset", "bottomUIType", "");
          this.ClosePanel();
        }
        PPPB_quick_1.ks.SetVolume();
      };
      VolumeControlPanel.prototype.$ui_Slider__slide = function(slider) {
        return __awaiter(this, void 0, void 0, function() {
          var progress, numArrLen, i, minNum, maxNum;
          return __generator(this, function(_a) {
            progress = Math.round(slider.progress * this.maxRange);
            numArrLen = Math.floor(this.range[1] / this.step);
            for (i = 0; i < numArrLen; i++) {
              minNum = i * this.step;
              maxNum = (i + 1) * this.step;
              if (progress > minNum && progress <= maxNum) {
                slider.progress = maxNum / this.maxRange;
                break;
              }
              slider.progress = 0;
            }
            PPPB_gameSettings_1.default.isBGMMute = 0 == slider.progress;
            PPPB_gameSettings_1.default.isSFXMute = 0 == slider.progress;
            PPPB_gameSettings_1.default.gameVolume = slider.progress;
            this.updateSliderProgress(slider.progress, true, true);
            this.toggleVolumeMuteUISliding(0 == slider.progress);
            return [ 2 ];
          });
        });
      };
      VolumeControlPanel.prototype.updateSliderProgress = function(sliderProgress, isSetVolume, isForceUpdateUI) {
        void 0 === isSetVolume && (isSetVolume = true);
        void 0 === isForceUpdateUI && (isForceUpdateUI = false);
        var progress = Math.round(100 * sliderProgress);
        this.sliderBar.width = this.initialBarSizeX * sliderProgress;
        if (this.isGlobalMute && !isForceUpdateUI) {
          this.volumeImages[0].opacity = 255;
          this.volumeImages[1].opacity = 0;
          this.volumeImages[2].opacity = 0;
          this.volumeImages[3].opacity = 0;
        } else {
          this.volumeImages[0].opacity = 0 == progress ? 255 : 0;
          this.volumeImages[1].opacity = progress > 0 && progress <= 32 ? 255 : 0;
          this.volumeImages[2].opacity = progress >= 33 && progress <= 65 ? 255 : 0;
          this.volumeImages[3].opacity = progress >= 66 ? 255 : 0;
        }
        this.volumeSliderText.string = progress.toString();
        console.log("update slider progress to " + sliderProgress);
        isSetVolume && PPPB_quick_1.ks.SetVolume();
      };
      VolumeControlPanel.prototype.toggleVolumeMuteUI = function(isMuted) {
        this.baseVolumeImage.color = isMuted ? cc.Color.RED : cc.Color.WHITE;
        this.mutebtn.color = isMuted ? cc.Color.RED : cc.Color.WHITE;
        this.fillBackGround.color = isMuted ? cc.Color.RED : this.fillBackgroundColor;
        this.sliderHandle.normalColor = isMuted ? this.mutedColor : cc.Color.WHITE;
        this.sliderHandle.hoverColor = isMuted ? this.mutedHoverColor : this.hoverColor;
        this.sliderHandle.pressedColor = isMuted ? this.mutedPressedColor : this.pressedColor;
      };
      VolumeControlPanel.prototype.toggleVolumeMuteUISliding = function(isMuted) {
        this.baseVolumeImage.color = isMuted ? cc.Color.RED : cc.Color.WHITE;
        this.mutebtn.color = isMuted ? cc.Color.RED : cc.Color.WHITE;
        this.fillBackGround.color = isMuted ? cc.Color.RED : this.fillBackgroundColor;
        this.sliderHandle.normalColor = isMuted ? this.mutedColor : cc.Color.WHITE;
        this.sliderHandle.hoverColor = isMuted ? this.mutedHoverColor : this.hoverColor;
        this.sliderHandle.pressedColor = isMuted ? this.mutedPressedColor : this.pressedColor;
      };
      VolumeControlPanel.prototype.$ui_VolumeBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.$event_volume_toggle();
            this.updateSliderProgress(PPPB_gameSettings_1.default.gameVolume);
            return [ 2 ];
          });
        });
      };
      VolumeControlPanel.prototype.$event_volume_toggle = function() {
        this.isGlobalMute = !this.isGlobalMute;
        PPPB_gameSettings_1.default.isBGMMute = this.isGlobalMute;
        PPPB_gameSettings_1.default.isSFXMute = this.isGlobalMute;
        this.toggleVolumeMuteUI(this.isGlobalMute);
        PPPB_quick_1.ks.SetVolume();
      };
      VolumeControlPanel.prototype.$event_volume_toggleMute = function(isMuted) {
        this.toggleVolumeMuteUI(isMuted);
        PPPB_quick_1.ks.SetVolume();
      };
      VolumeControlPanel.prototype.$event_close_volumecontrol = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      VolumeControlPanel.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.opacity = 0;
            this.node.setPosition(cc.v2(-2e3, this.node.position.y));
            return [ 2 ];
          });
        });
      };
      __decorate([ property(cc.Node) ], VolumeControlPanel.prototype, "mutebtn", void 0);
      __decorate([ property(cc.Node) ], VolumeControlPanel.prototype, "volumeControlPanel", void 0);
      __decorate([ property(cc.Slider) ], VolumeControlPanel.prototype, "volumeSlider", void 0);
      __decorate([ property(cc.Node) ], VolumeControlPanel.prototype, "sliderBar", void 0);
      __decorate([ property(cc.Node) ], VolumeControlPanel.prototype, "fillBackGround", void 0);
      __decorate([ property(cc.Button) ], VolumeControlPanel.prototype, "sliderHandle", void 0);
      __decorate([ property(cc.Label) ], VolumeControlPanel.prototype, "volumeSliderText", void 0);
      __decorate([ property([ cc.Node ]) ], VolumeControlPanel.prototype, "volumeImages", void 0);
      __decorate([ property(cc.Node) ], VolumeControlPanel.prototype, "baseVolumeImage", void 0);
      VolumeControlPanel = __decorate([ ccclass ], VolumeControlPanel);
      return VolumeControlPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = VolumeControlPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../PPPB-gameSettings": "PPPB-gameSettings",
    "../../PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-WalletPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "12b1c7RUl1G45DSKyKXNp3X", "PPPB-WalletPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_user_1 = require("../controller/PPPB-user");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var ANIM_PANEL_EXIT = "walletPanelExit";
    var Wallet = function(_super) {
      __extends(Wallet, _super);
      function Wallet() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.moneyTextLabel = null;
        _this.moneyContainer = null;
        _this.panelAnimation = null;
        return _this;
      }
      Wallet.prototype.start = function() {
        this.moneyTextLabel.string = PPPB_quick_1.ks.symbol + PPPB_user_1.user.attr.balance.toFixed(2);
      };
      Wallet.prototype.onPanelEnter = function() {
        console.log("on panel enter");
        this.moneyContainer.active = true;
      };
      Wallet.prototype.exitPanel = function() {
        console.log("onclick exit panel");
        this.panelAnimation.play(ANIM_PANEL_EXIT);
      };
      Wallet.prototype.onPanelExit = function() {
        console.log("on panel exit");
        this.node.destroy();
      };
      __decorate([ property(cc.Label) ], Wallet.prototype, "moneyTextLabel", void 0);
      __decorate([ property(cc.Node) ], Wallet.prototype, "moneyContainer", void 0);
      __decorate([ property(cc.Animation) ], Wallet.prototype, "panelAnimation", void 0);
      Wallet = __decorate([ ccclass ], Wallet);
      return Wallet;
    }(cc.Component);
    exports.default = Wallet;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../controller/PPPB-user": "PPPB-user"
  } ],
  "PPPB-WildMultiplierText": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "18ac6Cm7NtL47QWz0rBWu/l", "PPPB-WildMultiplierText");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.WildMultiplierText = void 0;
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var WildMultiplierText = function(_super) {
      __extends(WildMultiplierText, _super);
      function WildMultiplierText() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.ANIM_SHOW_SMALL_TEXT = "multiplier_fadein";
        _this.ANIM_HIDE_SMALL_TEXT = "multiplier_fadeout";
        _this.ANIM_SHOW_LARGE_TEXT = "fullscreen_multiplier_fadein";
        _this.ANIM_HIDE_LARGE_TEXT = "fullscreen_multiplier_fadeout";
        _this.SMALL_MULT_TEXT_DELAY = 400;
        _this.LARGE_MULT_TEXT_DURATION = 1e3;
        _this.smallTextLabel = null;
        _this.smallTextAnim = null;
        _this.largeTextLabel = null;
        _this.largeTextAnim = null;
        return _this;
      }
      WildMultiplierText.prototype.$event_show_multiplier = function(multiplier) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("showing multiplier...");
              this.$event_show_largeMultiplierText(multiplier);
              return [ 4, PPPB_lib_1._.sleep(this.SMALL_MULT_TEXT_DELAY) ];

             case 1:
              _a.sent();
              this.smallTextLabel.string = multiplier + "X";
              this.smallTextAnim.play(this.ANIM_SHOW_SMALL_TEXT);
              return [ 2 ];
            }
          });
        });
      };
      WildMultiplierText.prototype.$event_hide_multiplier = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.smallTextAnim.play(this.ANIM_HIDE_SMALL_TEXT);
            return [ 2 ];
          });
        });
      };
      WildMultiplierText.prototype.$event_show_largeMultiplierText = function(multiplier) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.largeTextLabel.string = multiplier + "X";
              this.largeTextAnim.play(this.ANIM_SHOW_LARGE_TEXT);
              return [ 4, PPPB_lib_1._.sleep(this.LARGE_MULT_TEXT_DURATION) ];

             case 1:
              _a.sent();
              this.largeTextAnim.play(this.ANIM_HIDE_LARGE_TEXT);
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Label) ], WildMultiplierText.prototype, "smallTextLabel", void 0);
      __decorate([ property(cc.Animation) ], WildMultiplierText.prototype, "smallTextAnim", void 0);
      __decorate([ property(cc.Label) ], WildMultiplierText.prototype, "largeTextLabel", void 0);
      __decorate([ property(cc.Animation) ], WildMultiplierText.prototype, "largeTextAnim", void 0);
      WildMultiplierText = __decorate([ ccclass ], WildMultiplierText);
      return WildMultiplierText;
    }(PPPB_UComponent_1.UComponent);
    exports.WildMultiplierText = WildMultiplierText;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-WinListItem": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5dc5fqEFDpJa4yoRZ/fNrpi", "PPPB-WinListItem");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_CardSpriteCollection_1 = require("../../../common/managers/PPPB-CardSpriteCollection");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var WinListItem = function(_super) {
      __extends(WinListItem, _super);
      function WinListItem() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.countLabel = null;
        _this.winAmountLabel = null;
        _this.cardSprite = null;
        _this._data = null;
        _this._cardSpriteCollection = null;
        return _this;
      }
      WinListItem.prototype.onLoaded = function() {
        this._cardSpriteCollection = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "Manager/CardSpriteCollection" ]).getComponent(PPPB_CardSpriteCollection_1.default);
      };
      WinListItem.prototype.Set = function(data) {
        if (!data) {
          this._data = null;
          return;
        }
        this._data = PPPB_lib_1._.copy(data);
        this.countLabel.string = this._data.count;
        this._updateWinAmount();
        this.cardSprite.spriteFrame = this._cardSpriteCollection.GetSpriteFrameByValue(this._data.card);
      };
      WinListItem.prototype.$event_showCoin_change = function(showCoin) {
        if (!this._data) return;
        this._updateWinAmount();
      };
      WinListItem.prototype._updateWinAmount = function() {
        this.winAmountLabel.string = PPPB_MoneyDisplayHelper_1.MoneyDisplayHelper.convertBetToText(this._data.winAmount);
      };
      __decorate([ property(cc.Label) ], WinListItem.prototype, "countLabel", void 0);
      __decorate([ property(cc.Label) ], WinListItem.prototype, "winAmountLabel", void 0);
      __decorate([ property(cc.Sprite) ], WinListItem.prototype, "cardSprite", void 0);
      WinListItem = __decorate([ ccclass ], WinListItem);
      return WinListItem;
    }(PPPB_UComponent_1.UComponent);
    exports.default = WinListItem;
    cc._RF.pop();
  }, {
    "../../../common/managers/PPPB-CardSpriteCollection": "PPPB-CardSpriteCollection",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-WinListPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "2372dwOlSpM7qdhDYTeK1mp", "PPPB-WinListPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_WinListItem_1 = require("./PPPB-WinListItem");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode;
    var ItemInfoAnimateState;
    (function(ItemInfoAnimateState) {
      ItemInfoAnimateState[ItemInfoAnimateState["IDLE"] = 0] = "IDLE";
      ItemInfoAnimateState[ItemInfoAnimateState["MARK_ENTER"] = 1] = "MARK_ENTER";
      ItemInfoAnimateState[ItemInfoAnimateState["MARK_EXIT"] = 2] = "MARK_EXIT";
      ItemInfoAnimateState[ItemInfoAnimateState["PLAYING"] = 3] = "PLAYING";
    })(ItemInfoAnimateState || (ItemInfoAnimateState = {}));
    var ItemInfoState;
    (function(ItemInfoState) {
      ItemInfoState[ItemInfoState["UNINIT"] = 0] = "UNINIT";
      ItemInfoState[ItemInfoState["INITIAILIZED"] = 1] = "INITIAILIZED";
      ItemInfoState[ItemInfoState["ENTERING"] = 2] = "ENTERING";
      ItemInfoState[ItemInfoState["IDLING"] = 3] = "IDLING";
      ItemInfoState[ItemInfoState["EXITING"] = 4] = "EXITING";
      ItemInfoState[ItemInfoState["DESTROY"] = 5] = "DESTROY";
    })(ItemInfoState || (ItemInfoState = {}));
    var ItemInfo = function() {
      function ItemInfo() {
        this.data = null;
        this.view = null;
        this.isInit = false;
        this.state = ItemInfoState.UNINIT;
      }
      return ItemInfo;
    }();
    var WinData = function() {
      function WinData() {
        this.count = 0;
        this.winAmount = 0;
        this.card = 0;
      }
      return WinData;
    }();
    var WinListPanel = function(_super) {
      __extends(WinListPanel, _super);
      function WinListPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._content = null;
        _this._contentLayout = null;
        _this._itemPrefab = null;
        _this.interactable = true;
        _this.scrollSpeed = 20;
        _this.scrollElasticity = 0;
        _this.scrollUpButton = null;
        _this.scrollDownButton = null;
        _this._itemInfos = [];
        _this._items = [];
        _this._visibleItems = [];
        _this._initialPos = 0;
        _this._scrollPos = 0;
        _this._targetScrollPos = 0;
        _this._itemLimit = 1;
        _this._scrollMax = 0;
        _this._scrollMin = 0;
        _this._touchStarted = false;
        _this._animPool = [];
        _this._animPromise = null;
        return _this;
      }
      Object.defineProperty(WinListPanel.prototype, "content", {
        get: function() {
          return this._content;
        },
        set: function(v) {
          this._content = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(WinListPanel.prototype, "itemPrefab", {
        get: function() {
          return this._itemPrefab;
        },
        set: function(v) {
          if (this._itemPrefab != v) {
            this._itemPrefab = v;
            v && this.content && this._removeAllItems();
          }
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(WinListPanel.prototype, "length", {
        get: function() {
          return this._itemInfos.length;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(WinListPanel.prototype, "data", {
        get: function() {
          return this._itemInfos.map(function(ii) {
            return ii.data;
          });
        },
        set: function(v) {
          var len = v.length;
          for (var i = 0; i < len; i++) this.Add(v[i]);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(WinListPanel.prototype, "itemSize", {
        get: function() {
          if (!this._itemPrefab) return cc.size(0, 0);
          return this._itemPrefab.data.getContentSize();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(WinListPanel.prototype, "itemLimit", {
        get: function() {
          return this._itemLimit;
        },
        enumerable: false,
        configurable: true
      });
      WinListPanel.prototype.onLoaded = function() {
        false;
        var contentNode = this.content;
        this._contentLayout = this.content.getComponent(cc.Layout);
        this._initialPos = contentNode.y;
        contentNode.on("touchstart", this.onTouchStart.bind(this));
        contentNode.on("touchmove", this.onTouchMove.bind(this));
        contentNode.on("touchend", this.onTouchEnd.bind(this));
        contentNode.on("touchcancel", this.onTouchEnd.bind(this));
        this._itemLimit = Math.ceil(this.content.parent.getContentSize().height / this.itemSize.height);
      };
      WinListPanel.prototype.start = function() {
        _super.prototype.start.call(this);
        if (!this.content && this._itemPrefab) return;
        this._updateContent();
        this._refreshScrollButtons();
      };
      WinListPanel.prototype.update = function(dt) {
        if (!this.content && this._itemPrefab) return;
        if (!this._touchStarted) {
          var mod = this._targetScrollPos % this.itemSize.height;
          mod > this.itemSize.height / 2 ? this._targetScrollPos += this.itemSize.height - mod : mod <= this.itemSize.height / 2 && (this._targetScrollPos -= mod);
          this._refreshScrollButtons();
        }
        var dpos = this._targetScrollPos - this._scrollPos;
        if (Math.abs(dpos) > .5) {
          this._scrollPos += dpos * dt * this.scrollSpeed;
          this.content.y = this._initialPos - this._scrollPos;
        } else this._scrollPos = this._targetScrollPos;
        for (var i = 0; i < this._itemInfos.length; ++i) {
          var itemInfo = this._itemInfos[i];
          itemInfo.state == ItemInfoState.DESTROY && this._removeItem(itemInfo);
        }
      };
      WinListPanel.prototype.onDestroy = function() {
        this._animPool = [];
      };
      WinListPanel.prototype.$event_add_winList = function(data) {
        console.log("add ", data);
        this.Add(data);
      };
      WinListPanel.prototype.$event_clear_winList = function() {
        this.Clear();
      };
      WinListPanel.prototype.$ui_ArrowUpButton__click = function() {
        this.ScrollUp();
      };
      WinListPanel.prototype.$ui_ArrowDownButton__click = function() {
        this.ScrollDown();
      };
      WinListPanel.prototype.onTouchStart = function(evt) {
        if (!this.interactable || !this.node.active) return;
        this._touchStarted = true;
      };
      WinListPanel.prototype.onTouchMove = function(evt) {
        if (!this.interactable || !this.node.active) return;
        this._targetScrollPos += evt.currentTouch._prevPoint.y - evt.currentTouch._point.y;
        this._targetScrollPos = Math.min(this._scrollMax, this._targetScrollPos);
        this._targetScrollPos = Math.max(this._scrollMin, this._targetScrollPos);
      };
      WinListPanel.prototype.onTouchEnd = function(evt) {
        if (!this.interactable || !this.node.active) return;
        this._touchStarted = false;
      };
      WinListPanel.prototype.Add = function(d) {
        if (!d) return;
        false;
        this._addItem(d);
      };
      WinListPanel.prototype.Remove = function(idx) {
        if (idx < 0 || idx >= this._itemInfos.length) return;
        var popItem = this._itemInfos[idx];
        this._pushAnimationTask({
          item: popItem,
          state: ItemInfoAnimateState.MARK_EXIT
        });
      };
      WinListPanel.prototype.Clear = function() {
        for (var i = 0; i < this._itemInfos.length; ++i) this.Remove(i);
        this._updateContent();
      };
      WinListPanel.prototype.ScrollUp = function() {
        this._targetScrollPos = Math.min(this._scrollMax, this._targetScrollPos + this.itemSize.height);
        this._refreshScrollButtons();
      };
      WinListPanel.prototype.ScrollDown = function() {
        this._targetScrollPos = Math.max(this._scrollMin, this._targetScrollPos - this.itemSize.height);
        this._refreshScrollButtons();
      };
      WinListPanel.prototype._addItem = function(newData) {
        var newItem = {
          data: newData,
          view: null,
          isInit: false,
          state: ItemInfoState.UNINIT
        };
        newItem.view = this._createItem();
        var item = newItem.view.getComponent(PPPB_WinListItem_1.default);
        item.Set(newItem.data);
        var me = this;
        this._setItemAsync(item, newItem.data).then(function() {
          newItem.state = ItemInfoState.INITIAILIZED;
          me._pushAnimationTask({
            item: newItem,
            state: ItemInfoAnimateState.MARK_ENTER
          });
        });
        this._itemInfos.push(newItem);
        this._updateContent();
      };
      WinListPanel.prototype._setItemAsync = function(item, data) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            item.Set(data);
            return [ 2 ];
          });
        });
      };
      WinListPanel.prototype._createItem = function() {
        var n;
        this._itemPrefab && (n = cc.instantiate(this._itemPrefab));
        this._items.push(n);
        this.content.addChild(n);
        return n;
      };
      WinListPanel.prototype._updateContent = function() {
        this._contentLayout && this._contentLayout.updateLayout();
        this._calcMinMax();
      };
      WinListPanel.prototype._removeAllItems = function() {
        var contentNode = this.content;
        for (var i = contentNode.childrenCount - 1; i >= 0; i--) {
          var itemNode = contentNode.children[i];
          itemNode.destroy();
        }
        this._items = [];
        contentNode.removeAllChildren();
        this._itemInfos = [];
      };
      WinListPanel.prototype._removeItem = function(itemInfo) {
        if (!itemInfo) return;
        if (itemInfo.view) {
          this.content.removeChild(itemInfo.view);
          itemInfo.view.destroy();
        }
        var idx = this._itemInfos.indexOf(itemInfo);
        idx >= 0 && this._itemInfos.splice(idx, 1);
      };
      WinListPanel.prototype._calcMinMax = function() {
        this._scrollMin = 0;
        var m1 = Math.ceil(this.content.getContentSize().height / this.itemSize.height) * this.itemSize.height;
        var m2 = (this._itemInfos.length - this.itemLimit) * this.itemSize.height;
        this._scrollMax = Math.min(m1, m2);
      };
      WinListPanel.prototype._refreshScrollButtons = function() {
        this.scrollDownButton.node.active = !(this._targetScrollPos <= this._scrollMin);
        this.scrollUpButton.node.active = !(this._targetScrollPos >= this._scrollMax);
      };
      WinListPanel.prototype._playAnimation = function() {
        return __awaiter(this, void 0, void 0, function() {
          var animTask, itemInfo;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(this._animPool.length > 0)) return [ 3, 2 ];
              animTask = this._animPool[0];
              this._animPool.splice(0, 1);
              itemInfo = animTask.item;
              switch (animTask.state) {
               case ItemInfoAnimateState.MARK_ENTER:
                this._animEnter(itemInfo);
                break;

               case ItemInfoAnimateState.MARK_EXIT:
                this._animExit(itemInfo);
              }
              return [ 4, this.sleep(200) ];

             case 1:
              _a.sent();
              return [ 3, 0 ];

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      WinListPanel.prototype._pushAnimationTask = function(animTask) {
        return __awaiter(this, void 0, void 0, function() {
          var me;
          return __generator(this, function(_a) {
            this._animPool.push(animTask);
            if (this._animPromise) return [ 2 ];
            me = this;
            this._animPromise = this._playAnimation().then(function() {
              return me._animPromise = null;
            });
            return [ 2 ];
          });
        });
      };
      WinListPanel.prototype._animEnter = function(itemInfo) {
        return __awaiter(this, void 0, void 0, function() {
          var ps, i, child, act, i, child, act, i, child, act, i, child, act;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              itemInfo.state = ItemInfoState.ENTERING;
              ps = [];
              for (i in itemInfo.view.children) {
                child = itemInfo.view.children[i];
                child.y = 192;
                act = PPPB_action_1.ACT(child);
                ps.push(act.moveTo(.15, child.x, 0).act());
              }
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              ps = [];
              for (i in itemInfo.view.children) {
                child = itemInfo.view.children[i];
                act = PPPB_action_1.ACT(child);
                ps.push(act.moveTo(.05, child.x, -5).scaleBy(.15, .97).act());
              }
              return [ 4, Promise.all(ps) ];

             case 2:
              _a.sent();
              for (i in itemInfo.view.children) {
                child = itemInfo.view.children[i];
                act = PPPB_action_1.ACT(child);
                ps.push(act.moveTo(.06, child.x, 1).scaleBy(.15, 1.015).act());
              }
              return [ 4, Promise.all(ps) ];

             case 3:
              _a.sent();
              for (i in itemInfo.view.children) {
                child = itemInfo.view.children[i];
                act = PPPB_action_1.ACT(child);
                ps.push(act.moveTo(.07, child.x, 0).scaleBy(.15, 1).act());
              }
              return [ 4, Promise.all(ps) ];

             case 4:
              _a.sent();
              itemInfo.state = ItemInfoState.IDLING;
              return [ 2 ];
            }
          });
        });
      };
      WinListPanel.prototype._animExit = function(itemInfo) {
        return __awaiter(this, void 0, void 0, function() {
          var ps, i, child, act;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              itemInfo.state = ItemInfoState.EXITING;
              ps = [];
              for (i in itemInfo.view.children) {
                child = itemInfo.view.children[i];
                act = PPPB_action_1.ACT(child);
                ps.push(act.moveTo(.15, child.x, -160).act());
              }
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              itemInfo.state = ItemInfoState.DESTROY;
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Node) ], WinListPanel.prototype, "_content", void 0);
      __decorate([ property(cc.Node) ], WinListPanel.prototype, "content", null);
      __decorate([ property(cc.Prefab) ], WinListPanel.prototype, "_itemPrefab", void 0);
      __decorate([ property({
        type: cc.Prefab,
        tooltip: false
      }) ], WinListPanel.prototype, "itemPrefab", null);
      __decorate([ property({
        tooltip: false
      }) ], WinListPanel.prototype, "interactable", void 0);
      __decorate([ property ], WinListPanel.prototype, "scrollSpeed", void 0);
      __decorate([ property ], WinListPanel.prototype, "scrollElasticity", void 0);
      __decorate([ property(cc.Button) ], WinListPanel.prototype, "scrollUpButton", void 0);
      __decorate([ property(cc.Button) ], WinListPanel.prototype, "scrollDownButton", void 0);
      __decorate([ property({
        type: cc.Integer,
        min: 0,
        max: 1e3
      }) ], WinListPanel.prototype, "length", null);
      __decorate([ property(cc.Size) ], WinListPanel.prototype, "itemSize", null);
      __decorate([ property(cc.Integer) ], WinListPanel.prototype, "itemLimit", null);
      WinListPanel = __decorate([ ccclass, executeInEditMode ], WinListPanel);
      return WinListPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = WinListPanel;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "./PPPB-WinListItem": "PPPB-WinListItem"
  } ],
  "PPPB-WinPayoutDisplayHelper": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "92e41pyOpFOt5OYULn0NKFc", "PPPB-WinPayoutDisplayHelper");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_MoneyDisplayHelper_1 = require("../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_CardSpriteCollection_1 = require("../../../common/managers/PPPB-CardSpriteCollection");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var WinPayoutDisplayHelper = function(_super) {
      __extends(WinPayoutDisplayHelper, _super);
      function WinPayoutDisplayHelper() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.symbolSprite = null;
        _this.symbolCount = null;
        _this.payoutLabel = null;
        _this._cardSpriteCollection = null;
        return _this;
      }
      WinPayoutDisplayHelper.prototype.onLoaded = function() {
        this._cardSpriteCollection = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "Manager/CardSpriteCollection" ]).getComponent(PPPB_CardSpriteCollection_1.default);
      };
      WinPayoutDisplayHelper.prototype.$event_update_payoutMessage = function(card, count, payout) {
        if (-1 != card) {
          this.curPayout = payout;
          this.node.opacity = 255;
          this.symbolCount.string = "X" + count;
          this.symbolSprite.spriteFrame = this._cardSpriteCollection.GetSpriteFrameByValue(card);
          this.payoutLabel.string = PPPB_MoneyDisplayHelper_1.MoneyDisplayHelper.convertBetToText(payout);
        } else this.node.opacity = 0;
      };
      WinPayoutDisplayHelper.prototype.$event_refresh_payoutMessage = function() {
        this.payoutLabel.string = PPPB_MoneyDisplayHelper_1.MoneyDisplayHelper.convertBetToText(this.curPayout);
      };
      __decorate([ property(cc.Sprite) ], WinPayoutDisplayHelper.prototype, "symbolSprite", void 0);
      __decorate([ property(cc.Label) ], WinPayoutDisplayHelper.prototype, "symbolCount", void 0);
      __decorate([ property(cc.Label) ], WinPayoutDisplayHelper.prototype, "payoutLabel", void 0);
      WinPayoutDisplayHelper = __decorate([ ccclass ], WinPayoutDisplayHelper);
      return WinPayoutDisplayHelper;
    }(PPPB_UComponent_1.UComponent);
    exports.default = WinPayoutDisplayHelper;
    cc._RF.pop();
  }, {
    "../../../common/managers/PPPB-CardSpriteCollection": "PPPB-CardSpriteCollection",
    "../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-Work": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "54600KQCr9Mu5hnnRxoyzY9", "PPPB-Work");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Work = void 0;
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_maxLimitConfig_1 = require("../../config/PPPB-maxLimitConfig");
    var Work = function() {
      function Work() {
        this.spinState = 0;
        this.bet = 3;
        this.mul = 1;
        this.lastWinGolds = 0;
        this.lastTotalGolds = 0;
        this.lastFreeGolds = 0;
        this.ptWinGolds = 0;
        this.data = {
          cards: [],
          totalWinGold: 0,
          winGold: 0,
          freeGold: 0,
          freeMul: 1,
          freeSpins: 0,
          mul: 1,
          winCards: []
        };
        this.cards = [];
        this.disappearCards = {};
        this.lastCards = [];
        this.lastSpecialCards = [];
        this.cardlistlist2 = [];
        this._isForcingTurbo = false;
        this._speedBeforeForcingTurbo = PPPB_gameSettings_1.GameSpeed.NORMAL;
        this.curSpinCount = 0;
        this.curWinCount = 1;
        this.isPlayingFreeGameTransition = false;
        this.isInitFreeWins = false;
        this.initFreeGolds = 0;
        this.totalFrees = 0;
        this.freeCount = 0;
        this.freeMul = 1;
        this.lionColor = "";
        this.canSkipSpin = false;
        this.isVisualScatter = false;
        this._golds = 0;
        this.extra = false;
        this._totalGolds = 0;
        this._freeGolds = 0;
        this._curWinGolds = 0;
        this._isHoldForceTurbo = false;
        this._isScatter = false;
        this._hasGainedExtraFreeSpins = false;
        this._extraFreeSpins = 0;
        this._lastTotalWinBeforeFreeGame = 0;
        this._totalFreeSpins = 0;
        this.isShowingGamePaidMessage = false;
        this.curTotalWinGold = 0;
        this.curMultiplierCount = 0;
        this.isCardSfxActive = true;
      }
      Object.defineProperty(Work.prototype, "curBet", {
        get: function() {
          return this.bet;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "freeSpins", {
        get: function() {
          return this.data.freeSpins;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "winGolds", {
        get: function() {
          return this._golds;
        },
        set: function(v) {
          this._golds = Number(v.toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "totalWinGolds", {
        get: function() {
          return this._totalGolds;
        },
        set: function(v) {
          this._totalGolds = Number(v.toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "freeGolds", {
        get: function() {
          return this._freeGolds;
        },
        set: function(v) {
          this._freeGolds = Number(v.toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "curWinGold", {
        get: function() {
          return this._curWinGolds;
        },
        set: function(v) {
          this._curWinGolds = Number(v.toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "isHoldForceTurbo", {
        get: function() {
          return this._isHoldForceTurbo;
        },
        set: function(v) {
          this._isHoldForceTurbo = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "isScatter", {
        get: function() {
          return this.data.freeSpins > 0 || this.data.wonFreeSpins;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "isScattering", {
        get: function() {
          return this._isScatter;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "hasGainedExtraFreeSpins", {
        get: function() {
          return this._hasGainedExtraFreeSpins;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "extraFreeSpins", {
        get: function() {
          return this._extraFreeSpins;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "lastTotalWinBeforeFreeGame", {
        get: function() {
          return this._lastTotalWinBeforeFreeGame;
        },
        set: function(v) {
          this._lastTotalWinBeforeFreeGame = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "totalFreeSpins", {
        get: function() {
          return this._totalFreeSpins;
        },
        set: function(v) {
          this._totalFreeSpins = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Work.prototype, "maxWinLimit", {
        get: function() {
          return this.curBet * (this.extra ? PPPB_maxLimitConfig_1.doubleChanceMaxLimit : PPPB_maxLimitConfig_1.standardMaxLimit);
        },
        enumerable: false,
        configurable: true
      });
      Work.prototype.extendScatter = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this._hasGainedExtraFreeSpins = false;
              return [ 4, PPPB_event_1.Events.publishAsync("extend", "freeIn", "") ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Work.prototype.initScatterState = function(winGolds) {
        if (true == this.isInitFreeWins) return;
        this.initFreeGolds = winGolds;
        this.isInitFreeWins = true;
      };
      Work.prototype.enterScatter = function() {
        this._isScatter = true;
        this.freeMul = this.data.mul;
        this.isPlayingFreeGameTransition = true;
        PPPB_event_1.Events.publish("play", "freeIn", "");
      };
      Work.prototype.outScatter = function() {
        this._isScatter = false;
        this.isPlayingFreeGameTransition = true;
        PPPB_event_1.Events.publish("play", "freeOut", "");
        this.totalFrees = 0;
        this.freeMul = 1;
      };
      Work.prototype.reset = function() {
        this.winGolds = 0;
        this.totalWinGolds = 0;
        this.isScattering || (this.freeGolds = 0);
      };
      Work.prototype.toggleForcedTurbo = function(isEnabled) {
        if (this._isForcingTurbo == isEnabled) return;
        this._isForcingTurbo = isEnabled;
        if (this._isForcingTurbo) {
          this._speedBeforeForcingTurbo = PPPB_gameSettings_1.default.gameSpeed;
          PPPB_gameSettings_1.default.gameSpeed = PPPB_gameSettings_1.GameSpeed.TURBO;
        } else PPPB_gameSettings_1.default.gameSpeed = this._speedBeforeForcingTurbo;
      };
      Work.prototype.isTurboActive = function() {
        return PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.TURBO && PPPB_gameSettings_1.default.isAutoplayEnabled || this._isForcingTurbo && !this.isScatter;
      };
      Work.prototype.isAtNormalSpeed = function() {
        return PPPB_gameSettings_1.default.gameSpeed != PPPB_gameSettings_1.GameSpeed.QUICK && !this.isTurboActive();
      };
      Object.defineProperty(Work.prototype, "current", {
        get: function() {
          return this._current;
        },
        enumerable: false,
        configurable: true
      });
      Work.prototype.setCurrent = function(s) {
        this._current = s;
      };
      Work.prototype.play = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this._current.work(this).catch(function(r) {
                return console.error(r);
              }) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Work.prototype.setData = function(data) {
        this.data = data;
        this.winGolds = data.winGold;
        this.freeGolds = data.freeGold;
        this.totalWinGolds = data.totalWinGold;
        if (this.isScattering && this.data.freeSpins >= 0 && data.gainedFreeSpins > 0) {
          this._hasGainedExtraFreeSpins = true;
          this._extraFreeSpins = this.data.gainedFreeSpins;
        }
        console.log("luoli", data);
      };
      Work.prototype.GetMultipliersCount = function() {
        var count = 0;
        for (var _i = 0, _a = this.cardlistlist2; _i < _a.length; _i++) {
          var cardlist2 = _a[_i];
          count += cardlist2.GetMultiplesCount();
        }
        return count;
      };
      Work.prototype.CheckHasMultipliers = function() {
        for (var i = 0; i < this.cardlistlist2.length; i++) if (this.cardlistlist2[i].GetMultiplesCount() > 0) {
          console.log("Found multiplier cards: " + this.cardlistlist2[i].GetMultiplesCount());
          return true;
        }
        return false;
      };
      Work.prototype.CheckJustScatter = function() {
        return __awaiter(this, void 0, void 0, function() {
          var totalScatterCount, i, justScatterCount;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              totalScatterCount = 0;
              for (i = 0; i < this.cardlistlist2.length; i++) totalScatterCount += this.cardlistlist2[i].GetScatterCount();
              justScatterCount = this.isScattering ? 2 : 3;
              if (!(totalScatterCount == justScatterCount)) return [ 3, 2 ];
              PPPB_quick_1.ks.playEffectSound("FreeGameAlmost");
              return [ 4, PPPB_lib_1._.sleep(250) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      Work.prototype.updateCardValues = function() {
        for (var i = 0; i < this.cardlistlist2.length; i++) {
          var e = this.cardlistlist2[i];
          e.values = this.data.cards[i];
        }
      };
      Work.prototype.setDisappearCards = function() {
        this.mul = this.data.mul;
        console.log("alibaba ---------- setDisappearCards", this.mul);
        var cards = this.data.cards;
        this.lastCards = cards;
        this.lastTotalGolds = this.totalWinGolds;
        this.lastWinGolds = this.winGolds;
        this.lastFreeGolds = this.freeGolds;
        if (!this.data.winCards) {
          this.disappearCards = {};
          return;
        }
        var dis = {};
        for (var i = 0; i < this.data.winCards.length; i++) {
          var e = this.data.winCards[i];
          dis[e[0]] || (dis[e[0]] = []);
          dis[e[0]].push(e[1]);
          if (e[0] >= 0) {
            var y = e[1];
            while (0 == cards[e[0]][--y]) dis[e[0]].push(y);
          }
        }
        this.disappearCards = dis;
        console.log("disappearCards", dis);
      };
      return Work;
    }();
    exports.Work = Work;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../config/PPPB-maxLimitConfig": "PPPB-maxLimitConfig"
  } ],
  "PPPB-_main": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e3cbbMVSBdD2K9dyN54HtGV", "PPPB-_main");
    "use strict";
    var __assign = this && this.__assign || function() {
      __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
          s = arguments[i];
          for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
        }
        return t;
      };
      return __assign.apply(this, arguments);
    };
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CMain = void 0;
    var PPPB_event_1 = require("./framework/PPPB-event");
    var PPPB_audio_1 = require("./framework-cocos/PPPB-audio");
    var PPPB_res_1 = require("./framework-cocos/PPPB-res");
    var PPPB_sys_1 = require("./framework-cocos/PPPB-sys");
    var PPPB_config_1 = require("./PPPB-config");
    var PPPB_rpc_1 = require("./framework-rpc/PPPB-rpc");
    var PPPB_language_1 = require("./framework-cocos/PPPB-language");
    var PPPB_languageData_1 = require("./game/config/PPPB-languageData");
    var PPPB_lib_1 = require("./framework/PPPB-lib");
    var PPPB_ui_1 = require("./framework-cocos/PPPB-ui");
    var PPPB_net_1 = require("./framework/PPPB-net");
    var PPPB_Algorithm_1 = require("./game/client/PPPB-Algorithm");
    var PPPB_slot_pb_1 = require("./proto/PPPB-slot_pb");
    var PPPB_slotNet_1 = require("./framework-rpc/PPPB-slotNet");
    var PPPB_BgmAudioHandler_1 = require("./game/client/PPPB-BgmAudioHandler");
    PPPB_res_1.res.initGame(PPPB_config_1.mainConfig.bundleName);
    window["URLSearchParams"] || (window["URLSearchParams"] = function() {
      return {
        get: function(str) {
          return window["subGameInitData"];
        }
      };
    });
    var searchParams = new URLSearchParams(window.location.search);
    var url = searchParams.get("url");
    var dev_server = __assign({}, PPPB_config_1.mainConfig.servers.test_777);
    function initSrv(isLog) {
      var server = searchParams.get("s");
      server && PPPB_config_1.mainConfig.servers[server] && (dev_server = PPPB_config_1.mainConfig.servers[server]);
      var host = searchParams.get("h");
      host && (dev_server.host = host);
      var port = parseInt(searchParams.get("p"));
      port > 0 && (dev_server.port = port);
      var lang = searchParams.get("l");
      lang && (dev_server.DefaultLanguage = lang);
      var ops = searchParams.get("Ops");
      ops && (this.opsParams.Ops = ops);
      var opstoken = searchParams.get("Opstoken");
      opstoken && (this.Opsparams.Opstoken = opstoken);
      var a = searchParams.get("a");
      a && (dev_server.baseAuth = a);
      var debug = searchParams.get("debug");
      debug && (PPPB_sys_1.sys.debugMode = Number(debug));
      if (isLog) {
        console.log("-------\u670d\u52a1\u5668-------", dev_server);
        console.log(PPPB_lib_1._.j(dev_server));
      }
      dev_server.DefaultLanguage = convertLanguage(dev_server.DefaultLanguage);
      PPPB_sys_1.sys.backStageUrl = dev_server["url"] || "";
      PPPB_config_1.mainConfig.serverName = dev_server.name;
      PPPB_rpc_1.RPC.init(dev_server.host + (dev_server.port ? ":" + dev_server.port : ""));
      PPPB_slotNet_1.SlotNet.url = dev_server.host + (dev_server.port ? ":" + dev_server.port : "");
    }
    function convertLanguage(lang) {
      switch (lang) {
       case "my":
        return "mm";

       case "vi":
        return "vn";

       case "th":
        return "thai";
      }
      return lang;
    }
    console.log("window.location.origin", window.location.origin);
    if ((false, !window.location.origin) || window.location.origin.startsWith("http:")) initSrv(true); else {
      initSrv(false);
      cc.assetManager.loadRemote(window.location.origin + "/server.json", cc.JsonAsset, function(err, asset) {
        return __awaiter(void 0, void 0, void 0, function() {
          var json, k, v;
          return __generator(this, function(_a) {
            if (err) console.error(err); else if (asset) {
              json = null === asset || void 0 === asset ? void 0 : asset.json;
              if ("object" === typeof json) for (k in json) {
                v = json[k];
                dev_server[k] = v;
              }
              initSrv(true);
            }
            return [ 2 ];
          });
        });
      });
    }
    PPPB_sys_1.sys.init(PPPB_config_1.mainConfig.init.gameType || "MZW2", PPPB_config_1.mainConfig.init.gameDir || "mahjongways2", PPPB_config_1.mainConfig.init.version || "0.0.0", PPPB_config_1.mainConfig.init.clientType || "mahjongways2", PPPB_config_1.mainConfig.init.currency || "RMB", {
      log: PPPB_config_1.mainConfig.init.log || false,
      backStageUrl: dev_server["url"] || ""
    });
    var lan = cc.sys.localStorage.getItem("language") || PPPB_config_1.mainConfig.language.type;
    PPPB_language_1.language.init([ PPPB_languageData_1.languageData.text ], lan, PPPB_config_1.mainConfig.language.dev);
    PPPB_audio_1.audio.init(PPPB_config_1.mainConfig.audio.init.bgmScale, PPPB_config_1.mainConfig.audio.init.sfxScale);
    PPPB_audio_1.audio.setGlobalButtonClickSound(PPPB_config_1.mainConfig.audio.globalButtonClickSound);
    var CMain = function() {
      function CMain() {}
      CMain.init = function() {
        return __awaiter(this, void 0, void 0, function() {
          var platform_str, k;
          return __generator(this, function(_a) {
            if (this._isInit) return [ 2 ];
            this._isInit = true;
            PPPB_res_1.res.init();
            cc.view.resizeWithBrowserSize(true);
            try {
              console.log("--------------require(cordova.js)--");
              console.log("-----------window-----", PPPB_lib_1._.objs(window, function(v, k) {
                if (!PPPB_lib_1._.isFunction(v)) return [ k, v ];
              }));
              window.addEventListener("batterystatus", this.onBatterystatus, false);
              device ? this.onDeviceready(true) : document.addEventListener("deviceready", this.onDeviceready.bind(this, false));
            } catch (e) {
              console.warn(e);
            }
            PPPB_event_1.Events.emitAsync("init");
            cc.game.on(cc.game.EVENT_HIDE, this._onGame_EVENT_HIDE, this);
            cc.game.on(cc.game.EVENT_SHOW, this._onGame_EVENT_SHOW, this);
            console.log("os                 ", cc.sys.os);
            console.log("osVersion          ", cc.sys.osVersion);
            console.log("osMainVersion      ", cc.sys.osMainVersion);
            console.log("languageCode       ", cc.sys.languageCode);
            console.log("platform           ", cc.sys.platform);
            platform_str = "";
            for (k in cc.sys) "platform" !== k && cc.sys.platform === cc.sys[k] && (platform_str = k);
            console.log("platformName       ", platform_str);
            console.log("isBrowser          ", cc.sys.isBrowser);
            console.log("browserType        ", cc.sys.browserType);
            console.log("browserVersion     ", cc.sys.browserVersion);
            console.log("windowPixelResolution", cc.sys.windowPixelResolution);
            console.log("isMobile           ", PPPB_lib_1.cc1.sys.isMobile);
            console.log("isNative           ", cc.sys.isNative);
            console.log("NetworkType        ", cc.sys.getNetworkType());
            console.log("BatteryLevel       ", cc.sys.getBatteryLevel());
            this.parseUrlParams();
            cc.view.enableRetina(false);
            cc.view.resizeWithBrowserSize(true);
            cc.view.setResizeCallback(function() {
              var rect = cc.game.canvas.getBoundingClientRect();
              var landscape = false;
              rect.width > rect.height && (landscape = true);
              console.log("\u5c4f\u5e55\u9002\u914d1", landscape);
              PPPB_event_1.Events.publish("game", "viewResize", "", landscape);
              console.log("===============cc.view.ResizeCallback", rect.left, rect.top, rect.width, rect.height);
            });
            return [ 2 ];
          });
        });
      };
      CMain.parseUrlParams = function() {
        this.opsParams.Ops = searchParams.get("Ops") || this.opsParams.Ops;
        this.opsParams.Opstoken = searchParams.get("Opstoken") || this.opsParams.Opstoken;
        this.opsParams.Nickname = searchParams.get("Nickname");
        this.opsParams.Opsparams = searchParams.get("Opsparams");
        var baseAuth = searchParams.get("baseAuth");
        PPPB_rpc_1.RPC.baseAuth = baseAuth || PPPB_rpc_1.RPC.baseAuth;
        console.log(url);
        if (url) {
          var key = searchParams.get("key");
          var date = searchParams.get("date");
          url += "?key=" + key + "&date=" + date;
          PPPB_net_1.Net.httpRequest(url, {}, "POST").then(function(response) {
            try {
              var r = response;
              PPPB_sys_1.sys.restoreConfig = PPPB_Algorithm_1.aal.convertSpinResponse(PPPB_slot_pb_1.SpinRet.deserializeBinary(r.data.spinlist), r.data.extra || false);
              PPPB_sys_1.sys.restoreConfig.win = r.data.win;
              PPPB_sys_1.sys.demoMode = 100;
            } catch (error) {}
          });
        }
      };
      CMain.onDeviceready = function(isReadyed) {
        void 0 === isReadyed && (isReadyed = false);
        console.log("--onDeviceready-------isReadyed: " + isReadyed + "-------", device);
        PPPB_rpc_1.RPC.userInfo.deviceid = device.uuid;
        PPPB_rpc_1.RPC.userInfo.device = device.manufacturer + "-" + device.model;
        console.log("device             ", PPPB_rpc_1.RPC.userInfo.device);
        console.log("deviceid           ", PPPB_rpc_1.RPC.userInfo.deviceid);
      };
      CMain.onBatterystatus = function(status) {
        console.log("--onDeviceready-------: -------", status);
        console.log("battery level      ", status.level);
        console.log("battery isPlugged  ", status.isPlugged);
        PPPB_event_1.Events.publish("sys", "batterystatus", "", status);
      };
      CMain.inited = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this._isInited) return [ 2 ];
            this._isInited = true;
            PPPB_event_1.Events.emitAsync("inited");
            return [ 2 ];
          });
        });
      };
      CMain.reset = function() {
        this._isInit = false;
        this._isInited = false;
      };
      CMain._onGame_EVENT_HIDE = function() {
        console.log("EVENT_HIDE");
        cc.game.pause();
        PPPB_BgmAudioHandler_1.BgmAudio.OnAppLoseFocusStopAudio();
        this._t_event_hide = PPPB_lib_1._.now();
        ++this._sbgmTime;
      };
      CMain._onGame_EVENT_SHOW = function() {
        return __awaiter(this, void 0, void 0, function() {
          var t, pass;
          return __generator(this, function(_a) {
            console.log("EVENT_SHOW");
            cc.game.resume();
            PPPB_BgmAudioHandler_1.BgmAudio.OnAppLoseFocusRegainAudio();
            if (this._t_event_hide > 0) {
              t = PPPB_lib_1._.now();
              pass = t - this._t_event_hide;
              this._t_event_hide = 0;
              pass > 3e4;
            }
            return [ 2 ];
          });
        });
      };
      CMain.$event_game_tips = function(txt) {
        return __awaiter(this, void 0, void 0, function() {
          var tips;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.create("prefab/effect/tips") ];

             case 1:
              tips = _a.sent();
              tips = PPPB_ui_1.ui.getNode(tips);
              PPPB_ui_1.ui.setUIDataValueByPath(tips, "root/txt", txt);
              return [ 4, PPPB_ui_1.ui.playAnimation([ tips, "root" ], "tips", 1, true) ];

             case 2:
              _a.sent();
              PPPB_ui_1.ui.destroy(tips);
              return [ 2 ];
            }
          });
        });
      };
      CMain.$event_sys_batterystatus = function(status) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            return [ 2 ];
          });
        });
      };
      CMain.$event_sys_errs = function(err, code) {
        void 0 === code && (code = 0);
        return __awaiter(this, void 0, void 0, function() {
          var txt, json, d;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              txt = "";
              try {
                json = JSON.parse(err);
                if (json.Start && json.End) {
                  code = 1;
                  txt = PPPB_language_1.language.formatText("server.notice", PPPB_lib_1._.dateString(json.Start), PPPB_lib_1._.dateString(json.End));
                }
              } catch (error) {}
              txt || (txt = PPPB_language_1.language.getText(err));
              console.log(txt);
              d = {};
              if (!txt) return [ 3, 2 ];
              d = {
                attr: {
                  ui_setUIDataValue: {
                    tips: txt
                  }
                }
              };
              return [ 4, PPPB_ui_1.ui.doModelUI("prefab/ui/systips", d) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              1 == code && (cc.sys.isNative || cc.sys.isBrowser && this.opsParams.Opstoken || PPPB_sys_1.sys.restart());
              return [ 2 ];
            }
          });
        });
      };
      CMain.opsParams = {
        Ops: "",
        Opstoken: "",
        Opsparams: "{}",
        Nickname: ""
      };
      CMain = __decorate([ PPPB_event_1.EventClass ], CMain);
      return CMain;
    }();
    exports.CMain = CMain;
    cc._RF.pop();
  }, {
    "./PPPB-config": "PPPB-config",
    "./framework-cocos/PPPB-audio": "PPPB-audio",
    "./framework-cocos/PPPB-language": "PPPB-language",
    "./framework-cocos/PPPB-res": "PPPB-res",
    "./framework-cocos/PPPB-sys": "PPPB-sys",
    "./framework-cocos/PPPB-ui": "PPPB-ui",
    "./framework-rpc/PPPB-rpc": "PPPB-rpc",
    "./framework-rpc/PPPB-slotNet": "PPPB-slotNet",
    "./framework/PPPB-event": "PPPB-event",
    "./framework/PPPB-lib": "PPPB-lib",
    "./framework/PPPB-net": "PPPB-net",
    "./game/client/PPPB-Algorithm": "PPPB-Algorithm",
    "./game/client/PPPB-BgmAudioHandler": "PPPB-BgmAudioHandler",
    "./game/config/PPPB-languageData": "PPPB-languageData",
    "./proto/PPPB-slot_pb": "PPPB-slot_pb"
  } ],
  "PPPB-action": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5c793+UEVBFc6c4fCScGUnd", "PPPB-action");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.action = exports.ACT = exports.CAction = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_ui_1 = require("./PPPB-ui");
    var CAction = function() {
      function CAction(uiObj, speed) {
        void 0 === speed && (speed = 1);
        this._uiObj = null;
        this._speed = 1;
        this._acts = [];
        this._asyncs = [];
        this._begIndexs = [];
        this._uiObj = uiObj;
        this._speed = speed;
      }
      Object.defineProperty(CAction.prototype, "node", {
        get: function() {
          return PPPB_ui_1.ui.getNode(this._uiObj);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CAction.prototype, "speed", {
        get: function() {
          return CAction.speed * this._speed;
        },
        set: function(s) {
          this._speed = s;
        },
        enumerable: false,
        configurable: true
      });
      CAction.prototype.getNode = function() {
        return this.node;
      };
      CAction.prototype.getComponent = function(componentType) {
        return PPPB_ui_1.ui.getComponent(this._uiObj, componentType);
      };
      CAction.isActionValid = function(action) {
        if (!action) return;
        var target = action.getOriginalTarget();
        return target && cc.director.getActionManager().getNumberOfRunningActionsInTarget(target) > 0;
      };
      CAction.prototype.run = function(acts, repeat) {
        void 0 === repeat && (repeat = 1);
        return __awaiter(this, void 0, void 0, function() {
          var node_1, speed, action, e_1;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              _a.trys.push([ 0, 2, , 3 ]);
              node_1 = this.node;
              if (!cc.isValid(node_1)) return [ 2 ];
              if (repeat > 1) acts = cc.repeat(PPPB_lib_1._.isArray(acts) ? cc.sequence(acts) : acts, repeat); else if (repeat <= 0) {
                speed = this.speed;
                action = cc.repeatForever(PPPB_lib_1._.isArray(acts) ? cc.sequence(acts) : acts);
                node_1.runAction(1 === this.speed ? action : cc.speed(action, this.speed));
                return [ 2 ];
              }
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var on, done, action, speed;
                  var _this = this;
                  return __generator(this, function(_a) {
                    on = node_1.on("stopAllActions", function() {
                      done();
                    });
                    done = function(err) {
                      err ? reject(err) : resolve(_this);
                      node_1.off("stopAllActions", on);
                      done = null;
                    };
                    try {
                      if (cc.isValid(node_1)) {
                        action = void 0;
                        if (PPPB_lib_1._.isArray(acts)) {
                          acts.push(cc.callFunc(function() {
                            done && done();
                          }));
                          action = 1 == acts.length ? acts[0] : cc.sequence(acts);
                        } else action = cc.sequence(acts, cc.callFunc(function() {
                          resolve(_this);
                        }));
                        speed = this.speed;
                        1 === speed ? node_1.runAction(action) : node_1.runAction(cc.speed(action, speed));
                      }
                    } catch (e) {
                      console.log(e);
                      done(e);
                    }
                    return [ 2 ];
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              e_1 = _a.sent();
              console.log(e_1);
              return [ 3, 3 ];

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      CAction.prototype.act = function(repeat, until) {
        void 0 === repeat && (repeat = 1);
        void 0 === until && (until = null);
        return __awaiter(this, void 0, void 0, function() {
          var i, _i, _a, a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this.add();
              if (!(repeat <= 0 && 1 === this._asyncs.length)) return [ 3, 2 ];
              return [ 4, this.run(this._asyncs[0], 0) ];

             case 1:
              _b.sent();
              return [ 3, 10 ];

             case 2:
              i = 0;
              _b.label = 3;

             case 3:
              if (!(i < repeat || repeat <= 0)) return [ 3, 10 ];
              _i = 0, _a = this._asyncs;
              _b.label = 4;

             case 4:
              if (!(_i < _a.length)) return [ 3, 9 ];
              a = _a[_i];
              if (!("function" === typeof a)) return [ 3, 6 ];
              return [ 4, a() ];

             case 5:
              _b.sent();
              return [ 3, 8 ];

             case 6:
              return [ 4, this.run(a) ];

             case 7:
              _b.sent();
              _b.label = 8;

             case 8:
              _i++;
              return [ 3, 4 ];

             case 9:
              i++;
              return [ 3, 3 ];

             case 10:
              return [ 2 ];
            }
          });
        });
      };
      CAction.prototype.add = function(act) {
        var t = typeof act;
        if ("function" !== t && act) this._acts.push(act); else {
          var acts = this._acts.slice();
          this._acts = [];
          this._begIndexs = [];
          acts.length && this._asyncs.push(1 === acts.length ? acts[0] : cc.sequence(acts));
          act && this._asyncs.push(act);
        }
      };
      CAction.prototype.stop = function() {
        return this.clear();
      };
      CAction.prototype.clear = function() {
        this.node.stopAllActions();
        this.node.emit("stopAllActions");
        return this;
      };
      CAction.prototype.follow = function(node, rect) {
        var act = cc.follow(node, rect);
        cc.isValid(this.node) && this.node.runAction(act);
      };
      CAction.prototype.beg = function() {
        this._begIndexs.push(this._acts.length);
        return this;
      };
      CAction.prototype.end = function() {
        var begIndex = this._begIndexs.pop() || 0;
        var len = this._acts.length;
        if (begIndex >= len) return;
        var act = cc.sequence(this._acts.slice(begIndex));
        this._acts.splice(begIndex, len - begIndex, act);
        return this;
      };
      CAction.prototype.spawnEnd = function() {
        var begIndex = this._begIndexs.pop() || 0;
        var len = this._acts.length;
        if (begIndex >= len) return;
        var act = cc.spawn(this._acts.slice(begIndex));
        this._acts.splice(begIndex, len - begIndex, act);
        return this;
      };
      CAction.prototype.repeat = function(loop) {
        this._acts[this._acts.length - 1] = loop > 0 ? cc.repeat(this._acts[this._acts.length - 1], loop) : cc.repeat(this._acts[this._acts.length - 1], 1);
        return this;
      };
      CAction.prototype.reverse = function() {
        if (this._acts.length <= 0) return this;
        var act = cc.reverseTime(this._acts[this._acts.length - 1]);
        this.add(act);
        return this;
      };
      CAction.prototype.moveToNode = function(dur, node, ease) {
        var act = cc.moveTo(dur, PPPB_ui_1.ui.getSyncPos(this.node, node));
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.moveTo = function(dur, pos, y, ease) {
        var act = cc.moveTo(dur, pos, y);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.moveBy = function(dur, pos, y, ease) {
        var act = cc.moveBy(dur, pos, y);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.moveSpeedBy = function(speed, x, y) {
        return this.moveBy(Math.sqrt(x * x + y * y) / speed, x, y);
      };
      CAction.prototype.rotateTo = function(dur, deltaAngle, ease) {
        var act = cc.rotateTo(dur, deltaAngle);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.rotateBy = function(dur, deltaAngle, ease) {
        var act = cc.rotateBy(dur, deltaAngle);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.scaleTo = function(dur, sx, sy, ease) {
        var act = cc.scaleTo(dur, sx, isFinite(sy) ? sy : sx);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.scaleBy = function(dur, sx, sy, ease) {
        var act = cc.scaleBy(dur, sx, isFinite(sy) ? sy : sx);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.skewTo = function(dur, sx, sy, ease) {
        var act = cc.skewTo(dur, sx, isFinite(sy) ? sy : sx);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.skewBy = function(dur, sx, sy, ease) {
        var act = cc.skewBy(dur, sx, isFinite(sy) ? sy : sx);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.jumpTo = function(dur, pos, y, height, jumps, ease) {
        var act = cc.jumpTo(dur, pos, y, height, jumps);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.jumpBy = function(dur, pos, y, height, jumps, ease) {
        var act = cc.jumpBy(dur, pos, y, height, jumps);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.bezierTo = function(dur, poss, ease) {
        var act = cc.bezierTo(dur, poss);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.bezierBy = function(dur, poss, ease) {
        var act = cc.bezierBy(dur, poss);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.blink = function(dur, blinks, ease) {
        var act = cc.blink(dur, blinks);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.fade = function(dur, a, ease) {
        return this.fadeTo(dur, PPPB_lib_1._.limit(255 * a, 0, 255), ease);
      };
      CAction.prototype.fadeTo = function(dur, opacity, ease) {
        var act = cc.fadeTo(dur, opacity);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.fadeIn = function(dur, ease) {
        var act = cc.fadeIn(dur);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.fadeOut = function(dur, ease) {
        var act = cc.fadeOut(dur);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.tintTo = function(dur, r, g, b, ease) {
        var act = cc.tintTo(dur, r, g, b);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.tintBy = function(dur, r, g, b, ease) {
        var act = cc.tintBy(dur, r, g, b);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.delayTime = function(dur) {
        if (dur > 0) {
          var act = cc.delayTime(dur);
          this.add(act);
        }
        return this;
      };
      CAction.prototype.delay = function(durMS) {
        return this.delayTime(durMS / 1e3);
      };
      CAction.prototype.cardinalSplineTo = function(dur, points, tension, ease) {
        var act = cc.cardinalSplineTo(dur, points, tension);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.cardinalSplineBy = function(dur, points, tension, ease) {
        var act = cc.cardinalSplineBy(dur, points, tension);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.catmullRomTo = function(dt, points, ease) {
        var act = cc.catmullRomTo(dt, points);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.catmullRomBy = function(dt, points, ease) {
        var act = cc.catmullRomBy(dt, points);
        ease && (act = act.easing(ease));
        this.add(act);
        return this;
      };
      CAction.prototype.async = function(func) {
        this.add(func);
        return this;
      };
      CAction.prototype.waitFor = function(cb) {
        var _this = this;
        return this.async(function() {
          return __awaiter(_this, void 0, void 0, function() {
            return __generator(this, function(_a) {
              switch (_a.label) {
               case 0:
                return [ 4, new Promise(function(resolve, reject) {
                  cb(resolve);
                }) ];

               case 1:
                return [ 2, _a.sent() ];
              }
            });
          });
        });
      };
      CAction.prototype.show = function() {
        this.add(cc.show());
        return this;
      };
      CAction.prototype.hide = function() {
        this.add(cc.hide());
        return this;
      };
      CAction.prototype.toggleVisibility = function() {
        this.add(cc.toggleVisibility());
        return this;
      };
      CAction.prototype.removeSelf = function() {
        this.add(cc.removeSelf());
        return this;
      };
      CAction.prototype.flipX = function(flip) {
        this.add(cc.flipX(flip));
        return this;
      };
      CAction.prototype.flipY = function(flip) {
        this.add(cc.flipY(flip));
        return this;
      };
      CAction.prototype.place = function() {
        var pp = [];
        for (var _i = 0; _i < arguments.length; _i++) pp[_i] = arguments[_i];
        this.add(cc.place.apply(null, pp));
        return this;
      };
      CAction.prototype.callFunc = function() {
        var pp = [];
        for (var _i = 0; _i < arguments.length; _i++) pp[_i] = arguments[_i];
        this.add(cc.callFunc.apply(null, pp));
        return this;
      };
      CAction.prototype.targetedAction = function() {
        var pp = [];
        for (var _i = 0; _i < arguments.length; _i++) pp[_i] = arguments[_i];
        this.add(cc.targetedAction.apply(null, pp));
        return this;
      };
      CAction.prototype.setParent = function(parent) {
        var _this = this;
        return this.callFunc(function() {
          PPPB_ui_1.ui.setParent(_this._uiObj, parent);
        });
      };
      CAction.prototype.destroy = function() {
        var _this = this;
        return this.callFunc(function() {
          PPPB_ui_1.ui.destroy(_this._uiObj);
        });
      };
      CAction.prototype.attr = function(attr) {
        var _this = this;
        return this.callFunc(function() {
          PPPB_ui_1.ui.attr(_this._uiObj, attr);
        });
      };
      CAction.prototype.playAnimation = function(isWait, name, loop, node, startTime, isAdditive) {
        var _this = this;
        void 0 === isWait && (isWait = true);
        void 0 === loop && (loop = 1);
        void 0 === isAdditive && (isAdditive = false);
        var anim;
        node = node || this.node;
        anim = node.getComponent(cc.Animation);
        if (anim) {
          this.callFunc(function() {
            var animState = isAdditive ? anim.playAdditive(name, startTime) : anim.play(name, startTime);
            animState.speed = _this.speed;
            animState.wrapMode = cc.WrapMode.Loop;
            animState.repeatCount = loop > 0 ? loop : Infinity;
          });
          isWait && loop > 0 && this.delayTime(CAction.getAnimationDuration(anim, name) * loop);
          return this;
        }
        var anisp = node.getComponent(sp.Skeleton);
        if (anisp) {
          var isLoop_1 = 0 === loop;
          this.callFunc(function() {
            anisp.setAnimation(0, name, isLoop_1);
            if (loop > 0) for (var i = 0; i < loop - 1; i++) anisp.addAnimation(0, name, false);
          });
          isWait && !isLoop_1 && this.waitFor(function(resolve) {
            var l = 0;
            anisp.setCompleteListener(function() {
              l++;
              if (l >= loop) {
                resolve && resolve();
                resolve = null;
              }
            });
          });
          return this;
        }
        var anigb = node.getComponent(dragonBones.ArmatureDisplay);
        if (anigb) {
          this.callFunc(function() {
            anigb.playAnimation(name, loop);
          });
          isWait && !loop && this.waitFor(function(resolve) {
            anigb.addEventListener(dragonBones.EventObject.LOOP_COMPLETE, function() {
              resolve();
              anigb.removeEventListener(dragonBones.EventObject.LOOP_COMPLETE);
            });
          });
        }
        return this;
      };
      CAction.prototype.stopAnimation = function() {
        var _this = this;
        this.callFunc(function() {
          var anim = _this.node.getComponent(cc.Animation);
          anim && anim.stop();
        });
      };
      CAction.prototype.pauseAnimation = function() {
        var _this = this;
        this.callFunc(function() {
          var anim = _this.node.getComponent(cc.Animation);
          anim && anim.resume();
        });
      };
      CAction.prototype.resumeAnimation = function() {
        var _this = this;
        this.callFunc(function() {
          var anim = _this.node.getComponent(cc.Animation);
          anim && anim.resume();
        });
      };
      CAction.prototype.playEffect = function(prefabRes, parent, initData, name, loop, cb) {
        var _this = this;
        void 0 === parent && (parent = null);
        void 0 === loop && (loop = 1);
        return this.callFunc(function() {
          (function() {
            return __awaiter(_this, void 0, void 0, function() {
              var effect;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  return [ 4, PPPB_ui_1.ui.playEffect(prefabRes, parent || this.node, initData, name, loop, true, 0, cb) ];

                 case 1:
                  effect = _a.sent();
                  PPPB_ui_1.ui.destroy(effect);
                  return [ 2 ];
                }
              });
            });
          })();
        });
      };
      CAction.getAnimationDuration = function(anim, name) {
        if (!anim || !(anim instanceof cc.Animation)) return 0;
        if (!name && anim.defaultClip) return anim.defaultClip.duration;
        var animState = anim.getAnimationState(name);
        return animState ? animState.duration : 0;
      };
      CAction.createAction = function(node) {
        return new CAction(node);
      };
      CAction.createSprite = function(res, parent) {
        var sprite = PPPB_ui_1.ui.createSprite(res, parent);
        return new CAction(PPPB_ui_1.ui.getNode(sprite));
      };
      CAction.playEffect = function(prefabRes, parent, initData, aniClipName, loopOrSecond, cb) {
        void 0 === parent && (parent = null);
        void 0 === loopOrSecond && (loopOrSecond = 1);
        return __awaiter(this, void 0, void 0, function() {
          var effect;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.playEffect(prefabRes, parent, initData, aniClipName, loopOrSecond, false, -1, cb) ];

             case 1:
              effect = _a.sent();
              return [ 2, new CAction(PPPB_ui_1.ui.getNode(effect)) ];
            }
          });
        });
      };
      Object.defineProperty(CAction, "speed", {
        get: function() {
          return this._speed || 1;
        },
        set: function(s) {
          this._speed = s || 1;
        },
        enumerable: false,
        configurable: true
      });
      CAction.init = function() {};
      CAction.reset = function() {
        this._pauseSleep = false;
        this._sleepSpeed = 1;
      };
      CAction.run = function(uiObj, acts) {
        return __awaiter(this, void 0, Promise, function() {
          var node;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              node = PPPB_ui_1.ui.getNode(uiObj);
              if (!cc.isValid(node)) return [ 2 ];
              return [ 4, new Promise(function(resolve, reject) {
                if (cc.isValid(node)) {
                  var action = void 0;
                  if (PPPB_lib_1._.isArray(acts)) {
                    var actList = acts;
                    actList.push(cc.callFunc(function() {
                      resolve(node);
                    }));
                    action = cc.sequence(actList);
                  } else action = cc.sequence(acts, cc.callFunc(function() {
                    resolve(node);
                  }));
                  var speed = _this.speed;
                  1 === speed ? node.runAction(action) : node.runAction(cc.speed(action, speed));
                }
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      Object.defineProperty(CAction, "pauseSleep", {
        get: function() {
          return this._pauseSleep;
        },
        set: function(p) {
          this._pauseSleep = p;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CAction, "sleepSpeed", {
        get: function() {
          return this._sleepSpeed;
        },
        set: function(p) {
          this._sleepSpeed = p;
        },
        enumerable: false,
        configurable: true
      });
      CAction.sleep = function(timeMS) {
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (timeMS <= 0) return [ 2 ];
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var waitTime, lastStamp, t;
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      waitTime = 0;
                      lastStamp = PPPB_lib_1._.now();
                      _a.label = 1;

                     case 1:
                      if (!(waitTime < timeMS)) return [ 3, 3 ];
                      return [ 4, PPPB_lib_1._.sleep(10) ];

                     case 2:
                      _a.sent();
                      t = PPPB_lib_1._.now();
                      this._pauseSleep || (waitTime += (t - lastStamp) * this._sleepSpeed);
                      lastStamp = t;
                      return [ 3, 1 ];

                     case 3:
                      resolve();
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CAction._speed = 1;
      CAction._pauseSleep = false;
      CAction._sleepSpeed = 1;
      return CAction;
    }();
    exports.CAction = CAction;
    exports.action = CAction;
    function ACT(uiObj) {
      return new CAction(uiObj);
    }
    exports.ACT = ACT;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-aniConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4b755RW9s9CNZpBRMUGHX1p", "PPPB-aniConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.AniConfig = void 0;
    exports.AniConfig = {
      fade_in: {
        col: 400,
        row: 80
      },
      fall_in: {
        col: 150,
        row: 80
      }
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-api": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c42e8esSJNJZ6gFg63A+TXa", "PPPB-api");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Api = void 0;
    var PPPB_rpc_1 = require("../../framework-rpc/PPPB-rpc");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_slot_grpc_web_pb_1 = require("../../proto/PPPB-slot_grpc_web_pb");
    var PPPB_slot_pb_1 = require("../../proto/PPPB-slot_pb");
    var PPPB_trace_grpc_web_pb_1 = require("../../proto/PPPB-trace_grpc_web_pb");
    var PPPB_GameServer_1 = require("./PPPB-GameServer");
    var CApi = function() {
      function CApi() {}
      CApi.$_on_inited = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_rpc_1.RPC.setDevProtoMethod(PPPB_slot_grpc_web_pb_1.GameClient.prototype.spin, this.spin);
            PPPB_rpc_1.RPC.setDevProtoMethod(PPPB_slot_grpc_web_pb_1.GameClient.prototype.buyFree, this.buyFree);
            PPPB_rpc_1.RPC.set(PPPB_slot_grpc_web_pb_1.GameClient, "slotApi", void 0, void 0, 200, 500);
            PPPB_rpc_1.RPC.set(PPPB_trace_grpc_web_pb_1.TraceClient, "trace", void 0, void 0, 200, 500);
            return [ 2 ];
          });
        });
      };
      CApi.spin = function(call, callback) {
        return __awaiter(this, void 0, void 0, function() {
          var reply, logic;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              reply = new PPPB_slot_pb_1.SpinRet();
              logic = function() {
                return __awaiter(_this, void 0, void 0, function() {
                  var superAce, bet, betIndex, error, spins, func, freespins, spinstart;
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, PPPB_GameServer_1.GameServer.getAce("100000") ];

                     case 1:
                      superAce = _a.sent();
                      bet = call.request.getBet();
                      betIndex = superAce.ctor2._betConf.indexOf(bet);
                      if (-1 == betIndex) {
                        error = {
                          message: "bet\u4e0d\u5b58\u5728",
                          code: 2,
                          metadata: ""
                        };
                        return [ 2, callback(error, reply) ];
                      }
                      superAce.setBetIndex(betIndex);
                      spins = new PPPB_slot_pb_1.SpinStruct();
                      func = function() {
                        var list = new PPPB_slot_pb_1.SpinStruct.Spin();
                        var ret = superAce.Spin();
                        var _loop_1 = function(r) {
                          var ComboList = new PPPB_slot_pb_1.SpinStruct.Spin.Combo();
                          ComboList.setFreespin(r.freeSpins);
                          ComboList.setMul(r.mul);
                          ComboList.setWingold(r.winGold);
                          for (var _i = 0, _a = r.cards; _i < _a.length; _i++) {
                            var c = _a[_i];
                            var cards = new PPPB_slot_pb_1.SpinStruct.Spin.Combo.Int32List();
                            cards.setCardvalueList(c);
                            ComboList.addCards(cards);
                          }
                          for (var _b = 0, _c = r.winCards; _b < _c.length; _b++) {
                            var w = _c[_b];
                            var winCards = new PPPB_slot_pb_1.SpinStruct.Spin.Combo.Pos();
                            winCards.setX(w.x);
                            winCards.setY(w.y);
                            ComboList.addWincards(winCards);
                          }
                          r.specialCards.forEach(function(v) {
                            return ComboList.addSpecialcards(v);
                          });
                          list.addCombos(ComboList);
                        };
                        for (var _i = 0, ret_1 = ret; _i < ret_1.length; _i++) {
                          var r = ret_1[_i];
                          _loop_1(r);
                        }
                        return list;
                      };
                      spins.addSpins(func());
                      freespins = new PPPB_slot_pb_1.SpinStruct();
                      spinstart = new PPPB_slot_pb_1.SpinStruct.freeStartStruct();
                      spinstart.setSpincount(superAce.freeSpins);
                      spinstart.setTurntable(superAce.freeMul);
                      while (superAce.freeSpins) freespins.addSpins(func());
                      freespins.setFreestart(spinstart);
                      reply.setBet(superAce.data.bet);
                      reply.setBalance(superAce.data.balance);
                      reply.setSpinlist(spins.serializeBinary());
                      reply.setFreespinlist(freespins.serializeBinary());
                      return [ 2 ];
                    }
                  });
                });
              };
              return [ 4, logic() ];

             case 1:
              _a.sent();
              callback(null, reply);
              return [ 2 ];
            }
          });
        });
      };
      CApi.buyFree = function(call, callback) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            return [ 2 ];
          });
        });
      };
      CApi = __decorate([ PPPB_event_1.EventClass ], CApi);
      return CApi;
    }();
    exports.Api = new CApi();
    cc._RF.pop();
  }, {
    "../../framework-rpc/PPPB-rpc": "PPPB-rpc",
    "../../framework/PPPB-event": "PPPB-event",
    "../../proto/PPPB-slot_grpc_web_pb": "PPPB-slot_grpc_web_pb",
    "../../proto/PPPB-slot_pb": "PPPB-slot_pb",
    "../../proto/PPPB-trace_grpc_web_pb": "PPPB-trace_grpc_web_pb",
    "./PPPB-GameServer": "PPPB-GameServer"
  } ],
  "PPPB-audioConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "75dbeW3S6BFrag8G9xzpcBd", "PPPB-audioConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.AudioConf = void 0;
    exports.AudioConf = {
      BGM: {
        DEFAULT: "BGM_StandardGame_PB",
        AUTOSPIN: "BGM_StandardGame_Auto_PB",
        MANUALSPIN: "BGM_StandardGame_Manual_PB",
        DOUBLE_START: "BGM_FreeGameStart_PB",
        DOUBLE: "BGM_FreeGame_PB"
      },
      CARD: {
        s1: {
          out: "diamond"
        },
        s2: {
          out: "club"
        },
        s3: {
          out: "heart"
        },
        s4: {
          out: "spade"
        },
        s5: {
          out: "jack"
        },
        s6: {
          out: "queen"
        },
        s7: {
          out: "king"
        },
        s8: {
          out: "ace"
        },
        g1: {
          out: "diamond"
        },
        g2: {
          out: "club"
        },
        g3: {
          out: "heart"
        },
        g4: {
          out: "spade"
        },
        g5: {
          out: "jack"
        },
        g6: {
          out: "queen"
        },
        g7: {
          out: "king"
        },
        g8: {
          out: "ace"
        },
        wild: {
          out: "queen"
        },
        wilds: {
          out: "king"
        },
        scatter: {
          out: "ace"
        },
        bomb: {
          out: "ace"
        }
      },
      MUL: {
        NORMAL: [ "", "double", "triple", "fivetimes" ],
        DOUBLE: [ "double", "fourtimes", "sixtimes", "tentimes" ]
      },
      EFFECT: {
        SCATTER: {
          IN: "scatter_in"
        }
      },
      lucky: "lucky"
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-audioPath": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e57bdkUki5GC6fR58TgVXe+", "PPPB-audioPath");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.audioPath = void 0;
    exports.audioPath = {
      BGM: "music/bgm/",
      SOUND: "music/sound1/",
      SOUND2: "music/sound2/"
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-audio": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f55c106wJJM4rjCD1Q1fFxX", "PPPB-audio");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.audio = exports.CAudio = void 0;
    var PPPB_res_1 = require("./PPPB-res");
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_gameSettings_1 = require("../common/PPPB-gameSettings");
    var CAudio = function() {
      function CAudio() {}
      CAudio.init = function(bgmScale, sfxScale) {
        void 0 === bgmScale && (bgmScale = 1);
        void 0 === sfxScale && (sfxScale = 1);
        if (this._isInit) return;
        this._isInit = true;
        var audioSetting = PPPB_lib_1._.unserialize(cc.sys.localStorage.getItem("audioSetting") || "0") || {};
        audioSetting.sfxVolume && (this.sfxVolume = Number(audioSetting.sfxVolume || 1));
        audioSetting.bgmVolume && (this.bgmVolume = Number(audioSetting.bgmVolume || 1));
        this.sfxVolume *= sfxScale;
        this.bgmVolume *= bgmScale;
        this.sfxOff = !!audioSetting.sfxOff;
        this.bgmOff = !!audioSetting.bgmOff;
        sfxScale <= 0 && (this.sfxOff = true);
        bgmScale <= 0 && (this.bgmOff = true);
      };
      CAudio.reset = function() {
        cc.audioEngine.stopAll();
        this.bgmAudioID = -1;
        this.bgmAudios = [];
        this._saveDelayID = null;
        this.voiceEndPlayerId = "";
        this._isInit = false;
      };
      CAudio.saveSetting = function() {
        var _this = this;
        if (this._saveDelayID) {
          clearTimeout(this._saveDelayID);
          this._saveDelayID = 0;
        }
        this._saveDelayID = setTimeout(function() {
          var data = {
            sfxVolume: _this.sfxVolume,
            sfxOff: _this.sfxOff,
            bgmVolume: _this.bgmVolume,
            bgmOff: _this.bgmOff
          };
          console.log(PPPB_lib_1._.logger(), data);
          cc.sys.localStorage.setItem("audioSetting", PPPB_lib_1._.serialize(data));
          _this._saveDelayID = null;
        }, 300);
      };
      CAudio.playPreloadedBGM = function(audioFileName, isLoop, volume, isReplace) {
        void 0 === isLoop && (isLoop = true);
        void 0 === volume && (volume = 1);
        void 0 === isReplace && (isReplace = true);
        return __awaiter(this, void 0, void 0, function() {
          var clip, bgmAudioID;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(this.bgmVolume > 0)) return [ 3, 2 ];
              return [ 4, PPPB_res_1.res.loadRes(audioFileName, false) ];

             case 1:
              clip = _a.sent();
              if (!clip || !clip.isValid) {
                console.warn("CLIP NOT FOUND", audioFileName);
                return [ 2, 0 ];
              }
              bgmAudioID = cc.audioEngine.play(clip, isLoop, this.bgmOff ? 0 : this.bgmVolume * volume);
              return [ 2, bgmAudioID ];

             case 2:
              return [ 2, 0 ];
            }
          });
        });
      };
      CAudio.playBGM = function(audio, isLoop, volume, isReplace) {
        void 0 === isLoop && (isLoop = true);
        void 0 === volume && (volume = 1);
        void 0 === isReplace && (isReplace = true);
        if (this.bgmAudioID >= 0 && this._isActive) if (isReplace) cc.audioEngine.stop(this.bgmAudioID); else {
          cc.audioEngine.pause(this.bgmAudioID);
          this.bgmAudios.push(this.bgmAudioID);
        }
        this.bgmAudioID = cc.audioEngine.play(audio, isLoop, this.bgmOff ? 0 : this.bgmVolume * volume);
        return this.bgmAudioID;
      };
      CAudio.playSFX = function(audio, volume, loop) {
        void 0 === volume && (volume = 1);
        if (PPPB_lib_1.cc1.sys.isMobile) {
          if (this.sfxVolume > 0 && this._isActive && !PPPB_gameSettings_1.default.isSoundMute) {
            var audioId = cc.audioEngine.play(audio, loop, PPPB_gameSettings_1.default.isSoundMute ? 0 : this.sfxVolume * volume);
            return audioId;
          }
        } else if (this.sfxVolume > 0 && this._isActive && !PPPB_gameSettings_1.default.isSFXMute) {
          var audioId = cc.audioEngine.play(audio, loop, PPPB_gameSettings_1.default.isSFXMute ? 0 : this.sfxVolume * volume);
          return audioId;
        }
        return 0;
      };
      Object.defineProperty(CAudio, "isDefaultMusic", {
        get: function() {
          return this._curBGM === this._defaultBGM;
        },
        enumerable: false,
        configurable: true
      });
      CAudio.playDefaultMusic = function(audioFileName, isLoop, volume) {
        void 0 === isLoop && (isLoop = true);
        void 0 === volume && (volume = 1);
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this._defaultBGM = audioFileName;
            this._defaultBGMVolume = volume;
            return [ 2, this.playMusic(audioFileName, isLoop, volume, true) ];
          });
        });
      };
      CAudio.playMusic = function(audioFileName, isLoop, volume, isReplace) {
        void 0 === isLoop && (isLoop = true);
        void 0 === volume && (volume = 1);
        void 0 === isReplace && (isReplace = true);
        return __awaiter(this, void 0, void 0, function() {
          var clip, bgmAudioID;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(this.bgmVolume > 0)) return [ 3, 2 ];
              return [ 4, PPPB_res_1.res.loadRes(audioFileName, false) ];

             case 1:
              clip = _a.sent();
              if (!clip || !clip.isValid) {
                console.warn("CLIP NOT FOUND", audioFileName);
                return [ 2, 0 ];
              }
              bgmAudioID = this.playBGM(clip, isLoop, volume, isReplace);
              this.bgmAudioID >= 0 && (this._curBGM = audioFileName);
              return [ 2, bgmAudioID ];

             case 2:
              return [ 2, 0 ];
            }
          });
        });
      };
      CAudio.switchMusic = function(audioFileName, isLoop, volume) {
        void 0 === isLoop && (isLoop = true);
        void 0 === volume && (volume = 1);
        return __awaiter(this, void 0, void 0, function() {
          var aid, mid;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!!audioFileName) return [ 3, 3 ];
              mid = this.stopMusic(false);
              if (!(mid <= 0 && this._defaultBGM)) return [ 3, 2 ];
              return [ 4, this.playMusic(this._defaultBGM, true, this._defaultBGMVolume, true) ];

             case 1:
              mid = _a.sent();
              _a.label = 2;

             case 2:
              aid = mid;
              return [ 3, 5 ];

             case 3:
              return [ 4, this.playMusic(audioFileName, isLoop, volume, false) ];

             case 4:
              aid = _a.sent();
              _a.label = 5;

             case 5:
              PPPB_event_1.Events.emit("switchMusic", audioFileName);
              return [ 2, aid ];
            }
          });
        });
      };
      CAudio.stop = function(audioID) {
        audioID === this.bgmAudioID ? this.stopMusic() : cc.audioEngine.stop(audioID);
      };
      CAudio.stopMusic = function(isStopAll) {
        void 0 === isStopAll && (isStopAll = true);
        cc.audioEngine.stop(this.bgmAudioID);
        this.bgmAudioID = -1;
        if (isStopAll) {
          for (var _i = 0, _a = this.bgmAudios; _i < _a.length; _i++) {
            var a = _a[_i];
            cc.audioEngine.stop(a);
          }
          this.bgmAudios = [];
        } else {
          var a = this.bgmAudios.pop();
          if (a >= 0) {
            cc.audioEngine.resume(a);
            this.bgmAudioID = a;
          }
        }
        return this.bgmAudioID;
      };
      CAudio.playSound = function(audioFileName, volume, loop) {
        void 0 === volume && (volume = 1);
        void 0 === loop && (loop = false);
        return __awaiter(this, void 0, void 0, function() {
          var clip;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(this.sfxVolume > 0)) return [ 3, 2 ];
              return [ 4, PPPB_res_1.res.loadRes(audioFileName) ];

             case 1:
              clip = _a.sent();
              if (!clip || !clip.isValid) {
                console.warn("CLIP NOT FOUND", audioFileName);
                return [ 2, 0 ];
              }
              return [ 2, this.playSFX(clip, volume, loop) ];

             case 2:
              return [ 2, 0 ];
            }
          });
        });
      };
      CAudio.setSFXVolume = function(volume) {
        if (this.sfxVolume != volume) {
          this.sfxVolume = volume;
          this.saveSetting();
        }
      };
      CAudio.setSFXOff = function(isOff) {
        if (this.sfxOff != isOff) {
          this.sfxOff = isOff;
          this.saveSetting();
        }
      };
      CAudio.applyBGMVolume = function() {
        var volume = this.bgmOff ? 0 : this.bgmVolume;
        this.bgmAudioID >= 0 && (volume > 0 ? cc.audioEngine.resume(this.bgmAudioID) : cc.audioEngine.pause(this.bgmAudioID));
        cc.audioEngine.setVolume(this.bgmAudioID, volume);
      };
      CAudio.setBGMVolume = function(volume, force) {
        void 0 === force && (force = false);
        if (this.bgmVolume != volume || force) {
          this.bgmVolume = volume;
          this.saveSetting();
          this.applyBGMVolume();
        }
      };
      CAudio.setBGMOff = function(isOff) {
        if (this.bgmOff != isOff) {
          this.bgmOff = isOff;
          this.saveSetting();
          this.bgmVolume > 0 && this.applyBGMVolume();
        }
      };
      CAudio.pauseAll = function() {
        cc.audioEngine.pauseAll();
      };
      CAudio.resumeAll = function() {
        cc.audioEngine.resumeAll();
      };
      CAudio.onBGMfinish = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                return cc.audioEngine.setFinishCallback(_this.bgmAudioID, resolve.bind(_this.bgmVolume));
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CAudio.setGlobalButtonClickSound = function(audioRes) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.globalButtonClickSound = audioRes;
            return [ 2 ];
          });
        });
      };
      CAudio.bgmVolume = 1;
      CAudio.sfxVolume = 1;
      CAudio.bgmOff = false;
      CAudio.sfxOff = false;
      CAudio.bgmAudioID = -1;
      CAudio.bgmAudios = [];
      CAudio._saveDelayID = null;
      CAudio.voiceEndPlayerId = "";
      CAudio._isInit = false;
      CAudio._isActive = true;
      CAudio._defaultBGM = "";
      CAudio._defaultBGMVolume = 1;
      CAudio._curBGM = "";
      CAudio.globalButtonClickSound = "";
      return CAudio;
    }();
    exports.CAudio = CAudio;
    exports.audio = CAudio;
    cc._RF.pop();
  }, {
    "../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-res": "PPPB-res"
  } ],
  "PPPB-auth2_grpc_web_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "30dc1axQDBBaZDwduY+Hv5Z", "PPPB-auth2_grpc_web_pb");
    "use strict";
    var grpc = {};
    grpc.web = require("grpc-web");
    var proto = {};
    proto.auth2 = require("./PPPB-auth2_pb.js");
    proto.auth2.AuthClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.auth2.AuthPromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Auth_Auth = new grpc.web.MethodDescriptor("/auth2.Auth/Auth", grpc.web.MethodType.UNARY, proto.auth2.AuthReq, proto.auth2.AuthRet, function(request) {
      return request.serializeBinary();
    }, proto.auth2.AuthRet.deserializeBinary);
    proto.auth2.AuthClient.prototype.auth = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/auth2.Auth/Auth", request, metadata || {}, methodDescriptor_Auth_Auth, callback);
    };
    proto.auth2.AuthPromiseClient.prototype.auth = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/auth2.Auth/Auth", request, metadata || {}, methodDescriptor_Auth_Auth);
    };
    module.exports = proto.auth2;
    cc._RF.pop();
  }, {
    "./PPPB-auth2_pb.js": "PPPB-auth2_pb",
    "grpc-web": void 0
  } ],
  "PPPB-auth2_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "8d5e6WDXSZDoajXTutFA+7L", "PPPB-auth2_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.auth2.AccountStatus", null, global);
    goog.exportSymbol("proto.auth2.AuthReq", null, global);
    goog.exportSymbol("proto.auth2.AuthRet", null, global);
    goog.exportSymbol("proto.auth2.OptType", null, global);
    goog.exportSymbol("proto.auth2.UpdateReq", null, global);
    goog.exportSymbol("proto.auth2.UpdateRet", null, global);
    proto.auth2.AuthReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth2.AuthReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth2.AuthReq.displayName = "proto.auth2.AuthReq");
    proto.auth2.AuthRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth2.AuthRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth2.AuthRet.displayName = "proto.auth2.AuthRet");
    proto.auth2.UpdateReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth2.UpdateReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth2.UpdateReq.displayName = "proto.auth2.UpdateReq");
    proto.auth2.UpdateRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth2.UpdateRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth2.UpdateRet.displayName = "proto.auth2.UpdateRet");
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth2.AuthReq.prototype.toObject = function(opt_includeInstance) {
        return proto.auth2.AuthReq.toObject(opt_includeInstance, this);
      };
      proto.auth2.AuthReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          uid: jspb.Message.getFieldWithDefault(msg, 1, ""),
          password: jspb.Message.getFieldWithDefault(msg, 2, ""),
          account: jspb.Message.getFieldWithDefault(msg, 3, ""),
          device: jspb.Message.getFieldWithDefault(msg, 4, ""),
          gametype: jspb.Message.getFieldWithDefault(msg, 6, ""),
          platform: jspb.Message.getFieldWithDefault(msg, 7, ""),
          language: jspb.Message.getFieldWithDefault(msg, 8, ""),
          deviceid: jspb.Message.getFieldWithDefault(msg, 9, ""),
          email: jspb.Message.getFieldWithDefault(msg, 10, ""),
          phone: jspb.Message.getFieldWithDefault(msg, 11, ""),
          fcmtoken: jspb.Message.getFieldWithDefault(msg, 12, ""),
          ops: jspb.Message.getFieldWithDefault(msg, 14, ""),
          opstoken: jspb.Message.getFieldWithDefault(msg, 15, ""),
          opsparams: jspb.Message.getFieldWithDefault(msg, 16, ""),
          nickname: jspb.Message.getFieldWithDefault(msg, 20, ""),
          skin: jspb.Message.getFieldWithDefault(msg, 21, ""),
          photo: jspb.Message.getFieldWithDefault(msg, 22, ""),
          notes: jspb.Message.getFieldWithDefault(msg, 27, ""),
          origin: jspb.Message.getFieldWithDefault(msg, 28, ""),
          options: jspb.Message.getFieldWithDefault(msg, 29, ""),
          opt: jspb.Message.getFieldWithDefault(msg, 30, 0),
          opid: jspb.Message.getFieldWithDefault(msg, 31, ""),
          optime: jspb.Message.getFieldWithDefault(msg, 32, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth2.AuthReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth2.AuthReq();
      return proto.auth2.AuthReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth2.AuthReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setUid(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setPassword(value);
          break;

         case 3:
          var value = reader.readString();
          msg.setAccount(value);
          break;

         case 4:
          var value = reader.readString();
          msg.setDevice(value);
          break;

         case 6:
          var value = reader.readString();
          msg.setGametype(value);
          break;

         case 7:
          var value = reader.readString();
          msg.setPlatform(value);
          break;

         case 8:
          var value = reader.readString();
          msg.setLanguage(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setDeviceid(value);
          break;

         case 10:
          var value = reader.readString();
          msg.setEmail(value);
          break;

         case 11:
          var value = reader.readString();
          msg.setPhone(value);
          break;

         case 12:
          var value = reader.readString();
          msg.setFcmtoken(value);
          break;

         case 14:
          var value = reader.readString();
          msg.setOps(value);
          break;

         case 15:
          var value = reader.readString();
          msg.setOpstoken(value);
          break;

         case 16:
          var value = reader.readString();
          msg.setOpsparams(value);
          break;

         case 20:
          var value = reader.readString();
          msg.setNickname(value);
          break;

         case 21:
          var value = reader.readString();
          msg.setSkin(value);
          break;

         case 22:
          var value = reader.readString();
          msg.setPhoto(value);
          break;

         case 27:
          var value = reader.readString();
          msg.setNotes(value);
          break;

         case 28:
          var value = reader.readString();
          msg.setOrigin(value);
          break;

         case 29:
          var value = reader.readString();
          msg.setOptions(value);
          break;

         case 30:
          var value = reader.readEnum();
          msg.setOpt(value);
          break;

         case 31:
          var value = reader.readString();
          msg.setOpid(value);
          break;

         case 32:
          var value = reader.readUint64();
          msg.setOptime(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth2.AuthReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth2.AuthReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth2.AuthReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getUid();
      f.length > 0 && writer.writeString(1, f);
      f = message.getPassword();
      f.length > 0 && writer.writeString(2, f);
      f = message.getAccount();
      f.length > 0 && writer.writeString(3, f);
      f = message.getDevice();
      f.length > 0 && writer.writeString(4, f);
      f = message.getGametype();
      f.length > 0 && writer.writeString(6, f);
      f = message.getPlatform();
      f.length > 0 && writer.writeString(7, f);
      f = message.getLanguage();
      f.length > 0 && writer.writeString(8, f);
      f = message.getDeviceid();
      f.length > 0 && writer.writeString(9, f);
      f = message.getEmail();
      f.length > 0 && writer.writeString(10, f);
      f = message.getPhone();
      f.length > 0 && writer.writeString(11, f);
      f = message.getFcmtoken();
      f.length > 0 && writer.writeString(12, f);
      f = message.getOps();
      f.length > 0 && writer.writeString(14, f);
      f = message.getOpstoken();
      f.length > 0 && writer.writeString(15, f);
      f = message.getOpsparams();
      f.length > 0 && writer.writeString(16, f);
      f = message.getNickname();
      f.length > 0 && writer.writeString(20, f);
      f = message.getSkin();
      f.length > 0 && writer.writeString(21, f);
      f = message.getPhoto();
      f.length > 0 && writer.writeString(22, f);
      f = message.getNotes();
      f.length > 0 && writer.writeString(27, f);
      f = message.getOrigin();
      f.length > 0 && writer.writeString(28, f);
      f = message.getOptions();
      f.length > 0 && writer.writeString(29, f);
      f = message.getOpt();
      0 !== f && writer.writeEnum(30, f);
      f = message.getOpid();
      f.length > 0 && writer.writeString(31, f);
      f = message.getOptime();
      0 !== f && writer.writeUint64(32, f);
    };
    proto.auth2.AuthReq.prototype.getUid = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.auth2.AuthReq.prototype.setUid = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.auth2.AuthReq.prototype.getPassword = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.auth2.AuthReq.prototype.setPassword = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.auth2.AuthReq.prototype.getAccount = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.auth2.AuthReq.prototype.setAccount = function(value) {
      return jspb.Message.setProto3StringField(this, 3, value);
    };
    proto.auth2.AuthReq.prototype.getDevice = function() {
      return jspb.Message.getFieldWithDefault(this, 4, "");
    };
    proto.auth2.AuthReq.prototype.setDevice = function(value) {
      return jspb.Message.setProto3StringField(this, 4, value);
    };
    proto.auth2.AuthReq.prototype.getGametype = function() {
      return jspb.Message.getFieldWithDefault(this, 6, "");
    };
    proto.auth2.AuthReq.prototype.setGametype = function(value) {
      return jspb.Message.setProto3StringField(this, 6, value);
    };
    proto.auth2.AuthReq.prototype.getPlatform = function() {
      return jspb.Message.getFieldWithDefault(this, 7, "");
    };
    proto.auth2.AuthReq.prototype.setPlatform = function(value) {
      return jspb.Message.setProto3StringField(this, 7, value);
    };
    proto.auth2.AuthReq.prototype.getLanguage = function() {
      return jspb.Message.getFieldWithDefault(this, 8, "");
    };
    proto.auth2.AuthReq.prototype.setLanguage = function(value) {
      return jspb.Message.setProto3StringField(this, 8, value);
    };
    proto.auth2.AuthReq.prototype.getDeviceid = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.auth2.AuthReq.prototype.setDeviceid = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    proto.auth2.AuthReq.prototype.getEmail = function() {
      return jspb.Message.getFieldWithDefault(this, 10, "");
    };
    proto.auth2.AuthReq.prototype.setEmail = function(value) {
      return jspb.Message.setProto3StringField(this, 10, value);
    };
    proto.auth2.AuthReq.prototype.getPhone = function() {
      return jspb.Message.getFieldWithDefault(this, 11, "");
    };
    proto.auth2.AuthReq.prototype.setPhone = function(value) {
      return jspb.Message.setProto3StringField(this, 11, value);
    };
    proto.auth2.AuthReq.prototype.getFcmtoken = function() {
      return jspb.Message.getFieldWithDefault(this, 12, "");
    };
    proto.auth2.AuthReq.prototype.setFcmtoken = function(value) {
      return jspb.Message.setProto3StringField(this, 12, value);
    };
    proto.auth2.AuthReq.prototype.getOps = function() {
      return jspb.Message.getFieldWithDefault(this, 14, "");
    };
    proto.auth2.AuthReq.prototype.setOps = function(value) {
      return jspb.Message.setProto3StringField(this, 14, value);
    };
    proto.auth2.AuthReq.prototype.getOpstoken = function() {
      return jspb.Message.getFieldWithDefault(this, 15, "");
    };
    proto.auth2.AuthReq.prototype.setOpstoken = function(value) {
      return jspb.Message.setProto3StringField(this, 15, value);
    };
    proto.auth2.AuthReq.prototype.getOpsparams = function() {
      return jspb.Message.getFieldWithDefault(this, 16, "");
    };
    proto.auth2.AuthReq.prototype.setOpsparams = function(value) {
      return jspb.Message.setProto3StringField(this, 16, value);
    };
    proto.auth2.AuthReq.prototype.getNickname = function() {
      return jspb.Message.getFieldWithDefault(this, 20, "");
    };
    proto.auth2.AuthReq.prototype.setNickname = function(value) {
      return jspb.Message.setProto3StringField(this, 20, value);
    };
    proto.auth2.AuthReq.prototype.getSkin = function() {
      return jspb.Message.getFieldWithDefault(this, 21, "");
    };
    proto.auth2.AuthReq.prototype.setSkin = function(value) {
      return jspb.Message.setProto3StringField(this, 21, value);
    };
    proto.auth2.AuthReq.prototype.getPhoto = function() {
      return jspb.Message.getFieldWithDefault(this, 22, "");
    };
    proto.auth2.AuthReq.prototype.setPhoto = function(value) {
      return jspb.Message.setProto3StringField(this, 22, value);
    };
    proto.auth2.AuthReq.prototype.getNotes = function() {
      return jspb.Message.getFieldWithDefault(this, 27, "");
    };
    proto.auth2.AuthReq.prototype.setNotes = function(value) {
      return jspb.Message.setProto3StringField(this, 27, value);
    };
    proto.auth2.AuthReq.prototype.getOrigin = function() {
      return jspb.Message.getFieldWithDefault(this, 28, "");
    };
    proto.auth2.AuthReq.prototype.setOrigin = function(value) {
      return jspb.Message.setProto3StringField(this, 28, value);
    };
    proto.auth2.AuthReq.prototype.getOptions = function() {
      return jspb.Message.getFieldWithDefault(this, 29, "");
    };
    proto.auth2.AuthReq.prototype.setOptions = function(value) {
      return jspb.Message.setProto3StringField(this, 29, value);
    };
    proto.auth2.AuthReq.prototype.getOpt = function() {
      return jspb.Message.getFieldWithDefault(this, 30, 0);
    };
    proto.auth2.AuthReq.prototype.setOpt = function(value) {
      return jspb.Message.setProto3EnumField(this, 30, value);
    };
    proto.auth2.AuthReq.prototype.getOpid = function() {
      return jspb.Message.getFieldWithDefault(this, 31, "");
    };
    proto.auth2.AuthReq.prototype.setOpid = function(value) {
      return jspb.Message.setProto3StringField(this, 31, value);
    };
    proto.auth2.AuthReq.prototype.getOptime = function() {
      return jspb.Message.getFieldWithDefault(this, 32, 0);
    };
    proto.auth2.AuthReq.prototype.setOptime = function(value) {
      return jspb.Message.setProto3IntField(this, 32, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth2.AuthRet.prototype.toObject = function(opt_includeInstance) {
        return proto.auth2.AuthRet.toObject(opt_includeInstance, this);
      };
      proto.auth2.AuthRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          user: (f = msg.getUser()) && proto.auth2.AuthReq.toObject(includeInstance, f),
          ip: jspb.Message.getFieldWithDefault(msg, 5, ""),
          location: jspb.Message.getFieldWithDefault(msg, 13, ""),
          vip: jspb.Message.getFieldWithDefault(msg, 23, 0),
          role: jspb.Message.getFieldWithDefault(msg, 41, 0),
          status: jspb.Message.getFieldWithDefault(msg, 42, 0),
          isregister: jspb.Message.getBooleanFieldWithDefault(msg, 30, false),
          token: jspb.Message.getFieldWithDefault(msg, 2, ""),
          errcode: jspb.Message.getFieldWithDefault(msg, 9, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth2.AuthRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth2.AuthRet();
      return proto.auth2.AuthRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth2.AuthRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.auth2.AuthReq();
          reader.readMessage(value, proto.auth2.AuthReq.deserializeBinaryFromReader);
          msg.setUser(value);
          break;

         case 5:
          var value = reader.readString();
          msg.setIp(value);
          break;

         case 13:
          var value = reader.readString();
          msg.setLocation(value);
          break;

         case 23:
          var value = reader.readInt32();
          msg.setVip(value);
          break;

         case 41:
          var value = reader.readInt32();
          msg.setRole(value);
          break;

         case 42:
          var value = reader.readEnum();
          msg.setStatus(value);
          break;

         case 30:
          var value = reader.readBool();
          msg.setIsregister(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setToken(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setErrcode(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth2.AuthRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth2.AuthRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth2.AuthRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getUser();
      null != f && writer.writeMessage(1, f, proto.auth2.AuthReq.serializeBinaryToWriter);
      f = message.getIp();
      f.length > 0 && writer.writeString(5, f);
      f = message.getLocation();
      f.length > 0 && writer.writeString(13, f);
      f = message.getVip();
      0 !== f && writer.writeInt32(23, f);
      f = message.getRole();
      0 !== f && writer.writeInt32(41, f);
      f = message.getStatus();
      0 !== f && writer.writeEnum(42, f);
      f = message.getIsregister();
      f && writer.writeBool(30, f);
      f = message.getToken();
      f.length > 0 && writer.writeString(2, f);
      f = message.getErrcode();
      f.length > 0 && writer.writeString(9, f);
    };
    proto.auth2.AuthRet.prototype.getUser = function() {
      return jspb.Message.getWrapperField(this, proto.auth2.AuthReq, 1);
    };
    proto.auth2.AuthRet.prototype.setUser = function(value) {
      return jspb.Message.setWrapperField(this, 1, value);
    };
    proto.auth2.AuthRet.prototype.clearUser = function() {
      return this.setUser(void 0);
    };
    proto.auth2.AuthRet.prototype.hasUser = function() {
      return null != jspb.Message.getField(this, 1);
    };
    proto.auth2.AuthRet.prototype.getIp = function() {
      return jspb.Message.getFieldWithDefault(this, 5, "");
    };
    proto.auth2.AuthRet.prototype.setIp = function(value) {
      return jspb.Message.setProto3StringField(this, 5, value);
    };
    proto.auth2.AuthRet.prototype.getLocation = function() {
      return jspb.Message.getFieldWithDefault(this, 13, "");
    };
    proto.auth2.AuthRet.prototype.setLocation = function(value) {
      return jspb.Message.setProto3StringField(this, 13, value);
    };
    proto.auth2.AuthRet.prototype.getVip = function() {
      return jspb.Message.getFieldWithDefault(this, 23, 0);
    };
    proto.auth2.AuthRet.prototype.setVip = function(value) {
      return jspb.Message.setProto3IntField(this, 23, value);
    };
    proto.auth2.AuthRet.prototype.getRole = function() {
      return jspb.Message.getFieldWithDefault(this, 41, 0);
    };
    proto.auth2.AuthRet.prototype.setRole = function(value) {
      return jspb.Message.setProto3IntField(this, 41, value);
    };
    proto.auth2.AuthRet.prototype.getStatus = function() {
      return jspb.Message.getFieldWithDefault(this, 42, 0);
    };
    proto.auth2.AuthRet.prototype.setStatus = function(value) {
      return jspb.Message.setProto3EnumField(this, 42, value);
    };
    proto.auth2.AuthRet.prototype.getIsregister = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 30, false);
    };
    proto.auth2.AuthRet.prototype.setIsregister = function(value) {
      return jspb.Message.setProto3BooleanField(this, 30, value);
    };
    proto.auth2.AuthRet.prototype.getToken = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.auth2.AuthRet.prototype.setToken = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.auth2.AuthRet.prototype.getErrcode = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.auth2.AuthRet.prototype.setErrcode = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth2.UpdateReq.prototype.toObject = function(opt_includeInstance) {
        return proto.auth2.UpdateReq.toObject(opt_includeInstance, this);
      };
      proto.auth2.UpdateReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth2.UpdateReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth2.UpdateReq();
      return proto.auth2.UpdateReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth2.UpdateReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.auth2.UpdateReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth2.UpdateReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth2.UpdateReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth2.UpdateRet.prototype.toObject = function(opt_includeInstance) {
        return proto.auth2.UpdateRet.toObject(opt_includeInstance, this);
      };
      proto.auth2.UpdateRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth2.UpdateRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth2.UpdateRet();
      return proto.auth2.UpdateRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth2.UpdateRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBool();
          msg.setSuccess(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth2.UpdateRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth2.UpdateRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth2.UpdateRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSuccess();
      f && writer.writeBool(1, f);
    };
    proto.auth2.UpdateRet.prototype.getSuccess = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 1, false);
    };
    proto.auth2.UpdateRet.prototype.setSuccess = function(value) {
      return jspb.Message.setProto3BooleanField(this, 1, value);
    };
    proto.auth2.OptType = {
      LOGIN: 0,
      REGISTER: 1,
      CHANGEINFO: 2,
      RECONNECT: 3,
      CROSS: 4
    };
    proto.auth2.AccountStatus = {
      NORMAL: 0,
      BAN: 1,
      BLACK: 2,
      WHITE: 3
    };
    goog.object.extend(exports, proto.auth2);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-auth_grpc_web_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "44e971IBkFGoJUpWmv3uNfu", "PPPB-auth_grpc_web_pb");
    "use strict";
    var grpc = {};
    grpc.web = require("grpc-web");
    var proto = {};
    proto.auth = require("./PPPB-auth_pb.js");
    proto.auth.AuthClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.auth.AuthPromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Auth_Auth = new grpc.web.MethodDescriptor("/auth.Auth/Auth", grpc.web.MethodType.UNARY, proto.auth.AuthReq, proto.auth.AuthRet, function(request) {
      return request.serializeBinary();
    }, proto.auth.AuthRet.deserializeBinary);
    proto.auth.AuthClient.prototype.auth = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/auth.Auth/Auth", request, metadata || {}, methodDescriptor_Auth_Auth, callback);
    };
    proto.auth.AuthPromiseClient.prototype.auth = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/auth.Auth/Auth", request, metadata || {}, methodDescriptor_Auth_Auth);
    };
    proto.auth.SrvClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.auth.SrvPromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Srv_Update = new grpc.web.MethodDescriptor("/auth.Srv/Update", grpc.web.MethodType.UNARY, proto.auth.UpdateReq, proto.auth.UpdateRet, function(request) {
      return request.serializeBinary();
    }, proto.auth.UpdateRet.deserializeBinary);
    proto.auth.SrvClient.prototype.update = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/auth.Srv/Update", request, metadata || {}, methodDescriptor_Srv_Update, callback);
    };
    proto.auth.SrvPromiseClient.prototype.update = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/auth.Srv/Update", request, metadata || {}, methodDescriptor_Srv_Update);
    };
    module.exports = proto.auth;
    cc._RF.pop();
  }, {
    "./PPPB-auth_pb.js": "PPPB-auth_pb",
    "grpc-web": void 0
  } ],
  "PPPB-auth_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "29ef2UUB8xAloIt4GN6FGg+", "PPPB-auth_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.auth.AccountStatus", null, global);
    goog.exportSymbol("proto.auth.AuthReq", null, global);
    goog.exportSymbol("proto.auth.AuthRet", null, global);
    goog.exportSymbol("proto.auth.OptType", null, global);
    goog.exportSymbol("proto.auth.UpdateReq", null, global);
    goog.exportSymbol("proto.auth.UpdateRet", null, global);
    proto.auth.AuthReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth.AuthReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth.AuthReq.displayName = "proto.auth.AuthReq");
    proto.auth.AuthRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth.AuthRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth.AuthRet.displayName = "proto.auth.AuthRet");
    proto.auth.UpdateReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth.UpdateReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth.UpdateReq.displayName = "proto.auth.UpdateReq");
    proto.auth.UpdateRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.auth.UpdateRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.auth.UpdateRet.displayName = "proto.auth.UpdateRet");
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth.AuthReq.prototype.toObject = function(opt_includeInstance) {
        return proto.auth.AuthReq.toObject(opt_includeInstance, this);
      };
      proto.auth.AuthReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          uid: jspb.Message.getFieldWithDefault(msg, 1, ""),
          password: jspb.Message.getFieldWithDefault(msg, 2, ""),
          account: jspb.Message.getFieldWithDefault(msg, 3, ""),
          device: jspb.Message.getFieldWithDefault(msg, 4, ""),
          gametype: jspb.Message.getFieldWithDefault(msg, 6, ""),
          platform: jspb.Message.getFieldWithDefault(msg, 7, ""),
          language: jspb.Message.getFieldWithDefault(msg, 8, ""),
          deviceid: jspb.Message.getFieldWithDefault(msg, 9, ""),
          email: jspb.Message.getFieldWithDefault(msg, 10, ""),
          phone: jspb.Message.getFieldWithDefault(msg, 11, ""),
          fcmtoken: jspb.Message.getFieldWithDefault(msg, 12, ""),
          ops: jspb.Message.getFieldWithDefault(msg, 14, ""),
          opstoken: jspb.Message.getFieldWithDefault(msg, 15, ""),
          opsparams: jspb.Message.getFieldWithDefault(msg, 16, ""),
          nickname: jspb.Message.getFieldWithDefault(msg, 20, ""),
          skin: jspb.Message.getFieldWithDefault(msg, 21, ""),
          photo: jspb.Message.getFieldWithDefault(msg, 22, ""),
          notes: jspb.Message.getFieldWithDefault(msg, 27, ""),
          origin: jspb.Message.getFieldWithDefault(msg, 28, ""),
          options: jspb.Message.getFieldWithDefault(msg, 29, ""),
          opt: jspb.Message.getFieldWithDefault(msg, 30, 0),
          opid: jspb.Message.getFieldWithDefault(msg, 31, ""),
          optime: jspb.Message.getFieldWithDefault(msg, 32, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth.AuthReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth.AuthReq();
      return proto.auth.AuthReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth.AuthReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setUid(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setPassword(value);
          break;

         case 3:
          var value = reader.readString();
          msg.setAccount(value);
          break;

         case 4:
          var value = reader.readString();
          msg.setDevice(value);
          break;

         case 6:
          var value = reader.readString();
          msg.setGametype(value);
          break;

         case 7:
          var value = reader.readString();
          msg.setPlatform(value);
          break;

         case 8:
          var value = reader.readString();
          msg.setLanguage(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setDeviceid(value);
          break;

         case 10:
          var value = reader.readString();
          msg.setEmail(value);
          break;

         case 11:
          var value = reader.readString();
          msg.setPhone(value);
          break;

         case 12:
          var value = reader.readString();
          msg.setFcmtoken(value);
          break;

         case 14:
          var value = reader.readString();
          msg.setOps(value);
          break;

         case 15:
          var value = reader.readString();
          msg.setOpstoken(value);
          break;

         case 16:
          var value = reader.readString();
          msg.setOpsparams(value);
          break;

         case 20:
          var value = reader.readString();
          msg.setNickname(value);
          break;

         case 21:
          var value = reader.readString();
          msg.setSkin(value);
          break;

         case 22:
          var value = reader.readString();
          msg.setPhoto(value);
          break;

         case 27:
          var value = reader.readString();
          msg.setNotes(value);
          break;

         case 28:
          var value = reader.readString();
          msg.setOrigin(value);
          break;

         case 29:
          var value = reader.readString();
          msg.setOptions(value);
          break;

         case 30:
          var value = reader.readEnum();
          msg.setOpt(value);
          break;

         case 31:
          var value = reader.readString();
          msg.setOpid(value);
          break;

         case 32:
          var value = reader.readUint64();
          msg.setOptime(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth.AuthReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth.AuthReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth.AuthReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getUid();
      f.length > 0 && writer.writeString(1, f);
      f = message.getPassword();
      f.length > 0 && writer.writeString(2, f);
      f = message.getAccount();
      f.length > 0 && writer.writeString(3, f);
      f = message.getDevice();
      f.length > 0 && writer.writeString(4, f);
      f = message.getGametype();
      f.length > 0 && writer.writeString(6, f);
      f = message.getPlatform();
      f.length > 0 && writer.writeString(7, f);
      f = message.getLanguage();
      f.length > 0 && writer.writeString(8, f);
      f = message.getDeviceid();
      f.length > 0 && writer.writeString(9, f);
      f = message.getEmail();
      f.length > 0 && writer.writeString(10, f);
      f = message.getPhone();
      f.length > 0 && writer.writeString(11, f);
      f = message.getFcmtoken();
      f.length > 0 && writer.writeString(12, f);
      f = message.getOps();
      f.length > 0 && writer.writeString(14, f);
      f = message.getOpstoken();
      f.length > 0 && writer.writeString(15, f);
      f = message.getOpsparams();
      f.length > 0 && writer.writeString(16, f);
      f = message.getNickname();
      f.length > 0 && writer.writeString(20, f);
      f = message.getSkin();
      f.length > 0 && writer.writeString(21, f);
      f = message.getPhoto();
      f.length > 0 && writer.writeString(22, f);
      f = message.getNotes();
      f.length > 0 && writer.writeString(27, f);
      f = message.getOrigin();
      f.length > 0 && writer.writeString(28, f);
      f = message.getOptions();
      f.length > 0 && writer.writeString(29, f);
      f = message.getOpt();
      0 !== f && writer.writeEnum(30, f);
      f = message.getOpid();
      f.length > 0 && writer.writeString(31, f);
      f = message.getOptime();
      0 !== f && writer.writeUint64(32, f);
    };
    proto.auth.AuthReq.prototype.getUid = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.auth.AuthReq.prototype.setUid = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.auth.AuthReq.prototype.getPassword = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.auth.AuthReq.prototype.setPassword = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.auth.AuthReq.prototype.getAccount = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.auth.AuthReq.prototype.setAccount = function(value) {
      return jspb.Message.setProto3StringField(this, 3, value);
    };
    proto.auth.AuthReq.prototype.getDevice = function() {
      return jspb.Message.getFieldWithDefault(this, 4, "");
    };
    proto.auth.AuthReq.prototype.setDevice = function(value) {
      return jspb.Message.setProto3StringField(this, 4, value);
    };
    proto.auth.AuthReq.prototype.getGametype = function() {
      return jspb.Message.getFieldWithDefault(this, 6, "");
    };
    proto.auth.AuthReq.prototype.setGametype = function(value) {
      return jspb.Message.setProto3StringField(this, 6, value);
    };
    proto.auth.AuthReq.prototype.getPlatform = function() {
      return jspb.Message.getFieldWithDefault(this, 7, "");
    };
    proto.auth.AuthReq.prototype.setPlatform = function(value) {
      return jspb.Message.setProto3StringField(this, 7, value);
    };
    proto.auth.AuthReq.prototype.getLanguage = function() {
      return jspb.Message.getFieldWithDefault(this, 8, "");
    };
    proto.auth.AuthReq.prototype.setLanguage = function(value) {
      return jspb.Message.setProto3StringField(this, 8, value);
    };
    proto.auth.AuthReq.prototype.getDeviceid = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.auth.AuthReq.prototype.setDeviceid = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    proto.auth.AuthReq.prototype.getEmail = function() {
      return jspb.Message.getFieldWithDefault(this, 10, "");
    };
    proto.auth.AuthReq.prototype.setEmail = function(value) {
      return jspb.Message.setProto3StringField(this, 10, value);
    };
    proto.auth.AuthReq.prototype.getPhone = function() {
      return jspb.Message.getFieldWithDefault(this, 11, "");
    };
    proto.auth.AuthReq.prototype.setPhone = function(value) {
      return jspb.Message.setProto3StringField(this, 11, value);
    };
    proto.auth.AuthReq.prototype.getFcmtoken = function() {
      return jspb.Message.getFieldWithDefault(this, 12, "");
    };
    proto.auth.AuthReq.prototype.setFcmtoken = function(value) {
      return jspb.Message.setProto3StringField(this, 12, value);
    };
    proto.auth.AuthReq.prototype.getOps = function() {
      return jspb.Message.getFieldWithDefault(this, 14, "");
    };
    proto.auth.AuthReq.prototype.setOps = function(value) {
      return jspb.Message.setProto3StringField(this, 14, value);
    };
    proto.auth.AuthReq.prototype.getOpstoken = function() {
      return jspb.Message.getFieldWithDefault(this, 15, "");
    };
    proto.auth.AuthReq.prototype.setOpstoken = function(value) {
      return jspb.Message.setProto3StringField(this, 15, value);
    };
    proto.auth.AuthReq.prototype.getOpsparams = function() {
      return jspb.Message.getFieldWithDefault(this, 16, "");
    };
    proto.auth.AuthReq.prototype.setOpsparams = function(value) {
      return jspb.Message.setProto3StringField(this, 16, value);
    };
    proto.auth.AuthReq.prototype.getNickname = function() {
      return jspb.Message.getFieldWithDefault(this, 20, "");
    };
    proto.auth.AuthReq.prototype.setNickname = function(value) {
      return jspb.Message.setProto3StringField(this, 20, value);
    };
    proto.auth.AuthReq.prototype.getSkin = function() {
      return jspb.Message.getFieldWithDefault(this, 21, "");
    };
    proto.auth.AuthReq.prototype.setSkin = function(value) {
      return jspb.Message.setProto3StringField(this, 21, value);
    };
    proto.auth.AuthReq.prototype.getPhoto = function() {
      return jspb.Message.getFieldWithDefault(this, 22, "");
    };
    proto.auth.AuthReq.prototype.setPhoto = function(value) {
      return jspb.Message.setProto3StringField(this, 22, value);
    };
    proto.auth.AuthReq.prototype.getNotes = function() {
      return jspb.Message.getFieldWithDefault(this, 27, "");
    };
    proto.auth.AuthReq.prototype.setNotes = function(value) {
      return jspb.Message.setProto3StringField(this, 27, value);
    };
    proto.auth.AuthReq.prototype.getOrigin = function() {
      return jspb.Message.getFieldWithDefault(this, 28, "");
    };
    proto.auth.AuthReq.prototype.setOrigin = function(value) {
      return jspb.Message.setProto3StringField(this, 28, value);
    };
    proto.auth.AuthReq.prototype.getOptions = function() {
      return jspb.Message.getFieldWithDefault(this, 29, "");
    };
    proto.auth.AuthReq.prototype.setOptions = function(value) {
      return jspb.Message.setProto3StringField(this, 29, value);
    };
    proto.auth.AuthReq.prototype.getOpt = function() {
      return jspb.Message.getFieldWithDefault(this, 30, 0);
    };
    proto.auth.AuthReq.prototype.setOpt = function(value) {
      return jspb.Message.setProto3EnumField(this, 30, value);
    };
    proto.auth.AuthReq.prototype.getOpid = function() {
      return jspb.Message.getFieldWithDefault(this, 31, "");
    };
    proto.auth.AuthReq.prototype.setOpid = function(value) {
      return jspb.Message.setProto3StringField(this, 31, value);
    };
    proto.auth.AuthReq.prototype.getOptime = function() {
      return jspb.Message.getFieldWithDefault(this, 32, 0);
    };
    proto.auth.AuthReq.prototype.setOptime = function(value) {
      return jspb.Message.setProto3IntField(this, 32, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth.AuthRet.prototype.toObject = function(opt_includeInstance) {
        return proto.auth.AuthRet.toObject(opt_includeInstance, this);
      };
      proto.auth.AuthRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          user: (f = msg.getUser()) && proto.auth.AuthReq.toObject(includeInstance, f),
          ip: jspb.Message.getFieldWithDefault(msg, 5, ""),
          location: jspb.Message.getFieldWithDefault(msg, 13, ""),
          vip: jspb.Message.getFieldWithDefault(msg, 23, 0),
          role: jspb.Message.getFieldWithDefault(msg, 41, 0),
          status: jspb.Message.getFieldWithDefault(msg, 42, 0),
          isregister: jspb.Message.getBooleanFieldWithDefault(msg, 30, false),
          token: jspb.Message.getFieldWithDefault(msg, 2, ""),
          errcode: jspb.Message.getFieldWithDefault(msg, 9, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth.AuthRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth.AuthRet();
      return proto.auth.AuthRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth.AuthRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.auth.AuthReq();
          reader.readMessage(value, proto.auth.AuthReq.deserializeBinaryFromReader);
          msg.setUser(value);
          break;

         case 5:
          var value = reader.readString();
          msg.setIp(value);
          break;

         case 13:
          var value = reader.readString();
          msg.setLocation(value);
          break;

         case 23:
          var value = reader.readInt32();
          msg.setVip(value);
          break;

         case 41:
          var value = reader.readInt32();
          msg.setRole(value);
          break;

         case 42:
          var value = reader.readEnum();
          msg.setStatus(value);
          break;

         case 30:
          var value = reader.readBool();
          msg.setIsregister(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setToken(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setErrcode(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth.AuthRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth.AuthRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth.AuthRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getUser();
      null != f && writer.writeMessage(1, f, proto.auth.AuthReq.serializeBinaryToWriter);
      f = message.getIp();
      f.length > 0 && writer.writeString(5, f);
      f = message.getLocation();
      f.length > 0 && writer.writeString(13, f);
      f = message.getVip();
      0 !== f && writer.writeInt32(23, f);
      f = message.getRole();
      0 !== f && writer.writeInt32(41, f);
      f = message.getStatus();
      0 !== f && writer.writeEnum(42, f);
      f = message.getIsregister();
      f && writer.writeBool(30, f);
      f = message.getToken();
      f.length > 0 && writer.writeString(2, f);
      f = message.getErrcode();
      f.length > 0 && writer.writeString(9, f);
    };
    proto.auth.AuthRet.prototype.getUser = function() {
      return jspb.Message.getWrapperField(this, proto.auth.AuthReq, 1);
    };
    proto.auth.AuthRet.prototype.setUser = function(value) {
      return jspb.Message.setWrapperField(this, 1, value);
    };
    proto.auth.AuthRet.prototype.clearUser = function() {
      return this.setUser(void 0);
    };
    proto.auth.AuthRet.prototype.hasUser = function() {
      return null != jspb.Message.getField(this, 1);
    };
    proto.auth.AuthRet.prototype.getIp = function() {
      return jspb.Message.getFieldWithDefault(this, 5, "");
    };
    proto.auth.AuthRet.prototype.setIp = function(value) {
      return jspb.Message.setProto3StringField(this, 5, value);
    };
    proto.auth.AuthRet.prototype.getLocation = function() {
      return jspb.Message.getFieldWithDefault(this, 13, "");
    };
    proto.auth.AuthRet.prototype.setLocation = function(value) {
      return jspb.Message.setProto3StringField(this, 13, value);
    };
    proto.auth.AuthRet.prototype.getVip = function() {
      return jspb.Message.getFieldWithDefault(this, 23, 0);
    };
    proto.auth.AuthRet.prototype.setVip = function(value) {
      return jspb.Message.setProto3IntField(this, 23, value);
    };
    proto.auth.AuthRet.prototype.getRole = function() {
      return jspb.Message.getFieldWithDefault(this, 41, 0);
    };
    proto.auth.AuthRet.prototype.setRole = function(value) {
      return jspb.Message.setProto3IntField(this, 41, value);
    };
    proto.auth.AuthRet.prototype.getStatus = function() {
      return jspb.Message.getFieldWithDefault(this, 42, 0);
    };
    proto.auth.AuthRet.prototype.setStatus = function(value) {
      return jspb.Message.setProto3EnumField(this, 42, value);
    };
    proto.auth.AuthRet.prototype.getIsregister = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 30, false);
    };
    proto.auth.AuthRet.prototype.setIsregister = function(value) {
      return jspb.Message.setProto3BooleanField(this, 30, value);
    };
    proto.auth.AuthRet.prototype.getToken = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.auth.AuthRet.prototype.setToken = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.auth.AuthRet.prototype.getErrcode = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.auth.AuthRet.prototype.setErrcode = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth.UpdateReq.prototype.toObject = function(opt_includeInstance) {
        return proto.auth.UpdateReq.toObject(opt_includeInstance, this);
      };
      proto.auth.UpdateReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth.UpdateReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth.UpdateReq();
      return proto.auth.UpdateReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth.UpdateReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.auth.UpdateReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth.UpdateReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth.UpdateReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.auth.UpdateRet.prototype.toObject = function(opt_includeInstance) {
        return proto.auth.UpdateRet.toObject(opt_includeInstance, this);
      };
      proto.auth.UpdateRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.auth.UpdateRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.auth.UpdateRet();
      return proto.auth.UpdateRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.auth.UpdateRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBool();
          msg.setSuccess(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.auth.UpdateRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.auth.UpdateRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.auth.UpdateRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSuccess();
      f && writer.writeBool(1, f);
    };
    proto.auth.UpdateRet.prototype.getSuccess = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 1, false);
    };
    proto.auth.UpdateRet.prototype.setSuccess = function(value) {
      return jspb.Message.setProto3BooleanField(this, 1, value);
    };
    proto.auth.OptType = {
      LOGIN: 0,
      REGISTER: 1,
      CHANGEINFO: 2,
      RECONNECT: 3,
      CROSS: 4
    };
    proto.auth.AccountStatus = {
      NORMAL: 0,
      BAN: 1,
      BLACK: 2,
      WHITE: 3
    };
    goog.object.extend(exports, proto.auth);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-backStage": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4dd5ahkyk9J3LrDYvvbOwhp", "PPPB-backStage");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_generate_1 = require("../server/PPPB-generate");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var backStage = function(_super) {
      __extends(backStage, _super);
      function backStage() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      backStage.prototype.onLoaded = function() {
        var searchParams = new URLSearchParams(window.location.search);
        PPPB_generate_1.gal.settings = JSON.parse(searchParams.get("Settings") || null);
      };
      backStage = __decorate([ ccclass ], backStage);
      return backStage;
    }(PPPB_UComponent_1.UComponent);
    exports.default = backStage;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../server/PPPB-generate": "PPPB-generate"
  } ],
  "PPPB-betConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "bcbefBKdhdKloQjfBDS/bo7", "PPPB-betConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Betdx = exports.buyFree = exports.standardBaseSize = exports.doubleChanceBaseSize = exports.freeSpinCountConf = exports.doubleChanceBetConf = exports.standardBetConf = exports.betMulConf = exports.betSizeConf = exports.betPriceConf = exports.betConf = void 0;
    exports.betConf = [ 1, 2, 3, 5, 8, 10, 20, 50, 100, 200, 300, 400, 500, 700, 1e3 ];
    exports.betPriceConf = [ 1, 2, 3, 5, 8, 10, 20, 50, 100 ];
    exports.betSizeConf = [ .01, .03, .05, .1, .2, .5, 1, 10, 100, 1e3, 1e4, 1e5, 1e6 ];
    exports.betMulConf = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
    exports.standardBetConf = [ .2, .4, .6, .8, 1, 1.2, 1.4, 1.6, 1.8, 2, 2.4, 3, 3.6, 4, 4.2, 4.8, 5, 5.4, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 24, 28, 30, 32, 36, 40, 50, 60, 70, 80, 90, 100 ];
    exports.doubleChanceBetConf = [ .25, .5, .75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 3, 3.75, 4.5, 5, 5.25, 6, 6.25, 6.75, 7.5, 8.75, 10, 11.25, 12.5, 15, 17.5, 20, 22.5, 25, 30, 35, 37.5, 40, 45, 50, 62.5, 75, 87.5, 100, 112.5, 125 ];
    exports.freeSpinCountConf = [ 25, 20, 15, -1, 13, 10, 6 ];
    exports.doubleChanceBaseSize = 25;
    exports.standardBaseSize = 20;
    exports.buyFree = {
      unitPrice: 100
    };
    exports.Betdx = {
      USD: {
        dxIndex: 0,
        enable: true,
        isK: false,
        mulIndex: 0,
        rate: 1,
        size: [ .01, .03, .05, .1, .2, .5 ],
        symbol: "$"
      }
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-bet": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "03733snTFBPB4wH+wFAyQuy", "PPPB-bet");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_betConfig_1 = require("../../config/PPPB-betConfig");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../PPPB-quick");
    var PPPB_GameViewAdaptHelper_1 = require("../../utils/PPPB-GameViewAdaptHelper");
    var PPPB_MoneyDisplayHelper_1 = require("../../utils/PPPB-MoneyDisplayHelper");
    var PPPB_UILanguage_1 = require("../../../framework-cocos/components/PPPB-UILanguage");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var CBet = function(_super) {
      __extends(CBet, _super);
      function CBet() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.panelAnimation = null;
        _this.betAddButton = null;
        _this.betMinusButton = null;
        _this.coinValueAddButton = null;
        _this.coinValueMinusButton = null;
        _this.totalBetAddButton = null;
        _this.totalBetMinusButton = null;
        _this.betLabel = null;
        _this.coinValueLabel = null;
        _this.totalBetLabel = null;
        _this.multiplierLabel = null;
        _this.viewAdaptHelper = null;
        _this._isActive = false;
        return _this;
      }
      CBet_1 = CBet;
      CBet.UpdatePool = function(sizeConf, mulConf) {
        sizeConf && (CBet_1.pool[CBet_1.BET_SIZE] = sizeConf);
        mulConf && (CBet_1.pool[CBet_1.BET_MUL] = mulConf);
        this.updateTotalPool();
      };
      Object.defineProperty(CBet, "baseSize", {
        get: function() {
          return this._baseSize;
        },
        set: function(value) {
          this._baseSize = value;
          this.updateTotalPool();
          PPPB_event_1.Events.publish("baseSize", "change", "", this._baseSize);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "betMul", {
        get: function() {
          return CBet_1.getPoolIndexValue(CBet_1.BET_MUL);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "betSize", {
        get: function() {
          return CBet_1.getPoolIndexValue(CBet_1.BET_SIZE);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "betMulIndex", {
        get: function() {
          return CBet_1.index[CBet_1.BET_MUL];
        },
        set: function(idx) {
          if (idx < 0 || idx >= CBet_1.pool[CBet_1.BET_MUL].length) return;
          CBet_1.index[CBet_1.BET_MUL] = idx;
          CBet_1.UpdateBet(true);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "betSizeIndex", {
        get: function() {
          return CBet_1.index[CBet_1.BET_SIZE];
        },
        set: function(idx) {
          if (idx < 0 || idx >= CBet_1.pool[CBet_1.BET_SIZE].length) return;
          CBet_1.index[CBet_1.BET_SIZE] = idx;
          CBet_1.UpdateBet(true);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "totalBetIndex", {
        get: function() {
          return CBet_1.index[CBet_1.TOTAL_VALUE];
        },
        set: function(idx) {
          if (idx < 0 || idx >= CBet_1.pool[CBet_1.TOTAL_VALUE].length) return;
          CBet_1.index[CBet_1.TOTAL_VALUE] = idx;
          CBet_1.UpdateBet();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "nextBuyFreeSpinPrice", {
        get: function() {
          var buyFreeSpinPrice = this.buyFreeSpinPrice;
          if (PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin) {
            var nextBetMulIndex = CBet_1.betMulIndex;
            var nextBetSizeIndex = CBet_1.betSizeIndex;
            nextBetMulIndex < CBet_1.pool[CBet_1.BET_MUL].length - 1 ? nextBetMulIndex += 1 : nextBetSizeIndex = Math.min(nextBetSizeIndex + 1, CBet_1.pool[CBet_1.BET_SIZE].length - 1);
            buyFreeSpinPrice = Number(CBet_1.pool[CBet_1.BET_MUL][nextBetMulIndex] * CBet_1.pool[CBet_1.BET_SIZE][nextBetSizeIndex] * PPPB_betConfig_1.standardBaseSize * PPPB_betConfig_1.buyFree.unitPrice);
          } else {
            var nextTotalBetIndex = Math.min(CBet_1.totalBetIndex + 1, CBet_1.pool[CBet_1.TOTAL_VALUE].length - 1);
            buyFreeSpinPrice = Number(CBet_1.pool[CBet_1.TOTAL_VALUE][nextTotalBetIndex] * PPPB_betConfig_1.buyFree.unitPrice);
          }
          return buyFreeSpinPrice;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "totalBet", {
        get: function() {
          return CBet_1.getPoolIndexValue(CBet_1.TOTAL_VALUE);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "buyFreeSpinPrice", {
        get: function() {
          return Number((CBet_1.betSize * CBet_1.betMul * PPPB_betConfig_1.standardBaseSize * PPPB_betConfig_1.buyFree.unitPrice).toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "standardBet", {
        get: function() {
          return Number((CBet_1.betSize * CBet_1.betMul * PPPB_betConfig_1.standardBaseSize).toFixed(3));
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CBet, "doubleChanceBet", {
        get: function() {
          return CBet_1.betSize * PPPB_betConfig_1.doubleChanceBaseSize * CBet_1.betMul;
        },
        enumerable: false,
        configurable: true
      });
      CBet.getPoolIndexValue = function(pooltype) {
        return CBet_1.pool[pooltype][CBet_1.index[pooltype]];
      };
      CBet.updateTotalPool = function() {
        if (!PPPB_sys_1.sys.currency) return;
        this.totalPool[this.baseSize] || (this.totalPool[this.baseSize] = this.generateTotalPool(this.baseSize));
        CBet_1.pool[CBet_1.TOTAL_VALUE] = this.totalPool[this.baseSize];
      };
      CBet.generateTotalPool = function(baseSize) {
        var ls1 = [];
        for (var i = 0; i < CBet_1.pool[CBet_1.BET_SIZE].length; i++) for (var j = 0; j < CBet_1.pool[CBet_1.BET_MUL].length; j++) ls1.push(PPPB_quick_1.ks.paseFloat(CBet_1.pool[CBet_1.BET_SIZE][i] * CBet_1.pool[CBet_1.BET_MUL][j] * baseSize));
        ls1.sort(function(a, b) {
          return a - b;
        });
        ls1 = PPPB_lib_1._.zip(ls1);
        console.log(CBet_1.pool[CBet_1.TOTAL_VALUE]);
        return ls1;
      };
      CBet.getIndexByBet = function(betnum) {
        var idx1 = 0;
        var result = [ 0, 0, CBet_1.pool[CBet_1.TOTAL_VALUE].indexOf(betnum) ];
        var mul = betnum / this.baseSize;
        var idx2 = CBet_1.pool[CBet_1.BET_MUL].indexOf(PPPB_quick_1.ks.paseFloat(mul / CBet_1.pool[CBet_1.BET_SIZE][idx1]));
        if (idx2 > -1) result[1] = idx2; else {
          idx2 = CBet_1.pool[CBet_1.BET_MUL].indexOf(PPPB_quick_1.ks.paseFloat(mul / CBet_1.pool[CBet_1.BET_SIZE][idx1]));
          while (-1 == idx2) {
            idx1++;
            idx2 = CBet_1.pool[CBet_1.BET_MUL].indexOf(PPPB_quick_1.ks.paseFloat(mul / CBet_1.pool[CBet_1.BET_SIZE][idx1]));
          }
          result[0] = idx1;
          result[1] = idx2;
        }
        return result;
      };
      CBet.getBetInfo = function(bet) {
        CBet_1.totalBet != bet && (CBet_1.index = this.getIndexByBet(bet));
        return {
          betnum: CBet_1.betSize,
          betmul: CBet_1.betMul
        };
      };
      CBet.prototype.onLoaded = function() {
        PPPB_lib_1.cc1.sys.isMobile || (this.viewAdaptHelper.enabled = false);
      };
      CBet.refresh = function() {
        PPPB_event_1.Events.publish("baseSize", "change", "", CBet_1.baseSize);
      };
      CBet.prototype.Init = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.baseSize = 20;
            return [ 2 ];
          });
        });
      };
      CBet.prototype.DisplayPanel = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.updateTotalPool();
            if (!this._isActive) {
              this.node.setPosition(cc.v2(PPPB_lib_1.cc1.sys.isMobile ? 0 : 500, this.node.position.y));
              this._isActive = true;
              PPPB_lib_1.cc1.sys.isMobile ? this.panelAnimation.play(PPPB_quick_1.ks.isLandscape ? "DisplayBetLandscape" : "DisplayBetPortrait") : this.panelAnimation.play("DisplayBet");
              PPPB_event_1.Events.publish("betpanel", "toggled", "", true);
            }
            return [ 2 ];
          });
        });
      };
      CBet.UpdateBet = function(updateTotalBetIndex, bet) {
        if (updateTotalBetIndex) if (void 0 !== bet) {
          CBet_1.index = CBet_1.getIndexByBet(bet);
          console.log("bet differences - indexes is now updated to " + JSON.stringify(CBet_1.index));
        } else {
          var mul = PPPB_quick_1.ks.paseFloat(CBet_1.betSize * CBet_1.betMul * CBet_1.baseSize);
          CBet_1.index[CBet_1.TOTAL_VALUE] = CBet_1.pool[CBet_1.TOTAL_VALUE].indexOf(mul);
        } else CBet_1.index = CBet_1.getIndexByBet(CBet_1.totalBet);
        PPPB_event_1.Events.publish("bet", "change", "", CBet_1.totalBet);
      };
      CBet.prototype.IncreaseBet = function() {
        PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin ? this.IncreaseBetMul() : this.IncreaseTotalBet();
      };
      CBet.prototype.DecreaseBet = function() {
        PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin ? this.DecreaseBetMul() : this.DecreaseTotalBet();
      };
      CBet.prototype.IncreaseBetMul = function() {
        if (CBet_1.betMulIndex < CBet_1.pool[CBet_1.BET_MUL].length - 1) CBet_1.betMulIndex += 1; else {
          CBet_1.betSizeIndex = Math.min(CBet_1.betSizeIndex + 1, CBet_1.pool[CBet_1.BET_SIZE].length - 1);
          PPPB_event_1.Events.publish("gold", "update", "");
        }
      };
      CBet.prototype.DecreaseBetMul = function() {
        if (CBet_1.betMulIndex > 0) CBet_1.betMulIndex -= 1; else {
          CBet_1.betSizeIndex = Math.max(CBet_1.betSizeIndex - 1, 0);
          PPPB_event_1.Events.publish("gold", "update", "");
        }
      };
      CBet.prototype.IncreaseTotalBet = function() {
        CBet_1.totalBetIndex = Math.min(CBet_1.totalBetIndex + 1, CBet_1.pool[CBet_1.TOTAL_VALUE].length - 1);
      };
      CBet.prototype.DecreaseTotalBet = function() {
        CBet_1.totalBetIndex = Math.max(CBet_1.totalBetIndex - 1, 0);
      };
      CBet.prototype.RefreshButtonStates = function() {
        this.betMinusButton.interactable = CBet_1.betMulIndex > 0;
        this.betAddButton.interactable = CBet_1.betMulIndex < CBet_1.pool[CBet_1.BET_MUL].length - 1;
        this.coinValueMinusButton.interactable = CBet_1.betSizeIndex > 0;
        this.coinValueAddButton.interactable = CBet_1.betSizeIndex < CBet_1.pool[CBet_1.BET_SIZE].length - 1;
        this.totalBetMinusButton.interactable = CBet_1.totalBetIndex > 0;
        this.totalBetAddButton.interactable = CBet_1.totalBetIndex < CBet_1.pool[CBet_1.TOTAL_VALUE].length - 1;
        PPPB_event_1.Events.publish("bet", "isMin", "", CBet_1.totalBetIndex > 0);
        PPPB_event_1.Events.publish("bet", "isMax", "", CBet_1.totalBetIndex < CBet_1.pool[CBet_1.TOTAL_VALUE].length - 1);
      };
      CBet.prototype.$event_refresh_betstate = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.RefreshButtonStates();
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$event_baseSize_change = function(value) {
        return __awaiter(this, void 0, void 0, function() {
          var keyStringArr;
          return __generator(this, function(_a) {
            if (this.multiplierLabel) {
              keyStringArr = [];
              keyStringArr.push(value);
              this.multiplierLabel.paramKeyStrings = keyStringArr;
              this.multiplierLabel.refreshLanguage();
            }
            CBet_1.UpdateBet(true);
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$event_bet_change = function() {
        this.coinValueLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(CBet_1.betSize);
        this.totalBetLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(CBet_1.totalBet);
        this.betLabel.string = CBet_1.betMul.toString();
        this.RefreshButtonStates();
      };
      CBet.prototype.$event_showCoin_change = function() {
        this.totalBetLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText(CBet_1.totalBet);
      };
      CBet.prototype.$ui_BGFrame_TotalBet_PlusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.IncreaseBet();
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_TotalBet_MinusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.DecreaseBet();
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_Bet_PlusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.betMulIndex = Math.min(CBet_1.betMulIndex + 1, CBet_1.pool[CBet_1.BET_MUL].length - 1);
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_Bet_MinusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.betMulIndex = Math.max(CBet_1.betMulIndex - 1, 0);
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_CoinValue_PlusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.betSizeIndex = Math.min(CBet_1.betSizeIndex + 1, CBet_1.pool[CBet_1.BET_SIZE].length - 1);
            PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin && PPPB_event_1.Events.publish("gold", "update", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_CoinValue_MinusButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.betSizeIndex = Math.max(CBet_1.betSizeIndex - 1, 0);
            PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin && PPPB_event_1.Events.publish("gold", "update", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_MaxBetBtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CBet_1.index[CBet_1.BET_SIZE] = CBet_1.pool[CBet_1.BET_SIZE].length - 1;
            CBet_1.index[CBet_1.TOTAL_VALUE] = CBet_1.pool[CBet_1.TOTAL_VALUE].length - 1;
            CBet_1.index[CBet_1.BET_MUL] = CBet_1.pool[CBet_1.BET_MUL].length - 1;
            CBet_1.UpdateBet(true);
            PPPB_MoneyDisplayHelper_1.MoneyUi.showCoin && PPPB_event_1.Events.publish("gold", "update", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_overlayCloseButton__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_closebtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$ui_BGFrame_confirmbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            PPPB_event_1.Events.publish("reset", "bottomUIType", "");
            return [ 2 ];
          });
        });
      };
      CBet.prototype.$event_close_bet = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.ClosePanel();
            return [ 2 ];
          });
        });
      };
      CBet.prototype.ClosePanel = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.node.opacity = 0;
            this.node.setPosition(cc.v2(2e3, this.node.position.y));
            this._isActive = false;
            PPPB_event_1.Events.publish("betpanel", "toggled", "", false);
            return [ 2 ];
          });
        });
      };
      var CBet_1;
      CBet.BET_SIZE = 0;
      CBet.BET_MUL = 1;
      CBet.TOTAL_VALUE = 2;
      CBet.totalPool = {};
      CBet.pool = [ PPPB_betConfig_1.betSizeConf, PPPB_betConfig_1.betMulConf, PPPB_betConfig_1.standardBetConf ];
      CBet._baseSize = 20;
      CBet.index = [ 3, 0, 9 ];
      __decorate([ property(cc.Animation) ], CBet.prototype, "panelAnimation", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "betAddButton", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "betMinusButton", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "coinValueAddButton", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "coinValueMinusButton", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "totalBetAddButton", void 0);
      __decorate([ property(cc.Button) ], CBet.prototype, "totalBetMinusButton", void 0);
      __decorate([ property(cc.RichText) ], CBet.prototype, "betLabel", void 0);
      __decorate([ property(cc.RichText) ], CBet.prototype, "coinValueLabel", void 0);
      __decorate([ property(cc.RichText) ], CBet.prototype, "totalBetLabel", void 0);
      __decorate([ property(PPPB_UILanguage_1.UILanguage) ], CBet.prototype, "multiplierLabel", void 0);
      __decorate([ property(PPPB_GameViewAdaptHelper_1.default) ], CBet.prototype, "viewAdaptHelper", void 0);
      CBet = CBet_1 = __decorate([ ccclass ], CBet);
      return CBet;
    }(PPPB_UComponent_1.UComponent);
    exports.default = CBet;
    PPPB_event_1.Events.on("setLanguage", CBet.refresh);
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UILanguage": "PPPB-UILanguage",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../PPPB-quick": "PPPB-quick",
    "../../config/PPPB-betConfig": "PPPB-betConfig",
    "../../utils/PPPB-GameViewAdaptHelper": "PPPB-GameViewAdaptHelper",
    "../../utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper"
  } ],
  "PPPB-block": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1b9e385Y2dG16eL1Jwf96Gb", "PPPB-block");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.block = void 0;
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var ccclass = cc._decorator.ccclass;
    var Block = function() {
      function Block() {}
      Block_1 = Block;
      Block.init = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              Block_1.blockNode || (Block_1.blockNode = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "block" ]));
              if (!!Block_1.blockNode) return [ 3, 2 ];
              _a = Block_1;
              return [ 4, PPPB_ui_1.ui.create("prefab/block", "node") ];

             case 1:
              _a.blockNode = _b.sent();
              _b.label = 2;

             case 2:
              Block_1.blockNode.active = false;
              return [ 2 ];
            }
          });
        });
      };
      Block.on = function() {
        PPPB_ui_1.ui.show(Block_1.blockNode);
      };
      Block.off = function() {
        PPPB_ui_1.ui.hide(Block_1.blockNode);
      };
      var Block_1;
      Block.blockNode = null;
      Block = Block_1 = __decorate([ ccclass ], Block);
      return Block;
    }();
    exports.block = Block;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-buyFreeSpin": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b81a4q2WGZPcpDdYk8fbWeb", "PPPB-buyFreeSpin");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_betConfig_1 = require("../../common/config/PPPB-betConfig");
    var PPPB_user_1 = require("./controller/PPPB-user");
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_bet_1 = require("../../common/ui/bottomUI/PPPB-bet");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var PPPB_AliNet_1 = require("./PPPB-AliNet");
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var BuyFreeSpin = function(_super) {
      __extends(BuyFreeSpin, _super);
      function BuyFreeSpin() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.buyFreeSpinsNoticeAnimation = null;
        _this.priceLabel = null;
        _this.panelButtonBlocker = null;
        _this.overlayBG = null;
        _this.baseScene = null;
        _this.totalBetNode = null;
        _this.overlayBgPortrait = null;
        _this.isOpen = false;
        _this.isClosingPanel = false;
        return _this;
      }
      Object.defineProperty(BuyFreeSpin.prototype, "IsOpen", {
        get: function() {
          return this.isOpen;
        },
        enumerable: false,
        configurable: true
      });
      BuyFreeSpin.prototype.Initialize = function(baseScene, totalBetNode, overlayBgPortrait) {
        this.baseScene = baseScene;
        this.totalBetNode = totalBetNode;
        this.overlayBgPortrait = overlayBgPortrait;
        this.overlayBgPortrait.on("click", this.CloseBuyFreeSpinsPanel, this);
      };
      BuyFreeSpin.prototype.$ui_signboard_cancelbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_event_1.Events.publish("cancel", "buyFreeSpins", "");
            return [ 2 ];
          });
        });
      };
      BuyFreeSpin.prototype.$ui_overlayBG__click = function() {
        PPPB_event_1.Events.publish("cancel", "buyFreeSpins", "");
      };
      BuyFreeSpin.prototype.$ui_signboard_okbtn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var price, r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.baseScene.IsPlaying) return [ 2 ];
              if (this.isClosingPanel) return [ 2 ];
              price = Number((PPPB_bet_1.default.totalBet * PPPB_betConfig_1.buyFree.unitPrice).toFixed(3));
              this.baseScene._total = PPPB_user_1.user.balance;
              if (price > this.baseScene._total) return [ 2, PPPB_ui_1.ui.tipsWithParent("insufficient balance", PPPB_ui_1.ui.tipsParent) ];
              if (!!PPPB_sys_1.sys.debugMode) return [ 3, 2 ];
              return [ 4, PPPB_AliNet_1.NetFactory.buyFree(PPPB_bet_1.default.totalBet, 1) ];

             case 1:
              r = _a.sent();
              if (null === r || void 0 === r ? void 0 : r.err) return [ 2, PPPB_ui_1.ui.tipsWithParent("insufficient balance", PPPB_ui_1.ui.tipsParent) ];
              price = r.getBuybonus() * r.getBet() / PPPB_quick_1.ks.rate;
              PPPB_user_1.user.attr.bet = r.getBet();
              _a.label = 2;

             case 2:
              return [ 4, this.CloseBuyFreeSpinsPanel(false) ];

             case 3:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(100) ];

             case 4:
              _a.sent();
              PPPB_event_1.Events.publish("free", "buy", "", {
                count: 1,
                price: price
              });
              this.isOpen = false;
              return [ 2 ];
            }
          });
        });
      };
      BuyFreeSpin.prototype.$event_cancel_buyFreeSpins = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.isOpen) {
              PPPB_bet_1.default.betMulIndex = this.initialBetMulIndex;
              PPPB_bet_1.default.betSizeIndex = this.initialBetSizeIndex;
              PPPB_event_1.Events.publish("gold", "update", "");
            }
            this.CloseBuyFreeSpinsPanel();
            return [ 2 ];
          });
        });
      };
      BuyFreeSpin.prototype.$event_open_buyFreeSpins = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.initialBetMulIndex = PPPB_bet_1.default.betMulIndex;
            this.initialBetSizeIndex = PPPB_bet_1.default.betSizeIndex;
            this.buyFreeSpinsNoticeAnimation.node.setPosition(cc.v2(0, this.buyFreeSpinsNoticeAnimation.node.position.y));
            this.isOpen ? this.CloseBuyFreeSpinsPanel() : this.OpenBuyFreeSpinsPanel();
            return [ 2 ];
          });
        });
      };
      BuyFreeSpin.prototype.SetPriceLabelText = function(text) {
        this.priceLabel.string = text;
      };
      BuyFreeSpin.prototype.CloseBuyFreeSpinsPanel = function(isSetOpen) {
        void 0 === isSetOpen && (isSetOpen = true);
        return __awaiter(this, void 0, void 0, function() {
          var state;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.isClosingPanel) return [ 2 ];
              if (!this.isOpen) return [ 2 ];
              isSetOpen && (this.isOpen = false);
              this.panelButtonBlocker && (this.panelButtonBlocker.enabled = true);
              this.isClosingPanel = true;
              isSetOpen || PPPB_quick_1.ks.playEffectSound("FreeGamePurchased_PB");
              this.baseScene.ToggleBottomPanelBuyFreeSpinScale(true);
              PPPB_quick_1.ks.playEffectSound("FreeGamePurchaseCancel_PB");
              state = this.buyFreeSpinsNoticeAnimation.play(PPPB_quick_1.ks.isLandscape ? "buyfreespins_exit" : "buyfreespins_exit_portrait");
              this.baseScene.ToggleTotalBetInteractable(false);
              return [ 4, PPPB_lib_1._.sleep(1e3 * state.duration) ];

             case 1:
              _a.sent();
              this.baseScene.ToggleShiftTotalBetActive(false);
              PPPB_lib_1.cc1.sys.isMobile && isSetOpen && PPPB_event_1.Events.publish("btn", "setSpinToDefault", "");
              this.overlayBG.active = false;
              this.overlayBgPortrait.active = false;
              this.panelButtonBlocker && (this.panelButtonBlocker.enabled = false);
              PPPB_event_1.Events.publish("change", "buyFreeSpinsPanelActiveState", "", false);
              return [ 2 ];
            }
          });
        });
      };
      BuyFreeSpin.prototype.OpenBuyFreeSpinsPanel = function() {
        this.isClosingPanel = false;
        this.isOpen = true;
        this.panelButtonBlocker && (this.panelButtonBlocker.enabled = false);
        PPPB_quick_1.ks.playEffectSound("FreeGamePurchaseOpenUp_PB");
        this.buyFreeSpinsNoticeAnimation.play(PPPB_quick_1.ks.isLandscape ? "buyfreespins_enter" : "buyfreespins_enter_portrait");
        PPPB_quick_1.ks.isLandscape ? this.overlayBG.active = true : this.overlayBgPortrait.active = true;
        PPPB_event_1.Events.publish("change", "buyFreeSpinsPanelActiveState", "", true);
        this.baseScene.ToggleShiftTotalBetActive(true);
        this.baseScene.ToggleTotalBetInteractable(true);
        PPPB_lib_1.cc1.sys.isMobile && PPPB_event_1.Events.publish("btn", "setSpinToStop", "");
      };
      __decorate([ property(cc.Animation) ], BuyFreeSpin.prototype, "buyFreeSpinsNoticeAnimation", void 0);
      __decorate([ property(cc.Label) ], BuyFreeSpin.prototype, "priceLabel", void 0);
      __decorate([ property(cc.BlockInputEvents) ], BuyFreeSpin.prototype, "panelButtonBlocker", void 0);
      __decorate([ property(cc.Node) ], BuyFreeSpin.prototype, "overlayBG", void 0);
      BuyFreeSpin = __decorate([ ccclass ], BuyFreeSpin);
      return BuyFreeSpin;
    }(PPPB_UComponent_1.UComponent);
    exports.default = BuyFreeSpin;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-AliNet": "PPPB-AliNet",
    "./controller/PPPB-user": "PPPB-user"
  } ],
  "PPPB-cardEditor": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "8130cK7raFHHZ55udCxb3Gy", "PPPB-cardEditor");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../framework-cocos/components/PPPB-UIList");
    var PPPB_res_1 = require("../../framework-cocos/PPPB-res");
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_net_1 = require("../../framework/PPPB-net");
    var PPPB_spincards_pb_1 = require("../../proto/PPPB-spincards_pb");
    var PPPB_CardHelper_1 = require("../server/PPPB-CardHelper");
    var PPPB_Algorithm_1 = require("./PPPB-Algorithm");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var PPPB_spinPanel_1 = require("./PPPB-spinPanel");
    var PPPB_GameServer_1 = require("../server/PPPB-GameServer");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var isCallByDC = false;
    var id = "";
    var cardsV = [ 1, 2, 3, 4, 5, 6, 7, 8, 100, 200 ];
    var cardsV2 = [ 1, 2, 3, 4, 5, 6, 7, 8, 100, 200 ];
    var CardsEditor = function(_super) {
      __extends(CardsEditor, _super);
      function CardsEditor() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.data = [];
        _this.selectNode = null;
        _this._select = [];
        _this._bet = 1;
        _this.odds2cards = {};
        return _this;
      }
      CardsEditor_1 = CardsEditor;
      Object.defineProperty(CardsEditor, "sup", {
        get: function() {
          this._sup || (this._sup = new PPPB_GameServer_1.GameServer());
          return this._sup;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CardsEditor, "spin", {
        get: function() {
          this._spin || (this._spin = PPPB_ui_1.ui.getComponent([ PPPB_ui_1.ui.canvas, "Panel" ], PPPB_spinPanel_1.default));
          return this._spin;
        },
        enumerable: false,
        configurable: true
      });
      CardsEditor.loadConf = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, _b;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              _a = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/mulConf") ];

             case 1:
              _a._mulConf = _c.sent();
              _b = this;
              return [ 4, PPPB_res_1.res.loadJson("config/server/oddsConf") ];

             case 2:
              _b._oddsConf = _c.sent();
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(CardsEditor.prototype, "cd", {
        get: function() {
          return CardsEditor_1;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CardsEditor.prototype, "sup", {
        get: function() {
          return this.cd.sup;
        },
        enumerable: false,
        configurable: true
      });
      CardsEditor.prototype.onLoaded = function() {
        CardsEditor_1.loadConf();
        this.loadParams();
      };
      CardsEditor.prototype.loadParams = function() {
        var queryParams = new URLSearchParams(window.location.search);
        var _id = queryParams.get("id");
        var _isCallByDC = queryParams.get("isCallByDC");
        id = _id;
        isCallByDC = "true" === _isCallByDC;
      };
      CardsEditor.prototype.onStart = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.closeSelect();
              return [ 4, PPPB_GameServer_1.GameServer.loadConf() ];

             case 1:
              _a.sent();
              this.reset();
              return [ 2 ];
            }
          });
        });
      };
      CardsEditor.prototype.reset = function() {
        var item = this.createItem();
        this.data = [ [ item ] ];
        this.refresh();
      };
      CardsEditor.prototype.createItem = function() {
        var cards = this.cd.sup.randFailCards().cards;
        return {
          cards: cards,
          winGold: 0,
          freeSpins: 0,
          mul: 1,
          winCards: []
        };
      };
      CardsEditor.prototype.openSelect = function(y) {
        PPPB_ui_1.ui.show(this.selectNode);
        this.selectNode.setPosition(0, y);
        this.initSelectNode();
      };
      CardsEditor.prototype.closeSelect = function() {
        PPPB_ui_1.ui.hide(this.selectNode);
      };
      CardsEditor.prototype.initSelectNode = function() {
        var list = PPPB_ui_1.ui.getComponent([ this.selectNode, "list" ], PPPB_UIList_1.UIList);
        var m = 0 == this._select[0] || 4 == this._select[0] ? cardsV2 : cardsV;
        var tmp = m.map(function(v) {
          return {
            card: PPPB_CardHelper_1.CardHelper.GetCardName(v)
          };
        });
        list.values = tmp;
      };
      CardsEditor.prototype.$event_selectPanel_close = function() {
        this.closeSelect();
      };
      CardsEditor.prototype.$event_card_select = function(data) {
        console.log("selecting row " + data.row + " and col " + data.col);
        if (PPPB_ui_1.ui.isShow(this.selectNode) && this._select[0] == data.row && this._select[1] == data.col) {
          this.closeSelect();
          return;
        }
        var card = this.data[0][this.page].cards[data.row][data.col];
        if (49 == card) return;
        this._select = [ data.row, data.col ];
        var p = PPPB_ui_1.ui.getSyncPos(this.selectNode, data.item);
        this.openSelect(p.y);
      };
      Object.defineProperty(CardsEditor.prototype, "spinPage", {
        get: function() {
          return 0;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CardsEditor.prototype, "page", {
        get: function() {
          return this.cd.spin._index;
        },
        enumerable: false,
        configurable: true
      });
      CardsEditor.prototype.refresh = function() {
        this.cd.spin.init({
          data: this.data,
          bet: this.bet,
          balance: 2e3,
          win: 0
        });
      };
      CardsEditor.prototype.$ui_selectPanel_list__item_click = function(list, event, index) {
        return __awaiter(this, void 0, void 0, function() {
          var curIdx, cards;
          return __generator(this, function(_a) {
            console.log("select list index in " + index);
            curIdx = this.page;
            cards = 0 == this._select[0] || 4 == this._select[0] ? cardsV2 : cardsV;
            this.data[0][curIdx].cards[this._select[0]][this._select[1]] = cards[index];
            this.pathTrace();
            this.calcCards();
            this.refresh();
            this.closeSelect();
            return [ 2 ];
          });
        });
      };
      Object.defineProperty(CardsEditor.prototype, "bet", {
        get: function() {
          return this._bet;
        },
        set: function(v) {
          this._bet = v;
          this.calcCards();
        },
        enumerable: false,
        configurable: true
      });
      CardsEditor.prototype.calcCards = function() {
        this.sup.curBet = this.bet;
        for (var _i = 0, _a = this.data; _i < _a.length; _i++) {
          var spins = _a[_i];
          for (var i = 0; i < spins.length; i++) {
            var e = spins[i];
            var nc = [];
            for (var raw = 0; raw < 3; raw++) {
              nc[raw] = [];
              for (var col = 0; col < 3; col++) nc[raw].push(PPPB_CardHelper_1.CardHelper.GetCardName(e.cards[raw][col]) || "");
            }
            var lastWinCards = e.winCards;
            var _b = this.sup.CheckCardWins(nc), winCards = _b.winCards, winGold = _b.winGold;
            e.winCards = winCards.map(function(v) {
              return [ v.x, v.y ];
            });
            e.mul = this.cd._mulConf[PPPB_lib_1._.limit(i, 0, 3)];
            e.winGold = winGold * e.mul;
            if (e.winGold > 0) {
              spins[i + 1] || (spins[i + 1] = this.createItem());
              var newItem = spins[i + 1];
              var _c = this.randCard(nc, [], winCards, newItem, lastWinCards), cards = _c.cards, specialCards = _c.specialCards, scatterNum = _c.scatterNum;
              newItem.cards = cards;
            } else spins.splice(i + 1);
          }
        }
      };
      CardsEditor.prototype.winCardsAreEqual = function(arr1, arr2) {
        if (arr1.length !== arr2.length) return false;
        return arr1.every(function(value, index) {
          return value[0] == arr2[index][0] && value[1] == arr2[index][1];
        });
      };
      CardsEditor.prototype.arraysAreEqual = function(arr1, arr2) {
        if (arr1.length !== arr2.length) return false;
        return arr1.every(function(value, index) {
          return value == arr2[index];
        });
      };
      CardsEditor.prototype.randCard = function(_cards, _specialCards, winCards, currentItem, lastWinCards) {
        var _a = this.sup.gameConf, row = _a.row, col = _a.col;
        var scatterNum = 0;
        var pro = this.sup.proConf.ordPro;
        var wins = {};
        for (var i = 0; i < winCards.length; i++) {
          var e = winCards[i];
          wins[e.x] || (wins[e.x] = []);
          wins[e.x].push(e.y);
        }
        var wins2 = {};
        for (var i = 0; i < lastWinCards.length; i++) {
          var e = lastWinCards[i];
          wins2[e[0]] || (wins2[e[0]] = []);
          wins2[e[0]].push(e[1]);
        }
        for (var i = 0; i < col; i++) for (var j = 0; j < row; j++) {
          var v = _cards[i][j];
          this.sup.isScatterCard(v) && scatterNum++;
        }
        for (var key in wins) if (Object.prototype.hasOwnProperty.call(wins, key)) {
          var e = wins[key];
          var e2 = wins2[key];
          var x = Number(key);
          var tmp = [];
          for (var i = 0; i < row; i++) {
            var c = _cards[x][i];
            -1 == e.indexOf(i) && tmp.push(c);
          }
          if (tmp.length < row) {
            this.sup.isScatterCard(_specialCards[x]) && scatterNum++;
            tmp.unshift(_specialCards[x]);
            _specialCards[x] = this.sup.randProCard(pro, 0 == x || 4 == x);
          }
          var len = tmp.length;
          for (var i = 0; i < row - len; i++) tmp.unshift(this.sup.randProCard(pro, 0 == x || 4 == x));
          if (lastWinCards.length) {
            len = e.length;
            var len2 = (null === e2 || void 0 === e2 ? void 0 : e2.length) || 0;
            var cards2 = currentItem.cards[x];
            for (var i = 0; i < tmp.length; i++) if (this.sup.isWildCard(tmp[i])) {
              len--;
              len2--;
            }
            var j = 0;
            for (var i = len - 1; i >= Math.max(0, len - len2); i--) tmp[i] = this.sup.getCardName(cards2[len2 - 1 - j++]);
          }
          _cards[x] = tmp;
        }
        _cards[0][4] = "";
        _cards[4][4] = "";
        if (this.sup._isFreeGame) {
          PPPB_CardHelper_1.CardHelper.IsNormal(_specialCards[2]) && (_specialCards[2] = PPPB_CardHelper_1.CardHelper.GetCardName(PPPB_CardHelper_1.CardHelper.GetCardValue(_specialCards[2]) + this.sup.gameConf.cardValueSub));
          for (var i = 0; i < col; i++) {
            var card = _cards[2][i];
            PPPB_CardHelper_1.CardHelper.IsNormal(card) && (_cards[2][i] = PPPB_CardHelper_1.CardHelper.GetCardName(PPPB_CardHelper_1.CardHelper.GetCardValue(card) + this.sup.gameConf.cardValueSub));
          }
        }
        var cards = [];
        var specialCards = [];
        for (var y = 0; y < col; y++) for (var x = 0; x < row; x++) {
          var v = _cards[y][x];
          cards[y] || (cards[y] = []);
          cards[y][x] = PPPB_CardHelper_1.CardHelper.GetCardValue(v);
        }
        for (var i = 0; i < col; i++) specialCards[i] = PPPB_CardHelper_1.CardHelper.GetCardValue(_specialCards[i]);
        return {
          cards: cards,
          specialCards: specialCards,
          scatterNum: scatterNum
        };
      };
      CardsEditor.prototype.pathTrace = function() {
        var _this = this;
        var spins = this.data[0];
        var getPath = function(x, y, index) {
          var path = [ y ];
          var isDisappear = false;
          for (var i = index; i < spins.length - 1; i++) {
            var spin = spins[i];
            var last = path[path.length - 1];
            var len = 0;
            for (var j = 0; j < spin.winCards.length; j++) {
              var e = spin.winCards[j];
              if (e[0] == x) {
                if (e[1] == last) {
                  isDisappear = true;
                  break;
                }
                e[1] > last && len++;
              }
            }
            if (isDisappear) break;
            path.push(last + len);
          }
          var startPage = _this.page;
          for (var i = index - 1; i >= 0; i--) {
            var spin = spins[i];
            var last = path[0];
            var arr = [ 0, 1, 2, 3, 4 ];
            var flag = false;
            for (var j = 0; j < spin.winCards.length; j++) {
              var e = spin.winCards[j];
              if (e[0] == x) {
                arr[e[1]] = -1;
                e[1] >= last && (flag = true);
              }
            }
            var pos = last;
            if (flag) {
              var np = [];
              for (var j_1 = 0; j_1 < arr.length; j_1++) {
                var e = arr[j_1];
                -1 != e && np.push(e);
              }
              var j = -1;
              while (np.length < 5) np.unshift(j--);
              pos = np[last];
            }
            path.unshift(pos);
            startPage = i;
            if (pos < 0) break;
          }
          return {
            path: path,
            startPage: startPage
          };
        };
        var x = this._select[0], y = this._select[1];
        var _a = getPath(x, y, this.page), path = _a.path, startPage = _a.startPage;
        console.log("path:" + path, "startPage:" + startPage);
        var targetCard = this.data[this.spinPage][this.page].cards[x][y];
        for (var i = 0; i < path.length; i++) {
          var e = this.data[this.spinPage][startPage + i];
          e.cards[x][path[i]] = targetCard;
        }
      };
      CardsEditor.prototype.conver2strCards = function(cards) {
        var tmp = [];
        for (var i = 0; i < cards.length; i++) {
          tmp[i] = [];
          for (var j = 0; j < cards[1].length; j++) {
            var e = cards[i][j];
            tmp[i].push(this.sup.getCardName(e));
          }
        }
        return tmp;
      };
      CardsEditor.prototype.$ui_Panel_add__click = function() {
        var _a;
        return __awaiter(this, void 0, void 0, function() {
          var page, sameCard, cardV, v, dis, i, ee, isSuccess, cardV, e, len, t, j, i, arr, y, cardV, i, j, arr, cardV, e;
          return __generator(this, function(_b) {
            page = this.data[0][this.page];
            sameCard = this.sup.getSameValueCards(this.conver2strCards(page.cards), false);
            for (cardV in sameCard) {
              v = sameCard[cardV];
              v[0] && v[1] && v[2] && delete sameCard[cardV];
            }
            dis = {};
            for (i = 0; i < page.winCards.length; i++) {
              ee = page.winCards[i];
              dis[ee[0]] || (dis[ee[0]] = []);
              dis[ee[0]].push(ee[1]);
            }
            isSuccess = false;
            for (cardV in sameCard) if (Object.prototype.hasOwnProperty.call(sameCard, cardV)) {
              if (isSuccess) break;
              e = sameCard[cardV];
              len = 0;
              e[0] && len++;
              e[1] && len++;
              e[2] && len++;
              t = {
                0: 1,
                1: 1,
                2: 1
              };
              if (2 == len) for (j = 0; j < 3; j++) if (!e[j]) {
                0 == j && delete t[2];
                for (i = 0; i < (null === (_a = dis[j]) || void 0 === _a ? void 0 : _a.length) || 0; i++) delete t[dis[j][i]];
                arr = PPPB_lib_1._.keys(t);
                if (arr.length) {
                  y = Number(PPPB_lib_1._.rand(arr));
                  page.cards[j][y] = Number(cardV);
                  this._select = [ j, y ];
                  this.pathTrace();
                  isSuccess = true;
                  console.log("success 1");
                  break;
                }
              }
            }
            if (!isSuccess) if (page.winCards.length) {
              cardV = page.cards[0][dis[0][0]];
              if (49 == cardV) console.log("warning the card value is 49, skipping"); else {
                if (!dis[1]) {
                  isSuccess = true;
                  page.cards[1][0] = cardV;
                  this._select = [ 1, 0 ];
                  this.pathTrace();
                  console.log("success 2");
                }
                if (!isSuccess && !dis[2]) {
                  isSuccess = true;
                  page.cards[2][0] = cardV;
                  this._select = [ 2, 0 ];
                  this.pathTrace();
                  console.log("success 3");
                }
                if (!isSuccess) for (i = 0; i < 5; i++) {
                  if (isSuccess) break;
                  for (j = 0; j < 5; j++) {
                    if (isSuccess) break;
                    if (0 == i && 3 == j) continue;
                    if (3 == i && 3 == j) continue;
                    arr = dis[i] || [];
                    if (-1 == arr.indexOf(j)) {
                      isSuccess = true;
                      page.cards[i][j] = cardV;
                      this._select = [ i, j ];
                      this.pathTrace();
                      console.log("success 4");
                      break;
                    }
                  }
                }
              }
            } else for (cardV in sameCard) if (Object.prototype.hasOwnProperty.call(sameCard, cardV)) {
              e = sameCard[cardV];
              if (e[0]) {
                page.cards[1][0] = Number(cardV);
                this._select = [ 1, 0 ];
                this.pathTrace();
                page.cards[2][0] = Number(cardV);
                this._select = [ 2, 0 ];
                this.pathTrace();
                console.log("success 5");
                break;
              }
            }
            this.calcCards();
            this.refresh();
            return [ 2 ];
          });
        });
      };
      CardsEditor.prototype.init = function() {
        return __awaiter(this, void 0, void 0, function() {
          var p, key, e, k, ee, z;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              p = {};
              for (key in CardsEditor_1._oddsConf) if (Object.prototype.hasOwnProperty.call(CardsEditor_1._oddsConf, key)) {
                e = CardsEditor_1._oddsConf[key];
                for (k in e) if (Object.prototype.hasOwnProperty.call(e, k)) {
                  ee = e[k];
                  p[ee] || (p[ee] = []);
                  p[ee].push(Number(key));
                }
              }
              this.odds2cards = p;
              console.log(p);
              return [ 4, PPPB_lib_1._.sleep(5e3) ];

             case 1:
              _a.sent();
              z = this.startFind(108, 5);
              z && console.log(z);
              return [ 2 ];
            }
          });
        });
      };
      CardsEditor.prototype.findCardsByOdds = function(value) {
        if (this.odds2cards[value]) return PPPB_lib_1._.rand(this.odds2cards[value]);
        return 0;
      };
      CardsEditor.prototype.startFind = function(odds, len) {
        var _a;
        var bs = 0;
        for (var i = 0; i < len; i++) bs += this.cd._mulConf[PPPB_lib_1._.limit(i, 0, 3)];
        var vs = PPPB_lib_1._.keys(this.odds2cards).map(function(v) {
          return Number(v);
        });
        var os = odds;
        var js = 0;
        var issb = false;
        var res = {};
        for (var i = len - 1; i >= 0; i--) {
          var bbs = this.cd._mulConf[PPPB_lib_1._.limit(i, 0, 3)];
          var r = PPPB_lib_1._.rand(vs);
          var maxNum = [ 1, 2, 3, 5 ].slice(0, i).reduce(function(p, c) {
            return p + c;
          });
          if (js > 100) {
            issb = true;
            break;
          }
          if (os - r * bbs > maxNum) {
            js++;
            i++;
            continue;
          }
          os -= r * bbs;
          res[i] = (_a = {}, _a[r] = 1, _a);
        }
        if (os > 0) {
          var js_1 = 0;
          while (this.bxFunc(os, res)) if (js_1++ > 1e4) {
            issb = true;
            break;
          }
        }
        console.log(res);
        return false;
      };
      CardsEditor.prototype.bxFunc = function(num, arr) {
        var vs = PPPB_lib_1._.keys(this.odds2cards).map(function(v) {
          return Number(v);
        });
        for (var i = 0; i < 5; i++) ;
        var randNum1 = PPPB_lib_1._.rand(0, 100);
        var randNum2 = PPPB_lib_1._.rand(0, 1e4);
        return num;
      };
      CardsEditor.prototype.subsetSum = function(nums, target) {
        nums.sort(function(a, b) {
          return a - b;
        });
        var n = nums.length;
        var dp = new Array(n + 1).fill(false).map(function() {
          return new Array(target + 1).fill(false);
        });
        for (var i_1 = 0; i_1 <= n; i_1++) dp[i_1][0] = true;
        for (var i_2 = 1; i_2 <= n; i_2++) for (var j_2 = 1; j_2 <= target; j_2++) j_2 < nums[i_2 - 1] ? dp[i_2][j_2] = dp[i_2 - 1][j_2] : dp[i_2][j_2] = dp[i_2 - 1][j_2] || dp[i_2 - 1][j_2 - nums[i_2 - 1]];
        var res = [];
        var i = n, j = target;
        while (i > 0 && j > 0) if (dp[i - 1][j]) i--; else if (dp[i - 1][j - nums[i - 1]]) {
          res.push(nums[i - 1]);
          j -= nums[i - 1];
          i--;
        }
        return res;
      };
      CardsEditor.prototype.$ui_Panel_reset__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.reset();
            PPPB_ui_1.ui.show([ this, "Panel/save" ]);
            return [ 2 ];
          });
        });
      };
      CardsEditor.prototype.$ui_Panel_save__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_ui_1.ui.hide([ this, "Panel/save" ]);
              return [ 4, this.upload() ];

             case 1:
              _a.sent();
              PPPB_ui_1.ui.show([ this, "Panel/save" ]);
              this.reset();
              return [ 2 ];
            }
          });
        });
      };
      CardsEditor.prototype.upload = function() {
        return __awaiter(this, void 0, void 0, function() {
          var uploadData, st, r, url, path, resultParent;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              uploadData = {
                id: id,
                gameType: PPPB_sys_1.sys.gameType,
                cards: null,
                spinType: "ord",
                mul: 0
              };
              st = new PPPB_spincards_pb_1.SpinStruct();
              r = PPPB_Algorithm_1.aal.getSpinStructSpin(this.data[0]);
              st.addSpins(r.list);
              uploadData.mul = r.gold;
              if (!uploadData.mul) {
                PPPB_ui_1.ui.show([ this, "Panel/save" ]);
                return [ 2 ];
              }
              uploadData.cards = Array.from(st.serializeBinary());
              url = PPPB_sys_1.sys.backStageUrl;
              path = "/cli/upload/spin";
              if (!isCallByDC) return [ 3, 1 ];
              resultParent = {
                uploadData: uploadData
              };
              window.parent.postMessage({
                request: resultParent
              }, "*");
              return [ 3, 3 ];

             case 1:
              return [ 4, PPPB_net_1.Net.httpRequest(url + path, uploadData, "POST").then(function(v) {
                if ((null === v || void 0 === v ? void 0 : v.err) || (null === v || void 0 === v ? void 0 : v.Err)) {
                  PPPB_ui_1.ui.show([ _this, "Panel/save" ]);
                  PPPB_quick_1.ks.tips((null === v || void 0 === v ? void 0 : v.err) || (null === v || void 0 === v ? void 0 : v.Err));
                } else v && PPPB_quick_1.ks.tips("success");
              }) ];

             case 2:
              _a.sent();
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      var CardsEditor_1;
      __decorate([ property(cc.Node) ], CardsEditor.prototype, "selectNode", void 0);
      CardsEditor = CardsEditor_1 = __decorate([ ccclass ], CardsEditor);
      return CardsEditor;
    }(PPPB_UComponent_1.UComponent);
    exports.default = CardsEditor;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../framework-cocos/PPPB-res": "PPPB-res",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../../framework/PPPB-net": "PPPB-net",
    "../../proto/PPPB-spincards_pb": "PPPB-spincards_pb",
    "../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../server/PPPB-GameServer": "PPPB-GameServer",
    "./PPPB-Algorithm": "PPPB-Algorithm",
    "./PPPB-spinPanel": "PPPB-spinPanel"
  } ],
  "PPPB-cardToName": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "35c76S4Jk9LrqnUHLC89WFy", "PPPB-cardToName");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.cardToName = void 0;
    exports.cardToName = {
      s1: "2l",
      s2: "2t",
      s3: "3t",
      s4: "5l",
      s5: "5t",
      s6: "8w",
      s7: "bb",
      s8: "hz",
      s9: "fc",
      s10: "fc",
      g1: "2l",
      g2: "2t",
      g3: "3t",
      g4: "5l",
      g5: "5t",
      g6: "8w",
      g7: "bb",
      g8: "hz",
      g9: "fc",
      bomb: "hz"
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-cardlist2": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b8aadZpPoRI05mXRa7Xqa1b", "PPPB-cardlist2");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_card_1 = require("./PPPB-card");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var list_height = 776;
    var card_height = 73.7;
    var card_head = -92;
    var list_dropdown_offset = 50;
    var CARDBLOCK_HEAD_MAP = {
      7: -52.3857143,
      6: -61.1166667,
      5: -65.46,
      4: -91.675,
      3: -122.2333333,
      2: -183.35
    };
    var CARDBLOCK_HEIGHT_MAP = {
      2: 366.7,
      3: 244.46,
      4: 183.35,
      5: 155.2,
      6: 122.23,
      7: 104.77
    };
    var MIN_CARD_COUNT = 2;
    var MAX_CARD_COUNT = 7;
    var CARD_COUNT = 7;
    var CARDBLOCKMAP = {
      7: "a",
      6: "b",
      5: "c",
      4: "d",
      3: "e",
      2: "f"
    };
    var CARD_MULTIPLIER_ANI_MAP = {
      12: [ 11, 16 ],
      13: [ 17, 20 ],
      14: [ 21, 23 ]
    };
    var Cardlist2 = function(_super) {
      __extends(Cardlist2, _super);
      function Cardlist2() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.cardPrefab = null;
        _this.cardIdx = -1;
        _this.cardRoot = null;
        _this.cards = [];
        _this.activeCards = [];
        _this.hideCards = [];
        _this.work = null;
        _this._pos = 0;
        _this._rollState = 0;
        _this._frontNode = null;
        _this._frontSpineNode = null;
        _this._values = [];
        _this.nxtValueIdx = -1;
        _this.toScroll = false;
        _this.toStop = false;
        _this.isInstantStop = false;
        return _this;
      }
      Object.defineProperty(Cardlist2.prototype, "pos", {
        get: function() {
          return this._pos;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Cardlist2.prototype, "rollState", {
        get: function() {
          return this._rollState;
        },
        enumerable: false,
        configurable: true
      });
      Cardlist2.prototype.onLoaded = function() {
        this.cardRoot = PPPB_ui_1.ui.getNode([ this, "cardRoot" ]);
        this.cardRoot.destroyAllChildren();
        var ma = 2 * MAX_CARD_COUNT;
        this.cards = [];
        for (var i = 0; i < ma; ++i) {
          var c = cc.instantiate(this.cardPrefab);
          var card = c.getComponent(PPPB_card_1.default);
          card.pos = i;
          this.cards.push(card);
          this.cardRoot.addChild(c);
        }
        this.cardIdx = this.node.getSiblingIndex();
        this.activeCards = [];
        this.hideCards = [];
      };
      Cardlist2.prototype.Initialize = function(frontNode, frontSpineNode) {
        this._frontNode = frontNode;
        this._frontSpineNode = frontSpineNode;
      };
      Cardlist2.prototype.Init = function(work, cardList, pos) {
        this.work = work;
        this._pos = pos;
        this.hideAllCards();
        this.activeCards.length = 0;
        for (var i = 0; i < cardList.length; ++i) {
          var card = this.initCard(i, cardList[i], cardList.length, {
            pos: i,
            anim: true,
            show: true
          });
          this.activeCards.push(card);
        }
        this.updateHideCardsByActiveCards();
      };
      Cardlist2.prototype.updateHideCardsByActiveCards = function() {
        this.hideCards.length = 0;
        for (var _i = 0, _a = this.cards; _i < _a.length; _i++) {
          var card = _a[_i];
          this.activeCards.includes(card) || this.hideCards.push(card);
        }
        this.hideCards.reverse();
      };
      Cardlist2.prototype.hideAllCards = function() {
        this.cards.forEach(function(card) {
          return card.node.opacity = 0;
        });
      };
      Object.defineProperty(Cardlist2.prototype, "values", {
        get: function() {
          return this._values;
        },
        set: function(v) {
          this._vvs = v;
          var vs = v;
          var tmp = [];
          var len = 0;
          for (var i = 0; i < vs.length; i++) {
            var e = vs[i];
            tmp.push({
              value: e,
              len: len,
              pos: i
            });
          }
          this._values = tmp;
        },
        enumerable: false,
        configurable: true
      });
      Cardlist2.prototype.getAni = function(data, length) {
        var v = "number" === typeof data ? data : data.value;
        if (v >= 11) for (var _i = 0, _a = Object.entries(CARD_MULTIPLIER_ANI_MAP); _i < _a.length; _i++) {
          var _b = _a[_i], animNumber = _b[0], dataValues = _b[1];
          if (dataValues[0] <= v && v <= dataValues[1]) {
            v = animNumber;
            break;
          }
        }
        return "set_" + CARDBLOCKMAP[length] + v;
      };
      Cardlist2.prototype.GetScatterCount = function() {
        var scatterCount = 0;
        for (var i = 0; i < this.activeCards.length; i++) {
          var card = this.activeCards[i];
          card.isScatter && scatterCount++;
        }
        return scatterCount;
      };
      Cardlist2.prototype.setJustScatter = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _i, _a, card;
          return __generator(this, function(_b) {
            for (_i = 0, _a = this.activeCards; _i < _a.length; _i++) {
              card = _a[_i];
              card.isScatter && card.playByType("justwin");
            }
            return [ 2 ];
          });
        });
      };
      Cardlist2.prototype.setCards = function(values) {
        this.values = values;
        this.hideAllCards();
        this.activeCards.length = 0;
        for (var i = 0; i < values.length; ++i) {
          var card = this.initCard(i, values[i], values.length, {
            pos: i,
            show: true
          });
          this.activeCards.push(card);
        }
        this.updateHideCardsByActiveCards();
      };
      Cardlist2.prototype.initCard = function(cardOrIdx, value, len, ex) {
        var _a, _b;
        ex = ex || {};
        var card;
        card = "number" === typeof cardOrIdx ? this.cards[cardOrIdx] : cardOrIdx;
        card.value = "object" === typeof value ? value.value : value;
        void 0 !== ex.pos && (card.pos = ex.pos);
        void 0 !== ex.y ? card.node.y = ex.y + (null !== (_a = ex.offsetY) && void 0 !== _a ? _a : 0) : card.node.y = this.getCardPosWithLen(card.pos, len) + (null !== (_b = ex.offsetY) && void 0 !== _b ? _b : 0);
        card._front = this._frontNode;
        card._frontSpine = this._frontSpineNode;
        card.cardBlockType = CARDBLOCKMAP[len];
        card.symbolParentNode.scale = card.value < 6 ? 1 : 1.5;
        card.spineSkeleton.node.parent !== card.spineRootNode && card.spineSkeleton.node.setParent(card.spineRootNode);
        card.len = len;
        ex.anim ? "number" === typeof value ? card._anim.play("set_" + card.cardBlockType + card.value) : card._anim.play(value) : "string" === typeof value ? card.play(value) : card.play(this.getAni(card.value, len));
        void 0 !== ex.show && (card.node.opacity = ex.show ? 255 : 0);
        return card;
      };
      Cardlist2.prototype.hasScatterCards = function() {
        for (var i = 0; i < this.activeCards.length; i++) {
          var e = this.activeCards[i];
          if (e.isScatter) return true;
        }
        return false;
      };
      Cardlist2.prototype.resetCards = function() {
        this.activeCards.sort(function(a, b) {
          return a.pos - b.pos;
        });
      };
      Cardlist2.prototype.getCardPosWithLen = function(pos, len) {
        if (len) {
          var newPos = CARDBLOCK_HEIGHT_MAP[len] * pos;
          return CARDBLOCK_HEAD_MAP[len] - newPos;
        }
        return card_head - card_height * pos;
      };
      Cardlist2.prototype.getCardPos = function(pos) {
        var newPos = CARDBLOCK_HEIGHT_MAP[this._values.length] * pos;
        return CARDBLOCK_HEAD_MAP[this._values.length] - newPos;
      };
      Cardlist2.prototype.getPos = function(c) {
        return cc.v2(0, this.getCardPos(c.pos));
      };
      Cardlist2.prototype.addNxtValuesCard = function(isAll, allLen) {
        void 0 === isAll && (isAll = false);
        if (!this.nxtValues || this.nxtValueIdx - 1 < 0) return;
        if (isAll) {
          var len_1 = null !== allLen && void 0 !== allLen ? allLen : this.nxtValues.length;
          while (true) {
            len_1--;
            if (len_1 < 0) break;
            this.addNxtValuesCard(false, allLen);
          }
          return;
        }
        var card = this.hideCards.pop();
        if (!card) return;
        var len = null !== allLen && void 0 !== allLen ? allLen : this.nxtValues.length;
        this.nxtValueIdx--;
        var nxtValue = this.nxtValues[this.nxtValueIdx];
        var activeCard = this.activeCards[0];
        var y, offsetY;
        if (activeCard) {
          y = activeCard.node.y + .5 * CARDBLOCK_HEIGHT_MAP[activeCard.len];
          offsetY = .5 * CARDBLOCK_HEIGHT_MAP[len];
        }
        this.initCard(card, nxtValue, len, {
          pos: this.nxtValueIdx,
          y: y,
          offsetY: offsetY,
          show: true
        });
        this.activeCards.unshift(card);
        return card;
      };
      Cardlist2.prototype.initScroll = function(endValues) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.endValues = endValues;
            this.toScroll = false;
            this.toStop = false;
            return [ 2 ];
          });
        });
      };
      Cardlist2.prototype.startScroll = function(delayMS) {
        return __awaiter(this, void 0, void 0, function() {
          var moveT, delayT, _loop_1, this_1, i;
          var _this = this;
          return __generator(this, function(_a) {
            console.log("\u5f00\u59cb\u6eda\u52a8===", this.cardIdx, delayMS);
            if (this.toScroll) return [ 2 ];
            this.toScroll = true;
            this.toStop = false;
            this.nxtValues = void 0;
            this.nxtValueIdx = -1;
            this.work.isTurboActive() || !this.work.isAtNormalSpeed() ? this._rollState = 1 : this._rollState = 2;
            this.cards.forEach(function(v) {
              return v.setHierarchy("back");
            });
            moveT = 1 === this._rollState ? .15 : .3;
            delayT = 0;
            _loop_1 = function(i) {
              var card = this_1.activeCards[i];
              var posY = this_1.getCardPosWithLen(card.pos, this_1.values.length);
              cc.tween(card.node).delay(.001 * delayMS + delayT).to(moveT, {
                y: posY - list_height - 4
              }).call(function() {
                var idx = _this.activeCards.indexOf(card);
                if (-1 !== idx) {
                  _this.activeCards.splice(idx, 1);
                  card.node.opacity = 0;
                  _this.hideCards.push(card);
                }
              }).start();
              delayT += .05;
            };
            this_1 = this;
            for (i = this.activeCards.length - 1; i >= 0; --i) _loop_1(i);
            return [ 2 ];
          });
        });
      };
      Cardlist2.prototype.stopScroll = function(isInstantStop) {
        return __awaiter(this, void 0, void 0, function() {
          var i, card, delayMS, _loop_2, this_2, i, i, card, posY;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("\u505c\u6b62\u6eda\u52a8===", this.cardIdx);
              if (this.toStop) return [ 2 ];
              this.toStop = true;
              this.isInstantStop = isInstantStop;
              this.nxtValues = this.endValues;
              this.nxtValueIdx = this.nxtValues.length;
              this.addNxtValuesCard(true, this.nxtValues.length);
              for (i = 0; i < 5; ++i) {
                card = this.activeCards[i];
                card.node.y += list_height;
              }
              if (!(2 == this._rollState)) return [ 3, 1 ];
              delayMS = 0;
              _loop_2 = function(i) {
                var card = this_2.activeCards[i];
                var posY = this_2.getCardPosWithLen(card.pos, this_2.values.length);
                if (this_2.isInstantStop) {
                  card.node.y = posY;
                  card.HandleSpinEnd();
                  return "continue";
                }
                PPPB_action_1.ACT(card).delay(delayMS).moveTo(.25, 0, posY - 10).act().then(function() {
                  return __awaiter(_this, void 0, void 0, function() {
                    return __generator(this, function(_a) {
                      switch (_a.label) {
                       case 0:
                        if (!this.isInstantStop) return [ 3, 1 ];
                        card.node.y = posY;
                        return [ 3, 3 ];

                       case 1:
                        return [ 4, PPPB_action_1.ACT(card).moveTo(.05, 0, posY).act() ];

                       case 2:
                        _a.sent();
                        _a.label = 3;

                       case 3:
                        card.HandleSpinEnd();
                        return [ 2 ];
                      }
                    });
                  });
                });
                delayMS += 50;
              };
              this_2 = this;
              for (i = this.activeCards.length - 1; i >= 0; --i) _loop_2(i);
              this.cardIdx + 1 === CARD_COUNT && this.sleep(delayMS).then(function() {
                PPPB_quick_1.ks.playEffectSound("ReelStop_PB");
              });
              return [ 3, 3 ];

             case 1:
              for (i = this.activeCards.length - 1; i >= 0; --i) {
                card = this.activeCards[i];
                posY = this.getCardPosWithLen(card.pos, this.values.length);
                card.node.y = posY;
                card.HandleSpinEnd();
              }
              PPPB_ui_1.ui.playAnimation(this.node, "listEndScroll", 1);
              if (!(this.hasScatterCards() || this.GetMultiplesCount() > 0)) return [ 3, 3 ];
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 2:
              _a.sent();
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      Cardlist2.prototype.highlightWin = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var cards, ps, _i, cards_1, card;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(this.cardIdx + " \u9ad8\u4eae");
              cards = this.activeCards.filter(function(v, index) {
                return -1 !== pos.indexOf(index);
              }, this);
              ps = [];
              for (_i = 0, cards_1 = cards; _i < cards_1.length; _i++) {
                card = cards_1[_i];
                ps.push(card.playByType("win"));
              }
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(200) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Cardlist2.prototype.disappear = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var cards, ps, _i, cards_2, card;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(this.cardIdx + " \u6d88\u5931");
              cards = this.activeCards.filter(function(v, index) {
                return -1 !== pos.indexOf(index);
              }, this);
              ps = [];
              for (_i = 0, cards_2 = cards; _i < cards_2.length; _i++) {
                card = cards_2[_i];
                card.value < 14, ps.push(card.playByType("out"));
              }
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              return [ 4, this.sleep(200) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Cardlist2.prototype.fallin = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var fallInDuration, numCardSpacesToFall, fallPromises, toHideCards, _loop_3, this_3, i, i, fallInPos, value, i, _i, toHideCards_1, toHideCard, idx, _loop_4, this_4, i, i;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(this.cardIdx + " \u843d\u724c", pos);
              fallInDuration = .5;
              numCardSpacesToFall = 0;
              fallPromises = [];
              toHideCards = [];
              _loop_3 = function(i) {
                var card = this_3.activeCards[i];
                if (-1 === pos.indexOf(i)) {
                  var curPos = card.pos;
                  var newPos = curPos + numCardSpacesToFall;
                  if (curPos === newPos) return "continue";
                  fallPromises.push(PPPB_action_1.ACT(card).moveTo(fallInDuration, 0, this_3.getCardPosWithLen(newPos, this_3.values.length), cc.easeCubicActionIn()).act().then(function() {
                    PPPB_ui_1.ui.playAnimation(card.node.getChildByName("root"), "cardDown", 1);
                  }));
                } else {
                  numCardSpacesToFall++;
                  toHideCards.push(card);
                }
              };
              this_3 = this;
              for (i = this.values.length - 1; i >= 0; i--) _loop_3(i);
              this.nxtValues = [];
              for (i = 0; i < numCardSpacesToFall; i++) {
                fallInPos = numCardSpacesToFall - 1 - i;
                value = this.values[fallInPos];
                this.nxtValues.unshift(value);
              }
              this.nxtValueIdx = this.nxtValues.length;
              for (i = 0; i < numCardSpacesToFall; ++i) this.addNxtValuesCard(false, this.values.length);
              for (_i = 0, toHideCards_1 = toHideCards; _i < toHideCards_1.length; _i++) {
                toHideCard = toHideCards_1[_i];
                idx = this.activeCards.indexOf(toHideCard);
                this.activeCards.splice(idx, 1);
                toHideCard.node.opacity = 0;
                toHideCard.setHierarchy("back");
                this.hideCards.push(toHideCard);
              }
              _loop_4 = function(i) {
                var card = this_4.activeCards[i];
                fallPromises.push(PPPB_action_1.ACT(card).moveTo(fallInDuration, 0, this_4.getCardPosWithLen(i, this_4.values.length), cc.easeCubicActionIn()).act().then(function() {
                  card.playByType("fallin");
                }));
              };
              this_4 = this;
              for (i = 0; i < numCardSpacesToFall; ++i) _loop_4(i);
              for (i = 0; i < this.activeCards.length; ++i) this.activeCards[i].pos = i;
              return [ 4, Promise.all(fallPromises) ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(200) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Cardlist2.prototype.filterCards = function(func) {
        return this.activeCards.filter(func);
      };
      Cardlist2.prototype.GetMultiplesCount = function() {
        var multiplesCount = 0;
        for (var _i = 0, _a = this.values; _i < _a.length; _i++) {
          var cardData = _a[_i];
          PPPB_card_1.default.IsMultiplier(cardData.value) && multiplesCount++;
        }
        return multiplesCount;
      };
      __decorate([ property(cc.Prefab) ], Cardlist2.prototype, "cardPrefab", void 0);
      Cardlist2 = __decorate([ ccclass ], Cardlist2);
      return Cardlist2;
    }(PPPB_UComponent_1.UComponent);
    exports.default = Cardlist2;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-card": "PPPB-card"
  } ],
  "PPPB-cardlist": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b7624dT3zRK1q2mldq+QbGP", "PPPB-cardlist");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    cc._RF.pop();
  }, {} ],
  "PPPB-cards_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "180b0YZpMRDqokt5l/HwifG", "PPPB-cards_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.cards.SaveCardReq", null, global);
    goog.exportSymbol("proto.cards.SaveCardRet", null, global);
    proto.cards.SaveCardReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.cards.SaveCardReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.cards.SaveCardReq.displayName = "proto.cards.SaveCardReq");
    proto.cards.SaveCardRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.cards.SaveCardRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.cards.SaveCardRet.displayName = "proto.cards.SaveCardRet");
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.cards.SaveCardReq.prototype.toObject = function(opt_includeInstance) {
        return proto.cards.SaveCardReq.toObject(opt_includeInstance, this);
      };
      proto.cards.SaveCardReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          gametype: jspb.Message.getFieldWithDefault(msg, 1, ""),
          spintype: jspb.Message.getFieldWithDefault(msg, 2, 0),
          mode: jspb.Message.getFieldWithDefault(msg, 3, 0),
          mul: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          card: msg.getCard_asB64()
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.cards.SaveCardReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.cards.SaveCardReq();
      return proto.cards.SaveCardReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.cards.SaveCardReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setGametype(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setSpintype(value);
          break;

         case 3:
          var value = reader.readInt32();
          msg.setMode(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setMul(value);
          break;

         case 5:
          var value = reader.readBytes();
          msg.setCard(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.cards.SaveCardReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.cards.SaveCardReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.cards.SaveCardReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getGametype();
      f.length > 0 && writer.writeString(1, f);
      f = message.getSpintype();
      0 !== f && writer.writeInt32(2, f);
      f = message.getMode();
      0 !== f && writer.writeInt32(3, f);
      f = message.getMul();
      0 !== f && writer.writeDouble(4, f);
      f = message.getCard_asU8();
      f.length > 0 && writer.writeBytes(5, f);
    };
    proto.cards.SaveCardReq.prototype.getGametype = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.cards.SaveCardReq.prototype.setGametype = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.cards.SaveCardReq.prototype.getSpintype = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.cards.SaveCardReq.prototype.setSpintype = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.cards.SaveCardReq.prototype.getMode = function() {
      return jspb.Message.getFieldWithDefault(this, 3, 0);
    };
    proto.cards.SaveCardReq.prototype.setMode = function(value) {
      return jspb.Message.setProto3IntField(this, 3, value);
    };
    proto.cards.SaveCardReq.prototype.getMul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.cards.SaveCardReq.prototype.setMul = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.cards.SaveCardReq.prototype.getCard = function() {
      return jspb.Message.getFieldWithDefault(this, 5, "");
    };
    proto.cards.SaveCardReq.prototype.getCard_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getCard());
    };
    proto.cards.SaveCardReq.prototype.getCard_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getCard());
    };
    proto.cards.SaveCardReq.prototype.setCard = function(value) {
      return jspb.Message.setProto3BytesField(this, 5, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.cards.SaveCardRet.prototype.toObject = function(opt_includeInstance) {
        return proto.cards.SaveCardRet.toObject(opt_includeInstance, this);
      };
      proto.cards.SaveCardRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.cards.SaveCardRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.cards.SaveCardRet();
      return proto.cards.SaveCardRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.cards.SaveCardRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.cards.SaveCardRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.cards.SaveCardRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.cards.SaveCardRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
    };
    proto.cards.SaveCardRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.cards.SaveCardRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    goog.object.extend(exports, proto.cards);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-card": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4cdbdgDe6lJtZopUCfLz/H/", "PPPB-card");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.setNodeAttr = exports.attrCard = exports.CardType = void 0;
    var PPPB_BaseScene_1 = require("../controller/PPPB-BaseScene");
    var PPPB_UIData_1 = require("../../../framework-cocos/components/PPPB-UIData");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_CardHelper_1 = require("../../server/PPPB-CardHelper");
    var BLOCK_TYPES = [ "a", "b", "c", "d", "e", "f" ];
    var CARD_VALUE_TO_MULTIPLIER_MAP = {
      11: 2,
      12: 3,
      13: 4,
      14: 5,
      15: 6,
      16: 8,
      17: 10,
      18: 12,
      19: 15,
      20: 20,
      21: 25,
      22: 50,
      23: 100,
      24: 250,
      25: 500
    };
    var KEY_ZINDEX = Symbol("ZINDEX");
    var cardsplate = {
      value: 0,
      pos: "",
      len: 0
    };
    var CardType;
    (function(CardType) {
      CardType[CardType["Normal"] = 0] = "Normal";
      CardType[CardType["Wild"] = 1] = "Wild";
      CardType[CardType["Scatter"] = 2] = "Scatter";
    })(CardType = exports.CardType || (exports.CardType = {}));
    var ccclass = cc._decorator.ccclass;
    function getNodeAttr(node) {
      var a = {
        attr: {},
        children: {}
      };
      a.attr.position = node.getPosition();
      a.attr.opacity = node.opacity;
      a.attr.scale = cc.v2(node.scaleX, node.scaleY);
      a.attr.anchor = node.getAnchorPoint();
      a.attr.angle = node.angle;
      for (var _i = 0, _a = node.children; _i < _a.length; _i++) {
        var c = _a[_i];
        a.children[c.name] = getNodeAttr(c);
      }
      return a;
    }
    function setNodeAttr(node, a) {
      if (!a) return;
      node.setPosition(a.attr.position);
      node.opacity = a.attr.opacity;
      node.setScale(a.attr.scale);
      node.setAnchorPoint(a.attr.anchor);
      node.angle = a.attr.rotation;
      for (var k in a.children) {
        var c = node.getChildByName(k);
        c && setNodeAttr(c, a.children[k]);
      }
    }
    exports.setNodeAttr = setNodeAttr;
    var Card = function(_super) {
      __extends(Card, _super);
      function Card() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.spineSkeleton = null;
        _this._anim = null;
        _this.data = {
          value: 0,
          pos: "",
          len: 0
        };
        _this._front = null;
        _this._frontSpine = null;
        _this._back = null;
        _this._blurSymbolSpriteNode = null;
        _this._topclass = null;
        _this._multiplierText = null;
        _this._loaded = false;
        _this._symbolParentNode = null;
        _this._symbolSpriteNode = null;
        _this._scatterSpriteNode = null;
        _this._imageNode = null;
        _this._frameEffectAnimation = null;
        _this._root = null;
        _this._playing = null;
        _this._playingAnimState = null;
        _this._loopingResolver = null;
        return _this;
      }
      Object.defineProperty(Card.prototype, "cardBlockType", {
        get: function() {
          return this._cardBlockType;
        },
        set: function(v) {
          this._cardBlockType = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "wildColorModifier", {
        get: function() {
          return this._scatterColor;
        },
        set: function(v) {
          this._scatterColor = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "topclass", {
        get: function() {
          return this._topclass;
        },
        set: function(v) {
          this._topclass = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "multiplierText", {
        get: function() {
          return this._multiplierText;
        },
        enumerable: false,
        configurable: true
      });
      Card.prototype.onLoaded = function() {
        var _a;
        this._anim = PPPB_ui_1.ui.getComponentByPath(this, "root", cc.Animation);
        this._back = this.node.parent;
        this._multiplierText = null === (_a = PPPB_ui_1.ui.getNode([ this, "root/img/MultiplierText" ])) || void 0 === _a ? void 0 : _a.getComponent(cc.Label);
        var baseScene = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas ]).getComponent(PPPB_BaseScene_1.default);
        this.spineAssetManager = null === baseScene || void 0 === baseScene ? void 0 : baseScene.spineAssetManager;
        if (!exports.attrCard) {
          exports.attrCard = getNodeAttr(this.root);
          delete exports.attrCard.attr.opacity;
        }
        this.spineSkeleton = PPPB_ui_1.ui.getNode([ this, "root/img/Spine/SpineAnimation/SpineNode" ]).getComponent(sp.Skeleton);
        this.spineSkeleton.node.parent.parent.opacity = 0;
        this.symbolSpriteNode.active = false;
        this.scatterSpriteNode.active = false;
        this._loaded = true;
      };
      Object.defineProperty(Card.prototype, "symbolParentNode", {
        get: function() {
          var _a;
          (null === (_a = this._symbolParentNode) || void 0 === _a ? void 0 : _a.isValid) || (this._symbolParentNode = PPPB_ui_1.ui.getNode([ this, "root/img/Symbol" ]));
          return this._symbolParentNode;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "symbolSpriteNode", {
        get: function() {
          var _a;
          (null === (_a = this._symbolSpriteNode) || void 0 === _a ? void 0 : _a.isValid) || (this._symbolSpriteNode = PPPB_ui_1.ui.getNode([ this, "root/img/Symbol/Blur" ]));
          return this._symbolSpriteNode;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "scatterSpriteNode", {
        get: function() {
          var _a;
          (null === (_a = this._scatterSpriteNode) || void 0 === _a ? void 0 : _a.isValid) || (this._scatterSpriteNode = PPPB_ui_1.ui.getNode([ this, "root/img/Scatter/blur" ]));
          return this._scatterSpriteNode;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "imageNode", {
        get: function() {
          var _a;
          (null === (_a = this._imageNode) || void 0 === _a ? void 0 : _a.isValid) || (this._imageNode = PPPB_ui_1.ui.getNode([ this, "root/img" ]));
          return this._imageNode;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "frameEffectAnimation", {
        get: function() {
          var _a;
          (null === (_a = this._frameEffectAnimation) || void 0 === _a ? void 0 : _a.isValid) || (this._frameEffectAnimation = PPPB_ui_1.ui.getNode([ this, "root/effect/FrameEffect/root" ]).getComponent(cc.Animation));
          return this._frameEffectAnimation;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "root", {
        get: function() {
          var _a;
          (null === (_a = this._root) || void 0 === _a ? void 0 : _a.isValid) || (this._root = PPPB_ui_1.ui.getNode([ this, "root" ]));
          return this._root;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "spineRootNode", {
        get: function() {
          this._spineRootNode || (this._spineRootNode = PPPB_ui_1.ui.getNode([ this, "root/img/Spine/SpineAnimation" ]));
          return this._spineRootNode;
        },
        enumerable: false,
        configurable: true
      });
      Card.prototype.ToggleBlur = function(toggle) {
        this.symbolSpriteNode.active = toggle;
        this.scatterSpriteNode.active = toggle;
      };
      Card.prototype.setHierarchy = function(mode) {};
      Card.prototype.play = function(animName, loop, isAdditive) {
        void 0 === isAdditive && (isAdditive = false);
        return __awaiter(this, void 0, void 0, function() {
          var name, anim, clip, animState;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_lib_1._.waiting(function() {
                return _this._loaded;
              }, this, 1e4) ];

             case 1:
              _a.sent();
              if (!this._playing) return [ 3, 3 ];
              this._playingAnimState && (this._playingAnimState.time = this._playingAnimState.duration);
              this.node.opacity = 0;
              return [ 4, this._playing ];

             case 2:
              _a.sent();
              this._playing = null;
              this._playingAnimState && (this._playingAnimState = null);
              this.node.opacity = 255;
              _a.label = 3;

             case 3:
              if (this._loopingResolver) {
                this._loopingResolver();
                this._loopingResolver = null;
              }
              name = animName;
              if (!name) {
                name = this.getAni("normal");
                setNodeAttr(this.root, exports.attrCard);
              }
              anim = this._anim;
              clip = null;
              try {
                clip = anim.getClips().find(function(v) {
                  return (null === v || void 0 === v ? void 0 : v.name) === name;
                });
              } catch (e) {
                console.log("card failed, cannot find name " + name);
              }
              if (null == clip) return [ 2 ];
              clip.wrapMode == cc.WrapMode.Loop && (anim.currentClip = clip);
              clip.wrapMode == cc.WrapMode.Normal && (loop = 1);
              animState = isAdditive ? anim.playAdditive(name) : anim.play(name);
              this._playingAnimState = animState;
              animState.speed = 1;
              if (!(void 0 != loop)) return [ 3, 8 ];
              if (!(loop > 0)) return [ 3, 4 ];
              animState.repeatCount = loop;
              return [ 3, 6 ];

             case 4:
              animState.repeatCount = Infinity;
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      this._loopingResolver = resolve;
                      if (!(loop < 0)) return [ 3, 2 ];
                      return [ 4, PPPB_lib_1._.sleep(-loop) ];

                     case 1:
                      _a.sent();
                      if (resolve === this._loopingResolver) {
                        this._loopingResolver();
                        this._loopingResolver = null;
                      }
                      _a.label = 2;

                     case 2:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 5:
              return [ 2, _a.sent() ];

             case 6:
              if (!(loop > 0)) return [ 3, 8 ];
              this._playing = new Promise(function(resolve, reject) {
                anim.once("finished", function() {
                  resolve && resolve(1);
                  resolve = null;
                });
              });
              return [ 4, this._playing ];

             case 7:
              _a.sent();
              this._playing = null;
              return [ 2 ];

             case 8:
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(Card.prototype, "value", {
        get: function() {
          return this.data.value;
        },
        set: function(v) {
          this.data.value = v;
          this.isMultiplier && (this._multiplierText.string = CARD_VALUE_TO_MULTIPLIER_MAP[v] + "x");
          this._multiplierText.node.opacity = this.isMultiplier ? 255 : 0;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "pos", {
        get: function() {
          return this.data.pos;
        },
        set: function(v) {
          this.data.pos = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "len", {
        get: function() {
          return this.data.len;
        },
        set: function(v) {
          this.data.len = v;
        },
        enumerable: false,
        configurable: true
      });
      Card.prototype.playEffect = function(type, ani, loop, isClean) {
        void 0 === loop && (loop = 1);
        void 0 === isClean && (isClean = true);
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!ani) return [ 2 ];
              return [ 4, PPPB_ui_1.ui.effect("prefab/effect/" + ani, [ this, type ], isClean, ani, loop, true) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Card.prototype.playByType = function(type) {
        return __awaiter(this, void 0, void 0, function() {
          var ani, animDuration, isLoop, playDefaultCardGraphicAfterSpineAnim, _a, spineAssetName, spineAnimName, spineAnimAsset, wpos, defS, gs;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (!this.data.value) return [ 2 ];
              ani = "";
              animDuration = 2e3;
              isLoop = false;
              playDefaultCardGraphicAfterSpineAnim = false;
              switch (type) {
               case "fallin":
                this.isScatter ? ani = "scatter_in" : this.isMultiplier && (ani = "multiplier_fall_in");
                break;

               case "out":
                ani = "set_" + this.cardBlockType + "_out";
                break;

               case "justwin":
                ani = "set_" + this.cardBlockType + "_justwin";
                break;

               case "scatter":
                playDefaultCardGraphicAfterSpineAnim = true;

               case "win":
               case "multiplier_highlight":
                ani = "set_" + this.cardBlockType + this.data.value;
                _a = PPPB_CardHelper_1.CardHelper.GetSpineAnimationName(this.data.value), spineAssetName = _a[0], 
                spineAnimName = _a[1];
                spineAnimAsset = this.spineAssetManager.GetSpineAnimation(spineAssetName);
                if (null != spineAnimAsset) {
                  this.spineSkeleton.skeletonData = spineAnimAsset;
                  this.spineSkeleton.setAnimation(0, spineAnimName, false);
                  animDuration = this.spineSkeleton.findAnimation(spineAnimName).duration;
                  ani = "spine";
                }
              }
              if (!("" == ani)) return [ 3, 2 ];
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 1:
              _b.sent();
              return [ 3, 6 ];

             case 2:
              if (!("spine" == ani)) return [ 3, 4 ];
              this.play("set_c_hide");
              this.spineSkeleton.node.parent.parent.opacity = 255;
              wpos = PPPB_ui_1.ui.getWorldPos(this.spineSkeleton);
              defS = this.spineSkeleton.node.scale;
              gs = PPPB_ui_1.ui.getRelativeScale(this.spineSkeleton, this.node);
              this.spineSkeleton.node.setParent(this._frontSpine);
              PPPB_ui_1.ui.setWorldPos(this.spineSkeleton, wpos);
              this.spineSkeleton.node.scale = gs;
              return [ 4, PPPB_lib_1._.sleep(animDuration / this.spineSkeleton.timeScale * 1e3) ];

             case 3:
              _b.sent();
              this.spineSkeleton.node.setParent(this.spineRootNode);
              this.spineSkeleton.node.setPosition(0, 0);
              this.spineSkeleton.node.scale = defS;
              this.spineSkeleton.node.parent.parent.opacity = 0;
              playDefaultCardGraphicAfterSpineAnim && this.play("set_" + this.cardBlockType + this.data.value);
              isLoop && this.spineSkeleton.clearTracks();
              return [ 3, 6 ];

             case 4:
              return [ 4, this.play(ani) ];

             case 5:
              _b.sent();
              _b.label = 6;

             case 6:
              return [ 2 ];
            }
          });
        });
      };
      Card.prototype.HandleSpinEnd = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            (this.isScatter || this.isMultiplier) && this.playByType("fallin");
            return [ 2 ];
          });
        });
      };
      Object.defineProperty(Card.prototype, "isNormal", {
        get: function() {
          return this.data.value < 10;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "isScatter", {
        get: function() {
          return 10 == this.data.value;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "isWild", {
        get: function() {
          return false;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Card.prototype, "isMultiplier", {
        get: function() {
          return this.data.value > 10;
        },
        enumerable: false,
        configurable: true
      });
      Card.prototype.GetMultiplier = function() {
        return this.isMultiplier ? CARD_VALUE_TO_MULTIPLIER_MAP[this.value] : 1;
      };
      Card.IsMultiplier = function(cardValue) {
        return cardValue > 10;
      };
      Card.prototype.$event_game_extra = function(v) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.data.value >= 14 && this.play(v ? "exon_1_0" : "exon_1_1");
            return [ 2 ];
          });
        });
      };
      Card = __decorate([ ccclass ], Card);
      return Card;
    }(PPPB_UIData_1.UIDataValue);
    exports.default = Card;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UIData": "PPPB-UIData",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../controller/PPPB-BaseScene": "PPPB-BaseScene"
  } ],
  "PPPB-changeLogin": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6f3e5bEirBHA48AWbx9zPGm", "PPPB-changeLogin");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_config_1 = require("../../../PPPB-config");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../../framework-cocos/components/PPPB-UIList");
    var PPPB_UISwitch_1 = require("../../../framework-cocos/components/PPPB-UISwitch");
    var PPPB_decorator_1 = require("../../../framework-cocos/PPPB-decorator");
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_rpc_1 = require("../../../framework-rpc/PPPB-rpc");
    var PPPB_encrypt_1 = require("../../../framework/data/PPPB-encrypt");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_auth_pb_1 = require("../../../proto/PPPB-auth_pb");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.list = null;
        _this.ac = null;
        _this.pwd = null;
        _this.showList = null;
        _this.logins = {};
        return _this;
      }
      NewClass.prototype.onLoaded = function() {
        PPPB_ui_1.ui.getComponent(this, cc.Widget).updateAlignment();
      };
      NewClass.prototype.init = function(data) {
        console.log(data);
        this.logins = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":logins", true) || {};
        this.refresh();
      };
      NewClass.prototype.refresh = function() {
        var loginLast = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":loginLast", true);
        var password = this.logins[loginLast];
        this.logins.hasOwnProperty(loginLast) || (loginLast = "");
        PPPB_ui_1.ui.setUIDataValue([ this, "panel/input" ], {
          ac: loginLast || "",
          pwd: password || ""
        });
        this.list.values = PPPB_lib_1._.keys(this.logins);
        this.showList.isChecked = false;
      };
      NewClass.prototype.checkInput = function(req) {
        if (!req.account) {
          req.password = PPPB_lib_1._.randString(8);
          return true;
        }
        if (!/^[a-zA-Z]\w{2,30}$/gi.test(req.account)) {
          console.log(PPPB_lib_1._.logger(), "\u8d26\u53f7\u4e0d\u5408\u6cd5");
          this.tips("Illegal account");
          return false;
        }
        return true;
      };
      NewClass.prototype.onLoginRegister = function(ac, pwd, isRegister, isRemember) {
        void 0 === isRegister && (isRegister = false);
        void 0 === isRemember && (isRemember = true);
        return __awaiter(this, void 0, void 0, function() {
          var req, pswSave, authRet, act;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              req = {
                account: ac,
                password: pwd,
                opt: isRegister ? PPPB_auth_pb_1.OptType.REGISTER : PPPB_auth_pb_1.OptType.LOGIN,
                platform: cc.sys.os + ":" + cc.sys.osVersion + ":" + cc.sys.platform,
                language: cc.sys.languageCode,
                gametype: PPPB_sys_1.sys.gameType
              };
              if (!this.checkInput(req)) return [ 2 ];
              pswSave = this.logins[req.account];
              pswSave && req.password === pswSave.slice(0, 18) ? req.password = pswSave : req.password && req.password.length <= 18 && (req.password = PPPB_encrypt_1.MD5(req.password));
              console.log("----------onLoginRegister req---------- ", req);
              return [ 4, PPPB_rpc_1.RPC.auth(req) ];

             case 1:
              authRet = _a.sent();
              console.log("----------onLoginRegister ret========== ", authRet);
              act = isRegister ? "Register" : "Login";
              if (!authRet) return [ 3, 3 ];
              if (!authRet.errcode) return [ 3, 3 ];
              if (!("auth.login.account_not_found" == authRet.errcode)) return [ 3, 3 ];
              req.account = "";
              return [ 4, PPPB_rpc_1.RPC.auth(req) ];

             case 2:
              authRet = _a.sent();
              _a.label = 3;

             case 3:
              if (!authRet) {
                this.tips(act + " failed");
                return [ 2 ];
              }
              if (authRet.errcode) {
                this.tips(authRet.errcode);
                return [ 2 ];
              }
              this.tips(act + " success");
              if (this.logins) {
                authRet.user.account !== ac && this.logins[ac] && delete this.logins[ac];
                this.logins[authRet.user.account] = isRemember ? authRet.user.password : "";
                PPPB_quick_1.ks.localSave(PPPB_config_1.mainConfig.serverName + ":logins", this.logins);
                PPPB_quick_1.ks.localSave(PPPB_config_1.mainConfig.serverName + ":loginLast", authRet.user.account);
              }
              return [ 2, authRet ];
            }
          });
        });
      };
      NewClass.prototype.$ui_panel_isRegister_login_btnlogin__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var ac, pwd, isRemember, authRet;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              ac = this.ac.string;
              pwd = this.pwd.string;
              isRemember = PPPB_ui_1.ui.getComponentByPath(this, "panel/isRegister/login/checkBox", PPPB_UISwitch_1.UISwitch).isChecked;
              return [ 4, this.onLoginRegister(ac, pwd, !ac, isRemember) ];

             case 1:
              authRet = _a.sent();
              if (authRet) {
                PPPB_ui_1.ui.doModelResolve(this, authRet.user);
                PPPB_ui_1.ui.destroy(this);
              }
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.$ui_panel_isRegister_login_btnquick__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            PPPB_ui_1.ui.setUIDataValue([ this, "panel/input" ], {
              ac: "",
              pwd: ""
            });
            PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/isRegister", 0);
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_panel_isRegister_register_btnreturn__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.refresh();
            PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/isRegister", 1);
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_panel_isRegister_register_btnregister__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var agree, ac, pwd, isRemember, authRet;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              agree = PPPB_ui_1.ui.getComponentByPath(this, "panel/isRegister/register/layout/$agree", PPPB_UISwitch_1.UISwitch);
              if (!agree.isChecked) {
                this.tips("must agree");
                return [ 2 ];
              }
              if (this.ac.string.length < 3) return [ 2, this.tips("please input account") ];
              if (this.ac.string.length < 3) return [ 2, this.tips("Invalid password") ];
              ac = this.ac.string;
              pwd = this.pwd.string;
              isRemember = PPPB_ui_1.ui.getComponentByPath(this, "panel/isRegister/login/checkBox", PPPB_UISwitch_1.UISwitch).isChecked;
              return [ 4, this.onLoginRegister(ac, pwd, true, isRemember) ];

             case 1:
              authRet = _a.sent();
              if (authRet) {
                PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/isRegister", 1);
                this.refresh();
              }
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.$ui_panel_showPwd__toggle = function(toggle) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.pwd.inputFlag = toggle.isChecked ? cc.EditBox.InputFlag.DEFAULT : cc.EditBox.InputFlag.PASSWORD;
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_list__item_click = function(target, event, index) {
        console.log(PPPB_lib_1._.logger(), "ui_list__item_click", index);
        this.showList.isChecked = false;
        var ac = target.values[index];
        if (ac) {
          var pwd = this.logins[ac];
          PPPB_ui_1.ui.setUIDataValue([ this, "panel/input" ], {
            ac: ac,
            pwd: pwd
          });
        }
      };
      NewClass.prototype.$ui_list__item_del_click = function(target, event, index) {
        console.log(PPPB_lib_1._.logger(), "ui_list__item_del_click", index);
        var ac = target.values[index];
        if (ac && void 0 !== this.logins[ac]) {
          delete this.logins[ac];
          this.list.values = PPPB_lib_1._.keys(this.logins);
          PPPB_quick_1.ks.localSave(PPPB_config_1.mainConfig.serverName + ":logins", PPPB_lib_1._.serialize(this.logins));
          this.refresh();
        }
      };
      NewClass.prototype.tips = function(message) {
        PPPB_event_1.Events.publish("game", "tips", "", message);
      };
      __decorate([ property(PPPB_UIList_1.UIList) ], NewClass.prototype, "list", void 0);
      __decorate([ property(cc.EditBox) ], NewClass.prototype, "ac", void 0);
      __decorate([ property(cc.EditBox) ], NewClass.prototype, "pwd", void 0);
      __decorate([ property(PPPB_UISwitch_1.UISwitch) ], NewClass.prototype, "showList", void 0);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], NewClass.prototype, "$ui_panel_isRegister_login_btnlogin__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], NewClass.prototype, "$ui_panel_isRegister_login_btnquick__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], NewClass.prototype, "$ui_panel_isRegister_register_btnreturn__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], NewClass.prototype, "$ui_panel_isRegister_register_btnregister__click", null);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../../PPPB-config": "PPPB-config",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/PPPB-decorator": "PPPB-decorator",
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../../framework-cocos/components/PPPB-UISwitch": "PPPB-UISwitch",
    "../../../framework-rpc/PPPB-rpc": "PPPB-rpc",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../../framework/data/PPPB-encrypt": "PPPB-encrypt",
    "../../../proto/PPPB-auth_pb": "PPPB-auth_pb"
  } ],
  "PPPB-common": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1246cZOybJDOosvlE1bdAVa", "PPPB-common");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.bigWinConf = void 0;
    exports.bigWinConf = {
      min: 15,
      nice: 30,
      mega: 45,
      superb: 60,
      sensational: 999
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-config": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c22aeZ1KyJO/aRVryF3lyep", "PPPB-config");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.mainConfig = void 0;
    var urlHead = [ "h", "t", "t", "p" ].join("");
    exports.mainConfig = {
      designWidthHeightRate: 1.777,
      versionShow: "pybo-v.0.0.5",
      bundleName: "pyramidbonanza",
      singleMode: false,
      opstoken: false,
      init: {
        gameType: "PPPYBO",
        gameDir: "mzw",
        version: "0.0.0",
        clientType: "PPPYBO",
        log: false,
        currency: "$"
      },
      language: {
        type: "en",
        dev: "zh",
        align: {
          en: 0,
          zh: 0
        },
        replaces: {},
        badwords: []
      },
      audio: {
        init: {
          bgmScale: 1,
          sfxScale: 1
        },
        globalButtonClickSound: "music/sound2/btn"
      },
      HotUp: {
        url: [ "://47.99.56.203:12002/build_result/", urlHead + "://game1.dt-dn0.com:12002/build_result/" ],
        nerHotUpNum: 1
      },
      sys: {
        isPipeLoadConfig: false,
        gameConfigUrl: "",
        netMode: 1,
        debugMode: 0
      },
      ui: {
        login: {
          accountBtn: true,
          resetAccount: false
        },
        start: {
          version: true
        },
        mode: 0
      },
      logger: {
        name: "",
        showDate: false,
        showStack: true,
        showPass: true,
        callerLevel: 0
      },
      servers: {
        TEST_sg: {
          name: "TEST_sg",
          host: "https://api.gl7pp.com",
          sslhost: "https://api.gl7pp.com",
          port: 443,
          DefaultLanguage: "en",
          timeZone: "GMT-0500",
          baseAuth: "slot:123456",
          url: "https://api.gl7pp.com"
        },
        SG: {
          name: "SG",
          host: "https://api.glsofts.com",
          sslhost: "https://api.glsofts.com",
          port: 443,
          DefaultLanguage: "en",
          timeZone: "GMT-0500",
          url: "https://api.glsofts.com",
          baseAuth: "ACE:123456"
        },
        SGtest: {
          name: "SGtest",
          host: "dev.glsofts.com",
          port: 9080,
          wsCent: "",
          DefaultLanguage: "",
          timeZone: "GMT+0800"
        },
        test_180: {
          name: "test_180",
          host: "192.168.0.180",
          port: 9080,
          wsCent: "",
          DefaultLanguage: "",
          timeZone: "GMT+0800",
          baseAuth: "slot:123456"
        },
        test_195: {
          name: "test_195",
          host: "192.168.0.195",
          port: 9080,
          wsCent: "",
          DefaultLanguage: "",
          timeZone: "GMT+0800",
          baseAuth: "slot:123456"
        },
        test_777: {
          name: "local",
          host: "192.168.3.18",
          port: 2006,
          wsCent: "",
          DefaultLanguage: "",
          timeZone: "GMT+0800",
          baseAuth: "slot:123456",
          url: "http://192.168.3.18:2006"
        },
        local: {
          name: "local",
          host: "127.0.0.1",
          port: 1235,
          wsCent: "",
          DefaultLanguage: "",
          timeZone: "GMT+0800",
          baseAuth: "slot:123456",
          url: "http://localhost:1235"
        }
      },
      share: {
        test: {}
      },
      serverName: "local"
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-dbo": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "14ef8MftAhO5Ij99UylbjKD", "PPPB-dbo");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CDbo = void 0;
    var template = {
      uid: ""
    };
    var CDbo = function() {
      function CDbo() {
        var _this = this;
        this._data = {};
        this.data = {};
        this._version_ = 0;
        this.set = {};
        var _loop_1 = function(k) {
          this_1._data[k] = this_1.ctor.template[k];
          this_1.data[k] = {};
          Object.defineProperty(this_1.data, k, {
            get: function() {
              return _this._data[k];
            },
            set: function(v) {
              _this._data[k] = v;
              _this.setData(k, v);
            },
            enumerable: true,
            configurable: true
          });
        };
        var this_1 = this;
        for (var k in this.ctor.template) _loop_1(k);
      }
      Object.defineProperty(CDbo.prototype, "ctor", {
        get: function() {
          return this.constructor;
        },
        enumerable: false,
        configurable: true
      });
      CDbo.loadData = function(uid) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            return [ 2, {
              balance: 2e3,
              version: 0
            } ];
          });
        });
      };
      CDbo.synData = function(uid, version, set) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            return [ 2, {
              err: true,
              version: version++
            } ];
          });
        });
      };
      CDbo.prototype.secureSetLoadData = function(d) {
        this._version_ = d.version;
        for (var k in d) null != this.ctor.template[k] && (this._data[k] = d[k]);
      };
      CDbo.prototype.loadData = function(uid) {
        return __awaiter(this, void 0, void 0, function() {
          var r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.ctor.loadData(uid) ];

             case 1:
              r = _a.sent();
              this.secureSetLoadData(r);
              return [ 2 ];
            }
          });
        });
      };
      CDbo.prototype.setData = function(k, v) {
        return __awaiter(this, void 0, Promise, function() {
          return __generator(this, function(_a) {
            if (null != this.ctor.template[k]) {
              this._data[k] = v;
              this.set[k] = v;
            }
            return [ 2 ];
          });
        });
      };
      CDbo.prototype.synData = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _a, err, version;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (Object.keys(this.set).length <= 0) return [ 2, true ];
              return [ 4, this.ctor.synData(this.data.uid, this._version_, this.set) ];

             case 1:
              _a = _b.sent(), err = _a.err, version = _a.version;
              if (!err) {
                this._version_ = version;
                this.set = {};
              }
              return [ 2, err ];
            }
          });
        });
      };
      CDbo.template = template;
      return CDbo;
    }();
    exports.CDbo = CDbo;
    cc._RF.pop();
  }, {} ],
  "PPPB-decorator": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5b0a72oA2hK2Z9xYCqiV6nh", "PPPB-decorator");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.decorator = exports.CDecorator = void 0;
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_time_1 = require("./PPPB-time");
    var CDecorator = function() {
      function CDecorator() {}
      CDecorator.lock = function(ignore, delay, isLockArgs) {
        void 0 === ignore && (ignore = false);
        void 0 === delay && (delay = 0);
        void 0 === isLockArgs && (isLockArgs = false);
        return function(target, methodName, descriptor) {
          var oldMethod = descriptor.value;
          var curList = [], callMap = {}, callings = {};
          var calling = false;
          if (isLockArgs) {
            var func_1 = function() {
              var args = [];
              for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
              return __awaiter(this, void 0, void 0, function() {
                var lockKey, resolve, self, ans, _a, error_1;
                return __generator(this, function(_b) {
                  switch (_b.label) {
                   case 0:
                    lockKey = PPPB_lib_1._.serialize(args.slice(0, -1));
                    callings[lockKey] && !ignore && callMap[lockKey].push({
                      self: this,
                      args: args
                    });
                    if (callings[lockKey]) return [ 2 ];
                    resolve = args.pop();
                    callings[lockKey] = true;
                    self = callMap[lockKey].length ? callMap[lockKey][0].self : this;
                    callMap[lockKey].length && callMap[lockKey].shift();
                    _b.label = 1;

                   case 1:
                    _b.trys.push([ 1, 5, , 6 ]);
                    return [ 4, oldMethod.apply(self, args) ];

                   case 2:
                    ans = _b.sent();
                    _a = delay;
                    if (!_a) return [ 3, 4 ];
                    return [ 4, PPPB_lib_1._.sleep(delay) ];

                   case 3:
                    _a = _b.sent();
                    _b.label = 4;

                   case 4:
                    _a;
                    return [ 3, 6 ];

                   case 5:
                    error_1 = _b.sent();
                    PPPB_event_1.Events.emit("catch", methodName + "_lock", error_1);
                    return [ 3, 6 ];

                   case 6:
                    callings[lockKey] = false;
                    !ignore && callMap[lockKey].length && func_1.apply(void 0, callMap[lockKey][0].args);
                    resolve(ans);
                    return [ 2 ];
                  }
                });
              });
            };
            descriptor.value = function() {
              var args = [];
              for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
              return __awaiter(this, void 0, void 0, function() {
                var key;
                var _this = this;
                return __generator(this, function(_a) {
                  switch (_a.label) {
                   case 0:
                    key = PPPB_lib_1._.serialize(args);
                    callMap[key] || (callMap[key] = []);
                    if (callMap[key].length && ignore) return [ 2 ];
                    return [ 4, new Promise(function(resolve, reject) {
                      func_1.bind(_this).apply(void 0, __spreadArrays(args, [ resolve ]));
                    }) ];

                   case 1:
                    return [ 2, _a.sent() ];
                  }
                });
              });
            };
          } else {
            var func_2 = function() {
              var args = [];
              for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
              return __awaiter(this, void 0, void 0, function() {
                var resolve, self, ans, _a, error_2;
                return __generator(this, function(_b) {
                  switch (_b.label) {
                   case 0:
                    calling && !ignore && curList.push({
                      self: this,
                      args: args
                    });
                    if (calling) return [ 2 ];
                    resolve = args.pop();
                    calling = true;
                    self = curList.length ? curList[0].self : this;
                    curList.length && curList.shift();
                    _b.label = 1;

                   case 1:
                    _b.trys.push([ 1, 5, , 6 ]);
                    return [ 4, oldMethod.apply(self, args) ];

                   case 2:
                    ans = _b.sent();
                    _a = delay;
                    if (!_a) return [ 3, 4 ];
                    return [ 4, PPPB_lib_1._.sleep(delay) ];

                   case 3:
                    _a = _b.sent();
                    _b.label = 4;

                   case 4:
                    _a;
                    return [ 3, 6 ];

                   case 5:
                    error_2 = _b.sent();
                    PPPB_event_1.Events.emit("catch", methodName + "_lock", error_2);
                    return [ 3, 6 ];

                   case 6:
                    calling = false;
                    !ignore && curList.length && func_2.apply(void 0, curList[0].args);
                    resolve(ans);
                    return [ 2 ];
                  }
                });
              });
            };
            descriptor.value = function() {
              var args = [];
              for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
              return __awaiter(this, void 0, void 0, function() {
                var _this = this;
                return __generator(this, function(_a) {
                  switch (_a.label) {
                   case 0:
                    if (curList.length && ignore) return [ 2 ];
                    return [ 4, new Promise(function(resolve, reject) {
                      func_2.bind(_this).apply(void 0, __spreadArrays(args, [ resolve ]));
                    }) ];

                   case 1:
                    return [ 2, _a.sent() ];
                  }
                });
              });
            };
          }
        };
      };
      CDecorator.logFunc = function() {
        return function(target, methodName, descriptor) {
          var oldMethod = descriptor.value;
          descriptor.value = function() {
            var args = [];
            for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
            return __awaiter(this, void 0, void 0, function() {
              var ms, r;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  console.log("start fun ======", methodName);
                  ms = new PPPB_time_1.MS(0);
                  return [ 4, oldMethod.call.apply(oldMethod, __spreadArrays([ target ], args)) ];

                 case 1:
                  r = _a.sent();
                  console.log("end pass====", methodName, ms.pass);
                  return [ 2, r ];
                }
              });
            });
          };
        };
      };
      return CDecorator;
    }();
    exports.CDecorator = CDecorator;
    exports.decorator = CDecorator;
    cc._RF.pop();
  }, {
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-time": "PPPB-time"
  } ],
  "PPPB-demoConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "07eecAIJ6JB2I6v+FCJN+vb", "PPPB-demoConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.demo2 = exports.demo1 = void 0;
    exports.demo1 = {
      noFree: {
        bet: 10,
        balance: 2e3,
        spinList: [ [ {
          cards: [ [ 7, 6, 14, 2, 11 ], [ 9, 0, 6, 6, 14 ], [ 6, 0, 0, 8, 14 ], [ 10, 0, 2, 11, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 14, 4, 4, 10 ] ],
          specialCards: [ 12, 6, 5, 11 ],
          winGold: 90,
          winCards: [ [ 0, 2 ], [ 1, 4 ], [ 2, 4 ], [ 5, 1 ], [ 0, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 0 ], [ -1, 0 ], [ -1, 1 ] ],
          mul: 5,
          freeSpins: 0
        }, {
          cards: [ [ 5, 4, 7, 2, 11 ], [ 6, 5, 4, 11, 9 ], [ 8, 9, 0, 0, 8 ], [ 10, 0, 2, 11, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 11, 4, 2 ],
          winGold: 100,
          winCards: [ [ 0, 4 ], [ 1, 3 ], [ 3, 3 ], [ -1, 1 ] ],
          mul: 5,
          freeSpins: 0
        }, {
          cards: [ [ 4, 5, 4, 7, 2 ], [ 2, 6, 5, 4, 9 ], [ 8, 9, 0, 0, 8 ], [ 9, 10, 0, 2, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 4, 2, 11 ],
          winGold: 20,
          winCards: [ [ 0, 0 ], [ 0, 2 ], [ 1, 3 ], [ -1, 1 ] ],
          mul: 5,
          freeSpins: 0
        }, {
          cards: [ [ 6, 11, 5, 7, 2 ], [ 3, 2, 6, 5, 9 ], [ 8, 9, 0, 0, 8 ], [ 9, 10, 0, 2, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 2, 11, 2 ],
          winGold: 7.5,
          winCards: [ [ 0, 4 ], [ 1, 1 ], [ 3, 3 ], [ -1, 1 ], [ -1, 3 ] ],
          mul: 5,
          freeSpins: 0
        }, {
          cards: [ [ 9, 6, 11, 5, 7 ], [ 5, 3, 6, 5, 9 ], [ 8, 9, 0, 0, 8 ], [ 14, 3, 9, 10, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 11, 1, 9 ],
          winGold: 90,
          winCards: [ [ 3, 0 ], [ 0, 0 ], [ 1, 4 ], [ 2, 1 ], [ 3, 2 ], [ -1, 3 ] ],
          mul: 6,
          freeSpins: 0
        }, {
          cards: [ [ 8, 6, 11, 5, 7 ], [ 11, 5, 3, 6, 5 ], [ 10, 8, 0, 0, 8 ], [ 6, 6, 3, 10, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 11, 1, 9 ],
          winGold: 90,
          winCards: [ [ 0, 2 ], [ 1, 0 ], [ -1, 1 ] ],
          mul: 6,
          freeSpins: 0
        }, {
          cards: [ [ 5, 8, 6, 5, 7 ], [ 8, 5, 3, 6, 5 ], [ 10, 8, 0, 0, 8 ], [ 6, 6, 3, 10, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 1, 9, 13 ],
          winGold: 48,
          winCards: [ [ 0, 1 ], [ 1, 0 ], [ 2, 1 ], [ 2, 4 ] ],
          mul: 6,
          freeSpins: 0
        }, {
          cards: [ [ 9, 5, 6, 5, 7 ], [ 5, 5, 3, 6, 5 ], [ 1, 1, 5, 12, 10 ], [ 6, 6, 3, 10, 7 ], [ 0, 10, 13, 6, 5 ], [ 6, 6, 4, 4, 10 ] ],
          specialCards: [ 5, 1, 9, 13 ],
          winGold: 372,
          winCards: [ [ 0, 1 ], [ 0, 2 ], [ 0, 3 ], [ 1, 0 ], [ 1, 1 ], [ 1, 3 ], [ 1, 4 ], [ 2, 2 ], [ 2, 3 ], [ 3, 0 ], [ 3, 1 ], [ 4, 3 ], [ 5, 0 ], [ 5, 1 ], [ -1, 0 ] ],
          mul: 6,
          freeSpins: 0
        }, {
          cards: [ [ 4, 12, 11, 9, 7 ], [ 14, 9, 10, 9, 3 ], [ 13, 11, 1, 1, 10 ], [ 3, 5, 3, 10, 7 ], [ 5, 0, 10, 13, 5 ], [ 9, 2, 4, 4, 10 ] ],
          specialCards: [ 1, 9, 13, 5 ],
          winGold: 322,
          winCards: [ [ 1, 0 ], [ 0, 1 ], [ 0, 3 ], [ 1, 0 ], [ 1, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 2 ], [ 2, 3 ], [ 2, 4 ], [ 3, 3 ], [ 4, 2 ], [ 5, 4 ], [ -1, 0 ], [ -1, 1 ] ],
          mul: 7,
          freeSpins: 0
        }, {
          cards: [ [ 3, 13, 4, 11, 7 ], [ 8, 9, 4, 4, 3 ], [ 9, 7, 1, 13, 11 ], [ 4, 3, 5, 3, 7 ], [ 8, 3, 5, 13, 5 ], [ 2, 9, 2, 4, 4 ] ],
          specialCards: [ 13, 5, 4, 3 ],
          winGold: 0,
          winCards: [],
          mul: 2,
          freeSpins: 10
        } ] ]
      },
      free: {
        bet: 10,
        balance: 2e3,
        spinList: [ [ {
          cards: [ [ 10, 10, 1, 6, 4 ], [ 11, 9, 1, 14, 2 ], [ 11, 3, 6, 0, 4 ], [ 2, 0, 0, 0, 4 ], [ 9, 8, 4, 10, 3 ], [ 4, 11, 13, 5, 2 ] ],
          specialCards: [ 12, 12, 12, 12 ],
          winGold: 460,
          winCards: [ [ 1, 3 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 0, 3 ], [ 0, 4 ], [ 1, 2 ], [ 2, 2 ], [ 2, 4 ], [ 3, 4 ], [ 4, 2 ], [ 4, 3 ], [ 5, 0 ], [ -1, 0 ], [ -1, 1 ], [ -1, 2 ], [ -1, 3 ] ],
          mul: 4,
          freeSpins: 9
        }, {
          cards: [ [ 9, 9, 3, 5, 14 ], [ 11, 1, 11, 9, 2 ], [ 11, 14, 9, 11, 3 ], [ 7, 3, 7, 5, 2 ], [ 12, 2, 9, 8, 3 ], [ 11, 11, 13, 5, 2 ] ],
          specialCards: [ 12, 1, 9, 4 ],
          winGold: 984,
          winCards: [ [ 0, 4 ], [ 2, 1 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 1, 3 ], [ 2, 2 ], [ 2, 4 ], [ 3, 1 ], [ 4, 0 ], [ 4, 2 ], [ 4, 4 ], [ -1, 0 ], [ -1, 2 ] ],
          mul: 8,
          freeSpins: 9
        }, {
          cards: [ [ 9, 8, 6, 5, 5 ], [ 9, 11, 1, 11, 2 ], [ 11, 4, 9, 11, 11 ], [ 1, 7, 7, 5, 2 ], [ 7, 8, 5, 2, 8 ], [ 11, 11, 13, 5, 2 ] ],
          specialCards: [ 1, 4, 6, 11 ],
          winGold: 40,
          winCards: [ [ 0, 0 ], [ 1, 0 ], [ 2, 2 ] ],
          mul: 8,
          freeSpins: 9
        }, {
          cards: [ [ 9, 8, 6, 5, 5 ], [ 7, 11, 1, 11, 2 ], [ 7, 11, 4, 11, 11 ], [ 1, 7, 7, 5, 2 ], [ 7, 8, 5, 2, 8 ], [ 11, 11, 13, 5, 2 ] ],
          specialCards: [ 1, 4, 6, 11 ],
          winGold: 0,
          winCards: [],
          mul: 8,
          freeSpins: 9
        } ], [ {
          cards: [ [ 1, 6, 4, 4, 11 ], [ 0, 0, 12, 0, 7 ], [ 4, 0, 0, 0, 9 ], [ 0, 0, 0, 7, 7 ], [ 1, 10, 10, 13, 6 ], [ 2, 1, 11, 8, 8 ] ],
          specialCards: [ 11, 11, 3, 8 ],
          winGold: 240,
          winCards: [ [ 0, 4 ], [ 1, 2 ], [ -1, 0 ], [ -1, 1 ] ],
          mul: 8,
          freeSpins: 8
        }, {
          cards: [ [ 3, 1, 6, 4, 4 ], [ 12, 11, 1, 0, 7 ], [ 5, 0, 0, 0, 9 ], [ 0, 0, 0, 7, 7 ], [ 1, 10, 10, 13, 6 ], [ 2, 1, 11, 8, 8 ] ],
          specialCards: [ 3, 8, 11, 1 ],
          winGold: 0,
          winCards: [],
          mul: 8,
          freeSpins: 8
        } ], [ {
          cards: [ [ 5, 6, 3, 11, 10 ], [ 10, 9, 11, 11, 2 ], [ 7, 0, 7, 0, 5 ], [ 4, 0, 3, 0, 2 ], [ 5, 4, 4, 0, 3 ], [ 4, 10, 5, 2, 1 ] ],
          specialCards: [ 3, 3, 3, 3 ],
          winGold: 48,
          winCards: [ [ 0, 2 ], [ 3, 2 ], [ 4, 4 ], [ -1, 0 ], [ -1, 1 ], [ -1, 2 ], [ -1, 3 ] ],
          mul: 8,
          freeSpins: 7
        }, {
          cards: [ [ 5, 5, 6, 11, 10 ], [ 10, 9, 11, 11, 2 ], [ 7, 0, 7, 0, 5 ], [ 7, 2, 4, 0, 2 ], [ 1, 7, 5, 4, 4 ], [ 4, 10, 5, 2, 1 ] ],
          specialCards: [ 10, 3, 4, 9 ],
          winGold: 0,
          winCards: [],
          mul: 8,
          freeSpins: 7
        } ], [ {
          cards: [ [ 9, 6, 6, 2, 7 ], [ 0, 0, 0, 10, 2 ], [ 9, 0, 9, 9, 4 ], [ 4, 0, 6, 2, 2 ], [ 0, 6, 4, 7, 7 ], [ 5, 1, 1, 6, 10 ] ],
          specialCards: [ 6, 4, 4, 8 ],
          winGold: 0,
          winCards: [],
          mul: 8,
          freeSpins: 6
        } ], [ {
          cards: [ [ 3, 5, 4, 2, 2 ], [ 0, 9, 0, 2, 2 ], [ 14, 0, 0, 0, 11 ], [ 7, 7, 0, 0, 7 ], [ 13, 6, 4, 9, 9 ], [ 7, 1, 14, 8, 9 ] ],
          specialCards: [ 8, 9, 2, 2 ],
          winGold: 0,
          winCards: [ [ 2, 0 ], [ 5, 2 ] ],
          mul: 12,
          freeSpins: 5
        } ], [ {
          cards: [ [ 7, 7, 3, 5, 1 ], [ 0, 3, 0, 0, 2 ], [ 0, 0, 8, 0, 6 ], [ 3, 0, 8, 11, 11 ], [ 0, 0, 0, 4, 2 ], [ 6, 5, 5, 3, 10 ] ],
          specialCards: [ 8, 8, 8, 8 ],
          winGold: 0,
          winCards: [],
          mul: 12,
          freeSpins: 4
        } ], [ {
          cards: [ [ 1, 6, 10, 4, 4 ], [ 0, 4, 0, 6, 6 ], [ 0, 10, 6, 7, 7 ], [ 0, 11, 0, 3, 8 ], [ 0, 0, 0, 2, 2 ], [ 3, 7, 1, 9, 9 ] ],
          specialCards: [ 4, 4, 6, 5 ],
          winGold: 216,
          winCards: [ [ 0, 1 ], [ 0, 3 ], [ 0, 4 ], [ 1, 1 ], [ 1, 3 ], [ 1, 4 ], [ 2, 2 ], [ -1, 0 ], [ -1, 1 ], [ -1, 2 ] ],
          mul: 12,
          freeSpins: 3
        }, {
          cards: [ [ 4, 9, 9, 1, 10 ], [ 3, 3, 3, 2, 9 ], [ 5, 0, 10, 7, 7 ], [ 0, 11, 0, 3, 8 ], [ 0, 0, 0, 2, 2 ], [ 3, 7, 1, 9, 9 ] ],
          specialCards: [ 5, 11, 1, 8 ],
          winGold: 0,
          winCards: [],
          mul: 12,
          freeSpins: 3
        } ], [ {
          cards: [ [ 3, 7, 1, 9, 9 ], [ 0, 6, 2, 0, 1 ], [ 0, 11, 0, 0, 3 ], [ 9, 0, 9, 9, 2 ], [ 0, 2, 5, 5, 1 ], [ 4, 4, 3, 6, 7 ] ],
          specialCards: [ 7, 5, 1, 12 ],
          winGold: 0,
          winCards: [],
          mul: 12,
          freeSpins: 2
        } ], [ {
          cards: [ [ 4, 4, 4, 10, 8 ], [ 0, 0, 0, 6, 12 ], [ 0, 6, 0, 2, 2 ], [ 5, 5, 8, 0, 2 ], [ 11, 4, 0, 8, 2 ], [ 10, 4, 3, 11, 11 ] ],
          specialCards: [ 12, 6, 5, 11 ],
          winGold: 0,
          winCards: [],
          mul: 12,
          freeSpins: 1
        } ], [ {
          cards: [ [ 1, 5, 2, 1, 11 ], [ 0, 4, 0, 0, 3 ], [ 0, 0, 3, 0, 3 ], [ 11, 3, 8, 11, 9 ], [ 9, 1, 11, 10, 10 ], [ 6, 3, 3, 3, 7 ] ],
          specialCards: [ 8, 3, 3, 6 ],
          winGold: 0,
          winCards: [],
          mul: 12,
          freeSpins: 0
        } ] ]
      }
    };
    exports.demo2 = {
      bet: 10,
      balance: 2e3,
      spinList: [ [ {
        cards: [ [ 6, 2, 7, 7, 1 ], [ 0, 7, 6, 2, 14 ], [ 3, 3, 0, 4, 1 ], [ 3, 10, 11, 14, 4 ], [ 0, 0, 0, 8, 4 ], [ 5, 1, 1, 6, 10 ] ],
        specialCards: [ 12, 12, 12, 12 ],
        winGold: 150,
        winCards: [ [ 1, 4 ], [ 3, 3 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 0, 3 ], [ 0, 4 ], [ 1, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 4 ], [ 5, 1 ], [ 5, 2 ], [ 5, 3 ], [ -1, 0 ], [ -1, 1 ], [ -1, 2 ], [ -1, 3 ] ],
        mul: 3,
        freeSpins: 0
      }, {
        cards: [ [ 1, 5, 2, 1, 11 ], [ 0, 4, 0, 0, 3 ], [ 0, 0, 3, 0, 3 ], [ 11, 3, 8, 11, 9 ], [ 9, 1, 11, 10, 10 ], [ 6, 3, 3, 3, 7 ] ],
        specialCards: [ 8, 3, 3, 6 ],
        winGold: 0,
        winCards: [],
        mul: 12,
        freeSpins: 0
      } ] ]
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-do": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "dd79cvpWDJJNq4N2z3CcTOG", "PPPB-do");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.DoQueue = exports.CDoQueue = exports.CDoDelay = exports.DoUnique = void 0;
    var DoUnique = function() {
      function DoUnique() {
        this._isFinish = false;
        this._resolves = [];
      }
      Object.defineProperty(DoUnique.prototype, "isFinish", {
        get: function() {
          return this._isFinish;
        },
        enumerable: false,
        configurable: true
      });
      DoUnique.prototype.reset = function() {
        this._isFinish = false;
      };
      DoUnique.prototype.wait = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.isFinish) return [ 2 ];
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    this._resolves.push(resolve);
                    return [ 2 ];
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      DoUnique.prototype.promise = function(func) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var ret, _i, _a, r;
                  return __generator(this, function(_b) {
                    switch (_b.label) {
                     case 0:
                      this._resolves.push(resolve);
                      if (this._resolves.length > 1) return [ 2 ];
                      return [ 4, func() ];

                     case 1:
                      ret = _b.sent();
                      for (_i = 0, _a = this._resolves; _i < _a.length; _i++) {
                        r = _a[_i];
                        r(ret);
                      }
                      this._isFinish = true;
                      this._resolves = [];
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      DoUnique.prototype.call = function(func, target) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) args[_i - 2] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.promise(func.bind.apply(func, __spreadArrays([ target ], args))) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      DoUnique.prototype.apply = function(func, target, args) {
        void 0 === args && (args = []);
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.promise(func.bind(target, args)) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      return DoUnique;
    }();
    exports.DoUnique = DoUnique;
    var CDoDelay = function() {
      function CDoDelay(value, delayMS, maxDelayMS, doing, target) {
        var args = [];
        for (var _i = 5; _i < arguments.length; _i++) args[_i - 5] = arguments[_i];
        this._args = [];
        this._timeoutTimer = null;
        this._maxDelayMS = 0;
        this._delayMS = 0;
        this._delayTimer = null;
        this._value = value;
        this._delayMS = delayMS;
        this._maxDelayMS = maxDelayMS;
        this.setDoing.apply(this, __spreadArrays([ doing, target ], args));
      }
      Object.defineProperty(CDoDelay.prototype, "value", {
        get: function() {
          return this._value;
        },
        set: function(v) {
          this._value = v;
          this.do();
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CDoDelay.prototype, "delayMS", {
        set: function(v) {
          this._delayMS = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CDoDelay.prototype, "maxDelayMS", {
        set: function(v) {
          this._maxDelayMS = v;
        },
        enumerable: false,
        configurable: true
      });
      CDoDelay.prototype.setDoing = function(doing, target) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) args[_i - 2] = arguments[_i];
        this._doing = doing;
        this._target = target;
        this._args = args;
      };
      CDoDelay.prototype.reset = function() {
        if (this._delayTimer) {
          clearTimeout(this._delayTimer);
          this._delayTimer = null;
        }
        if (this._timeoutTimer) {
          clearTimeout(this._timeoutTimer);
          this._timeoutTimer = null;
        }
      };
      CDoDelay.prototype.clear = function() {
        this.reset();
        this._target = void 0;
        this._doing = void 0;
        this._args = [];
      };
      CDoDelay.prototype.do = function(delayMS) {
        void 0 === delayMS && (delayMS = 0);
        if (this._delayMS > 0 && delayMS >= 0) {
          this._delayTimer && clearTimeout(this._delayTimer);
          delayMS = delayMS || this._delayMS;
          this._delayTimer = setTimeout(this.doing.bind(this), delayMS);
          this._maxDelayMS > 0 && !this._timeoutTimer && (this._timeoutTimer = setTimeout(this.doing.bind(this), this._maxDelayMS));
        } else this._doing && this._doing.apply(this._target, this._args);
      };
      CDoDelay.prototype.doing = function() {
        this.reset();
        this._doing && this._doing.apply(this._target, this._args);
      };
      return CDoDelay;
    }();
    exports.CDoDelay = CDoDelay;
    var CDoQueue = function() {
      function CDoQueue() {
        this._queues = [];
        this._resolves = [];
      }
      Object.defineProperty(CDoQueue.prototype, "isFinish", {
        get: function() {
          return 0 === this._queues.length;
        },
        enumerable: false,
        configurable: true
      });
      CDoQueue.prototype.wait = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.isFinish) return [ 2 ];
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    this._resolves.push(resolve);
                    return [ 2 ];
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CDoQueue.prototype.clear = function() {
        for (var _i = 0, _a = this._resolves; _i < _a.length; _i++) {
          var r = _a[_i];
          r();
        }
        this._resolves = [];
        this._queues = [];
      };
      CDoQueue.prototype.add = function(doSomething) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var q, _a, _b, _i, _c, r, e_1;
                  return __generator(this, function(_d) {
                    switch (_d.label) {
                     case 0:
                      _d.trys.push([ 0, 5, , 6 ]);
                      this._queues.push([ doSomething, resolve ]);
                      if (!(1 === this._queues.length)) return [ 3, 4 ];
                      _d.label = 1;

                     case 1:
                      if (!this._queues.length) return [ 3, 3 ];
                      q = this._queues[0];
                      _b = (_a = q)[1];
                      return [ 4, q[0]() ];

                     case 2:
                      _b.apply(_a, [ _d.sent() ]);
                      this._queues.shift();
                      return [ 3, 1 ];

                     case 3:
                      for (_i = 0, _c = this._resolves; _i < _c.length; _i++) {
                        r = _c[_i];
                        r();
                      }
                      this._resolves = [];
                      _d.label = 4;

                     case 4:
                      return [ 3, 6 ];

                     case 5:
                      e_1 = _d.sent();
                      reject(e_1);
                      return [ 3, 6 ];

                     case 6:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CDoQueue.prototype.call = function(func, target) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) args[_i - 2] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.add(function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, func.call.apply(func, __spreadArrays([ target ], args)) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CDoQueue.prototype.apply = function(func, target, args) {
        void 0 === args && (args = []);
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.add(function() {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      return [ 4, func.apply(target, args) ];

                     case 1:
                      return [ 2, _a.sent() ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      return CDoQueue;
    }();
    exports.CDoQueue = CDoQueue;
    exports.DoQueue = new CDoQueue();
    cc._RF.pop();
  }, {} ],
  "PPPB-editor": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ecab9NZyGdC16yI5pY9qMdA", "PPPB-editor");
    "use strict";
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.editor = void 0;
    var PPPB_res_1 = require("../PPPB-res");
    var editor = function() {
      function editor() {}
      Object.defineProperty(editor, "fs", {
        get: function() {
          if (this._fs) return this._fs;
          this._fs = require("fs");
          return this._fs;
        },
        enumerable: false,
        configurable: true
      });
      editor.fullPath = function(path) {
        if (!Editor.Project) return "";
        var bundleName = PPPB_res_1.res.bundleName ? PPPB_res_1.res.bundleName + "/" : "";
        return "assets" === path.slice(0, 6) ? Editor.Project.path + "/" + path.slice(0, 6) + "/" + bundleName + path.slice(6) : Editor.Project.path + "/assets/" + bundleName + "resources/" + path;
      };
      Object.defineProperty(editor, "dirs", {
        get: function() {
          var _this = this;
          this._dirs = [];
          var len = this.fullPath("").length + 1;
          var fs = this.fs;
          var walk = function(dir) {
            var list = fs.readdirSync(dir);
            list.forEach(function(file) {
              file = dir + "/" + file;
              var stat = fs.statSync(file);
              if (stat && stat.isDirectory()) {
                _this._dirs.push(file.slice(len));
                walk(file);
              }
            });
          };
          walk(this.fullPath(""));
          return this._dirs;
        },
        enumerable: false,
        configurable: true
      });
      editor.exist = function(path) {
        var dir = this.fullPath(path);
        try {
          return !!this.fs.statSync(dir);
        } catch (e) {
          return false;
        }
      };
      Object.defineProperty(editor, "dirsEnum", {
        get: function() {
          var e = {};
          this.dirs.forEach(function(f, i) {
            e[f] = i;
          });
          return cc.Enum(e);
        },
        enumerable: false,
        configurable: true
      });
      editor.ls = function(path) {
        var _this = this;
        var exts = [];
        for (var _i = 1; _i < arguments.length; _i++) exts[_i - 1] = arguments[_i];
        var results = [];
        var dir = this.fullPath(path);
        var list = this.fs.readdirSync(dir);
        list.forEach(function(file) {
          for (var _i = 0, exts_1 = exts; _i < exts_1.length; _i++) {
            var ext = exts_1[_i];
            var l = file.length - ext.length;
            ext && file.slice(l) === ext && ".meta" !== ext.slice(5) && results.push(file.slice(0, l));
          }
          var d = dir + "/" + file;
          var stat = _this.fs.statSync(d);
          if (stat && stat.isDirectory()) {
            var files = _this.ls.apply(_this, __spreadArrays([ path + "/" + file ], exts));
            files.forEach(function(v) {
              return results.push(file + "/" + v);
            });
          }
        });
        return results;
      };
      editor.setEnumAttr = function(obj, propName, enumDef) {
        cc.Class.Attr.setClassAttr(obj, propName, "enumList", cc.Enum.getList(enumDef));
      };
      editor.refreshPropertyEnum = function(compoment, property, enumDef) {
        this.setEnumAttr(compoment, property, enumDef);
        Editor.Utils.refreshSelectedInspector("node", compoment.node.uuid);
      };
      editor.refreshSelectedInspector = function(compoment) {
        Editor.Utils.refreshSelectedInspector("node", compoment.node.uuid);
      };
      return editor;
    }();
    exports.editor = editor;
    cc._RF.pop();
  }, {
    "../PPPB-res": "PPPB-res",
    fs: void 0
  } ],
  "PPPB-encrypt": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a4adbmLH+5IHKkv3q31gYSx", "PPPB-encrypt");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.MD5 = exports.Encrypt = void 0;
    var PPPB_lzstr_1 = require("./PPPB-lzstr");
    var Algo = {};
    Algo.cipher = function(input, w) {
      var Nb = 4;
      var Nr = w.length / Nb - 1;
      var state = [ [], [], [], [] ];
      for (var i = 0; i < 4 * Nb; i++) state[i % 4][Math.floor(i / 4)] = input[i];
      state = Algo.addRoundKey(state, w, 0, Nb);
      for (var round = 1; round < Nr; round++) {
        state = Algo.subBytes(state, Nb);
        state = Algo.shiftRows(state, Nb);
        state = Algo.mixColumns(state, Nb);
        state = Algo.addRoundKey(state, w, round, Nb);
      }
      state = Algo.subBytes(state, Nb);
      state = Algo.shiftRows(state, Nb);
      state = Algo.addRoundKey(state, w, Nr, Nb);
      var output = new Array(4 * Nb);
      for (var i = 0; i < 4 * Nb; i++) output[i] = state[i % 4][Math.floor(i / 4)];
      return output;
    };
    Algo.keyExpansion = function(key) {
      var Nb = 4;
      var Nk = key.length / 4;
      var Nr = Nk + 6;
      var w = new Array(Nb * (Nr + 1));
      var temp = new Array(4);
      for (var i = 0; i < Nk; i++) {
        var r = [ key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3] ];
        w[i] = r;
      }
      for (var i = Nk; i < Nb * (Nr + 1); i++) {
        w[i] = new Array(4);
        for (var t = 0; t < 4; t++) temp[t] = w[i - 1][t];
        if (i % Nk == 0) {
          temp = Algo.subWord(Algo.rotWord(temp));
          for (var t = 0; t < 4; t++) temp[t] ^= Algo.rCon[i / Nk][t];
        } else Nk > 6 && i % Nk == 4 && (temp = Algo.subWord(temp));
        for (var t = 0; t < 4; t++) w[i][t] = w[i - Nk][t] ^ temp[t];
      }
      return w;
    };
    Algo.subBytes = function(s, Nb) {
      for (var r = 0; r < 4; r++) for (var c = 0; c < Nb; c++) s[r][c] = Algo.sBox[s[r][c]];
      return s;
    };
    Algo.shiftRows = function(s, Nb) {
      var t = new Array(4);
      for (var r = 1; r < 4; r++) {
        for (var c = 0; c < 4; c++) t[c] = s[r][(c + r) % Nb];
        for (var c = 0; c < 4; c++) s[r][c] = t[c];
      }
      return s;
    };
    Algo.mixColumns = function(s, Nb) {
      for (var c = 0; c < 4; c++) {
        var a = new Array(4);
        var b = new Array(4);
        for (var i = 0; i < 4; i++) {
          a[i] = s[i][c];
          b[i] = 128 & s[i][c] ? s[i][c] << 1 ^ 283 : s[i][c] << 1;
        }
        s[0][c] = b[0] ^ a[1] ^ b[1] ^ a[2] ^ a[3];
        s[1][c] = a[0] ^ b[1] ^ a[2] ^ b[2] ^ a[3];
        s[2][c] = a[0] ^ a[1] ^ b[2] ^ a[3] ^ b[3];
        s[3][c] = a[0] ^ b[0] ^ a[1] ^ a[2] ^ b[3];
      }
      return s;
    };
    Algo.addRoundKey = function(state, w, rnd, Nb) {
      for (var r = 0; r < 4; r++) for (var c = 0; c < Nb; c++) state[r][c] ^= w[4 * rnd + c][r];
      return state;
    };
    Algo.subWord = function(w) {
      for (var i = 0; i < 4; i++) w[i] = Algo.sBox[w[i]];
      return w;
    };
    Algo.rotWord = function(w) {
      var tmp = w[0];
      for (var i = 0; i < 3; i++) w[i] = w[i + 1];
      w[3] = tmp;
      return w;
    };
    Algo.sBox = [ 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22 ];
    Algo.rCon = [ [ 0, 0, 0, 0 ], [ 1, 0, 0, 0 ], [ 2, 0, 0, 0 ], [ 4, 0, 0, 0 ], [ 8, 0, 0, 0 ], [ 16, 0, 0, 0 ], [ 32, 0, 0, 0 ], [ 64, 0, 0, 0 ], [ 128, 0, 0, 0 ], [ 27, 0, 0, 0 ], [ 54, 0, 0, 0 ] ];
    var Encrypt = function() {
      function Encrypt() {}
      Encrypt.encode = function(plaintext, password, nBits) {
        void 0 === nBits && (nBits = 256);
        var blockSize = 16;
        if (!(128 == nBits || 192 == nBits || 256 == nBits)) return "";
        plaintext = PPPB_lzstr_1.LZStr.utf8Encode(plaintext);
        password = PPPB_lzstr_1.LZStr.utf8Encode(password);
        var nBytes = nBits / 8;
        var pwBytes = new Array(nBytes);
        for (var i = 0; i < nBytes; i++) pwBytes[i] = isNaN(password.charCodeAt(i)) ? 0 : password.charCodeAt(i);
        var key = Algo.cipher(pwBytes, Algo.keyExpansion(pwBytes));
        key = key.concat(key.slice(0, nBytes - 16));
        var counterBlock = new Array(blockSize);
        var nonce = new Date().getTime();
        var nonceMs = nonce % 1e3;
        var nonceSec = Math.floor(nonce / 1e3);
        var nonceRnd = Math.floor(65535 * Math.random());
        for (var i = 0; i < 2; i++) counterBlock[i] = nonceMs >>> 8 * i & 255;
        for (var i = 0; i < 2; i++) counterBlock[i + 2] = nonceRnd >>> 8 * i & 255;
        for (var i = 0; i < 4; i++) counterBlock[i + 4] = nonceSec >>> 8 * i & 255;
        var ctrTxt = "";
        for (var i = 0; i < 8; i++) ctrTxt += String.fromCharCode(counterBlock[i]);
        var keySchedule = Algo.keyExpansion(key);
        var blockCount = Math.ceil(plaintext.length / blockSize);
        var ciphertxt = new Array(blockCount);
        for (var b = 0; b < blockCount; b++) {
          for (var c = 0; c < 4; c++) counterBlock[15 - c] = b >>> 8 * c & 255;
          for (var c = 0; c < 4; c++) counterBlock[15 - c - 4] = b / 4294967296 >>> 8 * c;
          var cipherCntr = Algo.cipher(counterBlock, keySchedule);
          var blockLength = b < blockCount - 1 ? blockSize : (plaintext.length - 1) % blockSize + 1;
          var cipherChar = new Array(blockLength);
          for (var i = 0; i < blockLength; i++) {
            cipherChar[i] = cipherCntr[i] ^ plaintext.charCodeAt(b * blockSize + i);
            cipherChar[i] = String.fromCharCode(cipherChar[i]);
          }
          ciphertxt[b] = cipherChar.join("");
        }
        var ciphertext = ctrTxt + ciphertxt.join("");
        ciphertext = PPPB_lzstr_1.LZStr.base64Encode(ciphertext);
        return ciphertext;
      };
      Encrypt.decode = function(ciphertext, password, nBits) {
        void 0 === nBits && (nBits = 256);
        if (!ciphertext) return "";
        var blockSize = 16;
        if (!(128 == nBits || 192 == nBits || 256 == nBits)) return "";
        ciphertext = PPPB_lzstr_1.LZStr.base64Decode(ciphertext);
        password = PPPB_lzstr_1.LZStr.utf8Encode(password);
        if (!ciphertext) return;
        var nBytes = nBits / 8;
        var pwBytes = new Array(nBytes);
        for (var i = 0; i < nBytes; i++) pwBytes[i] = isNaN(password.charCodeAt(i)) ? 0 : password.charCodeAt(i);
        var key = Algo.cipher(pwBytes, Algo.keyExpansion(pwBytes));
        key = key.concat(key.slice(0, nBytes - 16));
        var counterBlock = new Array(8);
        var ctrTxt = ciphertext.slice(0, 8);
        for (var i = 0; i < 8; i++) counterBlock[i] = ctrTxt.charCodeAt(i);
        var keySchedule = Algo.keyExpansion(key);
        var nBlocks = Math.ceil((ciphertext.length - 8) / blockSize);
        var ct = new Array(nBlocks);
        for (var b = 0; b < nBlocks; b++) ct[b] = ciphertext.slice(8 + b * blockSize, 8 + b * blockSize + blockSize);
        ciphertext = ct;
        var plaintxt = new Array(ciphertext.length);
        for (var b = 0; b < nBlocks; b++) {
          for (var c = 0; c < 4; c++) counterBlock[15 - c] = b >>> 8 * c & 255;
          for (var c = 0; c < 4; c++) counterBlock[15 - c - 4] = (b + 1) / 4294967296 - 1 >>> 8 * c & 255;
          var cipherCntr = Algo.cipher(counterBlock, keySchedule);
          var plaintxtByte = new Array(ciphertext[b].length);
          for (var i = 0; i < ciphertext[b].length; i++) {
            plaintxtByte[i] = cipherCntr[i] ^ ciphertext[b].charCodeAt(i);
            plaintxtByte[i] = String.fromCharCode(plaintxtByte[i]);
          }
          plaintxt[b] = plaintxtByte.join("");
        }
        var plaintext = plaintxt.join("");
        plaintext = PPPB_lzstr_1.LZStr.utf8Decode(plaintext);
        return plaintext;
      };
      Encrypt.init = function() {
        console.log("--------------------Applying Encryption Algorithm------------------ ");
      };
      return Encrypt;
    }();
    exports.Encrypt = Encrypt;
    var hexcase = 0;
    var b64pad = "";
    var chrsz = 8;
    function hex_md5(s) {
      return binl2hex(core_md5(str2binl(s), s.length * chrsz));
    }
    function b64_md5(s) {
      return binl2b64(core_md5(str2binl(s), s.length * chrsz));
    }
    function str_md5(s) {
      return binl2str(core_md5(str2binl(s), s.length * chrsz));
    }
    function hex_hmac_md5(key, data) {
      return binl2hex(core_hmac_md5(key, data));
    }
    function b64_hmac_md5(key, data) {
      return binl2b64(core_hmac_md5(key, data));
    }
    function str_hmac_md5(key, data) {
      return binl2str(core_hmac_md5(key, data));
    }
    function md5_vm_test() {
      return "900150983cd24fb0d6963f7d28e17f72" == hex_md5("abc");
    }
    function core_md5(x, len) {
      x[len >> 5] |= 128 << len % 32;
      x[14 + (len + 64 >>> 9 << 4)] = len;
      var a = 1732584193;
      var b = -271733879;
      var c = -1732584194;
      var d = 271733878;
      for (var i = 0; i < x.length; i += 16) {
        var olda = a;
        var oldb = b;
        var oldc = c;
        var oldd = d;
        a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
        d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
        c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
        b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
        a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
        d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
        c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
        b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
        a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
        d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
        c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
        b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
        a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
        d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
        c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
        b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
        a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
        d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
        c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
        b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
        a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
        d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
        c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
        b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
        a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
        d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
        c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
        b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
        a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
        d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
        c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
        b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
        a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
        d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
        c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
        b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
        a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
        d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
        c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
        b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
        a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
        d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
        c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
        b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
        a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
        d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
        c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
        b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
        a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
        d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
        c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
        b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
        a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
        d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
        c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
        b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
        a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
        d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
        c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
        b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
        a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
        d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
        c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
        b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
        a = safe_add(a, olda);
        b = safe_add(b, oldb);
        c = safe_add(c, oldc);
        d = safe_add(d, oldd);
      }
      return Array(a, b, c, d);
    }
    function md5_cmn(q, a, b, x, s, t) {
      return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
    }
    function md5_ff(a, b, c, d, x, s, t) {
      return md5_cmn(b & c | ~b & d, a, b, x, s, t);
    }
    function md5_gg(a, b, c, d, x, s, t) {
      return md5_cmn(b & d | c & ~d, a, b, x, s, t);
    }
    function md5_hh(a, b, c, d, x, s, t) {
      return md5_cmn(b ^ c ^ d, a, b, x, s, t);
    }
    function md5_ii(a, b, c, d, x, s, t) {
      return md5_cmn(c ^ (b | ~d), a, b, x, s, t);
    }
    function core_hmac_md5(key, data) {
      var bkey = str2binl(key);
      bkey.length > 16 && (bkey = core_md5(bkey, key.length * chrsz));
      var ipad = Array(16), opad = Array(16);
      for (var i = 0; i < 16; i++) {
        ipad[i] = 909522486 ^ bkey[i];
        opad[i] = 1549556828 ^ bkey[i];
      }
      var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
      return core_md5(opad.concat(hash), 640);
    }
    function safe_add(x, y) {
      var lsw = (65535 & x) + (65535 & y);
      var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
      return msw << 16 | 65535 & lsw;
    }
    function bit_rol(num, cnt) {
      return num << cnt | num >>> 32 - cnt;
    }
    function str2binl(str) {
      var bin = Array();
      var mask = (1 << chrsz) - 1;
      for (var i = 0; i < str.length * chrsz; i += chrsz) bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << i % 32;
      return bin;
    }
    function binl2str(bin) {
      var str = "";
      var mask = (1 << chrsz) - 1;
      for (var i = 0; i < 32 * bin.length; i += chrsz) str += String.fromCharCode(bin[i >> 5] >>> i % 32 & mask);
      return str;
    }
    function binl2hex(binarray) {
      var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
      var str = "";
      for (var i = 0; i < 4 * binarray.length; i++) str += hex_tab.charAt(binarray[i >> 2] >> i % 4 * 8 + 4 & 15) + hex_tab.charAt(binarray[i >> 2] >> i % 4 * 8 & 15);
      return str;
    }
    function binl2b64(binarray) {
      var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
      var str = "";
      for (var i = 0; i < 4 * binarray.length; i += 3) {
        var triplet = (binarray[i >> 2] >> i % 4 * 8 & 255) << 16 | (binarray[i + 1 >> 2] >> (i + 1) % 4 * 8 & 255) << 8 | binarray[i + 2 >> 2] >> (i + 2) % 4 * 8 & 255;
        for (var j = 0; j < 4; j++) 8 * i + 6 * j > 32 * binarray.length ? str += b64pad : str += tab.charAt(triplet >> 6 * (3 - j) & 63);
      }
      return str;
    }
    exports.MD5 = hex_md5;
    cc._RF.pop();
  }, {
    "./PPPB-lzstr": "PPPB-lzstr"
  } ],
  "PPPB-endState": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "0587dJlvCdHuriXQFXwjGR+", "PPPB-endState");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.endState = void 0;
    var PPPB_common_1 = require("../../../../common/PPPB-common");
    var PPPB_audio_1 = require("../../../../framework-cocos/PPPB-audio");
    var PPPB_sys_1 = require("../../../../framework-cocos/PPPB-sys");
    var PPPB_ui_1 = require("../../../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../../common/PPPB-quick");
    var PPPB_State_1 = require("../PPPB-State");
    var PPPB_States_1 = require("./PPPB-States");
    var PPPB_user_1 = require("../PPPB-user");
    var PPPB_MoneyTextHelper_1 = require("../../ui/PPPB-MoneyTextHelper");
    var PPPB_MoneyDisplayHelper_1 = require("../../../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_CardHelper_1 = require("../../../server/PPPB-CardHelper");
    var skipWinController = {
      shouldStop: false
    };
    var endState = function(_super) {
      __extends(endState, _super);
      function endState() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      endState.prototype.work = function(w) {
        return __awaiter(this, void 0, void 0, function() {
          var winGolds, mul, ani, dr, freeWinStartBGM, freeWinEndBGM, freeWinAddonSFX, scatterNum_1, ps, gameWinnings, countDuration, bigWinBGM, superwin, num, bigWinRoot, animator, superwinSpine_1, superwinSpineEntryDuration, startAnimEndTime, duration, waitDuration, expectedEndTime_1, spineEndTimeScale, spineOgTimeScale, superwinSpineExitDuration, totalWinGolds, msgArr, randInt, doTween;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("----------end-----------");
              w.isScattering && PPPB_event_1.Events.publish("free", "updateNum", "", true);
              w.curWinGold = w.curTotalWinGold;
              if (!(w.data.tumbleWinGold > w.curWinGold)) return [ 3, 2 ];
              return [ 4, PPPB_event_1.Events.publishAsync("apply", "tumbleMultipliers", "", w.cardlistlist2, w.data.freeMul, w.data.tumbleWinGold) ];

             case 1:
              _a.sent();
              w.curWinGold = w.data.tumbleWinGold;
              _a.label = 2;

             case 2:
              winGolds = w.curWinGold;
              w.isScatter && !w.isScattering && (winGolds += w.freeGolds);
              mul = winGolds / w.bet;
              ani = "";
              dr = 0;
              freeWinStartBGM = "";
              freeWinEndBGM = "";
              freeWinAddonSFX = "";
              do {
                if (mul >= PPPB_common_1.bigWinConf.min && mul < PPPB_common_1.bigWinConf.nice) {
                  ani = "nice";
                  freeWinStartBGM = "WinLabelNiceStart";
                  freeWinEndBGM = "WinLabelNiceEnd";
                  dr = 12;
                  break;
                }
                if (mul >= PPPB_common_1.bigWinConf.nice && mul < PPPB_common_1.bigWinConf.mega) {
                  ani = "mega";
                  freeWinStartBGM = "WinLabelMegaStart";
                  freeWinEndBGM = "WinLabelMegaEnd";
                  dr = 20;
                  break;
                }
                if (mul >= PPPB_common_1.bigWinConf.mega && mul < PPPB_common_1.bigWinConf.superb) {
                  ani = "superb";
                  freeWinStartBGM = "WinLabelSuperbStart";
                  freeWinEndBGM = "WinLabelSuperbEnd";
                  freeWinAddonSFX = "WinLabelSuperbSensationalCheer";
                  dr = 30;
                  break;
                }
                if (mul >= PPPB_common_1.bigWinConf.superb) {
                  ani = "sensational";
                  freeWinStartBGM = "WinLabelSensationalStart";
                  freeWinEndBGM = "WinLabelSensationalEnd";
                  freeWinAddonSFX = "WinLabelSuperbSensationalCheer";
                  dr = 40;
                  break;
                }
              } while (false);
              ani && PPPB_audio_1.audio.pauseAll();
              if (!(w.isScatter && !w.isScattering)) return [ 3, 5 ];
              w.lastTotalWinBeforeFreeGame = 0;
              w.totalFreeSpins = 0;
              scatterNum_1 = 0;
              ps = [];
              w.cardlistlist2.forEach(function(v) {
                v.filterCards(function(v1) {
                  return PPPB_CardHelper_1.CardHelper.IsScatter(v1.value);
                }).forEach(function(v2) {
                  scatterNum_1++;
                  v2.playByType("scatter");
                });
              });
              PPPB_quick_1.ks.MuteAllBGM();
              PPPB_quick_1.ks.playEffectSound("FreeGameTrigger_PB");
              PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              ani || PPPB_event_1.Events.publish("roll", "gameWinnings", "", void 0, w.totalWinGolds, 1);
              return [ 4, PPPB_event_1.Events.publishAsync("show", "scatterPayOut", "", scatterNum_1, w.freeGolds) ];

             case 3:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 4:
              _a.sent();
              return [ 3, 6 ];

             case 5:
              w.isScattering || (w.lastTotalWinBeforeFreeGame = 0);
              _a.label = 6;

             case 6:
              PPPB_sys_1.sys.debugMode && (ani = "");
              w.isScattering && PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              gameWinnings = w.totalWinGolds;
              if (!ani) return [ 3, 16 ];
              countDuration = w.isTurboActive() ? 0 : Math.max(0, dr);
              bigWinBGM = -1;
              if (!(countDuration > 0)) return [ 3, 8 ];
              return [ 4, PPPB_quick_1.ks.playEffectSound(freeWinStartBGM, true) ];

             case 7:
              bigWinBGM = _a.sent();
              return [ 3, 9 ];

             case 8:
              PPPB_quick_1.ks.playEffectSound(freeWinEndBGM);
              _a.label = 9;

             case 9:
              "" != freeWinAddonSFX && PPPB_quick_1.ks.playEffectSound(freeWinAddonSFX);
              superwin = PPPB_ui_1.ui.getNode([ this.aniroot, "big_win" ]);
              superwin.setPosition(cc.v2(0, superwin.position.y));
              superwin.active = true;
              superwin.opacity = 255;
              num = PPPB_ui_1.ui.getNode([ superwin, "root" ]).getComponentInChildren(PPPB_MoneyTextHelper_1.MoneyTextHelper);
              bigWinRoot = PPPB_ui_1.ui.getNode([ superwin, "root" ]);
              bigWinRoot.on("click", this.SkipBigWin);
              animator = PPPB_ui_1.ui.getComponent([ superwin, "root" ], cc.Animation);
              animator.play(ani + "_win");
              superwinSpine_1 = PPPB_ui_1.ui.getNode([ superwin, "root/spine/sphinx" ]).getComponent(sp.Skeleton);
              superwinSpine_1.setAnimation(0, ani + "_entry", false);
              superwinSpineEntryDuration = superwinSpine_1.findAnimation("nice_idle").duration;
              startAnimEndTime = Date.now() + 1e3 * superwinSpineEntryDuration;
              console.log("num scale: " + num.node.scale + " | num opacity: " + num.node.opacity);
              duration = dr;
              num.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
              num.dur = 0;
              num.value = 0;
              skipWinController.shouldStop = false;
              w.isTurboActive() || w.isHoldForceTurbo ? skipWinController.shouldStop = true : PPPB_lib_1._.sleep(1e3 * superwinSpineEntryDuration).then(function() {
                superwinSpine_1.setAnimation(0, ani + "_idle", true);
              });
              num.format = PPPB_MoneyDisplayHelper_1.MoneyUi.convertBetToText;
              num.dur = countDuration;
              num.value = winGolds;
              PPPB_event_1.Events.publish("roll", "gameWinnings", "", void 0, gameWinnings, countDuration, false);
              waitDuration = 1e3 * duration;
              expectedEndTime_1 = Date.now() + waitDuration;
              return [ 4, PPPB_lib_1._.waiting(function() {
                return skipWinController.shouldStop || Date.now() >= expectedEndTime_1;
              }, this, waitDuration) ];

             case 10:
              _a.sent();
              skipWinController.shouldStop && PPPB_event_1.Events.publish("skip", "gameWinnings", "");
              num.dur = 0;
              num.value = winGolds;
              PPPB_event_1.Events.publish("roll", "gameWinnings", "", void 0, gameWinnings, 0, false);
              if (countDuration > 0) {
                PPPB_audio_1.audio.stop(bigWinBGM);
                PPPB_quick_1.ks.playEffectSound(freeWinEndBGM);
              }
              if (!(Date.now() < startAnimEndTime)) return [ 3, 12 ];
              return [ 4, PPPB_lib_1._.sleep(startAnimEndTime - Date.now()) ];

             case 11:
              _a.sent();
              _a.label = 12;

             case 12:
              animator.play("win_end");
              return [ 4, PPPB_lib_1._.sleep(1250) ];

             case 13:
              _a.sent();
              spineEndTimeScale = 2;
              spineOgTimeScale = superwinSpine_1.timeScale;
              superwinSpine_1.timeScale = spineEndTimeScale;
              superwinSpine_1.setAnimation(0, ani + "_exit", false);
              superwinSpineExitDuration = superwinSpine_1.findAnimation(ani + "_exit").duration;
              return [ 4, PPPB_lib_1._.sleep(superwinSpineExitDuration / spineEndTimeScale * 1e3) ];

             case 14:
              _a.sent();
              superwinSpine_1.timeScale = spineOgTimeScale;
              return [ 4, this.EndBigWin(superwin) ];

             case 15:
              _a.sent();
              return [ 3, 18 ];

             case 16:
              if (!(w.data.mul > 1)) return [ 3, 18 ];
              return [ 4, PPPB_event_1.Events.publishAsync("roll", "gameWinnings", "", void 0, gameWinnings, 1, false) ];

             case 17:
              _a.sent();
              _a.label = 18;

             case 18:
              totalWinGolds = (w.isScatter || w.isScattering) && w.totalWinGolds < w.maxWinLimit ? w.totalWinGolds : 0;
              if (!w.isScattering) {
                w.ptWinGolds = w.totalWinGolds;
                w.reset();
              }
              !w.isScatter && w.isScattering && 0 == w.freeCount && PPPB_event_1.Events.publish("free", "count", "", {
                isbuy: false
              });
              if (winGolds <= 0 && !w.isScatter && !w.isScattering) if (PPPB_lib_1.cc1.sys.isMobile) PPPB_event_1.Events.publish("update", "gameMessage", "", "label_web.PLACEYOURBETS"); else {
                msgArr = [];
                msgArr.push("label_web.PLACEYOURBETS");
                msgArr.push("label_web.HOLDSPACEFORTURBO");
                msgArr.push("label_web.SPINTOWIN");
                randInt = PPPB_lib_1._.rand(0, msgArr.length);
                PPPB_event_1.Events.publish("update", "gameMessage", "", msgArr[randInt]);
              } else PPPB_event_1.Events.publish("update", "gameMessage", "", "");
              if (!w.isScattering && !w.isScatter && w.ptWinGolds > 0) {
                PPPB_user_1.user.attr.balance += w.ptWinGolds;
                doTween = !w.isTurboActive();
                PPPB_event_1.Events.publish("gold", "update", "", PPPB_user_1.user.balance, doTween);
              }
              if (!(w.isScatter || w.isScattering)) return [ 3, 20 ];
              w.initScatterState(totalWinGolds);
              w.setCurrent(PPPB_States_1.states.scatter);
              return [ 4, w.play() ];

             case 19:
              _a.sent();
              return [ 3, 21 ];

             case 20:
              w.isScatter || (w.curWinGold = 0);
              _a.label = 21;

             case 21:
              w.spinState = 0;
              return [ 2 ];
            }
          });
        });
      };
      endState.prototype.SkipBigWin = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            skipWinController.shouldStop = true;
            return [ 2 ];
          });
        });
      };
      endState.prototype.EndBigWin = function(superwin) {
        return __awaiter(this, void 0, void 0, function() {
          var isPortrait;
          return __generator(this, function(_a) {
            superwin.setPosition(cc.v2(6e3, superwin.position.y));
            superwin.active = false;
            superwin.opacity = 0;
            superwin = null;
            isPortrait = !PPPB_quick_1.ks.isLandscape;
            PPPB_event_1.Events.publish("game", "canStop", "", true);
            PPPB_ui_1.ui.hide([ PPPB_ui_1.ui.canvas, "gold_down/eff" ]);
            PPPB_audio_1.audio.resumeAll();
            return [ 2 ];
          });
        });
      };
      return endState;
    }(PPPB_State_1.State);
    exports.endState = endState;
    cc._RF.pop();
  }, {
    "../../../../common/PPPB-common": "PPPB-common",
    "../../../../common/PPPB-quick": "PPPB-quick",
    "../../../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../../framework/PPPB-event": "PPPB-event",
    "../../../../framework/PPPB-lib": "PPPB-lib",
    "../../../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../../ui/PPPB-MoneyTextHelper": "PPPB-MoneyTextHelper",
    "../PPPB-State": "PPPB-State",
    "../PPPB-user": "PPPB-user",
    "./PPPB-States": "PPPB-States"
  } ],
  "PPPB-event": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "7c95a3NVsZBuLb6qPz61Zax", "PPPB-event");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Events = exports.CEvent = exports.EventRet = exports.RemoveEvents = exports.InitEvents = exports.EventClass = void 0;
    var _ = require("../framework/PPPB-utils");
    var KEY_IF = Symbol("IF");
    var KEY_PRI = Symbol("PRI");
    var KEY_TIMES = Symbol("TIMES");
    var _intervalChannel = "__on__";
    var defaultSrvType = "";
    var _events = {};
    var _channelRouter = {};
    function EventClass() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
      if (!_.isFunction(args[0])) return function(target) {
        InitEvents.apply(void 0, __spreadArrays([ target ], args));
      };
      InitEvents(args[0]);
    }
    exports.EventClass = EventClass;
    function InitEvents(target, thisChannel, routerKV, eventKeyMap) {
      var _a, _b;
      if (!target) return;
      if (Array.isArray(thisChannel)) {
        if (thisChannel[0] !== thisChannel[1]) return;
        thisChannel = thisChannel[0];
      }
      thisChannel = thisChannel || target["$_channel_"];
      "string" !== typeof thisChannel && (thisChannel = "");
      var routerKeys = [];
      var routerStr = "";
      if (thisChannel && routerKV) {
        routerKeys = _.keys(routerKV);
        routerStr = _.map(routerKV, function(v, k) {
          return k + "_" + v;
        }).join("-");
      }
      var regExp = /\$(?!(ui_|private))(\S*)_/;
      var keys = _.getMethodNames(target, regExp);
      for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
        var k = keys_1[_i];
        var kLen = k.indexOf("_");
        var ek = k.slice(1, kLen);
        var _c = ek.match(/(\S*)(Rpc|Api)(\S*)/) || [ , ek ], _d = _c[1], key = void 0 === _d ? "" : _d, _e = _c[2], api = void 0 === _e ? "" : _e, _f = _c[3], prefix = void 0 === _f ? "" : _f;
        key && "on" !== key || (key = "event");
        var oKey = key;
        eventKeyMap && eventKeyMap[key] && (key = eventKeyMap[key]);
        var eventObj = exports.Events.get(key);
        var func = target[k];
        if (!_.isFunction(func)) {
          console.warn("Event handler must be function  ---\x3e " + k);
          continue;
        }
        var kk = k.slice(kLen + 1);
        var channel = void 0, event = void 0, suffix = void 0;
        var kks = kk.split("__");
        kks.length > 1 ? (_a = kks.map(function(v) {
          return _.parseEscape(v);
        }), channel = _a[0], event = _a[1], suffix = _a[2]) : (_b = kk.split("_").map(function(v) {
          return _.parseEscape(v);
        }), channel = _b[0], event = _b[1], suffix = _b[2]);
        if (thisChannel) {
          channel && "this" !== channel || (channel = thisChannel);
          if (channel === thisChannel && routerStr) {
            channel = thisChannel + ":" + routerStr;
            _channelRouter[thisChannel + ":" + event] = routerKeys;
          }
        }
        if ("on" === channel) {
          channel = _intervalChannel;
          eventObj.subscribe([ target, func, event ? 0 : 1 ], channel, event);
        } else {
          "all" === channel && (channel = "");
          api ? eventObj.setApi(channel, event, target, func, prefix) : eventObj.subscribe([ target, func, event ? channel ? 0 : -1 : channel ? 1 : 2 ], channel, event, void 0, 0, void 0, prefix);
        }
      }
    }
    exports.InitEvents = InitEvents;
    function RemoveEvents(target) {
      var removeEmptypEvents = [];
      for (var _i = 1; _i < arguments.length; _i++) removeEmptypEvents[_i - 1] = arguments[_i];
      for (var _a = 0, removeEmptypEvents_1 = removeEmptypEvents; _a < removeEmptypEvents_1.length; _a++) {
        var k = removeEmptypEvents_1[_a];
        if (_events[k]) {
          _events[k].clear();
          delete _events[k];
        }
      }
      target && _.each(_events, function(event, k) {
        event.removeByTarget(target);
      });
    }
    exports.RemoveEvents = RemoveEvents;
    function EventRet(result, isBreak, err) {
      var ret = {};
      result && (ret.r = ret);
      isBreak && (ret.break = isBreak);
      err && (ret.err = err);
      return ret;
    }
    exports.EventRet = EventRet;
    var CEvent = function() {
      function CEvent(key) {
        void 0 === key && (key = "private");
        this._subscribers = {};
        this._apis = {};
        this._apiQueue = [];
        this._key = "event";
        this._state = 1;
        this._key = key;
      }
      CEvent.logEvents = function(k) {
        console.error("=========================logEvents====================================");
        _.each(_events, function(event, k) {
          console.error("-----------event:" + event.key + "------------------");
          for (var a in event._apis) {
            event.checkApi(a);
            console.error("----\x3e api " + a);
          }
          for (var a in event._subscribers) {
            console.error("====> sub " + a + "   " + event._subscribers[a].length);
            if (a == k) for (var _i = 0, _a = event._subscribers[a]; _i < _a.length; _i++) {
              var api = _a[_i];
              console.log("       ", api);
            }
          }
        });
      };
      CEvent.prototype.clear = function() {
        this._apis = {};
        this._apiQueue = [];
        this._subscribers = {};
      };
      Object.defineProperty(CEvent.prototype, "key", {
        get: function() {
          return this._key;
        },
        set: function(v) {
          this._key = v;
        },
        enumerable: false,
        configurable: true
      });
      CEvent.prototype.onstructor = function(key) {
        void 0 === key && (key = "event");
        this._key = key;
      };
      CEvent.newEvent = function(key) {
        key && "on" !== key || (key = "event");
        if (_events[key]) return _events[key];
        var e = new CEvent(key);
        _events[key] = e;
        return e;
      };
      CEvent.prototype.has = function(key) {
        key && "on" !== key || (key = "event");
        return !!_events[key];
      };
      CEvent.prototype.get = function(key) {
        return CEvent.newEvent(key);
      };
      CEvent.prototype.del = function(key) {
        return CEvent.deleteEvent(key);
      };
      CEvent.deleteEvent = function(key) {
        _events[key] && delete _events[key];
      };
      Object.defineProperty(CEvent.prototype, "srvType", {
        get: function() {
          return void 0 === this._srvType ? defaultSrvType : this._srvType;
        },
        set: function(v) {
          this._srvType = v;
        },
        enumerable: false,
        configurable: true
      });
      CEvent.prototype.reset = function() {
        this._subscribers = {};
        this._apis = {};
      };
      CEvent.prototype.stop = function() {
        this._state = 0;
      };
      CEvent.prototype.resume = function() {
        this._state = 1;
      };
      CEvent.prototype.checkApi = function(cmd) {
        var gs = this._apis[cmd];
        if (gs) {
          var g = gs.t;
          if (g) {
            var r = g["_root"];
            (true === g["_isDelete"] || true === g["_isRelease"] || r && (true === r["_isDelete"] || true === r["_isRelease"])) && delete this._apis[cmd];
          }
        }
      };
      CEvent.prototype.checkSubscribe = function(key) {
        var subs = this._subscribers[key];
        for (var i = subs.length - 1; i >= 0; i--) {
          var release = false;
          for (var _i = 0, _a = [ subs[i][0], subs[0] ]; _i < _a.length; _i++) {
            var g = _a[_i];
            if (g) {
              var r = g["_root"];
              if (true === g["_isDelete"] || true === g["_isRelease"] || r && (true === r["_isDelete"] || true === r["_isRelease"])) {
                release = true;
                break;
              }
            }
          }
          release && subs.splice(i, 1);
        }
      };
      CEvent.prototype.getApi = function(cmd) {
        this.checkApi(cmd);
        var apiData = this._apis[cmd];
        return apiData;
      };
      CEvent.prototype.setApi = function(channel, api, apiTarget, apiFunc, PRI) {
        void 0 === apiTarget && (apiTarget = null);
        var srvType = this.srvType;
        var channelST = channel;
        if (srvType && channel !== _intervalChannel) if (channel && "global" !== channel.slice(0, 6)) channelST = srvType + ":" + channel; else {
          channelST = channel = channel.slice(6);
          srvType = "";
        }
        var cmd = channelST ? channelST + "." + api : api;
        this.checkApi(cmd);
        if (apiFunc) {
          this._apis[cmd] && console.error(_.logger("ERROR"), "API " + cmd + " \u91cd\u590d\u5b9a\u4e49\uff01, \u65e7\u7684api\u5c06\u88ab\u8986\u76d6\uff0c\u8bf7\u68c0\u67e5............");
          this._apis[cmd] = {
            t: apiTarget,
            f: apiFunc
          };
        } else {
          var getter = this._apis[cmd];
          getter && (getter.t !== apiTarget || apiFunc && getter.f !== apiFunc || delete this._apis[cmd]);
        }
        var aniInfo = {
          srvType: srvType,
          key: this.key,
          channel: channel,
          api: api,
          target: apiTarget,
          func: apiFunc
        };
        this.emit("setApi", aniInfo);
        exports.Events.emit("setApi", aniInfo);
        for (var i = this._apiQueue.length - 1; i >= 0; i--) {
          var _a = this._apiQueue[i], resolve = _a[0], ch = _a[1], a = _a[2], st = _a[3], args = _a.slice(4);
          if (this.hasApi(ch, a, st)) {
            this._apiQueue.splice(i, 1);
            this.apiAsync.apply(this, __spreadArrays([ ch, a, st ], args)).then(resolve);
          }
        }
      };
      CEvent.prototype.getSubscriber = function(channel, event) {
        void 0 === channel && (channel = "");
        void 0 === event && (event = "");
        return event ? _.zip(this._subscribers[channel], this._subscribers[channel + "." + event], this._subscribers["." + event], this._subscribers[""]) : _.zip(this._subscribers[channel], this._subscribers[""]);
      };
      CEvent.prototype.subscribe = function(obj, channel, event, srvType, times, condition, PRI) {
        void 0 === channel && (channel = "");
        void 0 === event && (event = "");
        void 0 === times && (times = 0);
        "on" === channel && (channel = _intervalChannel);
        _.isVoid(srvType) && (srvType = this.srvType);
        var channelST = channel;
        if (srvType && channel !== _intervalChannel) if (channel && "global" !== channel.slice(0, 6)) channelST = srvType + ":" + channel; else {
          channelST = channel = channel.slice(6);
          srvType = "";
        }
        var key = event ? channelST + "." + event : channelST;
        var subscribers = this._subscribers[key];
        subscribers ? this.checkSubscribe(key) : subscribers = this._subscribers[key] = [];
        condition && (obj[KEY_IF] = condition);
        PRI && (obj[KEY_PRI] = PRI);
        times && (obj[KEY_TIMES] = times);
        _.arrayUniquePush(subscribers, obj) && subscribers.sort(function(sa, sb) {
          var a = sa[KEY_PRI] || 0, b = sb[KEY_PRI] || 0;
          var c = a == b ? 0 : a - b;
          isNaN(c) && (c = a ? b ? a.toString() > b.toString() ? 1 : -1 : 1 : -1);
          return c;
        });
        if (channel !== _intervalChannel) {
          var info = {
            srvType: srvType,
            key: this.key,
            channel: channel,
            event: event,
            target: obj
          };
          this.emit("subscribe", info);
          exports.Events.emit("subscribe", info);
        }
      };
      CEvent.prototype.unsubscribe = function(obj, channel, event, srvType) {
        void 0 === channel && (channel = "");
        void 0 === event && (event = "");
        _.isVoid(srvType) && (srvType = this.srvType);
        var channelST = channel;
        if (srvType && channel !== _intervalChannel) if ("global" === channel.slice(0, 6)) {
          channelST = channel = channel.slice(6);
          srvType = "";
        } else channelST = srvType + ":" + channel;
        var key = event ? channelST + "." + event : channelST;
        var subscribers = this._subscribers[key];
        subscribers && _.arrayDel(subscribers, obj);
        obj[KEY_IF] && delete obj[KEY_IF];
        obj[KEY_PRI] && delete obj[KEY_PRI];
        obj[KEY_TIMES] && delete obj[KEY_TIMES];
        channel !== _intervalChannel && this.emit("unsubscribe", {
          srvType: srvType,
          channel: channel,
          event: event,
          target: obj
        });
      };
      CEvent.prototype.addListener = function(obj, channel, event, srvType, times, condition, PRI) {
        void 0 === channel && (channel = "");
        void 0 === event && (event = "");
        void 0 === times && (times = 0);
        return this.subscribe(obj, channel, event, srvType, times, condition, PRI);
      };
      CEvent.prototype.removeListener = function(obj, channel, event, srvType) {
        void 0 === channel && (channel = "");
        void 0 === event && (event = "");
        return this.unsubscribe(obj, channel, event, srvType);
      };
      CEvent.prototype.isEmpty = function() {
        return 0 === _.size(this._apis) && 0 === _.size(this._subscribers);
      };
      CEvent.prototype.removeByTarget = function(target) {
        var _this = this;
        _.each(this._apis, function(apis, k) {
          apis && apis.t !== target || delete _this._apis[k];
        });
        _.each(this._subscribers, function(subs, k) {
          for (var i = subs.length - 1; i >= 0; i--) subs && subs[i][0] !== target && subs[i] !== target || subs.splice(i, 1);
          0 === subs.length && delete _this._subscribers[k];
        });
      };
      Object.defineProperty(CEvent.prototype, "_intervalChannel", {
        get: function() {
          return "_on_" + this._key + "_";
        },
        enumerable: false,
        configurable: true
      });
      CEvent.prototype.emit = function(event, data) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) args[_i - 2] = arguments[_i];
        this.publish.apply(this, __spreadArrays([ _intervalChannel, event, "", data ], args));
      };
      CEvent.prototype.emitAsync = function(event, data) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) args[_i - 2] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.publishAsync.apply(this, __spreadArrays([ _intervalChannel, event, "", data ], args)) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype.on = function(event, cb, times, condition) {
        void 0 === times && (times = 0);
        var channel = _intervalChannel;
        this.subscribe(cb, channel, event, void 0, times, condition);
        return cb;
      };
      CEvent.prototype.off = function(event, onCallRet) {
        this.unsubscribe(onCallRet, _intervalChannel, event);
      };
      CEvent.prototype.once = function(event, cb, condition) {
        return this.on(event, cb, 1, condition);
      };
      CEvent.prototype.wait = function(channel, event, srvType, condition) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  return __generator(this, function(_a) {
                    this.subscribe(resolve, channel, event, srvType, 1, condition);
                    return [ 2 ];
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype.attach = function(obj, thisChannel, routerKV, eventkey) {
        var _a;
        if (!obj) return;
        if (Array.isArray(thisChannel)) {
          if (thisChannel[0] !== thisChannel[1]) return;
          thisChannel = thisChannel[0];
        }
        eventkey || "event" !== this._key || this.attach(obj, thisChannel, routerKV, "on");
        thisChannel = thisChannel || obj["$_channel_"];
        "string" !== typeof thisChannel && (thisChannel = "");
        var routerKeys = [];
        var routerStr = "";
        if (thisChannel && routerKV) {
          routerKeys = _.keys(routerKV);
          routerStr = _.map(routerKV, function(v, k) {
            return k + "_" + v;
          }).join("-");
        }
        var key = "string" === typeof eventkey ? "$" + eventkey : "$" + this._key;
        var kLen = key.length;
        var regExp = new RegExp("^(\\" + key + ")");
        var keys = _.getMethodNames(obj, regExp);
        for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
          var k = keys_2[_i];
          if (k.slice(0, kLen) === key) {
            var func = obj[k];
            if (!_.isFunction(func)) {
              console.warn("Event handler must be function  ---\x3e " + k);
              continue;
            }
            var kk = k.slice(kLen);
            var prefix = void 0, channel = void 0, event = void 0, suffix = void 0;
            var kks = kk.split("__");
            if (kks.length > 1) {
              event = _.parseEscape(kks[1]);
              var s = kks[0].indexOf("_");
              if (s >= 0) {
                prefix = _.parseEscape(kks[0].slice(0, s));
                channel = _.parseEscape(kks[0].slice(s + 1));
              } else {
                prefix = _.parseEscape(kks[0]);
                channel = "";
              }
              suffix = _.parseEscape(kks[2] || "");
            } else _a = kk.split("_").map(function(v) {
              return _.parseEscape(v);
            }), prefix = _a[0], channel = _a[1], event = _a[2], suffix = _a[3];
            var _b = prefix.match(/^(Rpc|Api)(\S*)/) || [ , , prefix ], _c = _b[1], api = void 0 === _c ? "" : _c, _d = _b[2], p = void 0 === _d ? "" : _d;
            prefix = p;
            if (thisChannel) {
              channel && "this" !== channel || (channel = thisChannel);
              if (channel === thisChannel && routerStr) {
                channel = thisChannel + ":" + routerStr;
                _channelRouter[thisChannel + ":" + event] = routerKeys;
              }
            }
            if ("on" === channel) {
              channel = _intervalChannel;
              this.subscribe([ obj, func, event ? 0 : 1 ], channel, event);
            } else api ? this.setApi(channel, event, obj, func, prefix) : this.subscribe([ obj, func, event ? channel ? 0 : -1 : channel ? 1 : 2 ], channel, event, void 0, 0, void 0, prefix);
          }
        }
      };
      CEvent.prototype.unattach = function(obj) {
        if (!obj) return;
        for (var k in this._subscribers) {
          var a = this._subscribers[k];
          for (var i = a.length - 1; i >= 0; i--) {
            var o = a[i];
            o !== obj && o[0] !== obj || a.splice(i, 1);
          }
        }
        for (var k in this._apis) {
          var o = this._apis[k];
          o && o.t !== obj || delete this._apis[k];
        }
      };
      CEvent.prototype._callSub = function(obj, func, args, resultCB) {
        if (obj) {
          if (true === obj["_isDelete"] || true === obj["_isRelease"]) return;
          var root = obj["_root"];
          if (root && (true === root["_isDelete"] || true === root["_isRelease"])) return;
        }
        if (_.isFunction(func)) {
          var r = func.apply(obj, args);
          if (!r) return EventRet();
          r && !r.break && resultCB && resultCB(r.err, r.r, obj);
          return r;
        }
      };
      CEvent.prototype._getPubChannel = function(channel, srvType) {
        return _.isVoid(srvType) ? this.srvType + ":" + channel : "global" === srvType || "" === srvType ? channel : srvType + ":" + channel;
      };
      CEvent.prototype.publish = function(channel, event, srvType, data) {
        void 0 === event && (event = "");
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        if (this._state <= 0) return [];
        var pubChannel = this._getPubChannel(channel, srvType);
        var subscribers = this.getSubscriber(pubChannel, event);
        var routerChannel = "";
        _channelRouter[channel + ":" + event] && args.length && (routerChannel = channel + ":" + this._getArgsKVString(_channelRouter[channel + ":" + event], __spreadArrays([ data ], args)));
        routerChannel && this.getSubscriber(this._getPubChannel(routerChannel, srvType), event).forEach(function(v) {
          return _.arrayUniquePush(subscribers, v);
        });
        if ("" !== srvType && srvType) {
          this.getSubscriber(this._getPubChannel(channel, ""), event).forEach(function(v) {
            return _.arrayUniquePush(subscribers, v);
          });
          routerChannel && this.getSubscriber(this._getPubChannel(routerChannel, ""), event).forEach(function(v) {
            return _.arrayUniquePush(subscribers, v);
          });
        } else if ("" === srvType && this.srvType) {
          this.getSubscriber(this._getPubChannel(channel), event).forEach(function(v) {
            return _.arrayUniquePush(subscribers, v);
          });
          routerChannel && this.getSubscriber(this._getPubChannel(routerChannel), event).forEach(function(v) {
            return _.arrayUniquePush(subscribers, v);
          });
        }
        var ret = [];
        if (!subscribers.length) return ret;
        var key = "$" + this._key;
        for (var _a = 0, subscribers_1 = subscribers; _a < subscribers_1.length; _a++) {
          var subscriber = subscribers_1[_a];
          if (subscriber) {
            var condition = subscriber[KEY_IF];
            if ("function" === typeof condition && !condition.call.apply(condition, __spreadArrays([ _.isArray(subscriber) ? subscriber[0] : null, data ], args))) continue;
            var times = subscriber[KEY_TIMES];
            if (times) {
              times--;
              if (times <= 0) {
                delete subscriber[KEY_TIMES];
                this.unsubscribe(subscriber, channel, event, srvType);
              } else subscriber[KEY_TIMES] = times;
            }
            if (_.isFunction(subscriber)) {
              var r = this._callSub(null, subscriber, __spreadArrays([ data ], args));
              if (r) {
                ret.push(r);
                if (r.break) return ret;
              }
            } else if (_.isArray(subscriber) && _.isFunction(subscriber[1])) {
              var a = __spreadArrays([ data ], args);
              subscriber[2] > 0 && a.unshift(event);
              (subscriber[2] < 0 || subscriber[2] > 1) && a.unshift(pubChannel);
              var r = this._callSub(subscriber[0], subscriber[1], a);
              if (r) {
                ret.push(r);
                if (r.break) return ret;
              }
            } else {
              var func = subscriber[key];
              if (_.isFunction(func)) {
                var r = this._callSub(subscriber, func, __spreadArrays([ pubChannel, event, data ], args));
                if (r) {
                  ret.push(r);
                  if (r.break) return ret;
                }
              }
              func = subscriber[key + "_" + pubChannel];
              if (_.isFunction(func)) {
                var r = this._callSub(subscriber, func, __spreadArrays([ event, data ], args));
                if (r) {
                  ret.push(r);
                  if (r.break) return ret;
                }
              }
              func = subscriber[key + "_" + pubChannel + "_" + event];
              if (_.isFunction(func)) {
                var r = this._callSub(subscriber, func, __spreadArrays([ data ], args));
                if (r) {
                  ret.push(r);
                  if (r.break) return ret;
                }
              }
            }
          } else console.error("error publice(" + pubChannel + ", " + event + "): subscriber is undefined!");
        }
        return ret;
      };
      CEvent.prototype.dispatch = function(channel, event, srvType, data) {
        void 0 === event && (event = "");
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        return this.publish.apply(this, __spreadArrays([ channel, event, srvType, data ], args));
      };
      CEvent.prototype._callSubAsync = function(obj, func, args, resultCB) {
        return __awaiter(this, void 0, Promise, function() {
          var r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!_.isFunction(func)) return [ 3, 2 ];
              return [ 4, func.apply(obj, args) ];

             case 1:
              r = _a.sent();
              if (!r) return [ 2, r = EventRet() ];
              r && !r.break && resultCB && resultCB(r.err, r.r, obj);
              return [ 2, r ];

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      CEvent.prototype.publishAsync = function(channel, event, srvType, data) {
        void 0 === event && (event = "");
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var pubChannel, subscribers, routerChannel, ret, retPromise, key, _a, subscribers_2, subscriber, times, r, a, r, func, r, r, r;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (this._state <= 0) return [ 2, [] ];
              pubChannel = this._getPubChannel(channel, srvType);
              subscribers = this.getSubscriber(pubChannel, event);
              routerChannel = "";
              _channelRouter[channel + ":" + event] && args.length && (routerChannel = channel + ":" + this._getArgsKVString(_channelRouter[channel + ":" + event], args));
              routerChannel && this.getSubscriber(this._getPubChannel(routerChannel, srvType), event).forEach(function(v) {
                return _.arrayUniquePush(subscribers, v);
              });
              if ("" !== srvType && srvType) {
                this.getSubscriber(this._getPubChannel(channel, ""), event).forEach(function(v) {
                  return _.arrayUniquePush(subscribers, v);
                });
                routerChannel && this.getSubscriber(this._getPubChannel(routerChannel, ""), event).forEach(function(v) {
                  return _.arrayUniquePush(subscribers, v);
                });
              } else if ("" === srvType && this.srvType) {
                this.getSubscriber(this._getPubChannel(channel), event).forEach(function(v) {
                  return _.arrayUniquePush(subscribers, v);
                });
                routerChannel && this.getSubscriber(this._getPubChannel(routerChannel), event).forEach(function(v) {
                  return _.arrayUniquePush(subscribers, v);
                });
              }
              ret = [];
              retPromise = [];
              if (!subscribers.length) return [ 2, ret ];
              key = "$" + this._key;
              for (_a = 0, subscribers_2 = subscribers; _a < subscribers_2.length; _a++) {
                subscriber = subscribers_2[_a];
                if (subscriber) {
                  times = subscriber[KEY_TIMES];
                  if (times) {
                    times--;
                    if (times <= 0) {
                      delete subscriber[KEY_TIMES];
                      this.unsubscribe(subscriber, channel, event, srvType);
                    } else subscriber[KEY_TIMES] = times;
                  }
                  if (_.isFunction(subscriber)) {
                    r = this._callSubAsync(null, subscriber, __spreadArrays([ data ], args));
                    retPromise.push(r);
                  } else if (_.isArray(subscriber) && _.isFunction(subscriber[1])) {
                    a = __spreadArrays([ data ], args);
                    subscriber[2] > 0 && a.unshift(event);
                    (subscriber[2] < 0 || subscriber[2] > 1) && a.unshift(pubChannel);
                    r = this._callSubAsync(subscriber[0], subscriber[1], a);
                    retPromise.push(r);
                  } else {
                    func = subscriber[key];
                    if (_.isFunction(func)) {
                      r = this._callSubAsync(subscriber, func, __spreadArrays([ pubChannel, event, data ], args));
                      retPromise.push(r);
                    }
                    func = subscriber[key + "_" + pubChannel];
                    if (_.isFunction(func)) {
                      r = this._callSubAsync(subscriber, func, __spreadArrays([ event, data ], args));
                      retPromise.push(r);
                    }
                    func = subscriber[key + "_" + pubChannel + "_" + event];
                    if (_.isFunction(func)) {
                      r = this._callSubAsync(subscriber, func, __spreadArrays([ data ], args));
                      retPromise.push(r);
                    }
                  }
                } else console.error("error publice(" + pubChannel + ", " + event + "): subscriber is undefined!");
              }
              return [ 4, Promise.all(retPromise) ];

             case 1:
              ret = _b.sent();
              return [ 2, ret ];
            }
          });
        });
      };
      CEvent.prototype.dispatchAsync = function(channel, event, srvType, data) {
        void 0 === event && (event = "");
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.publishAsync.apply(this, __spreadArrays([ channel, event, srvType, data ], args)) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype._hasApi = function(channel, cmd, srvType) {
        var api = this.getApiName(channel, cmd, srvType);
        var apiData = this._apis[api];
        return !!apiData;
      };
      CEvent.prototype.hasApi = function(channel, cmd, srvType) {
        if ("" !== srvType) {
          if (this._hasApi(channel, cmd, "")) return true;
        } else if ("" === srvType && this.srvType && this._hasApi(channel, cmd)) return true;
        return this._hasApi(channel, cmd, srvType);
      };
      CEvent.prototype.hasRpc = function(api) {
        return !!this.getApi(api);
      };
      CEvent.prototype.getApiName = function(channel, cmd, srvType) {
        var pubChannel = this._getPubChannel(channel, srvType);
        var api = pubChannel ? pubChannel + "." + cmd : cmd;
        return api;
      };
      CEvent.prototype._api = function(channel, cmd, srvType) {
        var args = [];
        for (var _i = 3; _i < arguments.length; _i++) args[_i - 3] = arguments[_i];
        var api = this.getApiName(channel, cmd, srvType);
        var apiData = this.getApi(api);
        return apiData ? {
          r: apiData.f.apply(apiData.t, args)
        } : {
          err: "no api",
          api: api
        };
      };
      CEvent.prototype.api = function(channel, cmd, srvType) {
        var args = [];
        for (var _i = 3; _i < arguments.length; _i++) args[_i - 3] = arguments[_i];
        if (this._state <= 0) return {
          err: "stop",
          api: cmd
        };
        _.isVoid(srvType) && (srvType = this.srvType);
        if (_channelRouter[channel + ":" + cmd] && args.length) {
          var routerChannel = channel + ":" + this._getArgsKVString(_channelRouter[channel + ":" + cmd], args);
          if (this._hasApi(routerChannel, cmd, "")) return this._api.apply(this, __spreadArrays([ routerChannel, cmd, "" ], args));
          if ("" === srvType && this.srvType && this._hasApi(routerChannel, cmd)) return this._api.apply(this, __spreadArrays([ routerChannel, cmd, this.srvType ], args));
          if (this._hasApi(routerChannel, cmd, srvType)) return this._api.apply(this, __spreadArrays([ routerChannel, cmd, srvType ], args));
        }
        if (srvType && this._hasApi(channel, cmd, "")) return this._api.apply(this, __spreadArrays([ channel, cmd, "" ], args));
        if ("" === srvType && this.srvType && this._hasApi(channel, cmd)) return this._api.apply(this, __spreadArrays([ channel, cmd, this.srvType ], args));
        return this._api.apply(this, __spreadArrays([ channel, cmd, srvType ], args));
      };
      CEvent.prototype._apiAsync = function(channel, cmd, srvType, timeoutMS) {
        void 0 === timeoutMS && (timeoutMS = 0);
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var api, apiData, a_1;
          var _a;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              api = this.getApiName(channel, cmd, srvType);
              apiData = this.getApi(this.getApiName(channel, cmd, srvType));
              if (!apiData) return [ 3, 5 ];
              if (!(timeoutMS > 0)) return [ 3, 2 ];
              a_1 = apiData;
              return [ 4, new Promise(function(rs, rj) {
                return __awaiter(_this, void 0, void 0, function() {
                  var rr, ret;
                  var _a;
                  return __generator(this, function(_b) {
                    switch (_b.label) {
                     case 0:
                      rr = rs;
                      setTimeout(function() {
                        rr && rr({
                          err: "999",
                          api: api
                        });
                      }, timeoutMS);
                      _a = {};
                      return [ 4, a_1.f.apply(a_1.t, args) ];

                     case 1:
                      ret = (_a.r = _b.sent(), _a);
                      rr(ret);
                      rr = null;
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 1:
              return [ 2, _b.sent() ];

             case 2:
              _a = {};
              return [ 4, apiData.f.apply(apiData.t, args) ];

             case 3:
              return [ 2, (_a.r = _b.sent(), _a) ];

             case 4:
              return [ 3, 6 ];

             case 5:
              return [ 2, {
                err: "no api",
                api: api
              } ];

             case 6:
              return [ 2 ];
            }
          });
        });
      };
      CEvent.prototype._getArgsKVString = function(keys, args) {
        var kvs = [];
        var _router;
        if (args[0] && args[0]._router) {
          _router = args[0]._router;
          args[0]._msg_ ? args[0] = args[0]._arg_ : delete args[0]._router;
        }
        keys.forEach(function(k) {
          if (_router) {
            var v = _router[k];
            if (void 0 !== v) {
              kvs.push(k + "_" + v);
              return;
            }
          }
          var ia = 0;
          for (;"$_".indexOf(k[ia]) >= 0; ia++) ;
          var a = args[ia];
          if (a) {
            var v = a[k.slice(ia)];
            if (void 0 !== v) {
              kvs.push(k + "_" + v);
              return;
            }
          }
          if (ia > 0 && args[0]) {
            var v = args[0][k];
            if (void 0 !== v) {
              kvs.push(k + "_" + v);
              return;
            }
          }
        });
        return kvs.join("-");
      };
      CEvent.prototype.apiAsync = function(channel, cmd, srvType) {
        var args = [];
        for (var _i = 3; _i < arguments.length; _i++) args[_i - 3] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var routerChannel;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this._state <= 0) return [ 2, {
                err: "stop",
                api: cmd
              } ];
              _.isVoid(srvType) && (srvType = this.srvType);
              if (!(_channelRouter[channel + ":" + cmd] && args.length)) return [ 3, 6 ];
              routerChannel = channel + ":" + this._getArgsKVString(_channelRouter[channel + ":" + cmd], args);
              if (!this._hasApi(routerChannel, cmd, "")) return [ 3, 2 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, "", 0 ], args)) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              if (!("" === srvType && this.srvType && this._hasApi(routerChannel, cmd))) return [ 3, 4 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, this.srvType, 0 ], args)) ];

             case 3:
              return [ 2, _a.sent() ];

             case 4:
              if (!this._hasApi(routerChannel, cmd, srvType)) return [ 3, 6 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, srvType, 0 ], args)) ];

             case 5:
              return [ 2, _a.sent() ];

             case 6:
              if (!(srvType && this._hasApi(channel, cmd, ""))) return [ 3, 8 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, "", 0 ], args)) ];

             case 7:
              return [ 2, _a.sent() ];

             case 8:
              if (!("" === srvType && this.srvType && this._hasApi(channel, cmd))) return [ 3, 10 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, this.srvType, 0 ], args)) ];

             case 9:
              return [ 2, _a.sent() ];

             case 10:
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, srvType, 0 ], args)) ];

             case 11:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype.apiAsyncT = function(channel, cmd, srvType, timeoutMS) {
        void 0 === timeoutMS && (timeoutMS = 0);
        var args = [];
        for (var _i = 4; _i < arguments.length; _i++) args[_i - 4] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var routerChannel;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this._state <= 0) return [ 2, {
                err: "stop",
                api: cmd
              } ];
              _.isVoid(srvType) && (srvType = this.srvType);
              if (!(_channelRouter[channel + ":" + cmd] && args.length)) return [ 3, 6 ];
              routerChannel = channel + ":" + this._getArgsKVString(_channelRouter[channel + ":" + cmd], args);
              if (!this._hasApi(routerChannel, cmd, "")) return [ 3, 2 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, "", timeoutMS ], args)) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              if (!("" === srvType && this.srvType && this._hasApi(routerChannel, cmd))) return [ 3, 4 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, this.srvType, timeoutMS ], args)) ];

             case 3:
              return [ 2, _a.sent() ];

             case 4:
              if (!this._hasApi(routerChannel, cmd, srvType)) return [ 3, 6 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ routerChannel, cmd, srvType, timeoutMS ], args)) ];

             case 5:
              return [ 2, _a.sent() ];

             case 6:
              if (!(srvType && this._hasApi(channel, cmd, ""))) return [ 3, 8 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, "", timeoutMS ], args)) ];

             case 7:
              return [ 2, _a.sent() ];

             case 8:
              if (!("" === srvType && this.srvType && this._hasApi(channel, cmd))) return [ 3, 10 ];
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, this.srvType, timeoutMS ], args)) ];

             case 9:
              return [ 2, _a.sent() ];

             case 10:
              return [ 4, this._apiAsync.apply(this, __spreadArrays([ channel, cmd, srvType, timeoutMS ], args)) ];

             case 11:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype.rpc = function(api) {
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
        if (this._state <= 0) return {
          err: "stop",
          api: api
        };
        var apiData = this.getApi(api);
        if (apiData) return {
          r: apiData.f.apply(apiData.t, args)
        };
        console.error("Event rpc not find  ---\x3e " + api);
        return {
          err: "no rpc"
        };
      };
      CEvent.prototype.rpcAsync = function(api) {
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var apiData, e_1;
          var _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (this._state <= 0) return [ 2, {
                err: "stop",
                api: api
              } ];
              _b.label = 1;

             case 1:
              _b.trys.push([ 1, 5, , 6 ]);
              apiData = this.getApi(api);
              if (!apiData) return [ 3, 3 ];
              _a = {};
              return [ 4, apiData.f.apply(apiData.t, args) ];

             case 2:
              return [ 2, (_a.r = _b.sent(), _a) ];

             case 3:
              console.error("Event rpc not find  ---\x3e " + api);
              return [ 2, {
                err: "no rpc"
              } ];

             case 4:
              return [ 3, 6 ];

             case 5:
              e_1 = _b.sent();
              console.error(e_1);
              return [ 2, {
                err: e_1
              } ];

             case 6:
              return [ 2 ];
            }
          });
        });
      };
      CEvent.prototype.apiMQ = function(channel, api, srvType) {
        var args = [];
        for (var _i = 3; _i < arguments.length; _i++) args[_i - 3] = arguments[_i];
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this._state <= 0) return [ 2, {
                err: "stop",
                api: api
              } ];
              if (!this.hasApi(channel, api)) return [ 3, 2 ];
              return [ 4, this.apiAsync.apply(this, __spreadArrays([ channel, api, srvType ], args)) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              return [ 4, new Promise(function(resolve) {
                _this._apiQueue.push(__spreadArrays([ resolve, channel, api, srvType ], args));
              }) ];

             case 3:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CEvent.prototype.define_listen = function(channel, event, priority) {
        var _this = this;
        void 0 === priority && (priority = 0);
        return function(target, propertyKey, descriptor) {
          _this.subscribe([ target, descriptor.value, event ? channel ? 0 : -1 : channel ? 1 : 2 ], channel, event, void 0, 0, void 0, priority);
          return descriptor;
        };
      };
      Object.defineProperty(CEvent.prototype, "define_listener", {
        get: function() {
          var _this = this;
          return function(target, propertyKey, descriptor) {
            var _a = propertyKey.split("_"), priority = _a[0], channel = _a[1], event = _a[2];
            _this.subscribe([ target, descriptor.value, event ? channel ? 0 : -1 : channel ? 1 : 2 ], channel, event, void 0, 0, void 0, priority);
            return descriptor;
          };
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CEvent.prototype, "define_rpc", {
        get: function() {
          var _this = this;
          return function(target, propertyKey, descriptor) {
            var _a = propertyKey.split("_"), channel = _a[1], event = _a[2];
            _this.setApi(channel, event, target, descriptor.value);
            return descriptor;
          };
        },
        enumerable: false,
        configurable: true
      });
      return CEvent;
    }();
    exports.CEvent = CEvent;
    exports.Events = CEvent.newEvent();
    cc._RF.pop();
  }, {
    "../framework/PPPB-utils": "PPPB-utils"
  } ],
  "PPPB-feature": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ec386KVkf1CtqplrSo82wxL", "PPPB-feature");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_betConfig_1 = require("../../common/config/PPPB-betConfig");
    var PPPB_user_1 = require("./controller/PPPB-user");
    var ccclass = cc._decorator.ccclass;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.betIndex = 0;
        _this.count = 1;
        return _this;
      }
      Object.defineProperty(NewClass.prototype, "conf", {
        get: function() {
          return PPPB_betConfig_1.betPriceConf;
        },
        enumerable: false,
        configurable: true
      });
      NewClass.prototype.onStart = function() {
        this.updateText();
      };
      NewClass.prototype.updateText = function() {
        PPPB_ui_1.ui.setUIDataValue(this, {
          num1: this.conf[this.betIndex],
          num2: this.count,
          num3: PPPB_betConfig_1.buyFree.unitPrice * this.count * this.conf[this.betIndex]
        });
      };
      NewClass.prototype.$ui_root_kuang_add__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.betIndex >= this.conf.length - 1) return [ 2 ];
            this.betIndex++;
            this.updateText();
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_root_kuang_minus__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.betIndex <= 0) return [ 2 ];
            this.betIndex--;
            this.updateText();
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_root_kuang1_add__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.count++;
            this.updateText();
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_root_kuang1_minus__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.count <= 1) return [ 2 ];
            this.count--;
            this.updateText();
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_root_buy__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var price;
          return __generator(this, function(_a) {
            price = PPPB_betConfig_1.buyFree.unitPrice * this.count * this.conf[this.betIndex];
            if (price > PPPB_user_1.user.balance) return [ 2, PPPB_ui_1.ui.tips("insufficient balance") ];
            PPPB_event_1.Events.publish("free", "buy", "", {
              betIndex: this.betIndex,
              count: this.count,
              price: price
            });
            PPPB_ui_1.ui.showUnquire("feature", false);
            return [ 2 ];
          });
        });
      };
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-event": "PPPB-event",
    "./controller/PPPB-user": "PPPB-user"
  } ],
  "PPPB-fitWin": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b506140vxlLxKyAIoe3MeQu", "PPPB-fitWin");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_quick_1 = require("./PPPB-quick");
    var PPPB_ui_1 = require("../framework-cocos/PPPB-ui");
    var PPPB_UComponent_1 = require("../framework-cocos/components/PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu;
    var cname = "FitWin";
    var UFitWin = function(_super) {
      __extends(UFitWin, _super);
      function UFitWin() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      UFitWin.prototype.onShow = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            this.nextFrame(function() {
              _this.nextFrame(function() {
                var size = PPPB_quick_1.ks.getWinSize();
                _this.node.setContentSize(size);
                console.log(size);
                PPPB_ui_1.ui.lookupComponents(_this, cc.Widget, function(c, res) {
                  c.updateAlignment();
                  return true;
                });
              });
            });
            return [ 2 ];
          });
        });
      };
      UFitWin = __decorate([ ccclass, menu("PPPB/ui/" + cname) ], UFitWin);
      return UFitWin;
    }(PPPB_UComponent_1.UComponent);
    exports.default = UFitWin;
    cc._RF.pop();
  }, {
    "../framework-cocos/PPPB-ui": "PPPB-ui",
    "../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "./PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-gameChanImpl": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "c7c5cXysC5Ph7+3FOHTHV8k", "PPPB-gameChanImpl");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.GameChan = void 0;
    var PPPB_heart_1 = require("../../flm/client/controller/PPPB-heart");
    var PPPB_gameChan_1 = require("../../framework/gameLobbyChan/PPPB-gameChan");
    var GameChan = function() {
      function GameChan() {}
      GameChan.prototype.onGameStart = function() {};
      GameChan.prototype.onGameClose = function() {
        PPPB_heart_1.heart.stop();
      };
      GameChan.prototype.onGameClean = function() {
        PPPB_heart_1.heart.stop();
      };
      GameChan = __decorate([ PPPB_gameChan_1.gameChanWrited() ], GameChan);
      return GameChan;
    }();
    exports.GameChan = GameChan;
    cc._RF.pop();
  }, {
    "../../flm/client/controller/PPPB-heart": void 0,
    "../../framework/gameLobbyChan/PPPB-gameChan": "PPPB-gameChan"
  } ],
  "PPPB-gameChan": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "820deTBIoZNE5jcPA44mVs2", "PPPB-gameChan");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.gameChanWrited = void 0;
    function gameChanWrited() {
      return function(targetClass) {
        false;
        window["GameChanImpl"] = targetClass;
      };
    }
    exports.gameChanWrited = gameChanWrited;
    cc._RF.pop();
  }, {} ],
  "PPPB-gameLobbyChan": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e4aeaVf9qtNOqbH/hWmFQsO", "PPPB-gameLobbyChan");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.getGameLobbyChan = exports.windowGameLobbyChanKey = void 0;
    exports.windowGameLobbyChanKey = "GameLobbyChan";
    function getGameLobbyChan() {
      false;
      var target = window[exports.windowGameLobbyChanKey];
      target || console.error("no GameLobbyChan please init first...");
      return target;
    }
    exports.getGameLobbyChan = getGameLobbyChan;
    cc._RF.pop();
  }, {} ],
  "PPPB-gameNumConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "54c4blUKddN8atp4+rX/YRy", "PPPB-gameNumConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.scrollNum = void 0;
    exports.scrollNum = {
      strScrWT: [ 50, 0, 50 ],
      strScrSpeed: 2400,
      aScrFastWT: 500,
      aScrWT: 1e3,
      aScrInterruptWT: 120
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-gameSettings": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "956fbh6blxJlox01YRaHBvD", "PPPB-gameSettings");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.GameSettings = exports.GameSpeed = void 0;
    var PPPB_quick_1 = require("./PPPB-quick");
    var GAME_SPEED_SAVE_VAR = "gameSpeed";
    var GAME_VOLUME_SAVE_VAR = "gameVolume";
    var GAME_SOUND_MUTE_SAVE_VAR = "gameSoundMute";
    var GAME_BGM_MUTE_SAVE_VAR = "gameBGMMute";
    var GAME_SFX_MUTE_SAVE_VAR = "gameSFXMute";
    var SKIP_SCREEN_SAVE_VAR = "skipScreen";
    var SKIP_INTRO_SCREEN_SAVE_VAR = "skipIntroScreen";
    var BATTERY_SAVER_SAVE_VAR = "batterySaver";
    var GameSpeed;
    (function(GameSpeed) {
      GameSpeed[GameSpeed["NORMAL"] = 0] = "NORMAL";
      GameSpeed[GameSpeed["QUICK"] = 1] = "QUICK";
      GameSpeed[GameSpeed["TURBO"] = 2] = "TURBO";
    })(GameSpeed = exports.GameSpeed || (exports.GameSpeed = {}));
    var GameSettings = function() {
      function GameSettings() {}
      Object.defineProperty(GameSettings, "introScreenSkip", {
        get: function() {
          return this._introScreenSkip;
        },
        set: function(value) {
          this._introScreenSkip = value;
          PPPB_quick_1.ks.localSave(SKIP_INTRO_SCREEN_SAVE_VAR, this._introScreenSkip ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isSoundMute", {
        get: function() {
          return this._isSoundMute;
        },
        set: function(value) {
          this._isSoundMute = value;
          PPPB_quick_1.ks.localSave(GAME_SOUND_MUTE_SAVE_VAR, this._isSoundMute ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isSoundMuteTemp", {
        set: function(value) {
          this._isSoundMute = value;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isBGMMute", {
        get: function() {
          return this._isBGMMute;
        },
        set: function(value) {
          this._isBGMMute = value;
          PPPB_quick_1.ks.localSave(GAME_BGM_MUTE_SAVE_VAR, this._isBGMMute ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isBGMMuteTemp", {
        set: function(value) {
          this._isBGMMute = value;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isSFXMute", {
        get: function() {
          return this._isSFXMute;
        },
        set: function(value) {
          this._isSFXMute = value;
          PPPB_quick_1.ks.localSave(GAME_SFX_MUTE_SAVE_VAR, this._isSFXMute ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isSFXMuteTemp", {
        set: function(value) {
          this._isSFXMute = value;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "gameVolume", {
        get: function() {
          return this._gameVolume;
        },
        set: function(value) {
          this._gameVolume = value;
          PPPB_quick_1.ks.localSave(GAME_VOLUME_SAVE_VAR, this._gameVolume);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "gameSpeed", {
        get: function() {
          return this._gameSpeed;
        },
        set: function(value) {
          this._gameSpeed = value;
          PPPB_quick_1.ks.localSave(GAME_SPEED_SAVE_VAR, this._gameSpeed);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isSkipScreenEnabled", {
        get: function() {
          return this._isSkipScreenEnabled;
        },
        set: function(value) {
          this._isSkipScreenEnabled = value;
          PPPB_quick_1.ks.localSave(SKIP_SCREEN_SAVE_VAR, this._isSkipScreenEnabled ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      GameSettings.StartAutoplay = function(amount) {
        this._autoplaySpinsRemaining = amount;
        this._isAutoplayEnabled = true;
      };
      GameSettings.ReduceAutoplaySpins = function() {
        this._autoplaySpinsRemaining = Math.max(0, this._autoplaySpinsRemaining - 1);
      };
      GameSettings.StopAutoplay = function() {
        this._isAutoplayEnabled = false;
        this._autoplaySpinsRemaining = 0;
      };
      Object.defineProperty(GameSettings, "isAutoplayEnabled", {
        get: function() {
          return this._isAutoplayEnabled;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "autoplaySpinsRemaining", {
        get: function() {
          return this._autoplaySpinsRemaining;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(GameSettings, "isBatterySaverEnabled", {
        get: function() {
          return this._isBatterySaverEnabled;
        },
        set: function(value) {
          this._isBatterySaverEnabled = value;
          PPPB_quick_1.ks.localSave(BATTERY_SAVER_SAVE_VAR, this._isBatterySaverEnabled ? 1 : 0);
        },
        enumerable: false,
        configurable: true
      });
      GameSettings.LoadSettingsFromSaveData = function() {
        this._gameSpeed = PPPB_quick_1.ks.getLocalSave(GAME_SPEED_SAVE_VAR) || GameSpeed.NORMAL;
        var savedSkipScreenToggleData = PPPB_quick_1.ks.getLocalSave(SKIP_SCREEN_SAVE_VAR);
        this._isSkipScreenEnabled = 1 == savedSkipScreenToggleData || null == savedSkipScreenToggleData;
        this._gameVolume = PPPB_quick_1.ks.getLocalSave(GAME_VOLUME_SAVE_VAR) || 1;
        this._isSoundMute = 1 == PPPB_quick_1.ks.getLocalSave(GAME_SOUND_MUTE_SAVE_VAR) || (false, 
        false);
        this._isBGMMute = 1 == PPPB_quick_1.ks.getLocalSave(GAME_BGM_MUTE_SAVE_VAR) || (false, 
        false);
        this._isSFXMute = 1 == PPPB_quick_1.ks.getLocalSave(GAME_SFX_MUTE_SAVE_VAR) || (false, 
        false);
        this._introScreenSkip = 1 == PPPB_quick_1.ks.getLocalSave(SKIP_INTRO_SCREEN_SAVE_VAR) || (false, 
        false);
        this._isBatterySaverEnabled = 1 == PPPB_quick_1.ks.getLocalSave(BATTERY_SAVER_SAVE_VAR) || (false, 
        false);
      };
      GameSettings._gameSpeed = GameSpeed.NORMAL;
      GameSettings._isSkipScreenEnabled = false;
      GameSettings._isAutoplayEnabled = false;
      GameSettings._autoplaySpinsRemaining = 0;
      GameSettings._isBatterySaverEnabled = false;
      GameSettings._introScreenSkip = false;
      GameSettings._isSoundMute = false;
      GameSettings._isBGMMute = false;
      GameSettings._isSFXMute = false;
      GameSettings._gameVolume = 1;
      return GameSettings;
    }();
    exports.GameSettings = GameSettings;
    exports.default = GameSettings;
    cc._RF.pop();
  }, {
    "./PPPB-quick": "PPPB-quick"
  } ],
  "PPPB-game_out": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "52288HeW5JCeqY4ng6P1xAC", "PPPB-game_out");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      NewClass.prototype.onShow = function() {
        var panel = PPPB_ui_1.ui.getNode([ this, "panel" ]);
        PPPB_action_1.ACT(panel).scaleTo(.1, 1.1, 1.1, cc.easeBackInOut()).scaleTo(.1, 1, 1, cc.easeBackInOut()).act();
      };
      NewClass.prototype.$ui_panel_quit__click = function() {
        cc.game.end();
      };
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-action": "PPPB-action",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-game": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "3adc9yMZ5BK0LWcQj/d3zNf", "PPPB-game");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_block_1 = require("./PPPB-block");
    var PPPB_audio_1 = require("../../framework-cocos/PPPB-audio");
    var PPPB_audioConfig_1 = require("../config/PPPB-audioConfig");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_res_1 = require("../../framework-cocos/PPPB-res");
    var PPPB_uiConfig_1 = require("../config/PPPB-uiConfig");
    var PPPB_pool_1 = require("../../framework-cocos/PPPB-pool");
    var PPPB__main_1 = require("../../PPPB-_main");
    var PPPB_language_1 = require("../../framework-cocos/PPPB-language");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_audioPath_1 = require("../../common/config/PPPB-audioPath");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var Game = function(_super) {
      __extends(Game, _super);
      function Game() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._atlasDebug = 0;
        _this.menuParent = null;
        _this._langIdx = 1;
        return _this;
      }
      Game.prototype.onLoaded = function() {
        var _this = this;
        PPPB_ui_1.ui.rootNode = "Canvas";
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
        PPPB__main_1.CMain.init();
        var addit = function(layer, v, o) {
          if (v.addits) for (var _i = 0, _a = v.addits; _i < _a.length; _i++) {
            var a = _a[_i];
            PPPB_ui_1.ui.addComponent(o, a, {
              layer: layer,
              game: _this,
              gameUI: !v.layer
            });
          }
        };
        PPPB_ui_1.ui.unquireUIParents["menu"] = this.menuParent;
        PPPB_lib_1._.each(PPPB_uiConfig_1.uiConfig.menu, function(v, k) {
          PPPB_ui_1.ui.createUnique(k, v.path, void 0, {
            attr: {
              active: false,
              zIndex: v.zIndex
            }
          }, _this.menuParent, v.isDelay, addit.bind(_this, 0, v)).then(function() {
            PPPB_res_1.res.setAutoRelease(v.path, -2);
          });
        });
        PPPB_lib_1._.sleep(5e3).then(function() {
          PPPB_res_1.res.startGC();
        });
      };
      Game.prototype.onStart = function() {
        PPPB_block_1.block.init();
        PPPB__main_1.CMain.inited();
        PPPB_audio_1.audio._defaultBGM = PPPB_audioPath_1.audioPath.BGM + PPPB_audioConfig_1.AudioConf.BGM.DEFAULT;
      };
      Game.prototype.$event_debug_changeLanguage = function() {
        this.changeLanguage();
      };
      Game.prototype.changeLanguage = function() {
        var l = [ "zh", "en", "pt", "mm", "vn", "thai", "kh", "es" ];
        ++this._langIdx;
        this._langIdx %= l.length;
        PPPB_language_1.language.setLanguage(l[this._langIdx]);
        PPPB_event_1.Events.publish("game", "tips", "", "Switched language to " + l[this._langIdx]);
      };
      Game.prototype.onKeyDown = function(event) {
        var _a;
        return __awaiter(this, void 0, void 0, function() {
          var islocal, _b, k, v, len, i, key, len, i, key, n;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              islocal = "localhost" == (null === (_a = null === window || void 0 === window ? void 0 : window.location) || void 0 === _a ? void 0 : _a.hostname);
              _b = event.keyCode;
              switch (_b) {
               case cc.macro.KEY.c:
                return [ 3, 1 ];

               case cc.macro.KEY.s:
                return [ 3, 2 ];

               case cc.macro.KEY.d:
                return [ 3, 3 ];

               case cc.macro.KEY.f:
                return [ 3, 4 ];

               case cc.macro.KEY.p:
                return [ 3, 5 ];

               case cc.macro.KEY.l:
                return [ 3, 6 ];

               case cc.macro.KEY.o:
                return [ 3, 7 ];

               case cc.macro.KEY.i:
                return [ 3, 8 ];

               case cc.macro.KEY.k:
                return [ 3, 9 ];

               case cc.macro.KEY.space:
                return [ 3, 11 ];

               case cc.macro.KEY.f1:
                return [ 3, 12 ];

               case cc.macro.KEY.f2:
                return [ 3, 13 ];
              }
              return [ 3, 14 ];

             case 1:
              if (cc.sys.isNative) return [ 2 ];
              if (!islocal) return [ 2 ];
              console.log(PPPB_ui_1.ui.canvas);
              return [ 3, 15 ];

             case 2:
              if (cc.sys.isNative) return [ 2 ];
              if (!islocal) return [ 2 ];
              cc.debug.setDisplayStats(!cc.debug.isDisplayStats());
              return [ 3, 15 ];

             case 3:
              if (cc.sys.isNative) return [ 2 ];
              if (!islocal) return [ 2 ];
              PPPB_sys_1.sys.debugMode = PPPB_sys_1.sys.debugMode ? 0 : 1;
              PPPB_sys_1.sys.currency = "USD";
              PPPB_ui_1.ui.tips("debug\u6a21\u5f0f" + (PPPB_sys_1.sys.debugMode ? "\u5f00\u542f" : "\u5173\u95ed"));
              PPPB_sys_1.sys.debugMode && PPPB_event_1.Events.publish("game", "debug", "", "");
              return [ 3, 15 ];

             case 4:
              if (cc.sys.isNative) return [ 2 ];
              if (!islocal) return [ 2 ];
              PPPB_block_1.block.off();
              PPPB_res_1.res.gc();
              for (k in PPPB_pool_1.pool._caches) {
                v = PPPB_pool_1.pool._caches[k];
                v.timeLenMS = 0;
              }
              PPPB_pool_1.pool.refreshNode();
              return [ 3, 15 ];

             case 5:
              if (cc.sys.isNative) return [ 2 ];
              if (!islocal) return [ 2 ];
              this._atlasDebug = 1 - this._atlasDebug;
              cc.dynamicAtlasManager.showDebug(!!this._atlasDebug);
              return [ 3, 15 ];

             case 6:
              this.changeLanguage();
              return [ 3, 15 ];

             case 7:
              if (!islocal) return [ 2 ];
              len = cc.sys.localStorage.length;
              for (i = 0; i < len; i++) {
                key = cc.sys.localStorage.key(i);
                console.log(key, PPPB_lib_1._.unserialize(cc.sys.localStorage.getItem(key)));
              }
              return [ 3, 15 ];

             case 8:
              if (!islocal) return [ 2 ];
              len = cc.sys.localStorage.length;
              for (i = len - 1; i >= 0; i--) {
                key = cc.sys.localStorage.key(i);
                key.startsWith("algorithm_") && cc.sys.localStorage.removeItem(key);
              }
              return [ 3, 15 ];

             case 9:
              if (!islocal) return [ 2 ];
              n = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "input" ]);
              if (PPPB_ui_1.ui.isValid(n)) {
                PPPB_ui_1.ui.destroy(n);
                return [ 2 ];
              }
              return [ 4, PPPB_ui_1.ui.doModelUI("prefab/ui/input") ];

             case 10:
              _c.sent();
              return [ 3, 15 ];

             case 11:
              PPPB_event_1.Events.publish("turbo", "isForced", "", true);
              PPPB_event_1.Events.publish("click", "spinbtn", "");
              return [ 3, 15 ];

             case 12:
              PPPB_event_1.Events.publish("empty", "playergold", "");
              PPPB_event_1.Events.publish("game", "tips", "", "Player gold emptied");
              return [ 3, 15 ];

             case 13:
              PPPB_event_1.Events.publish("add", "playergold", "");
              PPPB_event_1.Events.publish("game", "tips", "", "Player gold added");
              return [ 3, 15 ];

             case 14:
              return [ 3, 15 ];

             case 15:
              return [ 2 ];
            }
          });
        });
      };
      Game.prototype.onKeyUp = function(event) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (event.keyCode) {
             case cc.macro.KEY.space:
              PPPB_event_1.Events.publish("turbo", "isForced", "", false);
            }
            return [ 2 ];
          });
        });
      };
      __decorate([ property(cc.Node) ], Game.prototype, "menuParent", void 0);
      Game = __decorate([ ccclass ], Game);
      return Game;
    }(PPPB_UComponent_1.UComponent);
    exports.default = Game;
    cc._RF.pop();
  }, {
    "../../PPPB-_main": "PPPB-_main",
    "../../common/config/PPPB-audioPath": "PPPB-audioPath",
    "../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../framework-cocos/PPPB-language": "PPPB-language",
    "../../framework-cocos/PPPB-pool": "PPPB-pool",
    "../../framework-cocos/PPPB-res": "PPPB-res",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../config/PPPB-audioConfig": "PPPB-audioConfig",
    "../config/PPPB-uiConfig": "PPPB-uiConfig",
    "./PPPB-block": "PPPB-block"
  } ],
  "PPPB-generate": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "09cc7nT9t1Mm5ksSkT7MZ2G", "PPPB-generate");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.gal = void 0;
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_net_1 = require("../../framework/PPPB-net");
    var PPPB_spincards_pb_1 = require("../../proto/PPPB-spincards_pb");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var PPPB_GameServer_1 = require("./PPPB-GameServer");
    function parseUrlParams() {
      var searchParams = new URLSearchParams(window.location.search);
      var _id = searchParams.get("id");
      parentMessage(_id);
    }
    parseUrlParams();
    var GenerateAlgorithm = function() {
      function GenerateAlgorithm() {}
      Object.defineProperty(GenerateAlgorithm, "num", {
        get: function() {
          return this._num;
        },
        set: function(v) {
          this._num = v;
          PPPB_event_1.Events.publish("generate", "cards", "", v);
        },
        enumerable: false,
        configurable: true
      });
      GenerateAlgorithm.start = function(num, frequency, _id, isCallByGM) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
        void 0 === frequency && (frequency = 100);
        void 0 === _id && (_id = "");
        void 0 === isCallByGM && (isCallByGM = false);
        return __awaiter(this, void 0, void 0, function() {
          var ace, sp, uploadData, func, list, url, path, r, request;
          var _this = this;
          return __generator(this, function(_l) {
            switch (_l.label) {
             case 0:
              return [ 4, PPPB_GameServer_1.GameServer.getAce("100000") ];

             case 1:
              ace = _l.sent();
              ace.addBalance(1e9);
              ace.data.bet = 1;
              ace.extra = this.extra;
              this._start = true;
              this._num = num;
              this.ts = num;
              this.frequency = frequency;
              num <= 0 && (this._start = false);
              void 0 != (null === (_a = this.settings) || void 0 === _a ? void 0 : _a.free) && (this.isFree = null === (_b = this.settings) || void 0 === _b ? void 0 : _b.free);
              void 0 != (null === (_c = this.settings) || void 0 === _c ? void 0 : _c.wild) && (this.wild = null === (_d = this.settings) || void 0 === _d ? void 0 : _d.wild);
              void 0 != (null === (_e = this.settings) || void 0 === _e ? void 0 : _e.extra) && (this.extra = null === (_f = this.settings) || void 0 === _f ? void 0 : _f.extra);
              _l.label = 2;

             case 2:
              if (!(this._num > 0)) return [ 3, 11 ];
              if (!this._start) return [ 2 ];
              sp = new PPPB_spincards_pb_1.SpinStruct();
              uploadData = {
                id: "",
                gameType: PPPB_sys_1.sys.gameType,
                cards: null,
                spinType: this.isFree ? "free" : "ord",
                mul: 0,
                extra: this.extra ? 1 : 0
              };
              func = function(mustWin) {
                var list = new PPPB_spincards_pb_1.SpinStruct.Spin();
                var ret = ace.simulate(mustWin, _this.wild);
                if (!_this.isFree && ace.freeSpins) {
                  ace.data.freeSpins = 0;
                  ace.curMul = 1;
                  ace._isFreeGame = false;
                  return;
                }
                if (!_this.isFree && ret.cards.length <= 1) return;
                if (!ret.mul) {
                  ret.cards[0].cards = [];
                  ret.cards[0].specialCards = [];
                }
                var wingold = 0;
                _this.isFree && mustWin || (wingold += ret.mul);
                for (var _i = 0, _a = ret.cards; _i < _a.length; _i++) {
                  var r_1 = _a[_i];
                  var ComboList = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo();
                  ComboList.setFreespins(r_1.freeSpins);
                  ComboList.setMul(r_1.mul);
                  for (var _b = 0, _c = r_1.cards; _b < _c.length; _b++) {
                    var c = _c[_b];
                    var cards = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo.Int32List();
                    cards.setCardvalueList(c);
                    ComboList.addCards(cards);
                  }
                  for (var _d = 0, _e = r_1.winCards; _d < _e.length; _d++) {
                    var w = _e[_d];
                    var winCards = new PPPB_spincards_pb_1.SpinStruct.Spin.Combo.Pos();
                    winCards.setX(w.x);
                    winCards.setY(w.y);
                    ComboList.addWincards(winCards);
                  }
                  list.addCombos(ComboList);
                }
                return {
                  list: list,
                  wingold: wingold
                };
              };
              list = func(this.isFree);
              if (!this.isFree && !list) return [ 3, 2 ];
              if (!this.isFree) {
                uploadData.mul += list.wingold;
                sp.addSpins(list.list);
              }
              if (!uploadData.mul) return [ 3, 2 ];
              if ((null === (_g = this.settings) || void 0 === _g ? void 0 : _g.max) > 0 && uploadData.mul >= (null === (_h = this.settings) || void 0 === _h ? void 0 : _h.max)) return [ 3, 2 ];
              uploadData.cards = Array.from(sp.serializeBinary());
              uploadData.id = _id;
              url = PPPB_sys_1.sys.backStageUrl;
              path = "/cli/upload/spin";
              r = void 0;
              if (!isCallByGM) return [ 3, 4 ];
              return [ 4, this.postSaveSpin(uploadData, _id) ];

             case 3:
              r = _l.sent();
              return [ 3, 6 ];

             case 4:
              return [ 4, PPPB_net_1.Net.httpRequest(url + path, uploadData, "POST") ];

             case 5:
              r = _l.sent();
              _l.label = 6;

             case 6:
              if (null === (_j = null === r || void 0 === r ? void 0 : r.data) || void 0 === _j ? void 0 : _j.mul) {
                this.limit[null === (_k = null === r || void 0 === r ? void 0 : r.data) || void 0 === _k ? void 0 : _k.mul] = 1;
                return [ 3, 2 ];
              }
              if (!((null === r || void 0 === r ? void 0 : r.err) || (null === r || void 0 === r ? void 0 : r.Err))) return [ 3, 8 ];
              PPPB_quick_1.ks.tips((null === r || void 0 === r ? void 0 : r.err) || (null === r || void 0 === r ? void 0 : r.Err));
              return [ 4, PPPB_lib_1._.sleep(frequency) ];

             case 7:
              _l.sent();
              this.stop();
              return [ 2 ];

             case 8:
              r && this.num--;
              if (!(frequency > 0)) return [ 3, 10 ];
              return [ 4, PPPB_lib_1._.sleep(frequency) ];

             case 9:
              _l.sent();
              _l.label = 10;

             case 10:
              return [ 3, 2 ];

             case 11:
              request = {
                id: _id,
                complete: true,
                type: "complete"
              };
              window.parent.postMessage({
                request: request
              }, "*");
              return [ 2 ];
            }
          });
        });
      };
      GenerateAlgorithm.stop = function() {
        this._start = false;
      };
      GenerateAlgorithm.postSaveSpin = function(uploadData, postId) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve) {
                _this.postResolve = resolve;
                var resultParent = {
                  uploadData: uploadData,
                  count: _this.num,
                  id: postId,
                  type: "load"
                };
                window.parent.postMessage({
                  request: resultParent
                }, "*");
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      GenerateAlgorithm.recvSaveSpin = function(result) {
        if (this.postResolve) {
          this.postResolve(result);
          this.postResolve = null;
        }
      };
      GenerateAlgorithm._start = false;
      GenerateAlgorithm._num = 0;
      GenerateAlgorithm.ts = 0;
      GenerateAlgorithm.frequency = 100;
      GenerateAlgorithm.isFree = false;
      GenerateAlgorithm.settings = null;
      GenerateAlgorithm.extra = false;
      GenerateAlgorithm.wild = 20;
      GenerateAlgorithm.freepro = 1;
      GenerateAlgorithm.nopro = 30;
      GenerateAlgorithm.limit = {};
      GenerateAlgorithm.postResolve = null;
      return GenerateAlgorithm;
    }();
    exports.gal = GenerateAlgorithm;
    function parentMessage(id) {
      window.addEventListener("message", function(event) {
        var exe = event.data;
        switch (exe.type) {
         case "load":
          "" === exe.object.Err && GenerateAlgorithm.recvSaveSpin(exe.object);
        }
      });
    }
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../../framework/PPPB-net": "PPPB-net",
    "../../proto/PPPB-spincards_pb": "PPPB-spincards_pb",
    "./PPPB-GameServer": "PPPB-GameServer"
  } ],
  "PPPB-heart": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b2439lubSVKV4NDq2+wUC+m", "PPPB-heart");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.heart = void 0;
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_rpc_1 = require("../../../framework-rpc/PPPB-rpc");
    var PPPB_slot_grpc_web_pb_1 = require("../../../proto/PPPB-slot_grpc_web_pb");
    var PPPB_slot_pb_1 = require("../../../proto/PPPB-slot_pb");
    var PPPB_user_1 = require("./PPPB-user");
    var heart = function() {
      function heart() {}
      heart.start = function() {
        if (PPPB_sys_1.sys.isRestoreMode) return;
        clearInterval(this._timer);
        var req = new PPPB_slot_pb_1.HeartReq();
        var func = function() {
          PPPB_rpc_1.RPC.call(PPPB_slot_grpc_web_pb_1.GameClient, PPPB_slot_grpc_web_pb_1.GameClient.prototype.heart, req).then(function(v) {
            if (null === v || void 0 === v ? void 0 : v.getCode()) {
              var udata = {
                id: v.getInfo().getUid(),
                balance: v.getInfo().getBalance(),
                freeSpins: v.getInfo().getFreespcount(),
                bet: v.getInfo().getBet(),
                freeSpCount: v.getInfo().getFreespcount()
              };
              PPPB_user_1.user._updateAttr(udata);
            }
          });
        };
        func();
        this._timer = setInterval(function() {
          func();
        }, 5e3);
      };
      heart.stop = function() {
        clearInterval(this._timer);
      };
      return heart;
    }();
    exports.heart = heart;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework-rpc/PPPB-rpc": "PPPB-rpc",
    "../../../proto/PPPB-slot_grpc_web_pb": "PPPB-slot_grpc_web_pb",
    "../../../proto/PPPB-slot_pb": "PPPB-slot_pb",
    "./PPPB-user": "PPPB-user"
  } ],
  "PPPB-historyMultiplierFrame": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "3a3a6rtiBZPkJ0C+wr288fp", "PPPB-historyMultiplierFrame");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var initialMultipliers = [ 2, 2, 2, 2, 2 ];
    var initialSymbols = [ 5, 2, 9, 10, 1 ];
    var historyMultiplierFrame = function(_super) {
      __extends(historyMultiplierFrame, _super);
      function historyMultiplierFrame() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.symbolFrameNodes = [];
        _this.symbolLabel = [];
        _this.multiplierFrameNodes = [];
        _this.x30Node = null;
        _this.x50Node = null;
        _this.multiplierLabels = [];
        _this.glowMultiplierLabels = [];
        _this.multiplierFrameAnimations = [];
        _this.graySprites = [];
        _this.lightSprites = [];
        _this.spritesDict = [];
        return _this;
      }
      historyMultiplierFrame.prototype.start = function() {
        for (var _i = 0, _a = this.symbolFrameNodes; _i < _a.length; _i++) {
          var frameNode = _a[_i];
          var symbolLabel = frameNode.getChildByName("Symbol").getComponent(cc.Sprite);
          this.symbolLabel.push(symbolLabel);
        }
        for (var _b = 0, _c = this.multiplierFrameNodes; _b < _c.length; _b++) {
          var frameNode = _c[_b];
          var multiplierFrameAnimation = frameNode.getComponent(cc.Animation);
          var multiplierLabel = frameNode.getChildByName("MultiplierText").getComponent(cc.Label);
          var glowMultiplierLabel = frameNode.getChildByName("MultiplierTextYellow").getComponent(cc.Label);
          this.multiplierFrameAnimations.push(multiplierFrameAnimation);
          this.multiplierLabels.push(multiplierLabel);
          this.glowMultiplierLabels.push(glowMultiplierLabel);
        }
        for (var i = 0; i < this.graySprites.length; i++) this.spritesDict[this.graySprites[i].name] || (this.spritesDict[this.graySprites[i].name] = this.graySprites[i]);
        for (var i = 0; i < this.lightSprites.length; i++) this.spritesDict[this.lightSprites[i].name] || (this.spritesDict[this.lightSprites[i].name] = this.lightSprites[i]);
        PPPB_event_1.Events.publish("update", "multipliers", "", initialMultipliers, true);
        PPPB_event_1.Events.publish("update", "symbol", "", initialSymbols, true);
      };
      historyMultiplierFrame.prototype.$event_update_freespinindex = function(index) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (index < 5) {
              this.multiplierLabels[index].string = "X5";
              this.glowMultiplierLabels[index].string = "X5";
            } else {
              this.x30Node.active = false;
              this.x50Node.active = true;
            }
            return [ 2 ];
          });
        });
      };
      historyMultiplierFrame.prototype.$event_update_multipliers = function(multiplierList, instantUpdate) {
        return __awaiter(this, void 0, void 0, function() {
          var i, _i, _a, multiplierAnim, i;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (!instantUpdate) return [ 3, 1 ];
              for (i = 0; i < multiplierList.length; i++) {
                this.multiplierLabels[i].string = "X" + multiplierList[i].toString();
                this.glowMultiplierLabels[i].string = "X" + multiplierList[i].toString();
              }
              return [ 3, 3 ];

             case 1:
              for (_i = 0, _a = this.multiplierFrameAnimations; _i < _a.length; _i++) {
                multiplierAnim = _a[_i];
                multiplierAnim.play("multiplierLabelSwitch");
              }
              return [ 4, PPPB_lib_1._.sleep(250) ];

             case 2:
              _b.sent();
              for (i = 0; i < multiplierList.length; i++) {
                this.multiplierLabels[i].string = "X" + multiplierList[i].toString();
                this.glowMultiplierLabels[i].string = "X" + multiplierList[i].toString();
              }
              _b.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      historyMultiplierFrame.prototype.$event_update_symbol = function(symbolList, instantUpdate) {
        return __awaiter(this, void 0, void 0, function() {
          var i;
          return __generator(this, function(_a) {
            symbolList = symbolList.reverse();
            for (i = 0; i < symbolList.length; i++) this.symbolLabel[i].spriteFrame = this.spritesDict["Grey_" + symbolList[i].toString()];
            return [ 2 ];
          });
        });
      };
      __decorate([ property([ cc.Node ]) ], historyMultiplierFrame.prototype, "symbolFrameNodes", void 0);
      __decorate([ property([ cc.Node ]) ], historyMultiplierFrame.prototype, "multiplierFrameNodes", void 0);
      __decorate([ property(cc.Node) ], historyMultiplierFrame.prototype, "x30Node", void 0);
      __decorate([ property(cc.Node) ], historyMultiplierFrame.prototype, "x50Node", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], historyMultiplierFrame.prototype, "graySprites", void 0);
      __decorate([ property([ cc.SpriteFrame ]) ], historyMultiplierFrame.prototype, "lightSprites", void 0);
      historyMultiplierFrame = __decorate([ ccclass ], historyMultiplierFrame);
      return historyMultiplierFrame;
    }(PPPB_UComponent_1.UComponent);
    exports.default = historyMultiplierFrame;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-history": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5a8b1YA7ydMA47ud+hLf4Tx", "PPPB-history");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../framework-cocos/components/PPPB-UIList");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_language_1 = require("../../framework-cocos/PPPB-language");
    var PPPB_sys_1 = require("../../framework-cocos/PPPB-sys");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var PPPB_HistoryGameBoard_1 = require("./ui/PPPB-HistoryGameBoard");
    var PPPB_MoneyDisplayHelper_1 = require("../../common/utils/PPPB-MoneyDisplayHelper");
    var PPPB_HistorySpinDetail_1 = require("./ui/PPPB-HistorySpinDetail");
    var PPPB_HistoryFreeGameSelectDetail_1 = require("./ui/PPPB-HistoryFreeGameSelectDetail");
    var PPPB_AliNet_1 = require("./PPPB-AliNet");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var localeSpinKeyMap = {
      Spin: "history.detail.spin",
      Tumbling: "history.detail.thumbling",
      FreeSpin: "history.detail.freespin"
    };
    var History = function(_super) {
      __extends(History, _super);
      function History() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.list = null;
        _this.header = null;
        _this.noHistoryLabel = null;
        return _this;
      }
      History_1 = History;
      History.recordSpin = function(sessionId, bet, spinData) {
        var data;
        var lastData = History_1.data[History_1.data.length - 1];
        if (History_1.data.length > 0 && lastData.id === sessionId) {
          data = lastData;
          data.balance = spinData.balance;
          for (var s in spinData.spinList) {
            var i = Number(s);
            var spin = PPPB_lib_1._.copy(spinData.spinList[i]);
            var lastTumble = spin[spin.length - 1];
            if (lastTumble.mul > 1 && lastTumble.winGold > 0) {
              var tumble = spin[spin.length - 2];
              tumble.mul = lastTumble.mul;
              tumble.winGold += lastTumble.winGold;
              tumble.tumbleWinGold = lastTumble.tumbleWinGold;
              tumble.totalWinGold = lastTumble.totalWinGold;
              lastTumble.winGold = 0;
              lastTumble.gainedFreeSpins || spin.pop();
            }
            console.log("record spin", spin);
            data.spinList.push(spin);
          }
        } else {
          data = PPPB_lib_1._.copy(spinData);
          for (var s in data.spinList) {
            var i = Number(s);
            var spin = data.spinList[i];
            var lastTumble = spin[spin.length - 1];
            if (lastTumble.mul > 1 && lastTumble.winGold > 0) {
              var tumble = spin[spin.length - 2];
              tumble.mul = lastTumble.mul;
              tumble.winGold += lastTumble.winGold;
              tumble.tumbleWinGold = lastTumble.tumbleWinGold;
              tumble.totalWinGold = lastTumble.totalWinGold;
              lastTumble.winGold = 0;
              lastTumble.gainedFreeSpins || spin.pop();
            }
            console.log("record spin", spin);
          }
          History_1.data.push(data);
        }
        data.id = sessionId;
        data.date = new Date();
        data.buyFreeSpin = Number(bet) !== spinData.bet;
        var lastSpinList = data.spinList[data.spinList.length - 1];
        var finalResult = lastSpinList[lastSpinList.length - 1];
        data.won = finalResult.totalWinGold;
      };
      History.recordFreeGameSelect = function(sessionId, choice, gainedFreeSpins, mysterySpins, mysteryMultiplier) {
        console.error("Gates of Olympus does not have free game for you to select.");
        return;
        var data;
        var lastData;
      };
      History.prototype.onLoaded = function() {
        this._defaultWidth = this.node.width;
        this._defaultHeight = this.node.height;
        this.refresh(PPPB_quick_1.ks.isLandscape);
      };
      History.prototype.onShow = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_lib_1._.sleep(200) ];

             case 1:
              _a.sent();
              return [ 4, this.upList(PPPB_lib_1._.now()) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      History.prototype.upList = function(date, days, limit, offset) {
        void 0 === days && (days = 1);
        void 0 === limit && (limit = 200);
        void 0 === offset && (offset = 0);
        return __awaiter(this, void 0, void 0, function() {
          var r, dataList, _i, dataList_1, data;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!!PPPB_sys_1.sys.debugMode) return [ 3, 2 ];
              return [ 4, PPPB_AliNet_1.NetFactory.historyList(date, days, limit, offset) ];

             case 1:
              r = _a.sent();
              if (!r || r.err) {
                console.warn("Unable to retrieve history list");
                return [ 2 ];
              }
              History_1.data = [];
              dataList = r.getDatasList();
              for (_i = 0, dataList_1 = dataList; _i < dataList_1.length; _i++) {
                data = dataList_1[_i];
                History_1.data.push({
                  id: data.getOrderid(),
                  bet: data.getBet(),
                  won: data.getWin(),
                  date: PPPB_lib_1._.dateString(data.getTime()),
                  balance: data.getBalance()
                });
              }
              _a.label = 2;

             case 2:
              History_1.data || (History_1.data = []);
              this.header.active = !(0 == History_1.data.length);
              this.noHistoryLabel.active = 0 == History_1.data.length;
              this.updateList(History_1.data);
              return [ 2 ];
            }
          });
        });
      };
      History.prototype.updateList = function(data) {
        var tmp = [];
        for (var i = 0; i < data.length; i++) {
          var e = data[i];
          tmp.push({
            id: e.id,
            time: this.formatDate(e.date),
            balance: PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(e.balance),
            bet: PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(e.bet),
            win: Math.max(0, e.won - e.bet),
            data: e
          });
        }
        this.list.values = tmp;
        var nodes = this.list.getAllItemNode();
        for (var i = 0; i < nodes.length; ++i) {
          var winNode = PPPB_ui_1.ui.getChildByPath(nodes[i], "layout/$win");
          var winLabel = winNode.getComponent(cc.Label);
          var win = Number(winLabel.string);
          if (win > 0) {
            winLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(win);
            winNode.color = cc.Color.WHITE;
          } else {
            winLabel.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(0);
            winNode.color = cc.color(109, 113, 121);
          }
        }
      };
      History.prototype.formatDate = function(date) {
        "string" == typeof date && (date = new Date(date));
        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(), hour = date.getHours(), min = date.getMinutes(), sec = date.getSeconds();
        var aa = hour < 12 ? "AM" : "PM";
        hour = hour > 12 ? hour - 12 : hour;
        var padzero = function(d) {
          return d < 10 ? "0" + d : d.toString();
        };
        return PPPB_quick_1.ks.isLandscape ? padzero(d) + "/" + padzero(m) + "/" + y + ", " + padzero(hour) + ":" + padzero(min) + ":" + padzero(sec) + " " + aa : padzero(d) + "/" + padzero(m) + "/" + y + ",\n" + padzero(hour) + ":" + padzero(min) + ":" + padzero(sec) + " " + aa;
      };
      History.prototype.$ui_list__item_click = function(list, event, index) {
        return __awaiter(this, void 0, void 0, function() {
          var node, item, children, i, ps, isFreeSpin, freeSpins, freeSpinCount, itemValue, spinList, r, sp, i, i, j, i, j, _a, _b;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              node = this.list.getItemNode(index);
              item = this.list._values[index];
              if (!item["opened"]) return [ 3, 1 ];
              item["opened"] = false;
              children = PPPB_ui_1.ui.getChildArrayByName(node, "historyItem2");
              for (i = 0; i < children.length; ++i) children[i].destroy();
              return [ 3, 11 ];

             case 1:
              item["opened"] = true;
              item.data.buyFreeSpin && (item.data.spinList[0][0].buyFreeSpin = true);
              ps = [];
              isFreeSpin = false;
              freeSpins = 0;
              freeSpinCount = 0;
              itemValue = this.list._values[index];
              spinList = itemValue.data.spinList;
              if (!!PPPB_sys_1.sys.debugMode) return [ 3, 3 ];
              if (!!itemValue.data.spinList) return [ 3, 3 ];
              return [ 4, PPPB_AliNet_1.NetFactory.historyItem(itemValue.id) ];

             case 2:
              r = _c.sent();
              if (!r || r.err) {
                console.log("Missing history item");
                item["opened"] = false;
                return [ 2 ];
              }
              spinList = itemValue.data.spinList = [];
              sp = JSON.parse(atob(r.getSpinlist_asB64()));
              for (i in sp) spinList[i] = sp[i].si;
              _c.label = 3;

             case 3:
              for (i = 0; i < spinList.length; ++i) {
                isFreeSpin && freeSpinCount++;
                for (j = 0; j < spinList[i].length; ++j) {
                  if (isFreeSpin) {
                    spinList[i][j].freeSpinCount = freeSpinCount;
                    if (0 == spinList[i][j].freeSpins) {
                      isFreeSpin = false;
                      freeSpinCount = 0;
                    }
                  }
                  spinList[i][j].spinType = 0 != j ? "Tumbling" : isFreeSpin ? "FreeSpin" : "Spin";
                  if (freeSpins < spinList[i][j].freeSpins) {
                    spinList[i][j].freeSpinWon = spinList[i][j].freeSpins - freeSpins;
                    isFreeSpin = true;
                  }
                  freeSpins = spinList[i][j].freeSpins;
                }
              }
              i = 0;
              _c.label = 4;

             case 4:
              if (!(i < spinList.length)) return [ 3, 9 ];
              j = 0;
              _c.label = 5;

             case 5:
              if (!(j < spinList[i].length)) return [ 3, 8 ];
              _b = (_a = ps).push;
              return [ 4, this.populateDetails(spinList[i][j], node) ];

             case 6:
              _b.apply(_a, [ _c.sent() ]);
              _c.label = 7;

             case 7:
              ++j;
              return [ 3, 5 ];

             case 8:
              ++i;
              return [ 3, 4 ];

             case 9:
              return [ 4, Promise.all(ps) ];

             case 10:
              _c.sent();
              _c.label = 11;

             case 11:
              return [ 2 ];
            }
          });
        });
      };
      History.prototype.populateDetails = function(data, parent) {
        return __awaiter(this, void 0, void 0, function() {
          var node, detail, node, detail;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!("FreeGameSelect" === data.spinType)) return [ 3, 2 ];
              return [ 4, PPPB_ui_1.ui.create("prefab/ui/historyFreeGameSelect", "", {}, parent) ];

             case 1:
              node = _a.sent();
              PPPB_ui_1.ui.helper(node);
              detail = node.getComponent(PPPB_HistoryFreeGameSelectDetail_1.HistoryFreeGameSelectDetail);
              detail.UpdateDetail(this, data);
              return [ 2 ];

             case 2:
              return [ 4, PPPB_ui_1.ui.create("prefab/ui/historySpin", "", {}, parent) ];

             case 3:
              node = _a.sent();
              PPPB_ui_1.ui.helper(node);
              detail = node.getComponent(PPPB_HistorySpinDetail_1.HistorySpinDetail);
              if (detail) {
                detail.UpdateDetail(this, data);
                return [ 2 ];
              }
              _a.label = 4;

             case 4:
              return [ 2 ];
            }
          });
        });
      };
      History.prototype.displayWinPanel = function(data) {
        var winBoardPanel = PPPB_ui_1.ui.getChildByPath(this.node, "winBoardPanel");
        winBoardPanel.active = true;
        var spinDesc = PPPB_ui_1.ui.getChildByPath(winBoardPanel, "panel/spinDescription").getComponent(cc.Label);
        var winAmount = PPPB_ui_1.ui.getChildByPath(winBoardPanel, "panel/historyWinItem/winAmount").getComponent(cc.Label);
        var board = PPPB_ui_1.ui.getChildByPath(winBoardPanel, "panel/historyWinItem/historyGameBoard").getComponent(PPPB_HistoryGameBoard_1.default);
        var key = "history.detail.spin";
        data.buyFreeSpin && (key = "history.paidscatter");
        spinDesc.string = PPPB_language_1.language.getText(key);
        winAmount.string = PPPB_MoneyDisplayHelper_1.MoneyUi.toMoney(data.winGold + data.freeGold);
        board.SpinData = data;
        board.HighlightWin = data.winCards;
        PPPB_event_1.Events.on("setLanguage", function() {
          var key = "history.detail.spin";
          data.buyFreeSpin && (key = "history.paidscatter");
          spinDesc.string = PPPB_language_1.language.getText(key);
        });
      };
      History.prototype.$event_game_viewResize = function(landscape) {
        this.refresh(landscape);
      };
      History.prototype.refresh = function(landscape) {
        var frameSize = cc.view.getFrameSize();
        var designSize = cc.view.getDesignResolutionSize();
        var ds = designSize.width / designSize.height;
        var dv = frameSize.width / frameSize.height;
        if (landscape) {
          this.node.scale = Math.max(ds, dv);
          this.node.width = this._defaultWidth;
          this.node.height = this.node.width / dv;
        } else {
          var s = this.node.parent.scale;
          var scaleUp = 1.5;
          this.node.scale = Math.max(dv / ds, 1) * scaleUp;
          this.node.width = this._defaultWidth / scaleUp;
          this.node.height = this.node.width / dv;
        }
        var widgets = this.node.getComponentsInChildren(cc.Widget);
        for (var k in widgets) widgets[k].updateAlignment();
      };
      var History_1;
      History.data = [];
      __decorate([ property(PPPB_UIList_1.UIList) ], History.prototype, "list", void 0);
      __decorate([ property(cc.Node) ], History.prototype, "header", void 0);
      __decorate([ property(cc.Node) ], History.prototype, "noHistoryLabel", void 0);
      History = History_1 = __decorate([ ccclass ], History);
      return History;
    }(PPPB_UComponent_1.UComponent);
    exports.default = History;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../common/utils/PPPB-MoneyDisplayHelper": "PPPB-MoneyDisplayHelper",
    "../../framework-cocos/PPPB-language": "PPPB-language",
    "../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-AliNet": "PPPB-AliNet",
    "./ui/PPPB-HistoryFreeGameSelectDetail": "PPPB-HistoryFreeGameSelectDetail",
    "./ui/PPPB-HistoryGameBoard": "PPPB-HistoryGameBoard",
    "./ui/PPPB-HistorySpinDetail": "PPPB-HistorySpinDetail"
  } ],
  "PPPB-hotUp": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6d0def61D5OK6kfbexOh5mF", "PPPB-hotUp");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.hotUp = exports.CHotUp = void 0;
    var CHCPEvent;
    (function(CHCPEvent) {
      CHCPEvent[CHCPEvent["chcp_updateIsReadyToInstall"] = 0] = "chcp_updateIsReadyToInstall";
      CHCPEvent[CHCPEvent["chcp_updateLoadFailed"] = 1] = "chcp_updateLoadFailed";
      CHCPEvent[CHCPEvent["chcp_nothingToUpdate"] = 2] = "chcp_nothingToUpdate";
      CHCPEvent[CHCPEvent["chcp_beforeInstall"] = 3] = "chcp_beforeInstall";
      CHCPEvent[CHCPEvent["chcp_updateInstalled"] = 4] = "chcp_updateInstalled";
      CHCPEvent[CHCPEvent["chcp_updateInstallFailed"] = 5] = "chcp_updateInstallFailed";
      CHCPEvent[CHCPEvent["chcp_nothingToInstall"] = 6] = "chcp_nothingToInstall";
      CHCPEvent[CHCPEvent["chcp_beforeAssetsInstalledOnExternalStorage"] = 7] = "chcp_beforeAssetsInstalledOnExternalStorage";
      CHCPEvent[CHCPEvent["chcp_assetsInstalledOnExternalStorage"] = 8] = "chcp_assetsInstalledOnExternalStorage";
      CHCPEvent[CHCPEvent["chcp_assetsInstallationError"] = 9] = "chcp_assetsInstallationError";
    })(CHCPEvent || (CHCPEvent = {}));
    var EUpdateState;
    (function(EUpdateState) {
      EUpdateState[EUpdateState["None"] = 0] = "None";
      EUpdateState[EUpdateState["Updateing"] = 1] = "Updateing";
      EUpdateState[EUpdateState["Complete"] = 2] = "Complete";
      EUpdateState[EUpdateState["Error"] = 3] = "Error";
    })(EUpdateState || (EUpdateState = {}));
    function getCHCPEventName(event) {
      return CHCPEvent[event];
    }
    var CHCP_TIMEOUT = 1e4;
    var CHotUp = function() {
      function CHotUp() {
        this.isWaiting = false;
        this._updateState = EUpdateState.None;
        this._updateCallBacks = [];
        this.needUpdate = false;
        if (!this.isSupportHotUp) {
          console.log("\u5f53\u524d\u73af\u5883\u4e0d\u652f\u6301\u70ed\u66f4...");
          return;
        }
        try {
          window["device"] && this.onDeviceReady();
        } catch (error) {
          console.log("addEventListener deviceready");
          document.addEventListener("deviceready", this.onDeviceReady, false);
        }
      }
      Object.defineProperty(CHotUp.prototype, "isSupportHotUp", {
        get: function() {
          try {
            if (window["chcp"]) return true;
          } catch (error) {}
          return false;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CHotUp.prototype, "chcp", {
        get: function() {
          return window["chcp"];
        },
        enumerable: false,
        configurable: true
      });
      CHotUp.prototype.newChcpExecTimeout = function(chcpFuncName, timeoutTime) {
        void 0 === timeoutTime && (timeoutTime = CHCP_TIMEOUT);
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            console.log("start exec chcp func " + chcpFuncName);
            return [ 2, new Promise(function(r) {
              _this.chcp[chcpFuncName](function(error, data) {
                console.log("exec chcp func " + chcpFuncName + " result: data: " + JSON.stringify(data) + " error: " + JSON.stringify(error));
                r && r({
                  data: data,
                  error: error
                });
                r = void 0;
              });
            }) ];
          });
        });
      };
      CHotUp.prototype.fetchUpdate = function() {
        return __awaiter(this, void 0, void 0, function() {
          var result;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.newChcpExecTimeout("fetchUpdate") ];

             case 1:
              result = _a.sent();
              console.log("fetchUpdate complete");
              if (!result) return [ 2 ];
              if (!result.error) return [ 2, true ];
              return [ 2 ];
            }
          });
        });
      };
      CHotUp.prototype.installUpdate = function() {
        return __awaiter(this, void 0, void 0, function() {
          var result;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.newChcpExecTimeout("installUpdate") ];

             case 1:
              result = _a.sent();
              console.log("installUpdate complete");
              if (!result) return [ 2 ];
              if (!result.error) return [ 2, true ];
              return [ 2 ];
            }
          });
        });
      };
      CHotUp.prototype.reStart = function() {
        return __awaiter(this, void 0, void 0, function() {
          var result;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.newChcpExecTimeout("restart") ];

             case 1:
              result = _a.sent();
              console.log("restart complete");
              if (!result) return [ 2 ];
              if (!result.error) return [ 2, true ];
              return [ 2 ];
            }
          });
        });
      };
      CHotUp.prototype.onDeviceReady = function() {
        console.log("onDeviceReady");
        this.addCHCPListener();
      };
      CHotUp.prototype.addCHCPListener = function() {
        console.log("addCHCPListener");
        var lisArr = [ [ CHCPEvent.chcp_updateIsReadyToInstall, this.onUpdateIsReadyToInstall ], [ CHCPEvent.chcp_updateLoadFailed, this.onUpdateLoadFailed ], [ CHCPEvent.chcp_nothingToUpdate, this.onNothingToUpdate ], [ CHCPEvent.chcp_beforeInstall, this.onBeforeInstall ], [ CHCPEvent.chcp_updateInstalled, this.onUpdateInstalled ], [ CHCPEvent.chcp_updateInstallFailed, this.onUpdateInstallFailed ], [ CHCPEvent.chcp_nothingToInstall, this.onNothingToInstall ], [ CHCPEvent.chcp_beforeAssetsInstalledOnExternalStorage, this.onBeforeAssetsInstalledOnExternalStorage ], [ CHCPEvent.chcp_assetsInstalledOnExternalStorage, this.onAssetsInstalledOnExternalStorage ], [ CHCPEvent.chcp_assetsInstallationError, this.onAssetsInstallationError ] ];
        for (var _i = 0, lisArr_1 = lisArr; _i < lisArr_1.length; _i++) {
          var lisItem = lisArr_1[_i];
          document.addEventListener(getCHCPEventName(lisItem[0]), lisItem[1], false);
        }
      };
      CHotUp.prototype.onUpdateIsReadyToInstall = function(event) {
        console.log("Update is ready to install event:", event);
        this.updateState = EUpdateState.Updateing;
      };
      CHotUp.prototype.onUpdateLoadFailed = function(event) {
        console.log("Update load failed event:", event);
        this.updateState = EUpdateState.Error;
      };
      CHotUp.prototype.onNothingToUpdate = function(event) {
        console.log("Nothing to update event:", event);
        this.updateState = EUpdateState.Complete;
      };
      CHotUp.prototype.onBeforeInstall = function(event) {
        console.log("Before install event:", event);
        this.updateState = EUpdateState.Updateing;
      };
      CHotUp.prototype.onUpdateInstalled = function(event) {
        console.log("Update installed event:", event);
        this.updateState = EUpdateState.Complete;
      };
      CHotUp.prototype.onUpdateInstallFailed = function(event) {
        console.log("Update install failed event:", event);
        this.updateState = EUpdateState.Error;
      };
      CHotUp.prototype.onNothingToInstall = function(event) {
        console.log("Nothing to install event:", event);
        this.updateState = EUpdateState.Complete;
      };
      CHotUp.prototype.onBeforeAssetsInstalledOnExternalStorage = function(event) {
        console.log("Before assets installed on external storage event:", event);
      };
      CHotUp.prototype.onAssetsInstalledOnExternalStorage = function(event) {
        console.log("Assets installed on external storage event:", event);
      };
      CHotUp.prototype.onAssetsInstallationError = function(event) {
        console.log("Assets installation error event:", event);
      };
      Object.defineProperty(CHotUp.prototype, "updateState", {
        get: function() {
          return this._updateState;
        },
        set: function(state) {
          var isComplete = this._updateState !== state && state == EUpdateState.Complete;
          var isError = this._updateState !== state && state == EUpdateState.Error;
          console.log("\u70ed\u66f4\u72b6\u6001: " + EUpdateState[this._updateState] + " => " + EUpdateState[state]);
          this._updateState = state;
          (isComplete || isError) && this.emitUpdateCallBack();
        },
        enumerable: false,
        configurable: true
      });
      CHotUp.prototype.addUpdateCallBack = function(cb) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            -1 === this._updateCallBacks.indexOf(cb) ? this._updateCallBacks.push(cb) : console.warn("\u70ed\u66f4\u76d1\u542c\u56de\u8c03\u65b9\u6cd5\u5df2\u5b58\u5728");
            setTimeout(function() {
              _this._updateState != EUpdateState.Complete && _this._updateState != EUpdateState.Error || _this.emitUpdateCallBack();
            });
            return [ 2 ];
          });
        });
      };
      CHotUp.prototype.emitUpdateCallBack = function(state) {
        void 0 === state && (state = this._updateState);
        for (var _i = 0, _a = this._updateCallBacks; _i < _a.length; _i++) {
          var cb = _a[_i];
          cb(state);
        }
        this._updateCallBacks = [];
      };
      CHotUp.prototype.startHotUp = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!this.isSupportHotUp) return [ 2 ];
              this.needUpdate = true;
              return [ 4, this.fetchUpdate() ];

             case 1:
              if (!_a.sent()) return [ 3, 4 ];
              this.needUpdate = true;
              return [ 4, this.installUpdate() ];

             case 2:
              _a.sent();
              return [ 4, new Promise(function(r) {
                setTimeout(function() {
                  r();
                }, 1e3);
              }) ];

             case 3:
              _a.sent();
              console.log("\u91cd\u542f\u6e38\u620f");
              this.reStart();
              return [ 2 ];

             case 4:
              this.needUpdate = false;
              this.emitUpdateCallBack(EUpdateState.Complete);
              return [ 2 ];
            }
          });
        });
      };
      CHotUp.prototype.waitComplete = function() {
        return __awaiter(this, void 0, void 0, function() {
          var solveF_1, p, state;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!this.isSupportHotUp) return [ 2 ];
              console.log("\u662f\u5426\u9700\u8981\u70ed\u66f4... " + this.needUpdate);
              if (!this.needUpdate) return [ 3, 2 ];
              console.log("\u5f00\u59cb\u7b49\u5f85\u70ed\u66f4...");
              this.isWaiting = true;
              solveF_1 = void 0;
              p = new Promise(function(s) {
                solveF_1 = s;
              });
              this.addUpdateCallBack(solveF_1);
              return [ 4, p ];

             case 1:
              state = _a.sent();
              console.log("\u70ed\u66f4\u7ed3\u679c:", state == EUpdateState.Complete ? "\u6210\u529f" : "\u5931\u8d25");
              this.isWaiting = false;
              return [ 2, state == EUpdateState.Complete ];

             case 2:
              console.log("\u8df3\u8fc7\u70ed\u66f4...");
              _a.label = 3;

             case 3:
              return [ 2, true ];
            }
          });
        });
      };
      return CHotUp;
    }();
    exports.CHotUp = CHotUp;
    exports.hotUp = new CHotUp();
    cc._RF.pop();
  }, {} ],
  "PPPB-input2": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "cd4c7Wsw/1Ly481w1tIEXJk", "PPPB-input2");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UISwitch_1 = require("../../framework-cocos/components/PPPB-UISwitch");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_CardHelper_1 = require("../server/PPPB-CardHelper");
    var PPPB_GameServer_1 = require("../server/PPPB-GameServer");
    var PPPB_generate_1 = require("../server/PPPB-generate");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var isCallByGM = false;
    function parseUrlParams() {
      var searchParams = new URLSearchParams(window.location.search);
      isCallByGM = "true" === searchParams.get("isCallByGM");
      console.log(isCallByGM);
    }
    parseUrlParams();
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.ts = null;
        _this.frequency = null;
        _this.bar = null;
        _this.free = null;
        _this.gold = null;
        _this._saveData = {};
        return _this;
      }
      Object.defineProperty(NewClass.prototype, "gal", {
        get: function() {
          return PPPB_generate_1.gal;
        },
        enumerable: false,
        configurable: true
      });
      NewClass.prototype.onLoaded = function() {
        PPPB_GameServer_1.GameServer.loadConf().then(function() {
          return PPPB_CardHelper_1.CardHelper.CardConf = PPPB_GameServer_1.GameServer._cardConf;
        });
        var _id = this.loadParams()._id;
        var resultParent = {
          id: _id,
          type: "init",
          complete: true
        };
        window.parent.postMessage({
          request: resultParent
        }, "*");
      };
      NewClass.prototype.loadParams = function() {
        var queryParams = new URLSearchParams(window.location.search);
        var _id = queryParams.get("id");
        this.parentMessage(_id);
        return {
          _id: _id
        };
      };
      NewClass.prototype.parentMessage = function(_id) {
        var _this = this;
        window.addEventListener("message", function(event) {
          var exe = event.data;
          var result = exe.object;
          switch (exe.type) {
           case "params":
            break;

           case "start":
            _this.gal.start(_this.gal.settings.num, _this.gal.settings.frequency || 1, _id, exe.object.isCallByGM);
            break;

           case "pause":
            _this.gal.stop();
            var resultParent = {
              id: _id,
              type: "init",
              complete: true
            };
            window.parent.postMessage({
              request: resultParent
            }, "*");
          }
        });
      };
      NewClass.prototype.onShow = function() {
        if (this.gal.settings) {
          PPPB_ui_1.ui.hide([ this, "generate" ]);
          PPPB_ui_1.ui.hide([ this, "stop" ]);
          if (void 0 != this.gal.settings.free) {
            this.free.isChecked = this.gal.settings.free;
            this.free.interactable = false;
          }
          if (void 0 != this.gal.settings.frequency) {
            this.frequency.string = this.gal.settings.frequency.toString();
            this.frequency.enabled = false;
          }
          this.ts.string = this.gal.settings.num.toString();
          this.ts.enabled = false;
        } else {
          this._saveData = PPPB_quick_1.ks.getLocalSave("superAce", true) || {
            ts: 1e3,
            frequency: 10,
            free: false
          };
          this.ts.string = this._saveData.ts;
          this.frequency.string = this._saveData.frequency;
          this.free.isChecked = this._saveData.free;
        }
        this.bar.progress = 0;
        PPPB_ui_1.ui.setUIDataValueByPath(this.bar, "str", "");
        this.updateProgress();
      };
      NewClass.prototype.$ui_generate__click = function() {
        var _a;
        return __awaiter(this, void 0, void 0, function() {
          var ts, frequency;
          return __generator(this, function(_b) {
            ts = Number(this.ts.string);
            frequency = null !== (_a = Number(this.frequency.string)) && void 0 !== _a ? _a : 100;
            if (PPPB_lib_1._.isNaN(ts)) return [ 2 ];
            this.gal.start(ts, frequency);
            this.updateProgress();
            this.onHide();
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.onHide = function() {
        this._saveData.ts = Number(this.ts.string);
        this._saveData.frequency = Number(this.frequency.string);
        PPPB_quick_1.ks.localSave("superAce", this._saveData);
      };
      NewClass.prototype.$event_generate_cards = function(v) {
        this.updateProgress();
      };
      NewClass.prototype.updateProgress = function() {
        return __awaiter(this, void 0, void 0, function() {
          var ts;
          return __generator(this, function(_a) {
            if (PPPB_ui_1.ui.isValid(this.bar)) {
              ts = this.gal.ts;
              this.bar.progress = (ts - this.gal.num) / ts;
              PPPB_ui_1.ui.setUIDataValueByPath(this.bar, "str", ts - this.gal.num + "/" + ts);
            }
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_stop__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.gal.stop();
            PPPB_quick_1.ks.tips("stoped");
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_gold_slider__slide = function(slider) {
        this.gold.string = Math.round(100 * slider.progress).toString();
      };
      __decorate([ property(cc.EditBox) ], NewClass.prototype, "ts", void 0);
      __decorate([ property(cc.EditBox) ], NewClass.prototype, "frequency", void 0);
      __decorate([ property(cc.ProgressBar) ], NewClass.prototype, "bar", void 0);
      __decorate([ property(PPPB_UISwitch_1.UISwitch) ], NewClass.prototype, "free", void 0);
      __decorate([ property(cc.EditBox) ], NewClass.prototype, "gold", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework-cocos/components/PPPB-UISwitch": "PPPB-UISwitch",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../server/PPPB-GameServer": "PPPB-GameServer",
    "../server/PPPB-generate": "PPPB-generate"
  } ],
  "PPPB-languageData": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "62fe0JcvoxAuZqogZ3Euxf0", "PPPB-languageData");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.languageData = void 0;
    var _languageData = {
      text: {
        "game.quit": {
          en: "Quit Game",
          pt: "Sair do jogo",
          mm: "\u1002\u102d\u1019\u103a\u1038\u1000\u102d\u102f\u1011\u103d\u1000\u103a\u1019\u100a\u103a",
          vn: "Tho\xe1t game",
          thai: "\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e40\u0e01\u0e21",
          kh: "\u1788\u1794\u17cb\u179b\u17c1\u1784\u17a0\u17d2\u1782\u17c1\u1798",
          es: "Salir del juego",
          zh: "\u9000\u51fa\u6e38\u620f"
        },
        "game.quittip": {
          en: "Are you sure you want to quit?",
          pt: "Voc\xea tem certeza que quer sair?",
          mm: "\u101e\u1004\u103a\u1015\u101a\u1031\u102c\u1004\u103a\u1038\u1011\u103d\u1000\u103a\u1019\u100a\u103a\u101f\u102f\u101e\u1031\u1001\u103b\u102c\u1015\u102b\u101e\u101c\u102c\u1038?",
          vn: "B\u1ea1n c\xf3 ch\u1eafc ch\u1eafn mu\u1ed1n tho\xe1t kh\xf4ng?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01?",
          kh: "\u178f\u17be\u17a2\u17d2\u1793\u1780\u1796\u17b7\u178f\u1787\u17b6\u1785\u1784\u17cb\u1788\u1794\u17cb\u1791\u17c1?",
          es: "\xbfEst\xe1s seguro de que quieres salir?",
          zh: "\u4f60\u786e\u5b9a\u8981\u9000\u51fa\u5417?"
        },
        lang: {
          en: "\u82f1\u6587",
          pt: "\u8461\u8404\u7259\u8bed",
          mm: "\u7f05\u7538\u8bed",
          vn: "\u8d8a\u5357\u8bed",
          thai: "\u6cf0\u8bed",
          kh: "\u67ec\u57d4\u5be8\u8bed",
          es: "\u897f\u73ed\u7259\u8bed",
          zh: "\u7e41\u9ad4\u4e2d\u6587"
        },
        "test.1": {
          en: "Test",
          zh: "\u6d4b\u8bd5"
        },
        "test.2": {
          en: "Test2",
          zh: "\u6d4b\u8bd52"
        },
        "server.busy": {
          en: "The server is busy, please try again later.",
          zh: "\u670d\u52a1\u5668\u5fd9\uff0c\u8bf7\u7a0d\u5019\u518d\u8bd5\u3002",
          pt: "O servidor est\xe1 ocupado, por favor tente novamente mais tarde.",
          mm: "\u1006\u102c\u1017\u102c\u1019\u103e\u102c \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u101b\u1014\u103a \u1019\u101b\u1015\u102b\u104b \u1000\u103b\u1031\u1038\u1007\u1030\u1038\u1015\u103c\u102f\u104d \u1014\u1031\u102c\u1000\u103a\u1011\u1015\u103a \u1011\u1015\u103a\u1019\u1036 \u1015\u103c\u1014\u103a\u1015\u102b\u104b",
          vn: "M\xe1y ch\u1ee7 \u0111ang b\u1eadn, vui l\xf2ng th\u1eed l\u1ea1i sau.",
          thai: "\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e07 \u0e42\u0e1b\u0e23\u0e14\u0e25\u0e2d\u0e07\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          kh: "\u1798\u17c9\u17b6\u179f\u17ca\u17b8\u1793\u1794\u1798\u17d2\u179a\u17be\u1796\u17c1\u1789\u179b\u17c1\u1789\u1793\u17c5\u179b\u17be\u1780\u1798\u17d2\u1798\u179c\u17b7\u1792\u17b8 \u179f\u17bc\u1798\u1796\u17d2\u1799\u17b6\u1799\u17b6\u1798\u1798\u17d2\u178f\u1784\u1791\u17c0\u178f\u1793\u17c5\u1796\u17c1\u179b\u1780\u17d2\u179a\u17c4\u1799\u17d4",
          es: "El servidor est\xe1 ocupado, por favor int\xe9ntalo de nuevo m\xe1s tarde."
        },
        "server.fail": {
          en: "Connection failed, please login again.",
          zh: "\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002",
          pt: "Falha na conex\xe3o, por favor fa\xe7a o login novamente.",
          mm: "\u1001\u103b\u102d\u1010\u103a\u1006\u1000\u103a\u1019\u103e\u102f \u1019\u1021\u1031\u102c\u1004\u103a\u1019\u103c\u1004\u103a\u1015\u102b\u104b \u1021\u1031\u102c\u1004\u103a\u1000\u102d\u102f \u1014\u1031\u102c\u1000\u103a\u1011\u1015\u103a \u101c\u102f\u1015\u103a\u1006\u1031\u102c\u1004\u103a\u1015\u102b\u104b",
          vn: "K\u1ebft n\u1ed1i th\u1ea5t b\u1ea1i, vui l\xf2ng \u0111\u0103ng nh\u1eadp l\u1ea1i.",
          thai: "\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07",
          kh: "\u1780\u17b6\u179a\u178f\u1797\u17d2\u1787\u17b6\u1794\u17cb\u1794\u179a\u17b6\u1787\u17d0\u1799 \u179f\u17bc\u1798\u1785\u17bc\u179b\u1794\u17d2\u179a\u17be\u1798\u17d2\u178f\u1784\u1791\u17c0\u178f",
          es: "Fallo de conexi\xf3n, por favor inicia sesi\xf3n nuevamente."
        },
        "server.beterror": {
          en: "Invalid bet amount.",
          zh: "\u4e0b\u6ce8\u989d\u53c2\u6570\u9519\u8bef\u3002",
          pt: "Valor de aposta inv\xe1lido.",
          mm: "\u1011\u103c\u1000\u103a\u1019\u103e\u102c\u1038\u101a\u103d\u1004\u103a\u1038\u1004\u103d\u1031\u1015\u1019\u102c\u100f\u1019\u103e\u102c\u1038\u1014\u1031\u101e\u100a\u103a\u104b",
          vn: "S\u1ed1 ti\u1ec1n c\u01b0\u1ee3c kh\xf4ng h\u1ee3p l\u1ec7.",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07",
          kh: "\u1785\u17c6\u1793\u17bd\u1793\u1791\u17b9\u1780\u1794\u17d2\u179a\u17b6\u1780\u17cb\u1780\u17b6\u179a\u1794\u1784\u17d2\u1780\u17be\u178f\u17a1\u17be\u1784\u1798\u17b7\u1793\u178f\u17d2\u179a\u17b9\u1798\u178f\u17d2\u179a\u17bc\u179c",
          es: "Monto de apuesta inv\xe1lido."
        },
        "server.bhf": {
          en: "Invalid request.",
          zh: "\u8bf7\u6c42\u4e0d\u5408\u6cd5\u3002",
          pt: "Requisi\xe7\xe3o inv\xe1lida.",
          mm: "\u1010\u1031\u102c\u1004\u103a\u1038\u1006\u102d\u102f\u1001\u103c\u1004\u103a\u1038\u1019\u103e\u102c\u1038\u101a\u103d\u1004\u103a\u1038\u1014\u1031\u101e\u100a\u103a\u104b",
          vn: "Y\xeau c\u1ea7u kh\xf4ng h\u1ee3p l\u1ec7.",
          thai: "\u0e04\u0e33\u0e02\u0e2d\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07",
          kh: "\u179f\u17c6\u178e\u17be\u1798\u17b7\u1793\u178f\u17d2\u179a\u17b9\u1798\u178f\u17d2\u179a\u17bc\u179c",
          es: "Solicitud inv\xe1lida."
        },
        "server.dlgq": {
          en: "Session expired, please login again.",
          zh: "\u767b\u5f55\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002",
          pt: "Sess\xe3o expirada, por favor fa\xe7a o login novamente.",
          mm: "\u100a\u1031\u102c\u1004\u103a\u1016\u103c\u1004\u1037\u103a\u1001\u103d\u1004\u1037\u103a\u1015\u103c\u102f\u101c\u102f\u1015\u103a\u101e\u100a\u1037\u103a\u1021\u1001\u103b\u102d\u1014\u103a\u1000\u102d\u102f \u1000\u103d\u1014\u103a\u1015\u103b\u1030\u1010\u102c\u101e\u102d\u102f\u1037 \u1014\u1031\u102c\u1000\u103a\u1011\u1015\u103a \u101c\u102f\u1015\u103a\u1006\u1031\u102c\u1004\u103a\u1015\u102b\u104b",
          vn: "Phi\xean l\xe0m vi\u1ec7c \u0111\xe3 h\u1ebft h\u1ea1n, vui l\xf2ng \u0111\u0103ng nh\u1eadp l\u1ea1i.",
          thai: "\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07",
          kh: "\u179f\u17c1\u1785\u1780\u17d2\u178f\u17b8\u1785\u17bc\u179b\u1794\u17d2\u179a\u17be\u1794\u17b6\u1793\u1795\u17bb\u178f\u1780\u17c6\u178e\u178f\u17cb\u17a0\u17be\u1799 \u179f\u17bc\u1798\u1785\u17bc\u179b\u1794\u17d2\u179a\u17be\u1798\u17d2\u178f\u1784\u1791\u17c0\u178f",
          es: "Sesi\xf3n expirada, por favor inicia sesi\xf3n nuevamente."
        },
        "server.betbhf": {
          en: "Invalid bet amount.",
          zh: "\u4e0b\u6ce8\u989d\u4e0d\u5408\u6cd5\u3002",
          pt: "Valor de aposta inv\xe1lido.",
          mm: "\u1011\u103c\u1000\u103a\u1019\u103e\u102c\u1038\u101a\u103d\u1004\u103a\u1038\u1004\u103d\u1031\u1015\u1019\u102c\u100f\u1019\u103e\u102c\u1038\u1014\u1031\u101e\u100a\u103a\u104b",
          vn: "S\u1ed1 ti\u1ec1n c\u01b0\u1ee3c kh\xf4ng h\u1ee3p l\u1ec7.",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07",
          kh: "\u1785\u17c6\u1793\u17bd\u1793\u1791\u17b9\u1780\u1794\u17d2\u179a\u17b6\u1780\u17cb\u1780\u17b6\u179a\u1794\u1784\u17d2\u1780\u17be\u178f\u17a1\u17be\u1784\u1798\u17b7\u1793\u178f\u17d2\u179a\u17b9\u1798\u178f\u17d2\u179a\u17bc\u179c",
          es: "Monto de apuesta inv\xe1lido."
        },
        "BonusWallet.DialogRetry": {
          zh: "\u91cd\u8bd5",
          en: "Retry",
          pt: "Tentar novamente",
          mm: "\u1011\u1015\u103a\u1019\u1036\u1000\u103c\u102d\u102f\u1038\u1005\u102c\u1038\u101e\u100a\u103a",
          vn: "Th\u1eed l\u1ea1i",
          thai: "\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48",
          kh: "\u1796\u17d2\u1799\u17b6\u1799\u17b6\u1798\u17a1\u17be\u1784\u179c\u17b7\u1789",
          es: "Reintentar"
        },
        "RetryHandler.Times": {
          zh: "\uff08%s\u6b21\uff09",
          en: "(%s times)",
          pt: "(%s vezes)",
          mm: "(%s \u1000\u103c\u102d\u1019\u103a)",
          vn: "(%s l\u1ea7n)",
          thai: "(%s \u0e04\u0e23\u0e31\u0e49\u0e07)",
          kh: "(%s \u178a\u1784)",
          es: "(%s veces)"
        },
        "General.RetryNetwork": {
          zh: "\u7f51\u7edc\u7e41\u5fd9\uff0c\u6b63\u5728\u91cd\u8bd5...",
          en: "Network busy, retrying...",
          pt: "Rede ocupada, tentando novamente...",
          mm: "\u1000\u103d\u1014\u103a\u101a\u1000\u103a\u1021\u101c\u102f\u1015\u103a\u101b\u103e\u102f\u1015\u103a\u1014\u1031\u101e\u100a\u103a\u104a \u1005\u1019\u103a\u1038\u101e\u1015\u103a\u1014\u1031\u1015\u102b\u101e\u100a\u103a...",
          vn: "M\u1ea1ng b\u1eadn, \u0111ang th\u1eed l\u1ea1i...",
          thai: "\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e07 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21\u0e43\u0e2b\u0e21\u0e48...",
          kh: "\u1794\u1785\u17d2\u1785\u17bb\u1794\u17d2\u1794\u1793\u17d2\u1793 \u1794\u178e\u17d2\u178f\u17b6\u1789\u1798\u17c9\u17b6\u179f\u17ca\u17b8\u1793\u1798\u1798\u17b6\u1789\u17b9\u1780 \u1780\u17c6\u1796\u17bb\u1784\u1792\u17d2\u179c\u17be\u1780\u17b6\u179a\u1796\u17d2\u1799\u17b6\u1799\u17b6\u1798\u17a1\u17be\u1784\u179c\u17b7\u1789...",
          es: "Red ocupada, reintentando..."
        },
        "General.DialogQuit": {
          zh: "\u9000\u51fa",
          en: "Quit",
          pt: "Sair",
          mm: "\u1011\u103d\u1000\u103a",
          vn: "Tho\xe1t",
          thai: "\u0e2d\u0e2d\u0e01",
          kh: "\u1785\u17b6\u1780\u1785\u17c1\u1789",
          es: "Salir"
        },
        "game.start": {
          en: "Start",
          pt: "Iniciar",
          mm: "\u1005\u1010\u1004\u103a\u1019\u100a\u103a",
          vn: "B\u1eaft \u0111\u1ea7u",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21",
          kh: "\u1785\u17b6\u1794\u17cb\u200b\u1795\u17d2\u178f\u17be\u1798",
          es: "Comenzar",
          zh: "\u5f00\u59cb"
        },
        "game.cancel": {
          en: "Cancel",
          pt: "Cancelar",
          mm: "\u1015\u101a\u103a\u1016\u103b\u1000\u103a\u1019\u100a\u103a",
          vn: "H\u1ee7y",
          thai: "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",
          kh: "\u1794\u17c4\u17c7\u1794\u1784\u17cb",
          es: "Cancelar",
          zh: "\u53d6\u6d88"
        },
        "game.buy": {
          en: "Buy",
          pt: "Comprar",
          mm: "\u101d\u101a\u103a\u1019\u100a\u103a",
          vn: "Mua",
          thai: "\u0e0b\u0e37\u0e49\u0e2d",
          kh: "\u1791\u17b7\u1789",
          es: "Comprar",
          zh: "\u8d2d\u4e70"
        },
        "game.playtip": {
          en: "The continuous purchase will stop once disconnected, and the current featured game will be automatically completed.",
          pt: "A compra cont\xednua ser\xe1 interrompida assim que desconectada, e o jogo em destaque atual ser\xe1 conclu\xeddo automaticamente.",
          mm: "\u1021\u1006\u1000\u103a\u101c\u1000\u103a\u1021\u1019\u103e\u102c\u1038\u1019\u103c\u1031\u102c\u1004\u103a\u1038\u1000\u102d\u102f\u101b\u103d\u1031\u1038\u1001\u103b\u101a\u103a\u1000\u102d\u102f\u1000\u103a\u100a\u102e\u1019\u100a\u103a\u101f\u102f \u1015\u103c\u1014\u103a\u1016\u103c\u1005\u103a\u1014\u102d\u102f\u1004\u103a\u101e\u100a\u103a\u104b \u101c\u1000\u103a\u101b\u103e\u102d\u1016\u103c\u1005\u103a\u1005\u1009\u103a\u1021\u1016\u103d\u1032\u1037\u1000\u102d\u102f\u1021\u101c\u102d\u102f\u1021\u101c\u103b\u1031\u102c\u1000\u103a \u1021\u101c\u102f\u1015\u103a\u101c\u102f\u1015\u103a\u1015\u103c\u102e\u1038\u1015\u103c\u102e\u1038 \u101c\u1000\u103a\u1000\u103b\u1014\u103a\u1021\u1019\u103e\u102c\u1038\u1000\u102d\u102f\u101c\u102d\u102f\u1000\u103a\u1014\u102c\u1014\u102d\u102f\u1004\u103a\u101e\u100a\u103a\u104b",
          vn: "Vi\u1ec7c mua h\xe0ng li\xean t\u1ee5c s\u1ebd d\u1eebng l\u1ea1i ngay sau khi m\u1ea5t k\u1ebft n\u1ed1i, v\xe0 tr\xf2 ch\u01a1i n\u1ed5i b\u1eadt hi\u1ec7n t\u1ea1i s\u1ebd t\u1ef1 \u0111\u1ed9ng ho\xe0n th\xe0nh.",
          thai: "\u0e01\u0e32\u0e23\u0e0b\u0e37\u0e49\u0e2d\u0e40\u0e01\u0e21\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e17\u0e31\u0e19\u0e17\u0e35\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e40\u0e14\u0e48\u0e19\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e08\u0e30\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          kh: "\u1780\u17b6\u179a\u1791\u17b7\u1789\u1780\u1798\u17d2\u1798\u179c\u17b7\u1792\u17b8\u1780\u17c6\u1796\u17bb\u1784\u1794\u17b6\u1793\u1788\u1794\u17cb\u1793\u17c5\u1796\u17c1\u179b\u178a\u17c2\u179b\u1795\u17d2\u178f\u179b\u17cb\u1787\u17bc\u1793\u1780\u17b6\u179a\u178f\u17c2\u1798\u17d2\u178f\u1784 \u17a0\u17be\u1799\u1780\u1798\u17d2\u1798\u179c\u17b7\u1792\u17b8\u1796\u17b7\u178f\u1794\u17d2\u179a\u17b6\u1780\u178a\u1793\u17c1\u17c7\u1793\u17b9\u1784\u1794\u1789\u17d2\u1785\u1794\u17cb\u178a\u17c4\u1799\u179f\u17d2\u179c\u17d0\u1799\u1794\u17d2\u179a\u179c\u178f\u17d2\u178f\u17b7\u178a\u17c4\u1799\u179f\u17d2\u179c\u17d0\u1799\u1794\u17d2\u179a\u179c\u178f\u17d2\u178f\u17b7\u17d4",
          es: "La compra continua se detendr\xe1 una vez desconectado, y el juego destacado actual se completar\xe1 autom\xe1ticamente.",
          zh: "\u65ad\u7ebf\u540e\u5c06\u505c\u6b62\u8fde\u7eed\u8d2d\u4e70\uff0c\u5e76\u81ea\u52a8\u5b8c\u6210\u5f53\u524d\u7279\u8272\u6e38\u620f"
        },
        "game.neterror": {
          en: "Network connection failed, please try again later",
          pt: "Falha na conex\xe3o de rede, por favor, tente novamente mais tarde",
          mm: "\u1000\u103d\u1014\u103a\u101a\u1000\u103a\u1001\u103b\u102d\u1010\u103a\u1006\u1000\u103a\u1019\u103e\u102f\u1019\u1021\u1031\u102c\u1004\u103a\u1019\u103c\u1004\u103a\u1015\u102b\u104a \u1000\u103b\u1031\u1038\u1007\u1030\u1038\u1015\u103c\u102f\u104d \u1001\u100f\u1010\u102c\u1021\u1000\u103c\u102c\u1019\u103e \u1014\u1031\u102c\u1000\u103a\u1010\u1005\u103a\u1000\u103c\u102d\u1019\u103a \u101c\u102f\u1015\u103a\u1015\u1031\u1038\u1015\u102b",
          vn: "K\u1ebft n\u1ed1i m\u1ea1ng b\u1ecb l\u1ed7i, vui l\xf2ng th\u1eed l\u1ea1i sau",
          thai: "\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          kh: "\u1780\u17b6\u179a\u178f\u1797\u17d2\u1787\u17b6\u1794\u17cb\u1794\u178e\u17d2\u178f\u17b6\u1789\u1794\u17b6\u1793\u1794\u179a\u17b6\u1787\u17d0\u1799 \u179f\u17bc\u1798\u1796\u17d2\u1799\u17b6\u1799\u17b6\u1798\u1798\u17d2\u178a\u1784\u1791\u17c0\u178f\u1793\u17c5\u1796\u17c1\u179b\u1780\u17d2\u179a\u17c4\u1799",
          es: "Fall\xf3 la conexi\xf3n de red, por favor, int\xe9ntelo de nuevo m\xe1s tarde",
          zh: "\u7f51\u7edc\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u7a0d\u5019\u91cd\u8bd5"
        },
        "feature.clickbuy": {
          en: "Click 'Buy & Play' to purchase and activate the featured game automatically.",
          pt: "Clique em 'Comprar e Jogar' para comprar e ativar o jogo em destaque automaticamente.",
          mm: "\u1021\u1006\u1000\u103a\u101c\u1000\u103a\u1002\u102d\u1019\u103a\u1038\u1000\u102d\u102f\u101d\u101a\u103a\u101a\u1030\u1014\u102d\u102f\u1004\u103a\u101b\u1014\u103a '\u101d\u101a\u103a\u101a\u1030\u1014\u102d\u102f\u1004\u103a\u101b\u1014\u103a\u104a \u101b\u103d\u1031\u1038\u1001\u103b\u101a\u103a\u101c\u102f\u1015\u103a\u101b\u1014\u103a'\u1000\u102d\u102f\u1014\u103e\u102d\u1015\u103a\u1015\u102b\u104b",
          vn: "Nh\u1ea5p v\xe0o 'Mua & Ch\u01a1i' \u0111\u1ec3 mua v\xe0 k\xedch ho\u1ea1t tr\xf2 ch\u01a1i n\u1ed5i b\u1eadt t\u1ef1 \u0111\u1ed9ng.",
          thai: "\u0e04\u0e25\u0e34\u0e01 '\u0e0b\u0e37\u0e49\u0e2d\u0e41\u0e25\u0e30\u0e40\u0e25\u0e48\u0e19' \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e37\u0e49\u0e2d\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e01\u0e21\u0e40\u0e14\u0e48\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          kh: "\u1785\u17bb\u1785 '\u1791\u17b7\u1789 \u1793\u17b7\u1784\u200b\u179b\u17c1\u1784' \u178a\u17be\u1798\u17d2\u1794\u17b8\u1791\u17b7\u1789\u1793\u17b7\u1784\u1792\u17d2\u179c\u17be\u17b1\u17d2\u1799\u179f\u1780\u1798\u17d2\u1798\u1797\u17b6\u1796\u179b\u17c6\u17a2\u17b7\u178f\u179a\u1794\u179f\u17cb\u1780\u1798\u17d2\u1798\u179c\u17b7\u1792\u17b8\u178a\u17c4\u1799\u179f\u17d2\u179c\u17d0\u1799\u1794\u17d2\u179a\u179c\u178f\u17d2\u178f\u17b7\u17d4",
          es: "Haz clic en 'Comprar y Jugar' para comprar y activar autom\xe1ticamente el juego destacado.",
          zh: "\u76f4\u63a5\u8d2d\u4e70\u7279\u8272\u6e38\u620f\uff0c\u8d2d\u4e70\u540e\u7acb\u5373\u4f7f\u7528"
        },
        "feature.bet": {
          en: "Bet",
          pt: "Apostar",
          mm: "\u1021\u102d\u1019\u103a\u1038\u1001\u103b\u1014\u103a\u1038",
          vn: "C\u01b0\u1ee3c",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          kh: "\u1780\u17b6\u179a\u1795\u17d2\u178f\u179b\u17cb\u1799\u1780",
          es: "Apuesta",
          zh: "\u8ced\u6ce8"
        },
        "feature.quantity": {
          en: "Quantity",
          pt: "Quantidade",
          mm: "\u1021\u101b\u1031\u1021\u1010\u103d\u1000\u103a",
          vn: "S\u1ed1 l\u01b0\u1ee3ng",
          thai: "\u0e1b\u0e23\u0e34\u0e21\u0e32\u0e13",
          kh: "\u1794\u179a\u17b7\u1798\u17b6\u178e",
          es: "Cantidad",
          zh: "\u8d2d\u4e70\u6b21\u6570"
        },
        "feature.price": {
          en: "Price",
          pt: "Pre\xe7o",
          mm: "\u1005\u103b\u1031\u1038\u1014\u103e\u102f\u1014\u103a\u1038",
          vn: "Gi\xe1",
          thai: "\u0e23\u0e32\u0e04\u0e32",
          kh: "\u178f\u1798\u17d2\u179b\u17c3",
          es: "Precio",
          zh: "\u91d1\u989d"
        },
        "login.fail": {
          zh: "\u767b\u5f55\u5931\u8d25",
          en: "Login failed",
          pt: "Falha ao fazer login",
          mm: "\u101d\u1004\u103a\u101b\u1031\u102c\u1000\u103a\u1019\u103e\u102f\u1019\u1021\u1031\u102c\u1004\u103a\u1019\u103c\u1004\u103a\u1015\u102b",
          vn: "\u0110\u0103ng nh\u1eadp th\u1ea5t b\u1ea1i",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08",
          kh: "\u1780\u17b6\u179a\u200b\u1785\u17bc\u179b\u200b\u1796\u17b8\u179a\u200b\u1794\u179a\u17b6\u1787\u17d0\u1799",
          es: "Inicio de sesi\xf3n fallido"
        },
        "bet.bz": {
          en: "insufficient balance",
          zh: "\u4f59\u989d\u4e0d\u8db3",
          pt: "saldo insuficiente",
          mm: "\u101c\u1000\u103a\u1000\u103b\u1014\u103a\u1004\u103d\u1031\u1019\u1015\u103c\u1014\u103a\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a\u1019\u103b\u103e\u1019\u101b\u1014\u102d\u102f\u1004\u103a\u1015\u102b",
          vn: "s\u1ed1 d\u01b0 kh\xf4ng \u0111\u1ee7",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e04\u0e07\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d",
          kh: "\u178f\u17bb\u179b\u17d2\u17a2\u17c2\u1780\u1794\u17d2\u179a\u17b6\u1780\u178a\u1787\u17b6\u1784",
          es: "saldo insuficiente"
        },
        "auto.enable": {
          en: "Auto Spin Enabled",
          zh: "\u81ea\u52a8\u65cb\u8f6c\u5df2\u542f\u7528",
          pt: "Giro Autom\xe1tico Habilitado",
          mm: "\u1021\u101c\u102d\u102f\u1021\u101c\u103b\u1031\u102c\u1000\u103a\u1015\u1031\u1038\u101e\u103d\u1004\u103a\u1038\u1015\u102b\u101e\u100a\u103a",
          vn: "T\u1ef1 \u0111\u1ed9ng quay \u0111\xe3 \u0111\u01b0\u1ee3c k\xedch ho\u1ea1t",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e41\u0e25\u0e49\u0e27",
          kh: "\u1794\u17b6\u1793\u1794\u17be\u1780\u1780\u17b6\u179a\u1794\u1784\u17d2\u179c\u17b7\u179b\u178a\u17c4\u1799\u179f\u17d2\u179c\u17d0\u1799\u1794\u17d2\u179a\u179c\u178f\u17d2\u178f\u17b7",
          es: "Giro Autom\xe1tico Habilitado"
        },
        "auto.disable": {
          en: "Auto Spin Disabled",
          zh: "\u81ea\u52a8\u65cb\u8f6c\u5df2\u7981\u7528",
          pt: "Giro Autom\xe1tico Desabilitado",
          mm: "\u1021\u101c\u102d\u102f\u1021\u101c\u103b\u1031\u102c\u1000\u103a\u1015\u1031\u1038\u101e\u103d\u1004\u103a\u1038\u1019\u1015\u103c\u102e\u1038",
          vn: "T\u1ef1 \u0111\u1ed9ng quay b\u1ecb v\xf4 hi\u1ec7u h\xf3a",
          thai: "\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e41\u0e25\u0e49\u0e27",
          kh: "\u1794\u17b6\u1793\u1794\u17b7\u1791\u1780\u17b6\u179a\u1794\u1784\u17d2\u179c\u17b7\u179b\u178a\u17c4\u1799\u179f\u17d2\u179c\u17d0\u1799\u1794\u17d2\u179a\u179c\u178f\u17d2\u178f\u17b7",
          es: "Giro Autom\xe1tico Desactivado"
        },
        "fast.enable": {
          en: "Turbo Spin Enabled",
          zh: "\u6781\u901f\u65cb\u8f6c\u5df2\u542f\u7528",
          pt: "Giro Turbo Habilitado",
          mm: "\u1014\u103e\u102d\u102f\u1038\u1011\u1000\u103a\u1019\u103c\u1004\u103a\u101e\u103d\u1004\u103a\u1038\u1015\u102b\u101e\u100a\u103a",
          vn: "T\u1ef1 \u0111\u1ed9ng quay nhanh \u0111\xe3 \u0111\u01b0\u1ee3c k\xedch ho\u1ea1t",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e42\u0e1a",
          kh: "\u1794\u17b6\u1793\u1794\u17be\u1780\u1780\u17b6\u179a\u1794\u1784\u17d2\u179c\u17b7\u179b\u1787\u17b6\u1794\u17cb\u179a\u17a0\u17d0\u179f",
          es: "Giro Turbo Habilitado"
        },
        "fast.disable": {
          en: "Turbo Spin Disabled",
          zh: "\u6781\u901f\u65cb\u8f6c\u5df2\u7981\u7528",
          pt: "Giro Turbo Desabilitado",
          mm: "\u1014\u103e\u102d\u102f\u1038\u1011\u1000\u103a\u1019\u103c\u1004\u103a\u1015\u103c\u102e\u1038",
          vn: "T\u1ef1 \u0111\u1ed9ng quay nhanh b\u1ecb v\xf4 hi\u1ec7u h\xf3a",
          thai: "\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e42\u0e1a",
          kh: "\u1794\u17b6\u1793\u1794\u17b7\u1791\u1780\u17b6\u179a\u1794\u1784\u17d2\u179c\u17b7\u179b\u1787\u17b6\u1794\u17cb\u179a\u17a0\u17d0\u179f",
          es: "Giro Turbo Desactivado"
        },
        "feature.demo": {
          en: "Feature Demo playing",
          zh: "\u64ad\u653e\u529f\u80fd\u6f14\u793a",
          pt: "Reproduzindo Demonstra\xe7\xe3o de Recursos",
          mm: "\u1021\u1016\u103c\u1031\u1015\u102b\u1014\u100a\u103a\u1038\u1000\u102d\u102f\u1016\u103c\u1010\u103a\u1014\u1031\u1000\u103c",
          vn: "\u0110ang ph\xe1t Video Demo t\xednh n\u0103ng",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e01\u0e32\u0e23\u0e2a\u0e32\u0e18\u0e34\u0e15",
          kh: "\u1780\u17b6\u179a\u1794\u17be\u1780\u179b\u17c1\u1784\u1794\u1784\u17d2\u17a0\u17b6\u1789\u179b\u1780\u17d2\u1781\u178e\u17c8\u1796\u17b7\u179f\u17c1\u179f",
          es: "Reproduciendo Demostraci\xf3n de Funciones"
        },
        "transaction.bh": {
          en: "Transaction",
          zh: "\u4ea4\u6613",
          pt: "Transa\xe7\xe3o",
          mm: "\u1004\u103d\u1031\u101c\u103d\u103e\u1032\u1015\u103c\u102e\u1038",
          vn: "Giao d\u1ecbch",
          thai: "\u0e18\u0e38\u0e23\u0e01\u0e23\u0e23\u0e21",
          kh: "\u1794\u17d2\u179a\u178f\u17b7\u1794\u178f\u17d2\u178f\u17b7\u1780\u17b6\u179a",
          es: "Transacci\xf3n"
        },
        "currency.format": {
          en: "%currency%%value%",
          pt: "%currency%%value%",
          mm: "%currency%%value%",
          vn: "%value% %currency%",
          thai: "%currency%%value%",
          kh: "%currency%%value%",
          es: "%value% %currency%",
          zh: "%value% %currency%"
        },
        "currency.thousands": {
          en: ",",
          pt: ".",
          mm: ",",
          vn: ".",
          thai: ",",
          kh: ",",
          es: ".",
          zh: ","
        },
        "currency.decimals": {
          en: ".",
          pt: ",",
          mm: ".",
          vn: ",",
          thai: ".",
          kh: ".",
          es: ",",
          zh: "."
        },
        "history.table.sessionid": {
          en: "Play Session ID #",
          mm: "Play Session ID #",
          kh: "Play Session ID #",
          pt: "# ID de Sess\xe3o de Jogo",
          vn: "ID Phi\xean ch\u01a1i S\u1ed1",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19 ID #",
          es: "#ID de Sesi\xf3n de Juego",
          zh: "\u904a\u6232\u5de5\u4f5c\u968e\u6bb5ID #"
        },
        "history.table.date": {
          en: "Date",
          mm: "Date",
          kh: "Date",
          pt: "Data",
          vn: "Ng\xe0y",
          thai: "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48",
          es: "Fecha",
          zh: "\u65e5\u671f\uff1a"
        },
        "history.table.balance": {
          en: "New Balance",
          mm: "New Balance",
          kh: "New Balance",
          pt: "Novo Saldo",
          vn: "S\u1ed1 d\u01b0 M\u1edbi",
          thai: "\u0e22\u0e2d\u0e14\u0e04\u0e07\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e43\u0e2b\u0e21\u0e48",
          es: "Nuevo Saldo",
          zh: "\u65b0\u9918\u984d"
        },
        "history.table.bet": {
          en: "Bet",
          mm: "Bet",
          kh: "Bet",
          pt: "Aposta",
          vn: "C\u01b0\u1ee3c",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          es: "Apuesta",
          zh: "\u8ced\u6ce8"
        },
        "history.table.winning": {
          en: "Amount Won",
          mm: "Amount Won",
          kh: "Amount Won",
          pt: "Montante ganho",
          vn: "S\u1ed1 ti\u1ec1n \u0110\xe3 chi\u1ebfn th\u1eafng",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          es: "Importe Ganado",
          zh: "\u8d0f\u53d6\u91d1\u984d"
        },
        "history.detail.win": {
          en: "Win",
          mm: "Win",
          kh: "Win",
          pt: "Pr\xe9mio",
          vn: "Ti\u1ec1n th\u1eafng",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          es: "Premio",
          zh: "\u734e\u91d1"
        },
        "history.detail.totalwin": {
          en: "Total Win",
          mm: "Total Win",
          kh: "Total Win",
          pt: "Pr\xe9mio total",
          vn: "T\u1ed5ng s\u1ed1 chi\u1ebfn th\u1eafng",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e27\u0e21",
          es: "Premio total",
          zh: "\u7e3d\u734e\u91d1"
        },
        "history.detail.multiplierdesc": {
          en: "Multiplier: x{0}",
          mm: "Multiplier: x{0}",
          kh: "Multiplier: x{0}",
          pt: "Multiplicador: x{0}",
          vn: "S\u1ed1 nh\xe2n: x{0}",
          thai: "\u0e15\u0e31\u0e27\u0e17\u0e27\u0e35\u0e04\u0e39\u0e13: x{0}",
          es: "Multiplicador: x{0}",
          zh: "\u500d\u589e\u6307\u6578: x{0}"
        },
        "history.detail.tumbleWin": {
          en: "Tumbling Win: {0}",
          mm: "Tumbling Win: {0}",
          kh: "Tumbling Win: {0}",
          pt: "Pr\xe9mio em cascata: {0}",
          vn: "Th\u1eafng bi\u1ec3u t\u01b0\u1ee3ng r\u01a1i xu\u1ed1ng: {0}",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e23\u0e48\u0e27\u0e07\u0e2b\u0e25\u0e48\u0e19: {0}",
          es: "Premio de Empuj\xf3n: {0}",
          zh: "\u7ffb\u8f49\u734e\u91d1: {0}"
        },
        "history.detail.freeSpinWon": {
          en: "Free spins won: {0}",
          mm: "Free spins won: {0}",
          kh: "Free spins won: {0}",
          pt: "Rodadas Gr\xe1tis Ganhas: {0}",
          vn: "V\xf2ng quay Mi\u1ec5n ph\xed \u0111\xe3 chi\u1ebfn th\u1eafng: {0}",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30: {0}",
          es: "Juegos Gratis ganados: {0}",
          zh: "\u8d0f\u5f97\u7684\u514d\u8cbb\u65cb\u8f49: {0}"
        },
        "history.detail.totalMultiplierdesc": {
          en: "Total Multiplier: x{0}",
          mm: "Total Multiplier: x{0}",
          kh: "Total Multiplier: x{0}",
          pt: "Multiplicador Total: x{0}",
          vn: "T\u1ed5ng S\u1ed1 nh\xe2n: x{0}",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e23\u0e27\u0e21: x{0}",
          es: "Multiplicador Total: x{0}",
          zh: "\u7e3d\u500d\u589e\u6307\u6578: x{0}"
        },
        "history.detail.buyfeature": {
          en: "Buy Feature",
          mm: "Buy Feature",
          kh: "Buy Feature",
          pt: "Comprar Modo",
          vn: "Mua t\xednh n\u0103ng",
          thai: "\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          es: "Comprar funci\xf3n",
          zh: "\u8cfc\u8cb7\u529f\u80fd"
        },
        "history.detail.spin": {
          en: "Spin",
          mm: "Spin",
          kh: "Spin",
          pt: "Rodada",
          vn: "V\xf2ng quay",
          thai: "\u0e2a\u0e1b\u0e34\u0e19",
          es: "Tirada",
          zh: "\u65cb\u8f49"
        },
        "history.detail.freespin": {
          en: "Free Spin",
          mm: "Free Spin",
          kh: "Free Spin",
          pt: "Rodada gr\xe1tis",
          vn: "V\xf2ng quay mi\u1ec5n ph\xed",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          es: "Juego gratis",
          zh: "\u514d\u8cbb\u65cb\u8f49"
        },
        "history.detail.thumbling": {
          en: "Tumbling",
          mm: "Tumbling",
          kh: "Tumbling",
          pt: "Queda",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng r\u01a1i xu\u1ed1ng",
          thai: "\u0e23\u0e48\u0e27\u0e07\u0e2b\u0e25\u0e48\u0e19",
          es: "Tumble",
          zh: "\u7ffb\u8f49"
        },
        "history.detail.winposition": {
          en: "Win Positions",
          mm: "Win Positions",
          kh: "Win Positions",
          pt: "Posi\xe7\xf5es de Pr\xe9mio",
          vn: "V\u1ecb tr\xed tr\xfang th\u01b0\u1edfng",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          es: "Posiciones de Premio",
          zh: "\u8d0f\u734e\u4f4d\u7f6e"
        },
        "history.selectiontitle": {
          en: "Win Positions",
          mm: "Win Positions",
          kh: "Win Positions",
          pt: "Posi\xe7\xf5es de Pr\xe9mio",
          vn: "V\u1ecb tr\xed tr\xfang th\u01b0\u1edfng",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          es: "Posiciones de Premio",
          zh: "\u8d0f\u734e\u4f4d\u7f6e"
        },
        "history.spinchoice": {
          en: "Free Spins",
          mm: "Free Spins",
          kh: "Free Spins",
          pt: "Rodadas Gr\xe1tis",
          vn: "V\xf2ng quay mi\u1ec5n ph\xed",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          es: "Tiradas Gratis",
          zh: "\u514d\u8cbb\u65cb\u8f49"
        },
        "history.paidscatter": {
          en: "Paid Scatter",
          mm: "Paid Scatter",
          kh: "Paid Scatter",
          pt: "Scatter pago",
          vn: "Scatter \u0110\xe3 tr\u1ea3",
          thai: "\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19 Scatter",
          es: "Scatter pagado",
          zh: ""
        },
        "history.scatter": {
          en: "Scatter",
          mm: "Scatter",
          kh: "Scatter",
          pt: "Scatter",
          vn: "Scatter",
          thai: "Scatter",
          es: "Scatter",
          zh: "\u652f\u4ed8\u7684Scatter"
        },
        "history.totalwindescription": {
          en: "Total win is the total amount won on so far at the end of current spin starting from the paid spin that triggered all free features",
          mm: "Total win is the total amount won on so far at the end of current spin starting from the paid spin that triggered all free features",
          kh: "Total win is the total amount won on so far at the end of current spin starting from the paid spin that triggered all free features",
          pt: "O pr\xe9mio total \xe9 o montante ganho at\xe9 ao momento do final da rodada atual, a come\xe7ar desde a rodada paga que ativou todos os modos gr\xe1tis",
          vn: "T\u1ed5ng ti\u1ec1n th\u1eafng l\xe0 t\u1ed5ng s\u1ed1 ti\u1ec1n gi\xe0nh \u0111\u01b0\u1ee3c \u0111\u1ebfn khi k\u1ebft th\xfac v\xf2ng quay hi\u1ec7n t\u1ea1i b\u1eaft \u0111\u1ea7u t\u1eeb v\xf2ng quay \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\xe3 k\xedch ho\u1ea1t t\u1ea5t c\u1ea3 t\xednh n\u0103ng mi\u1ec5n ph\xed",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e04\u0e37\u0e2d\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e21\u0e32\u0e08\u0e19\u0e16\u0e36\u0e07\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19\u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e0b\u0e36\u0e48\u0e07\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e01\u0e34\u0e14\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          es: "El premio total es el importe ganado hasta el momento al final de la tirada inicial, comenzando desde la tirada pagada que origin\xf3 todas las funciones gratis",
          zh: "\u7e3d\u734e\u91d1\u662f\u503c\u5f9e\u89f8\u767c\u6240\u6709\u514d\u8cbb\u529f\u80fd\u7684\u5df2\u8ce0\u4ed8\u65cb\u8f49\u8d77\uff0c\u622a\u81f3\u76ee\u524d\u65cb\u8f49\u7d50\u675f\u6642\u6240\u8d0f\u5f97\u7684\u91d1\u984d\u3002"
        },
        "history.nogame": {
          en: "You haven't had game history yet. Please start playing in order to see your game history.",
          mm: "You haven't had game history yet. Please start playing in order to see your game history.",
          kh: "You haven't had game history yet. Please start playing in order to see your game history.",
          pt: "Ainda n\xe3o tem hist\xf3rico de jogo Comece a jogar para ver o seu hist\xf3rico de jogo.",
          vn: "B\u1ea1n v\u1eabn ch\u01b0a c\xf3 l\u1ecbch s\u1eed tr\xf2 ch\u01a1i. Vui l\xf2ng b\u1eaft \u0111\u1ea7u ch\u01a1i \u0111\u1ec3 xem l\u1ecbch s\u1eed tr\xf2 ch\u01a1i c\u1ee7a b\u1ea1n.",
          thai: "\u0e04\u0e38\u0e13\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          es: "A\xfan no tiene historial de juego. Por favor, comience a jugar para ver su historial de juego.",
          zh: "\u60a8\u9084\u6c92\u6709\u904a\u6232\u6b77\u53f2\u8a18\u9304\u3002\u8acb\u958b\u59cb\u904a\u6232\uff0c\u7136\u5f8c\u624d\u80fd\u67e5\u770b\u81ea\u5df1\u7684\u904a\u6232\u6b77\u53f2\u8a18\u9304\u3002"
        },
        "quickspins.Ifyouwantto_mobile": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener <img src = '{0}' width=36 height=36  align=center/> para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n <img src = '{1}' width=36 height=36  align=center/> . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter <img src = '{0}' width=36 height=36  align=center/>\npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o <img src = '{1}' width=36 height=36  align=center/> . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=36 height=36  align=center/>\n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{1}' width=36 height=36  align=center/>",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef <img src = '{0}' width=36 height=36  align=center/> \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat <img src = '{1}' width=36 height=36  align=center/>. ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f <img src = '{0}' width=36 height=36  align=center/>\n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e <img src = '{1}' width=36 height=36  align=center/>\n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "quickspins.Ifyouwantto_web": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar el\nQuick Spin o mantener la tecla ESPACIO para el\nTirada Turbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n <img src = '{0}' width=36 height=36  align=center/> . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar Rodada\nR\xe1pida ou manter premida a BARRA DE ESPA\xc7OS\npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o <img src = '{0}' width=36 height=36  align=center/> . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\nSPACE \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e0a\u0e19\u0e30\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=36 height=36  align=center/> ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3\nth\u1ec3 b\u1eadt t\xednh n\u0103ng Quay\nnhanh ho\u1eb7c gi\u1eef ph\xedm C\xc1CH \u0111\u1ec3\nnh\u1eadn V\xf2ng quay T\u0103ng\nc\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh n\u0103ng n\xe0y\nt\u1eeb n\xfat <img src = '{0}' width=36 height=36  align=center/> . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f\u7a7a\u767d\u9375\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\n\u60a8\u53ef\u4ee5\u900f\u904e <img src = '{0}' width=36 height=36  align=center/> \u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "bet.BETMULTIPLIER": {
          en: "BET MULTIPLIER {0}X",
          kh: "BET MULTIPLIER {0}X",
          mm: "BET MULTIPLIER {0}X",
          es: "MULTIPLICADOR DE APUESTA {0}X",
          pt: "MULTIPLICADOR DE APOSTA {0}X",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 {0}X",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C {0}X",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578 {0}X"
        },
        "gameSubMessage.FREESPINSLEFT": {
          en: "FREE SPINS LEFT {0}",
          kh: "FREE SPINS LEFT {0}",
          mm: "FREE SPINS LEFT {0}",
          es: "TIRADAS GRATIS RESTANTES {0}",
          pt: "RODADAS GR\xc1TIS RESTANTES {0}",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22 {0}",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N {0}",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578 {0}"
        },
        "gameSubMessage.AUTOSPINSLEFT": {
          en: "AUTO SPINS LEFT {0}",
          kh: "AUTO SPINS LEFT {0}",
          mm: "AUTO SPINS LEFT {0}",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES {0}",
          pt: "RODADAS AUTO RESTANTES {0}",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48 {0}",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I {0}",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578 {0}"
        },
        "autoplay.STARTAUTOPLAY": {
          en: "START AUTOPLAY ({0})",
          kh: "START AUTOPLAY ({0})",
          mm: "START AUTOPLAY ({0})",
          es: "INICIAR TIR. AUTO. ({0})",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO ({0})",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 ({0})",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG ({0})",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8 ({0})"
        },
        "gamerules.plusandminuschange": {
          en: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          kh: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          mm: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          es: "<img src = '{0}' width=48 height=48  align=center/> y <img src = '{1}' width=48 height=48  align=center/> aumentan o disminuyen la apuesta actual y abren el men\xfa de apuesta,\ndesde el que puede modificar las denominaciones.",
          pt: "<img src = '{0}' width=48 height=48  align=center/> e <img src = '{1}' width=48 height=48  align=center/> aumentam ou diminuem a aposta atual e abrem o menu de aposta,\nem que pode alterar as denomina\xe7\xf5es de aposta.",
          thai: "<img src = '{0}' width=48 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=48 height=48  align=center/> \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e0b\u0e36\u0e48\u0e07\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e0a\u0e19\u0e30",
          vn: "<img src = '{0}' width=48 height=48  align=center/> v\xe0 <img src = '{1}' width=48 height=48  align=center/> thay \u0111\u1ed5i t\u0103ng ho\u1eb7c gi\u1ea3m c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i v\xe0 m\u1edf menu c\u01b0\u1ee3c, \u1edf \u0111\xf3 b\u1ea1n c\xf3 th\u1ec3 thay \u0111\u1ed5i m\u1ec7nh gi\xe1 \u0111\u1eb7t c\u01b0\u1ee3c.",
          zh: "<img src = '{0}' width=48 height=48  align=center/> \u548c <img src = '{1}' width=48 height=48  align=center/> \u53ef\u589e\u52a0\u6216\u6e1b\u5c11\u76ee\u524d\u8ced\u6ce8\uff0c\u9084\u80fd\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\uff0c\u60a8\u53ef\u4ee5\u5728\u8a72\u529f\u80fd\u8868\u4e2d\u66f4\u6539\u8ced\u6ce8\u9762\u984d\u3002"
        },
        "gamerules.Clickthe_mobile": {
          en: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          kh: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          mm: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          es: "Pulse el bot\xf3n <img src = '{0}' width=48 height=48/> para abrir el men\xfa de apuesta. Seleccione la apuesta que desea\nusar en el juego ajustando los valores usando los botones <img src = '{1}' width=48 height=48 align=center/> y <img src = '{2}' width=48 height=48 align=center/> .",
          pt: "Clique no bot\xe3o <img src = '{0}' width=48 height=48/> para abrir o menu de apostas. Selecione a aposta que deseja usar\nno jogo, ajustando os valores atrav\xe9s dos bot\xf5es <img src = '{1}' width=48 height=48 align=center/> e <img src = '{2}' width=48 height=48 align=center/> .",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=48 height=48/> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e1b\u0e23\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21 <img src = '{1}' width=48 height=48/> \u0e41\u0e25\u0e30 <img src = '{2}' width=48 height=48/> ",
          vn: "Nh\u1ea5p v\xe0o n\xfat <img src = '{0}' width=48 height=48/> \u0111\u1ec3 m\u1edf menu c\u01b0\u1ee3c. Ch\u1ecdn c\u01b0\u1ee3c m\xe0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng trong tr\xf2 ch\u01a1i b\u1eb1ng\nc\xe1ch \u0111i\u1ec1u ch\u1ec9nh gi\xe1 tr\u1ecb s\u1eed d\u1ee5ng n\xfat <img src = '{1}' width=48 height=48 align=center/> v\xe0 <img src = '{2}' width=48 height=48 align=center/> .",
          zh: "\u9ede\u64ca <img src = '{0}' width=48 height=48/> \u6309\u9215\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\u3002\u900f\u904e <img src = '{1}' width=48 height=48/> \u548c <img src = '{2}' width=48 height=48/> \u6309\u9215\u8abf\u6574\u6578\u503c\u5927\u5c0f\uff0c\u9078\u64c7\u60a8\u8981\u5728\u904a\u6232\u4e2d\u4f7f\u7528\u7684\u8ced\u6ce8\u3002"
        },
        "gamerules.Clickthe_web": {
          en: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          kh: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          mm: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          es: "Haga clic en los botones <img src = '{0}' width=48 height=48/> o <img src = '{1}' width=48 height=48/> para cambiar el valor de la apuesta y abrir el men\xfa de apuesta.\nSeleccione la apuesta que desea usar en el juego.",
          pt: "Clique nos bot\xf5es <img src = '{0}' width=48 height=48/> ou <img src = '{1}' width=48 height=48/> para alterar o valor da aposta e abrir o menu de aposta.\nSelecione a aposta que quer usar no jogo.",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=48 height=48/> \u0e2b\u0e23\u0e37\u0e2d <img src = '{1}' width=48 height=48/> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21",
          vn: "Nh\u1ea5p v\xe0o n\xfat <img src = '{0}' width=48 height=48/> ho\u1eb7c <img src = '{1}' width=48 height=48/> \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb c\u01b0\u1ee3c v\xe0 m\u1edf menu c\u01b0\u1ee3c.\nCh\u1ecdn kho\u1ea3n c\u01b0\u1ee3c m\xe0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng trong tr\xf2 ch\u01a1i.",
          zh: "\u9ede\u64ca <img src = '{0}' width=48 height=48/> \u6216 <img src = '{1}' width=48 height=48/> \u6309\u9215\u66f4\u6539\u8ced\u6ce8\u91d1\u984d\u6216\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\u3002\u9078\u64c7\u60a8\u8981\u5728\u904a\u6232\u4e2d\u4f7f\u7528\u7684\u8ced\u6ce8\u3002"
        },
        "gamerules.Usethe": {
          en: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          kh: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          mm: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          es: "Use los botones <img src = '{0}' width=48 height=48  align=center/> y <img src = '{1}' width=48 height=48  align=center/> en los campos APUESTA y VALOR DE CR\xc9DITO para cambiar los valores.",
          pt: "Use os bot\xf5es <img src = '{0}' width=48 height=48  align=center/> e <img src = '{1}' width=48 height=48  align=center/> nos campos APOSTA e VALOR DA MOEDA para alterar os valores.",
          thai: "\u0e43\u0e0a\u0e49 <img src = '{0}' width=48 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=48 height=48  align=center/> \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 \"\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\" \u0e41\u0e25\u0e30 \"\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\" \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32",
          vn: "S\u1eed d\u1ee5ng c\xe1c n\xfat <img src = '{0}' width=48 height=48  align=center/> v\xe0 <img src = '{1}' width=48 height=48  align=center/> trong c\xe1c tr\u01b0\u1eddng C\u01af\u1ee2C v\xe0 GI\xc1 TR\u1eca XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u8ced\u6ce8\u300d\u548c\u300c\u786c\u5e63\u6578\u503c\u300d\u6b04\u4f4d\u4e2d\u7684 <img src = '{0}' width=48 height=48  align=center/> \u548c <img src = '{1}' width=48 height=48  align=center/> \u6309\u9215\u53ef\u4ee5\u8b8a\u66f4\u6578\u503c\u3002"
        },
        "gamerules.closestheinformationscreen": {
          en: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          kh: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          mm: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          es: "<img src = '{0}' width=48 height=48  align=center/> cierra la pantalla de informaci\xf3n.",
          pt: "<img src = '{0}' width=48 height=48  align=center/> fecha o ecr\xe3 de informa\xe7\xf5es",
          thai: "<img src = '{0}' width=48 height=48  align=center/> \u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}' width=48 height=48  align=center/> \u0111\xf3ng trang th\xf4ng tin",
          zh: "<img src = '{0}' width=48 height=48  align=center/> \u53ef\u95dc\u9589\u8cc7\u8a0a\u756b\u9762"
        },
        "gamerules.openstheInformationpage_web": {
          en: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          kh: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          mm: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          es: "<img src = '{0}'  width=54 height=54 align=center/> abre la p\xe1gina de Informaci\xf3n.",
          pt: "<img src = '{0}'  width=54 height=54 align=center/> abre a p\xe1gina de informa\xe7\xf5es",
          thai: "<img src = '{0}'  width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}'  width=54 height=54 align=center/> m\u1edf trang Th\xf4ng tin",
          zh: "<img src = '{0}'  width=54 height=54 align=center/> \u53ef\u6253\u958b\u300c\u8cc7\u8a0a\u300d\u9801\u9762"
        },
        "gamerules.openstheInformationpage_portrait": {
          en: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          kh: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          mm: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          es: "<img src = '{0}'  width=54 height=54 align=center/> abre la p\xe1gina de Informaci\xf3n.",
          pt: "<img src = '{0}'  width=54 height=54 align=center/> abre a p\xe1gina de informa\xe7\xf5es",
          thai: "<img src = '{0}'  width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}'  width=54 height=54 align=center/> m\u1edf trang Th\xf4ng tin",
          zh: "<img src = '{0}'  width=54 height=54 align=center/> \u53ef\u6253\u958b\u300c\u8cc7\u8a0a\u300d\u9801\u9762"
        },
        "gamerules.openstheSETTINGSmenu": {
          en: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          kh: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          mm: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          es: "<img src = '{0}' width=58 height=58 align=center/> abre el men\xfa de CONFIGURACI\xd3N que contiene los ajustes que afectan al modo en que se muestra el juego.",
          pt: "abre o menu que cont\xe9m as defini\xe7\xf5es que afetam o modo como o jogo est\xe1 a ser jogado.",
          thai: "<img src = '{0}' width=58 height=58 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=58 height=58 align=center/> m\u1edf menu C\xc0I \u0110\u1eb6T c\xf3 ch\u1ee9a nh\u1eefng c\xe0i \u0111\u1eb7t \u1ea3nh h\u01b0\u1edfng t\u1edbi c\xe1ch tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i.",
          zh: "<img src = '{0}' width=58 height=58 align=center/> \u53ef\u6253\u958b\u5305\u542b\u8a2d\u5b9a\u7684\u529f\u80fd\u8868\uff0c\u800c\u9019\u4e9b\u8a2d\u5b9a\u6703\u5f71\u97ff\u904a\u6232\u7684\u73a9\u6cd5\u3002"
        },
        "gamerules.opensthegamehistory": {
          en: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          kh: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          mm: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          es: "<img src = '{0}' width=54 height=54 align=center/> abre la p\xe1gina de historial del juego.",
          pt: "<img src = '{0}' width=54 height=54 align=center/> abre a p\xe1gina de hist\xf3rico do jogo",
          thai: "<img src = '{0}' width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=54 height=54 align=center/> m\u1edf trang l\u1ecbch s\u1eed tr\xf2 ch\u01a1i",
          zh: "<img src = '{0}' width=54 height=54 align=center/> \u53ef\u6253\u958b\u904a\u6232\u6b77\u53f2\u8a18\u9304\u9801\u9762"
        },
        "gamerules.opensthemenuthat": {
          en: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          kh: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          mm: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          es: "<img src = '{0}' width=54 height=54 align=center/>aabre el men\xfa que contiene los ajustes que afectan al modo en que se muestra el juego.",
          pt: "<img src = '{0}' width=54 height=54 align=center/> abre o menu que cont\xe9m as defini\xe7\xf5es que afetam o modo como o jogo est\xe1 a ser jogado.",
          thai: "<img src = '{0}' width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=54 height=54 align=center/> m\u1edf menu c\xf3 ch\u1ee9a nh\u1eefng c\xe0i \u0111\u1eb7t \u1ea3nh h\u01b0\u1edfng t\u1edbi c\xe1ch tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i.",
          zh: "<img src = '{0}' width=54 height=54 align=center/> \u53ef\u6253\u958b\u5305\u542b\u8a2d\u5b9a\u7684\u529f\u80fd\u8868\uff0c\u800c\u9019\u4e9b\u8a2d\u5b9a\u6703\u5f71\u97ff\u904a\u6232\u7684\u73a9\u6cd5\u3002"
        },
        "gamerules.scrollbetweeninformationpages": {
          en: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          kh: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          mm: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          es: "<img src = '{0}' width=44 height=48  align=center/> y <img src = '{1}' width=44 height=48  align=center/> sirven para moverse entre las p\xe1ginas de informaci\xf3n.",
          pt: "<img src = '{0}' width=44 height=48  align=center/> e <img src = '{1}' width=44 height=48  align=center/> percorrem p\xe1ginas de informa\xe7\xe3o",
          thai: "<img src = '{0}' width=44 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=44 height=48  align=center/> \u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1b\u0e21\u0e32\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}' width=44 height=48  align=center/> v\xe0 <img src = '{1}' width=44 height=48  align=center/> cu\u1ed9n gi\u1eefa c\xe1c trang th\xf4ng tin",
          zh: "<img src = '{0}' width=44 height=48  align=center/> \u548c <img src = '{1}' width=44 height=48  align=center/> \u53ef\u5728\u8cc7\u8a0a\u9801\u9762\u9593\u6efe\u52d5"
        },
        "gamerules.startsthegame": {
          en: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          kh: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          mm: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          es: "<img src = '{0}'  width=64 height=64 align=center/> inicia el juego.",
          pt: "<img src = '{0}'  width=64 height=64 align=center/> inicia o jogo",
          thai: "<img src = '{0}'  width=64 height=64 align=center/> \u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}'  width=64 height=64 align=center/> b\u1eaft \u0111\u1ea7u tr\xf2 ch\u01a1i",
          zh: "<img src = '{0}'  width=64 height=64 align=center/> \u53ef\u958b\u59cb\u904a\u6232"
        },
        "gamerules.MAXIMUMBET": {
          en: "MAXIMUM BET: {0}",
          kh: "MAXIMUM BET: {0}",
          mm: "MAXIMUM BET: {0}",
          es: "APUESTA M\xc1XIMA: {0}",
          pt: "APOSTA M\xc1XIMA: {0}",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14: {0}",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A: {0}",
          zh: "\u6700\u5927\u8ced\u6ce8\uff1a {0}"
        },
        "gamerules.MINIMUMBET": {
          en: "MINIMUM BET: {0}",
          kh: "MINIMUM BET: {0}",
          mm: "MINIMUM BET: {0}",
          es: "APUESTA M\xcdNIMA: {0}",
          pt: "APOSTA M\xcdNIMA: {0}",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14: {0}",
          vn: "C\u01af\u1ee2C T\u1ed0I THI\u1ec2U: {0}",
          zh: "\u6700\u5c0f\u8ced\u6ce8\uff1a {0}"
        },
        "label_web._2": {
          en: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          kh: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          mm: "<img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/> change up or down the current bet and open the bet menu, where you can change the bet denominations.",
          es: "<img src = '{0}' width=48 height=48  align=center/> y <img src = '{1}' width=48 height=48  align=center/> aumentan o disminuyen la apuesta actual y abren el men\xfa de apuesta,\ndesde el que puede modificar las denominaciones.",
          pt: "<img src = '{0}' width=48 height=48  align=center/> e <img src = '{1}' width=48 height=48  align=center/> aumentam ou diminuem a aposta atual e abrem o menu de aposta,\nem que pode alterar as denomina\xe7\xf5es de aposta.",
          thai: "<img src = '{0}' width=48 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=48 height=48  align=center/> \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e0b\u0e36\u0e48\u0e07\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e0a\u0e19\u0e30",
          vn: "<img src = '{0}' width=48 height=48  align=center/> v\xe0 <img src = '{1}' width=48 height=48  align=center/> thay \u0111\u1ed5i t\u0103ng ho\u1eb7c gi\u1ea3m c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i v\xe0 m\u1edf menu c\u01b0\u1ee3c, \u1edf \u0111\xf3 b\u1ea1n c\xf3 th\u1ec3 thay \u0111\u1ed5i m\u1ec7nh gi\xe1 \u0111\u1eb7t c\u01b0\u1ee3c.",
          zh: "<img src = '{0}' width=48 height=48  align=center/> \u548c <img src = '{1}' width=48 height=48  align=center/> \u53ef\u589e\u52a0\u6216\u6e1b\u5c11\u76ee\u524d\u8ced\u6ce8\uff0c\u9084\u80fd\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\uff0c\u60a8\u53ef\u4ee5\u5728\u8a72\u529f\u80fd\u8868\u4e2d\u66f4\u6539\u8ced\u6ce8\u9762\u984d\u3002"
        },
        "label_mobile._6": {
          en: "        opens the menu that contains the settings which affect the way the game is being played.",
          kh: "        opens the menu that contains the settings which affect the way the game is being played.",
          mm: "        opens the menu that contains the settings which affect the way the game is being played.",
          es: "         abre el men\xfa que contiene los ajustes que\nafectan al modo en que se muestra el juego.",
          pt: "          abre o menu que cont\xe9m as defini\xe7\xf5es que\nafetam o modo como o jogo est\xe1 a ser jogado.",
          thai: "          \u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\n\u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "           m\u1edf menu c\xf3 ch\u1ee9a nh\u1eefng c\xe0i \u0111\u1eb7t \u1ea3nh h\u01b0\u1edfng\nt\u1edbi c\xe1ch tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i.",
          zh: "         \u53ef\u6253\u958b\u5305\u542b\u8a2d\u5b9a\u7684\u529f\u80fd\u8868\uff0c\n\u800c\u9019\u4e9b\u8a2d\u5b9a\u6703\u5f71\u97ff\u904a\u6232\u7684\u73a9\u6cd5\u3002"
        },
        "label_web._3": {
          en: "      MULTIPLIES FINAL TUMBLE WIN",
          kh: "      MULTIPLIES FINAL TUMBLE WIN",
          mm: "      MULTIPLIES FINAL TUMBLE WIN",
          es: "       MULTIPLICA EL PREMIO FINAL DE SUSTITUCI\xd3N",
          pt: "O    MULTIPLICA O GANHO DE QUEDA FINAL",
          thai: "       \u0e08\u0e30\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e49\u0e32\u0e22\u0e2a\u0e38\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "       NH\xc2N V\u1edaI TI\u1ec0N TH\u1eaeNG D\u1ed2N XU\u1ed0NG CU\u1ed0I C\xd9NG",
          zh: "      \u4e58\u4ee5\u6700\u7d42\u7ffb\u8f49\u734e\u91d1"
        },
        "label_web._4": {
          en: "      MULTIPLIES FINAL TUMBLE WIN",
          kh: "      MULTIPLIES FINAL TUMBLE WIN",
          mm: "      MULTIPLIES FINAL TUMBLE WIN",
          es: "       MULTIPLICA EL PREMIO FINAL DE SUSTITUCI\xd3N",
          pt: "O       MULTIPLICA O GANHO DE QUEDA FINAL",
          thai: "       \u0e08\u0e30\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e49\u0e32\u0e22\u0e2a\u0e38\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "       NH\xc2N V\u1edaI TI\u1ec0N TH\u1eaeNG D\u1ed2N XU\u1ed0NG CU\u1ed0I C\xd9NG",
          zh: "      \u4e58\u4ee5\u6700\u7d42\u7ffb\u8f49\u734e\u91d1"
        },
        "label_mobile._7": {
          en: "      MULTIPLIES FINAL TUMBLE WIN",
          kh: "      MULTIPLIES FINAL TUMBLE WIN",
          mm: "      MULTIPLIES FINAL TUMBLE WIN",
          es: "       MULTIPLICA EL PREMIO FINAL DE SUSTITUCI\xd3N",
          pt: "O     MULTIPLICA O GANHO DE QUEDA FINAL",
          thai: "       \u0e08\u0e30\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e49\u0e32\u0e22\u0e2a\u0e38\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "       NH\xc2N V\u1edaI TI\u1ec0N TH\u1eaeNG D\u1ed2N XU\u1ed0NG CU\u1ed0I C\xd9NG",
          zh: "      \u4e58\u4ee5\u6700\u7d42\u7ffb\u8f49\u734e\u91d1"
        },
        "label_mobile._8": {
          en: "      MULTIPLIES FINAL TUMBLE WIN",
          kh: "      MULTIPLIES FINAL TUMBLE WIN",
          mm: "      MULTIPLIES FINAL TUMBLE WIN",
          es: "       MULTIPLICA EL PREMIO FINAL DE SUSTITUCI\xd3N",
          pt: "O     MULTIPLICA O GANHO DE QUEDA FINAL",
          thai: "       \u0e08\u0e30\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e49\u0e32\u0e22\u0e2a\u0e38\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "       NH\xc2N V\u1edaI TI\u1ec0N TH\u1eaeNG D\u1ed2N XU\u1ed0NG CU\u1ed0I C\xd9NG",
          zh: "      \u4e58\u4ee5\u6700\u7d42\u7ffb\u8f49\u734e\u91d1"
        },
        "label_web._5": {
          en: "    WITH UP TO",
          kh: "    WITH UP TO",
          mm: "    WITH UP TO",
          es: "      CON HASTA",
          pt: "       COM AT\xc9",
          thai: "       \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "       V\u1edaI S\u1ed0 NH\xc2N T\u1ed0I \u0110A",
          zh: "      \u548c\u6700\u5927"
        },
        "label_web._6": {
          en: "    WITH UP TO",
          kh: "    WITH UP TO",
          mm: "    WITH UP TO",
          es: "      CON HASTA",
          pt: "       COM AT\xc9",
          thai: "       \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "       V\u1edaI S\u1ed0 NH\xc2N T\u1ed0I \u0110A",
          zh: "      \u548c\u6700\u5927"
        },
        "label_mobile._9": {
          en: "    WITH UP TO",
          kh: "    WITH UP TO",
          mm: "    WITH UP TO",
          es: "      CON HASTA",
          pt: "       COM AT\xc9",
          thai: "       \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "       V\u1edaI S\u1ed0 NH\xc2N T\u1ed0I \u0110A",
          zh: "      \u548c\u6700\u5927"
        },
        "label_mobile._10": {
          en: "    WITH UP TO",
          kh: "    WITH UP TO",
          mm: "    WITH UP TO",
          es: "      CON HASTA",
          pt: "       COM AT\xc9",
          thai: "       \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "       V\u1edaI S\u1ed0 NH\xc2N T\u1ed0I \u0110A",
          zh: "      \u548c\u6700\u5927"
        },
        "label_web.FreeBonusSpins": {
          en: " Free Bonus Spins",
          kh: " Free Bonus Spins",
          mm: " Free Bonus Spins",
          es: " Tiradas Bonus Gratis",
          pt: " Rodadas B\xf3nus Gr\xe1tis",
          thai: " \u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35",
          vn: " V\xf2ng quay Th\u01b0\u1edfng Mi\u1ec5n ph\xed",
          zh: " \u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_mobile.FreeBonusSpins": {
          en: " Free Bonus Spins",
          kh: " Free Bonus Spins",
          mm: " Free Bonus Spins",
          es: " Tiradas Bonus Gratis",
          pt: " Rodadas B\xf3nus Gr\xe1tis",
          thai: " \u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35",
          vn: " V\xf2ng quay Th\u01b0\u1edfng Mi\u1ec5n ph\xed",
          zh: " \u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_web.SECONDS": {
          en: " SECONDS",
          kh: " SECONDS",
          mm: " SECONDS",
          es: " SEGUNDOS ",
          pt: " SEGUNDOS ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " GI\xc2Y ",
          zh: " \u79d2 "
        },
        "label_mobile.SECONDS": {
          en: " SECONDS",
          kh: " SECONDS",
          mm: " SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_mobile.SECONDS_2": {
          en: " SECONDS",
          kh: " SECONDS",
          mm: " SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_mobile.SECONDS_3": {
          en: " SECONDS",
          kh: " SECONDS",
          mm: " SECONDS",
          es: " SEGUNDOS ",
          pt: " SEGUNDOS ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " GI\xc2Y ",
          zh: " \u79d2 "
        },
        "label_mobile.SECONDS_4": {
          en: " SECONDS",
          kh: " SECONDS",
          mm: " SECONDS",
          es: " SEGUNDOS ",
          pt: " SEGUNDOS ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " GI\xc2Y ",
          zh: " \u79d2 "
        },
        "label_mobile.X": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.X_2": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.X_3": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.X_4": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.X_5": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.X_6": {
          en: " X",
          kh: " X",
          mm: " X",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.day": {
          en: " day ",
          kh: " day ",
          mm: " day ",
          es: " d\xeda ",
          pt: " dia ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_web.day_2": {
          en: " day ",
          kh: " day ",
          mm: " day ",
          es: " d\xeda ",
          pt: " dia ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_mobile.day": {
          en: " day ",
          kh: " day ",
          mm: " day ",
          es: " d\xeda ",
          pt: " dia ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_mobile.day_2": {
          en: " day ",
          kh: " day ",
          mm: " day ",
          es: " d\xeda ",
          pt: " dia ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_web.days": {
          en: " days ",
          kh: " days ",
          mm: " days ",
          es: " d\xedas ",
          pt: " dias ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_web.days_2": {
          en: " days ",
          kh: " days ",
          mm: " days ",
          es: " d\xedas ",
          pt: " dias ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_mobile.days": {
          en: " days ",
          kh: " days ",
          mm: " days ",
          es: " d\xedas ",
          pt: " dias ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_mobile.days_2": {
          en: " days ",
          kh: " days ",
          mm: " days ",
          es: " d\xedas ",
          pt: " dias ",
          thai: " \u0e27\u0e31\u0e19 ",
          vn: " ng\xe0y ",
          zh: " \u5929 "
        },
        "label_web.hour": {
          en: " hour ",
          kh: " hour ",
          mm: " hour ",
          es: " hora ",
          pt: " hora ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_web.hour_2": {
          en: " hour ",
          kh: " hour ",
          mm: " hour ",
          es: " hora ",
          pt: " hora ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_mobile.hour": {
          en: " hour ",
          kh: " hour ",
          mm: " hour ",
          es: " hora ",
          pt: " hora ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_mobile.hour_2": {
          en: " hour ",
          kh: " hour ",
          mm: " hour ",
          es: " hora ",
          pt: " hora ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_web.hours": {
          en: " hours ",
          kh: " hours ",
          mm: " hours ",
          es: " horas ",
          pt: " horas ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_web.hours_2": {
          en: " hours ",
          kh: " hours ",
          mm: " hours ",
          es: " horas ",
          pt: " horas ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_mobile.hours": {
          en: " hours ",
          kh: " hours ",
          mm: " hours ",
          es: " horas ",
          pt: " horas ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_mobile.hours_2": {
          en: " hours ",
          kh: " hours ",
          mm: " hours ",
          es: " horas ",
          pt: " horas ",
          thai: " \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 ",
          vn: " gi\u1edd ",
          zh: " \u5c0f\u6642 "
        },
        "label_web.minute": {
          en: " minute ",
          kh: " minute ",
          mm: " minute ",
          es: " minuto ",
          pt: " minuto ",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_web.minute_2": {
          en: " minute ",
          kh: " minute ",
          mm: " minute ",
          es: " minuto ",
          pt: " minuto ",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_mobile.minute": {
          en: " minute ",
          kh: " minute ",
          mm: " minute ",
          es: " minuto ",
          pt: " minuto ",
          thai: " \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_mobile.minute_2": {
          en: " minute ",
          kh: " minute ",
          mm: " minute ",
          es: " minuto ",
          pt: " minuto ",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_web.minutes": {
          en: " minutes ",
          kh: " minutes ",
          mm: " minutes ",
          es: " minutos ",
          pt: " minutos",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_web.minutes_2": {
          en: " minutes ",
          kh: " minutes ",
          mm: " minutes ",
          es: " minutos ",
          pt: " minutos",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_mobile.minutes": {
          en: " minutes ",
          kh: " minutes ",
          mm: " minutes ",
          es: " minutos ",
          pt: " minutos ",
          thai: " \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_mobile.minutes_2": {
          en: " minutes ",
          kh: " minutes ",
          mm: " minutes ",
          es: " minutos ",
          pt: " minutos",
          thai: "  \u0e19\u0e32\u0e17\u0e35 ",
          vn: " ph\xfat ",
          zh: " \u5206\u9418 "
        },
        "label_web.second": {
          en: " second",
          kh: " second",
          mm: " second",
          es: " segundo ",
          pt: " segundo ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_web.second_2": {
          en: " second",
          kh: " second",
          mm: " second",
          es: " segundo ",
          pt: " segundo ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_mobile.second": {
          en: " second",
          kh: " second",
          mm: " second",
          es: " segundo ",
          pt: " segundo ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_mobile.second_2": {
          en: " second",
          kh: " second",
          mm: " second",
          es: " segundo ",
          pt: " segundo ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_web.seconds": {
          en: " seconds",
          kh: " seconds",
          mm: " seconds",
          es: " segundos ",
          pt: " segundos ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_web.seconds_2": {
          en: " seconds",
          kh: " seconds",
          mm: " seconds",
          es: " segundos ",
          pt: " segundos ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_mobile.seconds": {
          en: " seconds",
          kh: " seconds",
          mm: " seconds",
          es: " segundos ",
          pt: " segundos ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_mobile.seconds_2": {
          en: " seconds",
          kh: " seconds",
          mm: " seconds",
          es: " segundos ",
          pt: " segundos ",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 ",
          vn: " gi\xe2y ",
          zh: " \u79d2 "
        },
        "label_web.secondsofFree": {
          en: " seconds of Free Bonus Spins",
          kh: " seconds of Free Bonus Spins",
          mm: " seconds of Free Bonus Spins",
          es: " segundos de Tiradas Bonus Gratis",
          pt: " segundos de Rodadas B\xf3nus Gr\xe1tis",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\u0e02\u0e2d\u0e07\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35",
          vn: " gi\xe2y c\u1ee7a V\xf2ng quay Th\u01b0\u1edfng Mi\u1ec5n ph\xed",
          zh: " \u79d2\u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_mobile.secondsofFree": {
          en: " seconds of Free Bonus Spins",
          kh: " seconds of Free Bonus Spins",
          mm: " seconds of Free Bonus Spins",
          es: " segundos de Tiradas Bonus Gratis",
          pt: " segundos de Rodadas B\xf3nus Gr\xe1tis",
          thai: " \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\u0e02\u0e2d\u0e07\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35",
          vn: " gi\xe2y c\u1ee7a V\xf2ng quay Th\u01b0\u1edfng Mi\u1ec5n ph\xed",
          zh: " \u79d2\u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_web.to": {
          en: " to ",
          kh: " to ",
          mm: " to ",
          es: " a ",
          pt: " a ",
          thai: " \u0e16\u0e36\u0e07 ",
          vn: " t\u1edbi ",
          zh: " \u540d\u5230\u7b2c "
        },
        "label_web.to_2": {
          en: " to ",
          kh: " to ",
          mm: " to ",
          es: " a ",
          pt: " a ",
          thai: " \u0e16\u0e36\u0e07 ",
          vn: " t\u1edbi ",
          zh: " \u540d\u5230\u7b2c "
        },
        "label_mobile.to": {
          en: " to ",
          kh: " to ",
          mm: " to ",
          es: " a ",
          pt: " a ",
          thai: " \u0e16\u0e36\u0e07 ",
          vn: " t\u1edbi ",
          zh: " \u7b2c "
        },
        "label_mobile.to_2": {
          en: " to ",
          kh: " to ",
          mm: " to ",
          es: " a ",
          pt: " a ",
          thai: " \u0e16\u0e36\u0e07 ",
          vn: " t\u1edbi ",
          zh: " \u540d\u5230\u7b2c "
        },
        "label_web._7": {
          en: "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
          kh: "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
          mm: "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
          vn: "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
        },
        "label_web.x2wins69": {
          en: "(x2) wins 69",
          kh: "(x2) wins 69",
          mm: "(x2) wins 69",
          es: "(x2) wins 69",
          pt: "(x2) wins 69",
          thai: "(x2) wins 69",
          vn: "(x2) wins 69",
          zh: "(x2) wins 69"
        },
        "label_web.x2wins69_2": {
          en: "(x2) wins 69",
          kh: "(x2) wins 69",
          mm: "(x2) wins 69",
          es: "(x2) wins 69",
          pt: "(x2) wins 69",
          thai: "(x2) wins 69",
          vn: "(x2) wins 69",
          zh: "(x2) wins 69"
        },
        "label_web.GRANDJackpotstarts": {
          en: "- GRAND Jackpot starts from {0}",
          kh: "- GRAND Jackpot starts from {0}",
          mm: "- GRAND Jackpot starts from {0}",
          es: "- El GRAND Jackpot comienza desde {0}",
          pt: "- O Jackpot GRAND come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot GRAND b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- GRAND\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.GRANDJackpotstarts": {
          en: "- GRAND Jackpot starts from {0}",
          kh: "- GRAND Jackpot starts from {0}",
          mm: "- GRAND Jackpot starts from {0}",
          es: "- El GRAND Jackpot comienza desde {0}",
          pt: "- O Jackpot GRAND come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot GRAND b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- GRAND\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.GRANDJackpotstarts_2": {
          en: "- GRAND Jackpot starts from {0}",
          kh: "- GRAND Jackpot starts from {0}",
          mm: "- GRAND Jackpot starts from {0}",
          es: "- El GRAND Jackpot comienza desde {0}",
          pt: "- O Jackpot GRAND come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot GRAND b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- GRAND\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_web.MAJORJackpotstarts": {
          en: "- MAJOR Jackpot starts from {0}",
          kh: "- MAJOR Jackpot starts from {0}",
          mm: "- MAJOR Jackpot starts from {0}",
          es: "- El MAJOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MAJOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MAJOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MAJOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MAJORJackpotstarts": {
          en: "- MAJOR Jackpot starts from {0}",
          kh: "- MAJOR Jackpot starts from {0}",
          mm: "- MAJOR Jackpot starts from {0}",
          es: "- El MAJOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MAJOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MAJOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MAJOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MAJORJackpotstarts_2": {
          en: "- MAJOR Jackpot starts from {0}",
          kh: "- MAJOR Jackpot starts from {0}",
          mm: "- MAJOR Jackpot starts from {0}",
          es: "- El MAJOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MAJOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MAJOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MAJOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_web.MEGAJackpotstarts": {
          en: "- MEGA Jackpot starts from {0}",
          kh: "- MEGA Jackpot starts from {0}",
          mm: "- MEGA Jackpot starts from {0}",
          es: "- El MEGA Jackpot comienza desde {0}",
          pt: "- O Jackpot MEGA come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MEGA b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MEGA\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MEGAJackpotstarts": {
          en: "- MEGA Jackpot starts from {0}",
          kh: "- MEGA Jackpot starts from {0}",
          mm: "- MEGA Jackpot starts from {0}",
          es: "- El MEGA Jackpot comienza desde {0}",
          pt: "- O Jackpot MEGA come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MEGA b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MEGA\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MEGAJackpotstarts_2": {
          en: "- MEGA Jackpot starts from {0}",
          kh: "- MEGA Jackpot starts from {0}",
          mm: "- MEGA Jackpot starts from {0}",
          es: "- El MEGA Jackpot comienza desde {0}",
          pt: "- O Jackpot MEGA come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MEGA b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MEGA\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_web.MINORJackpotstarts": {
          en: "- MINOR Jackpot starts from {0}",
          kh: "- MINOR Jackpot starts from {0}",
          mm: "- MINOR Jackpot starts from {0}",
          es: "- El MINOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MINOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MINOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MINOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MINORJackpotstarts": {
          en: "- MINOR Jackpot starts from {0}",
          kh: "- MINOR Jackpot starts from {0}",
          mm: "- MINOR Jackpot starts from {0}",
          es: "- El MINOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MINOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MINOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MINOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_mobile.MINORJackpotstarts_2": {
          en: "- MINOR Jackpot starts from {0}",
          kh: "- MINOR Jackpot starts from {0}",
          mm: "- MINOR Jackpot starts from {0}",
          es: "- El MINOR Jackpot comienza desde {0}",
          pt: "- O Jackpot MINOR come\xe7a a partir de {0}",
          thai: "- \u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR \u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 {0}",
          vn: "- Jackpot MINOR b\u1eaft \u0111\u1ea7u t\u1eeb {0}",
          zh: "- MINOR\u7d2f\u7a4d\u734e\u91d1\u5f9e{0}\u958b\u59cb"
        },
        "label_web.0fromeach": {
          en: "- {0} from each bet goes into GRAND Jackpot",
          kh: "- {0} from each bet goes into GRAND Jackpot",
          mm: "- {0} from each bet goes into GRAND Jackpot",
          es: "- El {0} de cada apuesta va al GRAND Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot GRAND",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot GRAND",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach": {
          en: "- {0} from each bet goes into GRAND Jackpot",
          kh: "- {0} from each bet goes into GRAND Jackpot",
          mm: "- {0} from each bet goes into GRAND Jackpot",
          es: "- El {0} de cada apuesta va al GRAND Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot GRAND",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot GRAND",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_2": {
          en: "- {0} from each bet goes into GRAND Jackpot",
          kh: "- {0} from each bet goes into GRAND Jackpot",
          mm: "- {0} from each bet goes into GRAND Jackpot",
          es: "- El {0} de cada apuesta va al GRAND Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot GRAND",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot GRAND",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.0fromeach_2": {
          en: "- {0} from each bet goes into MAJOR Jackpot",
          kh: "- {0} from each bet goes into MAJOR Jackpot",
          mm: "- {0} from each bet goes into MAJOR Jackpot",
          es: "- El {0} de cada apuesta va al MAJOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MAJOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MAJOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MAJOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_3": {
          en: "- {0} from each bet goes into MAJOR Jackpot",
          kh: "- {0} from each bet goes into MAJOR Jackpot",
          mm: "- {0} from each bet goes into MAJOR Jackpot",
          es: "- El {0} de cada apuesta va al MAJOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MAJOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MAJOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MAJOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_4": {
          en: "- {0} from each bet goes into MAJOR Jackpot",
          kh: "- {0} from each bet goes into MAJOR Jackpot",
          mm: "- {0} from each bet goes into MAJOR Jackpot",
          es: "- El {0} de cada apuesta va al MAJOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MAJOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MAJOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MAJOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.0fromeach_3": {
          en: "- {0} from each bet goes into MEGA Jackpot",
          kh: "- {0} from each bet goes into MEGA Jackpot",
          mm: "- {0} from each bet goes into MEGA Jackpot",
          es: "- El {0} de cada apuesta va al MEGA Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MEGA",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MEGA",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MEGA\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_5": {
          en: "- {0} from each bet goes into MEGA Jackpot",
          kh: "- {0} from each bet goes into MEGA Jackpot",
          mm: "- {0} from each bet goes into MEGA Jackpot",
          es: "- El {0} de cada apuesta va al MEGA Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MEGA",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MEGA",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MEGA\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_6": {
          en: "- {0} from each bet goes into MEGA Jackpot",
          kh: "- {0} from each bet goes into MEGA Jackpot",
          mm: "- {0} from each bet goes into MEGA Jackpot",
          es: "- El {0} de cada apuesta va al MEGA Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MEGA",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MEGA",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MEGA\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.0fromeach_4": {
          en: "- {0} from each bet goes into MINOR Jackpot",
          kh: "- {0} from each bet goes into MINOR Jackpot",
          mm: "- {0} from each bet goes into MINOR Jackpot",
          es: "- El {0} de cada apuesta va al MINOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MINOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MINOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MINOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_7": {
          en: "- {0} from each bet goes into MINOR Jackpot",
          kh: "- {0} from each bet goes into MINOR Jackpot",
          mm: "- {0} from each bet goes into MINOR Jackpot",
          es: "- El {0} de cada apuesta va al MINOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MINOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MINOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MINOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.0fromeach_8": {
          en: "- {0} from each bet goes into MINOR Jackpot",
          kh: "- {0} from each bet goes into MINOR Jackpot",
          mm: "- {0} from each bet goes into MINOR Jackpot",
          es: "- El {0} de cada apuesta va al MINOR Jackpot",
          pt: "- {0} de cada aposta vai para o Jackpot MINOR",
          thai: "- {0} \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e31\u0e19\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR",
          vn: "- {0} t\u1eeb m\u1ed7i c\u01b0\u1ee3c \u0111\u01b0\u1ee3c chuy\u1ec3n v\xe0o Jackpot MINOR",
          zh: "- \u6bcf\u500b\u8ced\u6ce8\u7684{0}\u6703\u9032\u5165MINOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.0fromeach_5": {
          en: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del GRAND Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot GRAND.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot GRAND.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baGRAND\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_9": {
          en: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del GRAND Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot GRAND.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot GRAND.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baGRAND\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_10": {
          en: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of GRAND Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del GRAND Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot GRAND.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 GRAND  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot GRAND.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baGRAND\n\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_web.0fromeach_6": {
          en: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MAJOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MAJOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MAJOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMAJOR\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_11": {
          en: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MAJOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MAJOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MAJOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMAJOR\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_12": {
          en: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MAJOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MAJOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MAJOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MAJOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MAJOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMAJOR\n\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_web.0fromeach_7": {
          en: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MEGA Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MEGA.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MEGA.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMEGA\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_13": {
          en: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MEGA Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MEGA.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MEGA.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMEGA\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_14": {
          en: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MEGA Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MEGA Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MEGA.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MEGA  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MEGA.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMEGA\n\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_web.0fromeach_8": {
          en: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MINOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MINOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MINOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMINOR\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_15": {
          en: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MINOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MINOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MINOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMINOR\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_mobile.0fromeach_16": {
          en: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          kh: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          mm: "- {0} from each contribution is set aside for the next seed of MINOR Jackpot.",
          es: "- El {0} de cada contribuci\xf3n se aparta para el siguiente bote del MINOR Jackpot.",
          pt: "- {0} de cada contribui\xe7\xe3o \xe9 posto de parte para a pr\xf3xima semente do Jackpot MINOR.",
          thai: "- {0} \u0e08\u0e32\u0e01\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1a\u0e48\u0e07\u0e44\u0e27\u0e49\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 MINOR  \u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "- {0} t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo c\u1ee7a Jackpot MINOR.",
          zh: "- \u6bcf\u6b21\u62bd\u53d6\u91d1\u984d\u7684{0}\u6703\u88ab\u653e\u5728\u4e00\u908a\u4f5c\u70baMINOR\n\u7d2f\u7a4d\u734e\u91d1\u7684\u4e0b\u4e00\u500b\u7a2e\u5b50\u3002"
        },
        "label_web.0123456789": {
          en: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          kh: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          mm: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          es: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          pt: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          thai: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          vn: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          zh: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
        },
        "label_mobile.0123456789": {
          en: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          kh: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          mm: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          es: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          pt: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          thai: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          vn: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
          zh: "0123456789 ,.-/ $ \u20ac \xa3 \u0e3f \u20ab \xa5 \u20bd \u20a9 \u20b1 \u20ba \u20b9 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
        },
        "label_web.1": {
          en: "1",
          kh: "1",
          mm: "1",
          es: "1",
          pt: "1",
          thai: "1",
          vn: "1",
          zh: "1"
        },
        "label_mobile.1": {
          en: "1",
          kh: "1",
          mm: "1",
          es: "1",
          pt: "1",
          thai: "1",
          vn: "1",
          zh: "1"
        },
        "label_mobile.1_2": {
          en: "1",
          kh: "1",
          mm: "1",
          es: "1",
          pt: "1",
          thai: "1",
          vn: "1",
          zh: "1"
        },
        "label_mobile.1_3": {
          en: "1",
          kh: "1",
          mm: "1",
          es: "1",
          pt: "1",
          thai: "1",
          vn: "1",
          zh: "1"
        },
        "label_mobile.100X": {
          en: "100X",
          kh: "100X",
          mm: "100X",
          es: "100X",
          pt: "100X",
          thai: "100X",
          vn: "100X",
          zh: "100X"
        },
        "label_mobile.21100X": {
          en: "21,100X",
          kh: "21,100X",
          mm: "21,100X",
          pt: "21,100X"
        },
        "label_mobile.21100X_2": {
          en: "21,100X",
          kh: "21,100X",
          mm: "21,100X",
          pt: "21,100X"
        },
        "label_web.34813": {
          en: "348\u0434. 13\u0447.",
          kh: "348\u0434. 13\u0447.",
          mm: "348\u0434. 13\u0447.",
          thai: "348\u0434. 13\u0447.",
          vn: "348\u0434. 13\u0447.",
          zh: "348\u0434. 13\u0447."
        },
        "label_mobile.34813": {
          en: "348\u0434. 13\u0447.",
          kh: "348\u0434. 13\u0447.",
          mm: "348\u0434. 13\u0447.",
          thai: "348\u0434. 13\u0447.",
          vn: "348\u0434. 13\u0447.",
          zh: "348\u0434. 13\u0447."
        },
        "label_mobile.34813_2": {
          en: "348\u0434. 13\u0447.",
          kh: "348\u0434. 13\u0447.",
          mm: "348\u0434. 13\u0447.",
          thai: "348\u0434. 13\u0447.",
          vn: "348\u0434. 13\u0447.",
          zh: "348\u0434. 13\u0447."
        },
        "label_web.4X": {
          en: "4X     WINS FREE SPINS",
          kh: "4X     WINS FREE SPINS",
          mm: "4X     WINS FREE SPINS",
          es: "4X      OTORGA TIRADAS GRATIS",
          pt: "4X   GANHA RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 4X       \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "4X      GI\xc0NH \u0110\u01af\u1ee2C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "4X      \u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.4X_2": {
          en: "4X     WINS FREE SPINS",
          kh: "4X     WINS FREE SPINS",
          mm: "4X     WINS FREE SPINS",
          es: "4X      OTORGA TIRADAS GRATIS",
          pt: "4X        GANHA RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 4X       \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "4X      GI\xc0NH \u0110\u01af\u1ee2C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "4X      \u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.4X": {
          en: "4X     WINS FREE SPINS",
          kh: "4X     WINS FREE SPINS",
          mm: "4X     WINS FREE SPINS",
          es: "4X      OTORGA TIRADAS GRATIS",
          pt: "4X     GANHA RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 4X       \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "4X      GI\xc0NH \u0110\u01af\u1ee2C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "4X      \u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.4X_2": {
          en: "4X     WINS FREE SPINS",
          kh: "4X     WINS FREE SPINS",
          mm: "4X     WINS FREE SPINS",
          es: "4X        OTORGA TIRADAS GRATIS",
          pt: "4X   GANHA RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 4X       \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "4X      GI\xc0NH \u0110\u01af\u1ee2C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "4X      \u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.HOT": {
          en: "<<<<<<HOT",
          kh: "<<<<<<HOT",
          mm: "<<<<<<HOT",
          es: "POPULAR",
          pt: "POPULAR",
          thai: "\u0e19\u0e34\u0e22\u0e21",
          vn: "\u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_mobile.New": {
          en: "<<<<<<New",
          kh: "<<<<<<New",
          mm: "<<<<<<New",
          es: "Nuevo",
          pt: "Novo",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edbi",
          zh: "\u65b0"
        },
        "label_web.PAYS6ON9": {
          en: "<PAYS> <$6> <ON> <#9> <WAYS>",
          kh: "<PAYS> <$6> <ON> <#9> <WAYS>",
          mm: "<PAYS> <$6> <ON> <#9> <WAYS>",
          zh: "<ON> <#9> <WAYS> <PAYS> <$6>"
        },
        "label_mobile.PAYS6ON9": {
          en: "<PAYS> <$6> <ON> <#9> <WAYS>",
          kh: "<PAYS> <$6> <ON> <#9> <WAYS>",
          mm: "<PAYS> <$6> <ON> <#9> <WAYS>",
          zh: "<ON> <#9> <WAYS> <PAYS> <$6>"
        },
        "label_mobile.PAYS6ON9_2": {
          en: "<PAYS> <$6> <ON> <#9> <WAYS>",
          kh: "<PAYS> <$6> <ON> <#9> <WAYS>",
          mm: "<PAYS> <$6> <ON> <#9> <WAYS>",
          zh: "<ON> <#9> <WAYS> <PAYS> <$6>"
        },
        "label_mobile.AJackpotwinis": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          es: "El premio de un Jackpot se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas                      en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo acertando 3 s\xedmbolos com a etiqueta                                  ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                                                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n                              tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                     \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_mobile.AJackpotwinis_2": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                        labels on them. ",
          es: "El premio de un Premio se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas                                  en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo acertando 3 s\xedmbolos com a etiqueta                                  ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                                                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n                              tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                                  \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_web.AJackpotwinis": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          es: "El premio de un Jackpot se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas                        en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo acertando 3 s\xedmbolos com a etiqueta                                  ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                                                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n             tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                     \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_web.AJackpotwinis_2": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                      labels on them. ",
          es: "El premio de un Premio se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas                                  en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo acertando 3 s\xedmbolos com a etiqueta                                  ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                                                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n                              tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                        \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_mobile.AJackpotwinis_3": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          es: "El premio de un Jackpot se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas               en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo\nacertando 3 s\xedmbolos com a etiqueta                    \n             ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\n \u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n                              tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                        \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_mobile.AJackpotwinis_4": {
          en: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          kh: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          mm: "A Jackpot win is shown in the game by hitting 3 symbols with                   labels on them. ",
          es: "El premio de un Premio se muestra en el juego consiguiendo 3 s\xedmbolos con etiquetas                                  en ellos.",
          pt: "Uma vit\xf3ria de Jackpot \xe9 mostrada no jogo acertando 3 s\xedmbolos com a etiqueta                                  ",
          thai: "\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e43\u0e19\u0e40\u0e01\u0e21\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49 3 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c \u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e49\u0e32\u0e22                                                ",
          vn: "Chi\u1ebfn th\u1eafng Jackpot \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch ch\u1ea1m v\xe0o 3 bi\u1ec3u t\u01b0\u1ee3ng v\u1edbi nh\xe3n\n                              tr\xean ch\xfang.",
          zh: "\u53ea\u89813\u500b\u7b26\u865f\u4e0a\u90fd\u51fa\u73fe                                  \u6a19\u7c64\uff0c\u904a\u6232\u4e2d\u5373\u6703\u986f\u793a\u7d2f\u7a4d\u734e\u91d1\u8d0f\u734e\u3002"
        },
        "label_web.Aplayerschanceto": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los jackpots disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e0a\u0e19\u0e30\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef\u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_web.Aplayerschanceto_2": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet \namount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los premios disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Premios puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef\u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los jackpots disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef\u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto_2": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los jackpots disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684 \u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408 \u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef \u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto_3": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los premios disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Premios puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef\u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto_4": {
          en: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available jackpots is directly related to the bet amount. Higher bets have a higher chance of winning; however, any of the Jackpots can be won at any bet amount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los premios disponibles est\xe1 directamente relacionada con el importe de la apuesta. Las apuestas m\xe1s altas tienen una probabilidad mayor de ganar, sin embargo, cualquiera de los Premios puede ganarse con cualquier importe de apuesta que sea superior a la m\xednima apuesta requerida.",
          pt: "A probabilidade de um jogador ganhar qualquer um dos jackpots dispon\xedveis est\xe1 diretamente relacionada com o montante da aposta. As apostas mais elevadas t\xeam maiores probabilidades de ganhar; no entanto, qualquer um dos jackpots pode ser ganho com qualquer montante de aposta acima da aposta m\xednima eleg\xedvel.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14\u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e34\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e08\u0e30\u0e0a\u0e19\u0e30\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14",
          vn: "C\u01a1 h\u1ed9i gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 jackpot s\u1eb5n c\xf3 n\xe0o c\u1ee7a ng\u01b0\u1eddi ch\u01a1i li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao c\xf3 c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn; tuy nhi\xean, b\u1ea5t k\u1ef3 Jackpot n\xe0o c\u0169ng c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c v\u1edbi m\u1ecdi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c tr\xean m\u1ee9c c\u01b0\u1ee3c h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002 \u8ced\u6ce8\u8d8a\u9ad8\uff0c\u8d0f\u734e\u5e7e\u7387\u8d8a\u9ad8\uff1b\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u6a19\u6e96\uff0c\u4efb\u4f55\u8ced\u6ce8\u90fd\u53ef\u80fd\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_web.Aplayerschanceto_3": {
          en: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los Jackpots progresivos disponibles est\xe1 directamente relacionada con el importe de apuesta. Las apuestas m\xe1s altas tienen una mayor posibilidad de ganar. Sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta sobre la m\xednima apuesta elegible.",
          pt: "A probabilidade de um jogador ganhar qualquer dos Jackpots progressivos dispon\xedveis est\xe1 diretamente relacionada com o montante de aposta. Apostas mais elevadas t\xeam mais probabilidade de ganhar. Contudo, qualquer um dos Jackpots pode ser ganho com qualquer montante de aposta superior \xe0 aposta m\xednima eleg\xedvel.",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e30\u0e2a\u0e21\u0e0a\u0e19\u0e34\u0e14\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e19\u0e31\u0e49\u0e19\u0e02\u0e36\u0e49\u0e19\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e22\u0e34\u0e48\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e32\u0e01\u0e01\u0e47\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e17\u0e38\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e17\u0e38\u0e01\u0e0a\u0e19\u0e34\u0e14",
          vn: "C\u01a1 h\u1ed9i \u0111\u1ec3 ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot l\u0169y ti\u1ebfn c\xf3 s\u1eb5n li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao th\xec c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn. Tuy nhi\xean, ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3 v\u1edbi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c cao h\u01a1n m\u1ee9c c\u01b0\u1ee3c \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002\u8ced\u6ce8\u8d8a\u5927\uff0c\u8d0f\u734e\u6a5f\u6703\u4e5f\u8d8a\u5927\u3002\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u8ced\u6ce8\u689d\u4ef6\uff0c \n \u4efb\u4f55\u8ced\u6ce8\u90fd\u6709\u6a5f\u6703\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto_5": {
          en: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los Jackpots progresivos disponibles est\xe1 directamente relacionada con el importe de apuesta. Las apuestas m\xe1s altas tienen una mayor posibilidad de ganar. Sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta sobre la m\xednima apuesta elegible.",
          pt: "A probabilidade de um jogador ganhar qualquer dos Jackpots progressivos dispon\xedveis est\xe1 diretamente relacionada com o montante de aposta. Apostas mais elevadas t\xeam mais probabilidade de ganhar. Contudo, qualquer um dos Jackpots pode ser ganho\n com qualquer montante de aposta superior \xe0 aposta m\xednima eleg\xedvel.",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e30\u0e2a\u0e21\u0e0a\u0e19\u0e34\u0e14\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e19\u0e31\u0e49\u0e19\u0e02\u0e36\u0e49\u0e19\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e22\u0e34\u0e48\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e32\u0e01\u0e01\u0e47\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e17\u0e38\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e17\u0e38\u0e01\u0e0a\u0e19\u0e34\u0e14",
          vn: "C\u01a1 h\u1ed9i \u0111\u1ec3 ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot l\u0169y ti\u1ebfn c\xf3 s\u1eb5n li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao th\xec c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn. Tuy nhi\xean, ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3 v\u1edbi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c cao h\u01a1n m\u1ee9c c\u01b0\u1ee3c \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002\u8ced\u6ce8\u8d8a\u5927\uff0c\u8d0f\u734e\u6a5f\u6703\u4e5f\u8d8a\u5927\u3002\n\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u8ced\u6ce8\u689d\u4ef6\uff0c  \u4efb\u4f55\u8ced\u6ce8\u90fd\u6709\u6a5f\u6703\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.Aplayerschanceto_6": {
          en: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          kh: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          mm: "A player\u2019s chance to win any of the available progressive Jackpots is directly related to the bet amount. Higher bets have a higher chance of winning. However, any of the Jackpots can be won with any bet \namount above the minimum eligible bet.",
          es: "La posibilidad de un jugador de ganar cualquiera de los Jackpots progresivos disponibles est\xe1 directamente relacionada con el importe de apuesta. Las apuestas m\xe1s altas tienen una mayor posibilidad de ganar. Sin embargo, cualquiera de los Jackpots puede ganarse con cualquier importe de apuesta sobre la m\xednima apuesta elegible.",
          pt: "A probabilidade de um jogador ganhar qualquer dos Jackpots progressivos dispon\xedveis est\xe1 diretamente relacionada com o montante de aposta. Apostas mais elevadas t\xeam mais probabilidade de ganhar. Contudo, qualquer um dos Jackpots pode ser ganhocom qualquer montante de aposta superior \xe0 aposta m\xednima eleg\xedvel.",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e30\u0e2a\u0e21\u0e0a\u0e19\u0e34\u0e14\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e19\u0e31\u0e49\u0e19\u0e02\u0e36\u0e49\u0e19\n\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e22\u0e34\u0e48\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e32\u0e01\u0e01\u0e47\u0e22\u0e34\u0e48\u0e07\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e2a\u0e39\n\u0e07\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e19\u0e30 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e17\u0e38\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e31\u0e49\n\u0e19\u0e15\u0e48\u0e33\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e17\u0e38\u0e01\u0e0a\u0e19\u0e34\u0e14",
          vn: "C\u01a1 h\u1ed9i \u0111\u1ec3 ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot l\u0169y ti\u1ebfn c\xf3 s\u1eb5n li\xean quan tr\u1ef1c ti\u1ebfp \u0111\u1ebfn s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c. C\u01b0\u1ee3c c\xe0ng cao th\xec c\u01a1 h\u1ed9i chi\u1ebfn th\u1eafng c\xe0ng l\u1edbn. Tuy nhi\xean, ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3 v\u1edbi s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c cao h\u01a1n m\u1ee9c c\u01b0\u1ee3c \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n t\u1ed1i thi\u1ec3u.",
          zh: "\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u7684\u5e7e\u7387\u8207\u8ced\u6ce8\u91d1\u984d\u76f4\u63a5\u76f8\u95dc\u3002\u8ced\u6ce8\u8d8a\u5927\uff0c\n\u8d0f\u734e\u6a5f\u6703\u4e5f\u8d8a\u5927\u3002\u4f46\u662f\uff0c\u53ea\u8981\u9054\u5230\u4e86\u6700\u4f4e\u5408\u683c\u8ced\u6ce8\u689d\u4ef6\uff0c \n \u4efb\u4f55\u8ced\u6ce8\u90fd\u6709\u6a5f\u6703\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_web.ALL": {
          en: "ALL",
          kh: "ALL",
          mm: "ALL",
          es: "TODAS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_web.ALL_2": {
          en: "ALL",
          kh: "ALL",
          mm: "ALL",
          es: "TODOS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_mobile.ALL": {
          en: "ALL",
          kh: "ALL",
          mm: "ALL",
          es: "TODAS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_mobile.ALL_2": {
          en: "ALL",
          kh: "ALL",
          mm: "ALL",
          es: "TODAS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_mobile.ALL_3": {
          en: "ALL",
          kh: "ALL",
          mm: "ALL",
          es: "TODOS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_web.ALLGAMES": {
          en: "ALL GAMES",
          kh: "ALL GAMES",
          mm: "ALL GAMES",
          es: "TODAS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_mobile.ALLGAMES": {
          en: "ALL GAMES",
          kh: "ALL GAMES",
          mm: "ALL GAMES",
          es: "TODAS",
          pt: "TUDO",
          thai: "\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea4T C\u1ea2",
          zh: "\u5168\u90e8"
        },
        "label_web.AMBIENT": {
          en: "AMBIENT",
          kh: "AMBIENT",
          mm: "AMBIENT",
          es: "AMBIENTAL",
          pt: "AMBIENTE",
          thai: "\u0e1a\u0e23\u0e23\u0e22\u0e32\u0e01\u0e32\u0e28\u0e42\u0e14\u0e22\u0e23\u0e2d\u0e1a",
          vn: "BAO QUANH",
          zh: "\u74b0\u5883"
        },
        "label_web.AMBIENT_2": {
          en: "AMBIENT",
          kh: "AMBIENT",
          mm: "AMBIENT",
          es: "AMBIENTAL",
          pt: "AMBIENTE",
          thai: "\u0e1a\u0e23\u0e23\u0e22\u0e32\u0e01\u0e32\u0e28\u0e42\u0e14\u0e22\u0e23\u0e2d\u0e1a",
          vn: "BAO QUANH",
          zh: "\u74b0\u5883"
        },
        "label_web.AMBIENTMUSIC": {
          en: "AMBIENT MUSIC",
          kh: "AMBIENT MUSIC",
          mm: "AMBIENT MUSIC",
          es: "M\xdaSICA AMBIENTE",
          pt: "M\xdaSICA AMBIENTE",
          thai: "\u0e40\u0e1e\u0e25\u0e07\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a",
          vn: "NH\u1ea0C N\u1ec0N",
          zh: "\u80cc\u666f\u97f3\u6a02"
        },
        "label_web.AMBIENTtogglesthe": {
          en: "AMBIENT \u2013 toggles the ambient sound and music in the game on and off",
          kh: "AMBIENT \u2013 toggles the ambient sound and music in the game on and off",
          mm: "AMBIENT \u2013 toggles the ambient sound and music in the game on and off",
          es: "AMBIENTAL \u2013 Activa o desactiva el sonido ambiente y la m\xfasica del juego",
          pt: "AMBIENTE \u2013 Liga e desliga o som ambiente e a m\xfasica",
          thai: "\u0e1a\u0e23\u0e23\u0e22\u0e32\u0e01\u0e32\u0e28\u0e42\u0e14\u0e22\u0e23\u0e2d\u0e1a  \u2013 \u0e2a\u0e25\u0e31\u0e1a\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e41\u0e25\u0e30\u0e14\u0e19\u0e15\u0e23\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21\u0e17\u0e31\u0e49\u0e07\u0e43\u0e19\u0e41\u0e25\u0e30\u0e19\u0e2d\u0e01",
          vn: "NH\u1ea0C XUNG QUANH  \u2013 b\u1eadt/t\u1eaft \xe2m thanh v\xe0 nh\u1ea1c xung quanh trong tr\xf2 ch\u01a1i",
          zh: "\u74b0\u5883 \u2013 \u6253\u958b\u6216\u95dc\u9589\u904a\u6232\u4e2d\u7684\u80cc\u666f\u8072\u97f3\u548c\u97f3\u6a02"
        },
        "label_web.ANINSTANTBONUS": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_web.ANINSTANTBONUS_2": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.ANINSTANTBONUS": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.ANINSTANTBONUS_2": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.ANINSTANTBONUS_3": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.ANINSTANTBONUS_4": {
          en: "AN INSTANT BONUS",
          kh: "AN INSTANT BONUS",
          mm: "AN INSTANT BONUS",
          es: "UN BONUS INSTANT\xc1NEO",
          pt: "UM B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u4e00\u500b\u5373\u6642\u734e\u52f5"
        },
        "label_web.ANDYOUHAVEWON": {
          en: "AND YOU HAVE WON A TOTAL OF ",
          kh: "AND YOU HAVE WON A TOTAL OF ",
          mm: "AND YOU HAVE WON A TOTAL OF ",
          es: "Y HA GANADO UN TOTAL DE",
          pt: "E GANHOU UM TOTAL DE",
          thai: "\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "V\xc0 B\u1ea0N \u0110\xc3 TH\u1eb2NG T\u1ed4NG C\u1ed8NG L\xc0",
          zh: "\u4e26\u4e14\u7e3d\u5171\u8d0f\u5f97\u4e86"
        },
        "label_mobile.ANDYOUHAVEWON": {
          en: "AND YOU HAVE WON A TOTAL OF ",
          kh: "AND YOU HAVE WON A TOTAL OF ",
          mm: "AND YOU HAVE WON A TOTAL OF ",
          es: "Y HA GANADO UN TOTAL DE",
          pt: "E GANHOU UM TOTAL DE",
          thai: "\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "V\xc0 B\u1ea0N \u0110\xc3 TH\u1eb2NG T\u1ed4NG C\u1ed8NG L\xc0",
          zh: "\u4e26\u4e14\u7e3d\u5171\u8d0f\u5f97\u4e86"
        },
        "label_mobile.ANDYOUHAVEWON_2": {
          en: "AND YOU HAVE WON A TOTAL OF ",
          kh: "AND YOU HAVE WON A TOTAL OF ",
          mm: "AND YOU HAVE WON A TOTAL OF ",
          es: "Y HA GANADO UN TOTAL DE",
          pt: "E GANHOU UM TOTAL DE",
          thai: "\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "V\xc0 B\u1ea0N \u0110\xc3 TH\u1eb2NG T\u1ed4NG C\u1ed8NG L\xc0",
          zh: "\u4e26\u4e14\u7e3d\u5171\u8d0f\u5f97\u4e86"
        },
        "label_web.ANTEBET": {
          en: "ANTE BET",
          kh: "ANTE BET",
          mm: "ANTE BET",
          es: "APUESTA ANTE",
          pt: "APOSTA ANTE",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e25\u0e48\u0e19",
          vn: "C\u01af\u1ee2C TR\u01af\u1edaC S\u1ef0 KI\u1ec6N",
          zh: "\u5e95\u6ce8"
        },
        "label_mobile.ANTEBET": {
          en: "ANTE BET",
          kh: "ANTE BET",
          mm: "ANTE BET",
          es: "APUESTA ANTE",
          pt: "APOSTA ANTE",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e25\u0e48\u0e19",
          vn: "C\u01af\u1ee2C TR\u01af\u1edaC S\u1ef0 KI\u1ec6N",
          zh: "\u5e95\u6ce8"
        },
        "label_mobile.ANTEBET_2": {
          en: "ANTE BET",
          kh: "ANTE BET",
          mm: "ANTE BET",
          es: "APUESTA ANTE",
          pt: "APOSTA ANTE",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e25\u0e48\u0e19",
          vn: "C\u01af\u1ee2C TR\u01af\u1edaC S\u1ef0 KI\u1ec6N",
          zh: "\u5e95\u6ce8"
        },
        "label_web.AREYOUSUREYOU": {
          en: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          kh: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          mm: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          es: "\xbfSEGURO QUE QUIERES DARTE DE BAJA DE ESTA PROMOCI\xd3N?",
          pt: "TEM A CERTEZA DE QUE DESEJA RECUSAR ESTA PROMO\xc7\xc3O?",
          thai: "\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e34\u0e01\u0e23\u0e31\u0e1a \u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19\u0e19\u0e35\u0e49\u0e08\u0e23\u0e34\u0e07\u0e46 \u0e43\u0e0a\u0e48\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N T\u1eea CH\u1ed0I KHUY\u1ebeN M\u1ea0I N\xc0Y?",
          zh: "\u78ba\u5b9a\u8981\u9000 \u51fa\u672c\u4fc3\u92b7\u55ce\uff1f"
        },
        "label_mobile.AREYOUSUREYOU": {
          en: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          kh: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          mm: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          es: "\xbfSEGURO QUE QUIERES DARTE DE BAJA DE ESTA PROMOCI\xd3N?",
          pt: "TEM A CERTEZA DE QUE DESEJA RECUSAR ESTA PROMO\xc7\xc3O?",
          thai: "\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e34\u0e01\u0e23\u0e31\u0e1a \u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19\u0e19\u0e35\u0e49\u0e08\u0e23\u0e34\u0e07\u0e46 \u0e43\u0e0a\u0e48\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N T\u1eea CH\u1ed0I KHUY\u1ebeN M\u1ea0I N\xc0Y?",
          zh: "\u78ba\u5b9a\u8981\u9000 \u51fa\u672c\u4fc3\u92b7\u55ce\uff1f"
        },
        "label_mobile.AREYOUSUREYOU_2": {
          en: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          kh: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          mm: "ARE YOU SURE YOU WANT TO OPT OUT OF THIS PROMOTION?",
          es: "\xbfSEGURO QUE QUIERES DARTE DE BAJA DE ESTA PROMOCI\xd3N?",
          pt: "TEM A CERTEZA DE QUE DESEJA RECUSAR ESTA PROMO\xc7\xc3O?",
          thai: "\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e34\u0e01\u0e23\u0e31\u0e1a \u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19\u0e19\u0e35\u0e49\u0e08\u0e23\u0e34\u0e07\u0e46 \u0e43\u0e0a\u0e48\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N T\u1eea CH\u1ed0I KHUY\u1ebeN M\u1ea0I N\xc0Y?",
          zh: "\u78ba\u5b9a\u8981\u9000 \u51fa\u672c\u4fc3\u92b7\u55ce\uff1f"
        },
        "label_web.AREYOUSUREYOU_2": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE",
          es: "\xbfEST\xc1 SEGURO DE QUE QUIERE COMPRAR",
          pt: "TEM A CERTEZA QUE DESEJA COMPRAR",
          thai: "\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e0b\u0e37\u0e49\u0e2d",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N MUA",
          zh: "\u60a8\u78ba\u5b9a\u8981\u82b1\u8cbb\u55ce"
        },
        "label_web.AREYOUSUREYOU_3": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE",
          es: "\xbfEST\xc1 SEGURO DE QUE QUIERE COMPRAR",
          pt: "TEM A CERTEZA QUE DESEJA COMPRAR",
          thai: "\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e0b\u0e37\u0e49\u0e2d",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N MUA",
          zh: "\u60a8\u78ba\u5b9a\u8981\u82b1\u8cbb\u55ce"
        },
        "label_mobile.AREYOUSUREYOU_3": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE",
          es: "\xbfEST\xc1 SEGURO DE QUE QUIERE COMPRAR",
          pt: "TEM A CERTEZA QUE DESEJA COMPRAR",
          thai: "\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e0b\u0e37\u0e49\u0e2d",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N MUA",
          zh: "\u60a8\u78ba\u5b9a\u8981\u82b1\u8cbb\u55ce"
        },
        "label_mobile.AREYOUSUREYOU_4": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE",
          es: "\xbfEST\xc1 SEGURO DE QUE QUIERE COMPRAR",
          pt: "TEM A CERTEZA QUE DESEJA COMPRAR",
          thai: "\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e0b\u0e37\u0e49\u0e2d",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N MUA",
          zh: "\u60a8\u78ba\u5b9a\u8981\u82b1\u8cbb\u55ce"
        },
        "label_web.AREYOUSUREYOU_4": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          es: "\xbfEST\xc1 SEGURO DE QUE \nQUIERE COMPRAR (0)\nTIRADAS GRATIS CON \nEL COSTE DE {0}?",
          pt: "TEM A CERTEZA QUE \nQUER COMPRAR (0) \nRODADAS GR\xc1TIS \nAO CUSTO DE {0}?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\n\u0e0b\u0e37\u0e49\u0e2d\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 (0) \n\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32 {0}?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN \nMU\u1ed0N MUA (0) \nV\xd2NG QUAY MI\u1ec4N PH\xcd \nV\u1edaI M\u1ee8C PH\xcd {0}?",
          zh: "\u60a8\u78ba\u5b9a\u8981\u4ee5{0}\n\u7684\u50f9\u683c\u8cfc\u8cb7(0)\n\u514d\u8cbb\u65cb\u8f49\u55ce\uff1f"
        },
        "label_web.AREYOUSUREYOU_5": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          es: "\xbfEST\xc1 SEGURO DE QUE \nQUIERE COMPRAR (0)\nTIRADAS GRATIS CON \nEL COSTE DE {0}?",
          pt: "TEM A CERTEZA QUE \nQUER COMPRAR (0) \nRODADAS GR\xc1TIS \nAO CUSTO DE {0}?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\n\u0e0b\u0e37\u0e49\u0e2d\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 (0) \n\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32 {0}?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN \nMU\u1ed0N MUA (0) \nV\xd2NG QUAY MI\u1ec4N PH\xcd \nV\u1edaI M\u1ee8C PH\xcd {0}?",
          zh: "\u60a8\u78ba\u5b9a\u8981\u4ee5{0}\n\u7684\u50f9\u683c\u8cfc\u8cb7(0)\n\u514d\u8cbb\u65cb\u8f49\u55ce\uff1f"
        },
        "label_mobile.AREYOUSUREYOU_5": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          es: "\xbfEST\xc1 SEGURO DE QUE \nQUIERE COMPRAR (0)\nTIRADAS GRATIS CON \nEL COSTE DE {0}?",
          pt: "TEM A CERTEZA QUE \nQUER COMPRAR (0) \nRODADAS GR\xc1TIS \nAO CUSTO DE {0}?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\n\u0e0b\u0e37\u0e49\u0e2d\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 (0) \n\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32 {0}?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN \nMU\u1ed0N MUA (0) \nV\xd2NG QUAY MI\u1ec4N PH\xcd \nV\u1edaI M\u1ee8C PH\xcd {0}?",
          zh: "\u60a8\u78ba\u5b9a\u8981\u4ee5{0}\n\u7684\u50f9\u683c\u8cfc\u8cb7(0)\n\u514d\u8cbb\u65cb\u8f49\u55ce\uff1f"
        },
        "label_mobile.AREYOUSUREYOU_6": {
          en: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          kh: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          mm: "ARE YOU SURE YOU WANT TO PURCHASE (0) FREE SPINS AT THE COST OF {0}?",
          es: "\xbfEST\xc1 SEGURO DE QUE \nQUIERE COMPRAR (0)\nTIRADAS GRATIS CON \nEL COSTE DE {0}?",
          pt: "TEM A CERTEZA QUE \nQUER COMPRAR (0) \nRODADAS GR\xc1TIS \nAO CUSTO DE {0}?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\n\u0e0b\u0e37\u0e49\u0e2d\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 (0) \n\u0e04\u0e23\u0e31\u0e49\u0e07\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32 {0}?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN \nMU\u1ed0N MUA (0) \nV\xd2NG QUAY MI\u1ec4N PH\xcd \nV\u1edaI M\u1ee8C PH\xcd {0}?",
          zh: "\u60a8\u78ba\u5b9a\u8981\u4ee5{0}\n\u7684\u50f9\u683c\u8cfc\u8cb7(0)\n\u514d\u8cbb\u65cb\u8f49\u55ce\uff1f"
        },
        "label_web.AREYOUSURE": {
          en: "ARE YOU SURE?",
          kh: "ARE YOU SURE?",
          mm: "ARE YOU SURE?",
          es: "\xbfEST\xc1 SEGURO?",
          pt: "TEM A CERTEZA?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN?",
          zh: "\u60a8\u78ba\u5b9a\u55ce\uff1f"
        },
        "label_mobile.AREYOUSURE": {
          en: "ARE YOU SURE?",
          kh: "ARE YOU SURE?",
          mm: "ARE YOU SURE?",
          es: "\xbfEST\xc1 SEGURO?",
          pt: "TEM A CERTEZA?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN?",
          zh: "\u60a8\u78ba\u5b9a\u55ce\uff1f"
        },
        "label_mobile.AREYOUSURE_2": {
          en: "ARE YOU SURE?",
          kh: "ARE YOU SURE?",
          mm: "ARE YOU SURE?",
          es: "\xbfEST\xc1 SEGURO?",
          pt: "TEM A CERTEZA?",
          thai: "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21?",
          vn: "B\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN?",
          zh: "\u60a8\u78ba\u5b9a\u55ce\uff1f"
        },
        "label_web.AT": {
          en: "AT",
          kh: "AT",
          mm: "AT",
          es: "CON APUESTA",
          pt: "A",
          thai: "\u0e17\u0e35\u0e48 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 ",
          vn: "\u1ede M\u1ee8C C\u01af\u1ee2C ",
          zh: "\u91d1\u984d \u8ced\u6ce8 "
        },
        "label_mobile.AT": {
          en: "AT ",
          kh: "AT ",
          mm: "AT ",
          es: "CON APUESTA",
          pt: "A",
          thai: "\u0e17\u0e35\u0e48 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "\u1ede M\u1ee8C C\u01af\u1ee2C",
          zh: "\u91d1\u984d \u8ced\u6ce8"
        },
        "label_mobile.AT_2": {
          en: "AT ",
          kh: "AT ",
          mm: "AT ",
          es: "CON APUESTA",
          pt: "A",
          thai: "\u0e17\u0e35\u0e48 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "\u1ede M\u1ee8C C\u01af\u1ee2C",
          zh: "\u91d1\u984d \u8ced\u6ce8"
        },
        "label_web.ATTHECOSTOF": {
          en: "AT THE COST OF",
          kh: "AT THE COST OF",
          mm: "AT THE COST OF",
          es: "AL PRECIO DE",
          pt: "COM O CUSTO DE ",
          thai: "\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32",
          vn: "V\u1edaI M\u1ee8C PH\xcd L\xc0",
          zh: "\u50f9\u9322"
        },
        "label_web.ATTHECOSTOF_2": {
          en: "AT THE COST OF",
          kh: "AT THE COST OF",
          mm: "AT THE COST OF",
          es: "AL PRECIO DE",
          pt: "COM O CUSTO DE ",
          thai: "\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32",
          vn: "V\u1edaI M\u1ee8C PH\xcd L\xc0",
          zh: "\u50f9\u9322"
        },
        "label_mobile.ATTHECOSTOF": {
          en: "AT THE COST OF",
          kh: "AT THE COST OF",
          mm: "AT THE COST OF",
          es: "AL PRECIO DE",
          pt: "COM O CUSTO DE ",
          thai: "\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32",
          vn: "V\u1edaI M\u1ee8C PH\xcd L\xc0",
          zh: "\u50f9\u9322"
        },
        "label_mobile.ATTHECOSTOF_2": {
          en: "AT THE COST OF",
          kh: "AT THE COST OF",
          mm: "AT THE COST OF",
          es: "AL PRECIO DE",
          pt: "COM O CUSTO DE ",
          thai: "\u0e43\u0e19\u0e23\u0e32\u0e04\u0e32",
          vn: "V\u1edaI M\u1ee8C PH\xcd L\xc0",
          zh: "\u50f9\u9322"
        },
        "label_web.AUDIO": {
          en: "AUDIO",
          kh: "AUDIO",
          mm: "AUDIO",
          es: "SONIDO",
          pt: "\xc1UDIO",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "AUDIO",
          zh: "\u97f3\u6548"
        },
        "label_mobile.AUTO": {
          en: "AUTO",
          kh: "AUTO",
          mm: "AUTO",
          es: "AUTO",
          pt: "AUTO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\n\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5"
        },
        "label_mobile.AUTO_2": {
          en: "AUTO",
          kh: "AUTO",
          mm: "AUTO",
          es: "AUTO",
          pt: "AUTO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\n\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "T\u1ef0\n\u0110\u1ed8NG",
          zh: "\u81ea\u52d5"
        },
        "label_mobile.AUTOPLAY": {
          en: "AUTO PLAY",
          kh: "AUTO PLAY",
          mm: "AUTO PLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_2": {
          en: "AUTO PLAY",
          kh: "AUTO PLAY",
          mm: "AUTO PLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOSPINSLEFT": {
          en: "AUTO SPINS LEFT",
          kh: "AUTO SPINS LEFT",
          mm: "AUTO SPINS LEFT",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES",
          pt: "RODADAS AUTO RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.AUTOSPINSLEFT_2": {
          en: "AUTO SPINS LEFT",
          kh: "AUTO SPINS LEFT",
          mm: "AUTO SPINS LEFT",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES",
          pt: "RODADAS AUTO RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.AUTOSPINSLEFT": {
          en: "AUTO SPINS LEFT {0}",
          kh: "AUTO SPINS LEFT {0}",
          mm: "AUTO SPINS LEFT {0}",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES {0}",
          pt: "RODADAS AUTO RESTANTES {0}",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48 {0}",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I {0}",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578 {0}"
        },
        "label_mobile.AUTOSPINSLEFT_2": {
          en: "AUTO SPINS LEFT",
          kh: "AUTO SPINS LEFT",
          mm: "AUTO SPINS LEFT",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES",
          pt: "RODADAS AUTO RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.AUTOSPINSLEFT_3": {
          en: "AUTO SPINS LEFT",
          kh: "AUTO SPINS LEFT",
          mm: "AUTO SPINS LEFT",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES",
          pt: "RODADAS AUTO RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.AUTOSPINSLEFT_4": {
          en: "AUTO SPINS LEFT",
          kh: "AUTO SPINS LEFT",
          mm: "AUTO SPINS LEFT",
          es: "TIRADAS AUTOM\xc1TICAS RESTANTES",
          pt: "RODADAS AUTO RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u81ea\u52d5\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.AUTOPLAY": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_2": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_3": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_4": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_5": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_6": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_7": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAY_8": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.AUTOPLAY_9": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.AUTOPLAY_3": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_4": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_5": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_6": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_7": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_mobile.AUTOPLAY_8": {
          en: "AUTOPLAY",
          kh: "AUTOPLAY",
          mm: "AUTOPLAY",
          es: "TIR. AUTO.",
          pt: "JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: " \u81ea\u52d5\u4e0b\u6ce8 "
        },
        "label_web.AUTOPLAYSETTINGS": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_web.AUTOPLAYSETTINGS_2": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_mobile.AUTOPLAYSETTINGS": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_mobile.AUTOPLAYSETTINGS_2": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_mobile.AUTOPLAYSETTINGS_3": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_mobile.AUTOPLAYSETTINGS_4": {
          en: "AUTOPLAY SETTINGS",
          kh: "AUTOPLAY SETTINGS",
          mm: "AUTOPLAY SETTINGS",
          es: "AJUSTES DE TIRADA AUTOM\xc1TICA",
          pt: "DEFINI\xc7\xd5ES DE JOGO AUTOM\xc1TICO",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "C\xc0I \u0110\u1eb6T CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u904a\u6232\u8a2d\u5b9a"
        },
        "label_web.AVAILABLEPROMOTIONS": {
          en: "AVAILABLE\nPROMOTIONS",
          kh: "AVAILABLE\nPROMOTIONS",
          mm: "AVAILABLE\nPROMOTIONS",
          es: "TORNEOS\nDISPONIBLES",
          pt: "TORNEIOS\nDISPON\xcdVEIS",
          thai: "\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35",
          vn: "C\xc1C V\xd2NG THI \u0110\u1ea4U \nS\u1eb4N C\xd3",
          zh: "\u53ef\u9078\n\u9326\u6a19\u8cfd"
        },
        "label_mobile.AVAILABLEPROMOTIONS": {
          en: "AVAILABLE\nPROMOTIONS",
          kh: "AVAILABLE\nPROMOTIONS",
          mm: "AVAILABLE\nPROMOTIONS",
          es: "TORNEOS\nDISPONIBLES",
          pt: "TORNEIOS\nDISPON\xcdVEIS",
          thai: "\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35",
          vn: "C\xc1C V\xd2NG THI \u0110\u1ea4U \nS\u1eb4N C\xd3",
          zh: "\u53ef\u9078\n\u9326\u6a19\u8cfd"
        },
        "label_mobile.AVAILABLEPROMOTIONS_2": {
          en: "AVAILABLE PROMOTIONS",
          kh: "AVAILABLE PROMOTIONS",
          mm: "AVAILABLE PROMOTIONS",
          es: "TORNEOS DISPONIBLES",
          pt: "TORNEIOS DISPON\xcdVEIS",
          thai: "\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35",
          vn: "C\xc1C V\xd2NG THI \u0110\u1ea4U \nS\u1eb4N C\xd3",
          zh: "\u53ef\u9078\n\u9326\u6a19\u8cfd"
        },
        "label_web.AllSlots": {
          en: "All Slots",
          kh: "All Slots",
          mm: "All Slots",
          es: "Todas las Slots",
          pt: "Todas as slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea5t c\u1ea3 tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u6240\u6709\u8001\u864e\u6a5f"
        },
        "label_mobile.AllSlots": {
          en: "All Slots",
          kh: "All Slots",
          mm: "All Slots",
          es: "Todas las Slots",
          pt: "Todas as slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "T\u1ea5t c\u1ea3 tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u6240\u6709\u8001\u864e\u6a5f"
        },
        "label_web.Allvaluesareexpressed": {
          en: "All values are expressed as actual wins in coins.",
          kh: "All values are expressed as actual wins in coins.",
          mm: "All values are expressed as actual wins in coins.",
          es: "Todos los valores se expresan como ganancias reales en monedas",
          pt: "Todos os valores expressos como pr\xe9mios reais em moedas.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e48\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e02\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e08\u0e23\u0e34\u0e07",
          vn: "T\u1ea5t c\u1ea3 gi\xe1 tr\u1ecb th\u1eafng th\u1ef1c t\u1ebf th\u1ec3 hi\u1ec7n b\u1eb1ng ti\u1ec1n xu",
          zh: "\u6240\u6709\u503c\u8868\u793a\u70ba\u91d1\u5e63\u7684\u5be6\u969b\u734e\u91d1"
        },
        "label_mobile.Allvaluesareexpressed": {
          en: "All values are expressed as actual wins in coins.",
          kh: "All values are expressed as actual wins in coins.",
          mm: "All values are expressed as actual wins in coins.",
          es: "Todos los valores se expresan como ganancias reales en monedas",
          pt: "Todos os valores expressos como pr\xe9mios reais em moedas.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e48\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e02\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e08\u0e23\u0e34\u0e07",
          vn: "T\u1ea5t c\u1ea3 gi\xe1 tr\u1ecb th\u1eafng th\u1ef1c t\u1ebf th\u1ec3 hi\u1ec7n b\u1eb1ng ti\u1ec1n xu",
          zh: "\u6240\u6709\u503c\u8868\u793a\u70ba\u91d1\u5e63\u7684\u5be6\u969b\u734e\u91d1"
        },
        "label_mobile.Allvaluesareexpressed_2": {
          en: "All values are expressed as actual wins in coins.",
          kh: "All values are expressed as actual wins in coins.",
          mm: "All values are expressed as actual wins in coins.",
          es: "Todos los valores se expresan como ganancias reales en monedas",
          pt: "Todos os valores expressos como pr\xe9mios reais em moedas.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e48\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e02\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e08\u0e23\u0e34\u0e07",
          vn: "T\u1ea5t c\u1ea3 gi\xe1 tr\u1ecb th\u1eafng th\u1ef1c t\u1ebf th\u1ec3 hi\u1ec7n b\u1eb1ng ti\u1ec1n xu",
          zh: "\u6240\u6709\u503c\u8868\u793a\u70ba\u91d1\u5e63\u7684\u5be6\u969b\u734e\u91d1"
        },
        "label_web.Allwinsareadded": {
          en: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          kh: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          mm: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          es: "Todas las ganancias se a\xf1aden al saldo del jugador despu\xe9s de que todos los sustituci\xf3nes resultados de un giro\nbase se hayan jugado. ",
          pt: "Todos os pr\xe9mios s\xe3o adicionados ao saldo do jogador ap\xf3s as quedas resultantes de uma rodada de base terem sido jogadas. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e10\u0e32\u0e19 ",
          vn: "T\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c b\u1ed5 sung v\xe0o s\u1ed1 d\u01b0 c\u1ee7a ng\u01b0\u1eddi ch\u01a1i sau khi t\u1ea5t c\u1ea3 c\xe1c l\u01b0\u1ee3t s\u1ee5p \u0111\u1ed5 do v\xf2ng quay c\u01a1 s\u1edf \u0111\xe3 \u0111\u01b0\u1ee3c ch\u01a1i. ",
          zh: "\u5728\u57fa\u672c\u65cb\u8f49\u4e2d\u7684\u6240\u6709\u7ffb\u6efe\u5747\u5df2\u7d50\u675f\u4e4b\u5f8c\uff0c\u6240\u6709\u734e\u91d1\u6703\u88ab\u6dfb\u52a0\u5230\u73a9\u5bb6\u7684\u9918\u984d\u4e2d\u3002 "
        },
        "label_mobile.Allwinsareadded": {
          en: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          kh: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          mm: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          es: "Todas las ganancias se a\xf1aden al saldo del jugador despu\xe9s de que todos los sustituci\xf3nes resultados de un giro\nbase se hayan jugado. ",
          pt: "Todos os pr\xe9mios s\xe3o adicionados ao saldo do jogador ap\xf3s as quedas resultantes de uma rodada de base terem sido jogadas. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e10\u0e32\u0e19 ",
          vn: "T\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c b\u1ed5 sung v\xe0o s\u1ed1 d\u01b0 c\u1ee7a ng\u01b0\u1eddi ch\u01a1i sau khi t\u1ea5t c\u1ea3 c\xe1c l\u01b0\u1ee3t s\u1ee5p \u0111\u1ed5 do v\xf2ng quay c\u01a1 s\u1edf \u0111\xe3 \u0111\u01b0\u1ee3c ch\u01a1i. ",
          zh: "\u5728\u57fa\u672c\u65cb\u8f49\u4e2d\u7684\u6240\u6709\u7ffb\u6efe\u5747\u5df2\u7d50\u675f\u4e4b\u5f8c\uff0c\u6240\u6709\u734e\u91d1\u6703\u88ab\u6dfb\u52a0\u5230\u73a9\u5bb6\u7684\u9918\u984d\u4e2d\u3002 "
        },
        "label_mobile.Allwinsareadded_2": {
          en: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          kh: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          mm: "All wins are added to the player's balance after all of the tumbles resulted from a base spin have been played.",
          es: "Todas las ganancias se a\xf1aden al saldo del jugador despu\xe9s de que todos los sustituci\xf3nes resultados de un giro base se hayan jugado. ",
          pt: "Todos os pr\xe9mios s\xe3o adicionados ao saldo do jogador ap\xf3s as quedas resultantes de uma rodada de base terem sido jogadas. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e22\u0e2d\n\u0e14\u0e40\u0e07\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\n\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e10\u0e32\u0e19 ",
          vn: "T\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c b\u1ed5 sung v\xe0o s\u1ed1 d\u01b0 c\u1ee7a ng\u01b0\u1eddi ch\u01a1i sau khi t\u1ea5t c\u1ea3 c\xe1c l\u01b0\u1ee3t s\u1ee5p \u0111\u1ed5 do v\xf2ng quay c\u01a1 s\u1edf \u0111\xe3 \u0111\u01b0\u1ee3c ch\u01a1i. ",
          zh: "\u5728\u57fa\u672c\u65cb\u8f49\u4e2d\u7684\u6240\u6709\u7ffb\u6efe\u5747\u5df2\u7d50\u675f\u4e4b\u5f8c\uff0c\n\u6240\u6709\u734e\u91d1\u6703\u88ab\u6dfb\u52a0\u5230\u73a9\u5bb6\u7684\u9918\u984d\u4e2d\u3002 "
        },
        "label_web.BACK": {
          en: "BACK",
          kh: "BACK",
          mm: "BACK",
          es: "VOLVER",
          pt: "VOLTAR",
          thai: "\u0e01\u0e25\u0e31\u0e1a",
          vn: "TR\u1ede L\u1ea0I",
          zh: "\u8fd4\u56de"
        },
        "label_mobile.BACK": {
          en: "BACK",
          kh: "BACK",
          mm: "BACK",
          es: "VOLVER",
          pt: "VOLTAR",
          thai: "\u0e01\u0e25\u0e31\u0e1a",
          vn: "TR\u1ede L\u1ea0I",
          zh: "\u8fd4\u56de"
        },
        "label_web.BATTERYSAVER": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_2": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_3": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_4": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_5": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_6": {
          en: "BATTERY SAVER",
          kh: "BATTERY SAVER",
          mm: "BATTERY SAVER",
          es: "AHORRO DE BATER\xcdA",
          pt: "POUPAN\xc7A DE BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN",
          zh: "\u7701\u96fb\u52a9\u624b"
        },
        "label_mobile.BATTERYSAVER_7": {
          en: "BATTERY SAVER -  helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          kh: "BATTERY SAVER -  helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          mm: "BATTERY SAVER -  helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          es: "AHORRO DE BATER\xcdA - le ayuda a reducir el consumo de bater\xeda del juego y puede prevenir que el dispositivo se caliente demasiado durante largas sesiones de juego.",
          pt: "POUPAN\xc7A DE BATERIA - ajuda a reduzir o concumo da bateria pelo jogo e pode ajudar a impedir que o dispositivo\naque\xe7a durante sess\xf5es de jogo mais prolongadas",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48 - \u0e0a\u0e48\u0e27\u0e22\u0e25\u0e14\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e23\u0e49\u0e2d\u0e19\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32\u0e19\u0e32\u0e19",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN - gi\xfap gi\u1ea3m vi\u1ec7c s\u1eed d\u1ee5ng pin c\u1ee7a tr\xf2 ch\u01a1i v\xe0 c\xf3 th\u1ec3 gi\xfap ng\u0103n c\u1ea3n thi\u1ebft b\u1ecb tr\u1edf n\xean n\xf3ng trong phi\xean ch\u01a1i d\xe0i",
          zh: "\u7701\u96fb\u52a9\u624b - \u6709\u52a9\u65bc\u6e1b\u5c11\u904a\u6232\u8017\u96fb\u91cf\uff0c\u9632\u6b62\u8a2d\u5099\u56e0\u9577\u6642\u9593\u4f7f\u7528\u800c\u767c\u71d9"
        },
        "label_mobile.BATTERYSAVERhelps": {
          en: "BATTERY SAVER - helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          kh: "BATTERY SAVER - helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          mm: "BATTERY SAVER - helps reduce the battery consumption of the game and can help to prevent the device from becoming warm during longer play sessions",
          es: "AHORRO DE BATER\xcdA - le ayuda a reducir el consumo de bater\xeda del juego y puede prevenir que el dispositivo se caliente demasiado durante largas sesiones de juego.",
          pt: "POUPAN\xc7A DE BATERIA - ajuda a reduzir o concumo da bateria pelo jogo e pode ajudar a impedir que o dispositivo aque\xe7a durante sess\xf5es de jogo mais prolongadas",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48 - \u0e0a\u0e48\u0e27\u0e22 \u0e25\u0e14\u0e01\u0e32\u0e23\u0e43\u0e0a \u0e49\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23 \u0e35\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e1b\u0e49\u0e2d\n\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43 \u0e2b\u0e49\u0e2d\u0e38\u0e1b\u0e01 \u0e23\u0e13\u0e4c\u0e23\u0e49\u0e2d\u0e19 \u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48\u0e40\u0e25 \u0e48\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32\u0e19\u0e32\u0e19",
          vn: "TR\xccNH TI\u1ebeT KI\u1ec6M PIN - gi\xfap gi\u1ea3m vi\u1ec7c s\u1eed d\u1ee5ng pin c\u1ee7a\ntr\xf2 ch\u01a1i v\xe0 c\xf3 th\u1ec3 gi\xfap ng\u0103n c\u1ea3n thi\u1ebft b\u1ecb tr\u1edf n\xean n\xf3ng\ntrong phi\xean ch\u01a1i d\xe0i ",
          zh: "\u7701\u96fb\u52a9\u624b - \u6709\u52a9\u65bc\u6e1b\u5c11\u904a\u6232\u8017\u96fb\u91cf\uff0c\n\u9632\u6b62\u8a2d\u5099\u56e0\u9577\u6642\u9593\u4f7f\u7528\u800c\u767c\u71d9"
        },
        "label_web.BET": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_2": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_3": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_4": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_5": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_6": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_7": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_8": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_9": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "",
          pt: "APOSTA",
          thai: "",
          vn: "",
          zh: ""
        },
        "label_mobile.BET": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_2": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_3": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_4": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_5": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_6": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_7": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_8": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_9": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_10": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_11": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_12": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_13": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_14": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_15": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_16": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_17": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_18": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_19": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_20": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_21": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_10": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_11": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_12": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_13": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_14": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_15": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_16": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_22": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_23": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_24": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_25": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_26": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_27": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_28": {
          en: "BET",
          kh: "BET",
          mm: "BET",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BET_17": {
          en: "BET ",
          kh: "BET ",
          mm: "BET ",
          es: "APUESTA",
          pt: "APOSTA",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.BET_29": {
          en: "BET ",
          kh: "BET ",
          mm: "BET ",
          es: "",
          pt: "APOSTA",
          thai: "",
          vn: "",
          zh: ""
        },
        "label_mobile.BET_30": {
          en: "BET ",
          kh: "BET ",
          mm: "BET ",
          es: "",
          pt: "APOSTA",
          thai: "",
          vn: "",
          zh: ""
        },
        "label_mobile.BETID": {
          en: "BET ID:",
          kh: "BET ID:",
          mm: "BET ID:",
          es: "ID DE APUESTA:",
          pt: "ID DA APOSTA:",
          thai: "ID \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19:",
          vn: "M\xc3 C\u01af\u1ee2C:",
          zh: "\u8ced\u6ce8ID\uff1a"
        },
        "label_mobile.BETID_2": {
          en: "BET ID:",
          kh: "BET ID:",
          mm: "BET ID:",
          es: "ID DE APUESTA:",
          pt: "ID DA APOSTA:",
          thai: "ID \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19:",
          vn: "M\xc3 C\u01af\u1ee2C:",
          zh: "\u8ced\u6ce8ID\uff1a"
        },
        "label_web.BETMAX": {
          en: "BET MAX",
          kh: "BET MAX",
          mm: "BET MAX",
          es: "APUESTA M\xc1X",
          pt: "APOSTA M\xc1X.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A",
          zh: "\u8ced\u6ce8\u4e0a\u9650"
        },
        "label_mobile.BETMAX": {
          en: "BET MAX",
          kh: "BET MAX",
          mm: "BET MAX",
          es: "APUESTA M\xc1X",
          pt: "APOSTA M\xc1X.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A",
          zh: "\u8ced\u6ce8\u4e0a\u9650"
        },
        "label_mobile.BETMAX_2": {
          en: "BET MAX",
          kh: "BET MAX",
          mm: "BET MAX",
          es: "APUESTA M\xc1X",
          pt: "APOSTA M\xc1X.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A",
          zh: "\u8ced\u6ce8\u4e0a\u9650"
        },
        "label_web.BETMENU": {
          en: "BET MENU",
          kh: "BET MENU",
          mm: "BET MENU",
          es: "MEN\xda DE APUESTA",
          pt: "MENU DE APOSTAS",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 ",
          vn: "MENU C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868"
        },
        "label_mobile.BETMENU": {
          en: "BET MENU",
          kh: "BET MENU",
          mm: "BET MENU",
          es: "MEN\xda DE APUESTA",
          pt: "MENU DE APOSTAS",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 ",
          vn: "MENU C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868"
        },
        "label_mobile.BETMENU_2": {
          en: "BET MENU",
          kh: "BET MENU",
          mm: "BET MENU",
          es: "MEN\xda DE APUESTA",
          pt: "MENU DE APOSTAS",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 ",
          vn: "MENU C\u01af\u1ee2C",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868"
        },
        "label_web.BETMULTIPLIER": {
          en: "BET MULTIPLIER {0}X",
          kh: "BET MULTIPLIER {0}X",
          mm: "BET MULTIPLIER {0}X",
          es: "MULTIPLICADOR DE APUESTA {0}X",
          pt: "MULTIPLICADOR DE APOSTA {0}X",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 {0}X",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C {0}X",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578 {0}X"
        },
        "label_web.BETMULTIPLIER_2": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_web.BETMULTIPLIER_3": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER_2": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER_3": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER_4": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER_5": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_mobile.BETMULTIPLIER_6": {
          en: "BET MULTIPLIER ",
          kh: "BET MULTIPLIER ",
          mm: "BET MULTIPLIER ",
          es: "MULTIPLICADOR DE APUESTA ",
          pt: "MULTIPLICADOR DE APOSTA ",
          thai: "\u0e1e\u0e19\u0e31\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19 ",
          vn: "S\u1ed0 NH\xc2N \u0110\u1eb6T C\u01af\u1ee2C ",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u6578"
        },
        "label_web.BETPERLINE": {
          en: "BET PER LINE",
          kh: "BET PER LINE",
          mm: "BET PER LINE",
          es: "APUESTA POR L\xcdNEA",
          pt: "APOSTA POR LINHA",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e43\u0e19\u0e44\u0e25\u0e19\u0e4c",
          vn: "TI\u1ec0N C\u01af\u1ee2C",
          zh: "\u7dda\u6ce8"
        },
        "label_web.BETPERLINE_2": {
          en: "BET PER LINE",
          kh: "BET PER LINE",
          mm: "BET PER LINE",
          es: "APUESTA POR L\xcdNEA",
          pt: "APOSTA POR LINHA",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e43\u0e19\u0e44\u0e25\u0e19\u0e4c",
          vn: "TI\u1ec0N C\u01af\u1ee2C",
          zh: "\u7dda\u6ce8"
        },
        "label_web.BETPERLINE_3": {
          en: "BET PER LINE",
          kh: "BET PER LINE",
          mm: "BET PER LINE",
          es: "APUESTA POR L\xcdNEA",
          pt: "APOSTA POR LINHA",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e43\u0e19\u0e44\u0e25\u0e19\u0e4c",
          vn: "TI\u1ec0N C\u01af\u1ee2C",
          zh: "\u7dda\u6ce8"
        },
        "label_web.BETPERLINE_4": {
          en: "BET PER LINE",
          kh: "BET PER LINE",
          mm: "BET PER LINE",
          es: "APUESTA POR L\xcdNEA",
          pt: "APOSTA POR LINHA",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e43\u0e19\u0e44\u0e25\u0e19\u0e4c",
          vn: "TI\u1ec0N C\u01af\u1ee2C",
          zh: "\u7dda\u6ce8"
        },
        "label_mobile.BETSETTINGS": {
          en: "BET SETTINGS",
          kh: "BET SETTINGS",
          mm: "BET SETTINGS",
          es: "AJUSTES DE APUESTA",
          pt: "DEFINI\xc7\xd5ES DE APOSTA",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\xc0I \u0110\u1eb6T C\u01af\u1ee2C",
          zh: "\u4e0b\u6ce8\u8a2d\u5b9a"
        },
        "label_mobile.BET_31": {
          en: "BET:",
          kh: "BET:",
          mm: "BET:",
          es: "APUESTA:",
          pt: "APOSTA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19:",
          vn: "C\u01af\u1ee2C:",
          zh: "\u8ced\u6ce8\uff1a"
        },
        "label_mobile.BET_32": {
          en: "BET:",
          kh: "BET:",
          mm: "BET:",
          es: "APUESTA:",
          pt: "APOSTA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19:",
          vn: "C\u01af\u1ee2C:",
          zh: "\u8ced\u6ce8\uff1a"
        },
        "label_web.BETTERLUCKNEXTTIME": {
          en: "BETTER LUCK NEXT TIME",
          kh: "BETTER LUCK NEXT TIME",
          mm: "BETTER LUCK NEXT TIME",
          es: "M\xc1S SUERTE LA PR\xd3XIMA VEZ",
          pt: "MELHOR SORTE PARA A PR\xd3XIMA",
          thai: "\u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e04\u0e23\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e07\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e19\u0e30",
          vn: "CH\xdaC MAY M\u1eaeN H\u01a0N V\xc0O L\u1ea6N SAU",
          zh: "\u795d\u60a8\u4e0b\u6b21\u597d\u904b"
        },
        "label_web.BETTERLUCKNEXTTIME_2": {
          en: "BETTER LUCK NEXT TIME",
          kh: "BETTER LUCK NEXT TIME",
          mm: "BETTER LUCK NEXT TIME",
          es: "M\xc1S SUERTE LA PR\xd3XIMA VEZ",
          pt: "MELHOR SORTE PARA A PR\xd3XIMA",
          thai: "\u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e04\u0e23\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e07\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e19\u0e30",
          vn: "CH\xdaC MAY M\u1eaeN H\u01a0N V\xc0O L\u1ea6N SAU",
          zh: "\u795d\u60a8\u4e0b\u6b21\u597d\u904b"
        },
        "label_mobile.BETTERLUCKNEXTTIME": {
          en: "BETTER LUCK NEXT TIME",
          kh: "BETTER LUCK NEXT TIME",
          mm: "BETTER LUCK NEXT TIME",
          es: "M\xc1S SUERTE LA PR\xd3XIMA VEZ",
          pt: "MELHOR SORTE PARA A PR\xd3XIMA",
          thai: "\u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e04\u0e23\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e07\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e19\u0e30",
          vn: "CH\xdaC MAY M\u1eaeN H\u01a0N V\xc0O L\u1ea6N SAU",
          zh: "\u795d\u60a8\u4e0b\u6b21\u597d\u904b"
        },
        "label_mobile.BETTERLUCKNEXTTIME_2": {
          en: "BETTER LUCK NEXT TIME",
          kh: "BETTER LUCK NEXT TIME",
          mm: "BETTER LUCK NEXT TIME",
          es: "M\xc1S SUERTE LA PR\xd3XIMA VEZ",
          pt: "MELHOR SORTE PARA A PR\xd3XIMA",
          thai: "\u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e04\u0e23\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e07\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e19\u0e30",
          vn: "CH\xdaC MAY M\u1eaeN H\u01a0N V\xc0O L\u1ea6N SAU",
          zh: "\u795d\u60a8\u4e0b\u6b21\u597d\u904b"
        },
        "label_mobile.BETTERLUCKNEXTTIME_3": {
          en: "BETTER LUCK NEXT TIME",
          kh: "BETTER LUCK NEXT TIME",
          mm: "BETTER LUCK NEXT TIME",
          es: "M\xc1S SUERTE LA PR\xd3XIMA VEZ",
          pt: "MELHOR SORTE PARA A PR\xd3XIMA",
          thai: "\u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e04\u0e23\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e07\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e19\u0e30",
          vn: "CH\xdaC MAY M\u1eaeN H\u01a0N V\xc0O L\u1ea6N SAU",
          zh: "\u795d\u60a8\u4e0b\u6b21\u597d\u904b"
        },
        "label_web.BETTINGON": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_web.BETTINGON_2": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_web.BETTINGON_3": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON_2": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON_3": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON_4": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON_5": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BETTINGON_6": {
          en: "BETTING ON",
          kh: "BETTING ON",
          mm: "BETTING ON",
          es: "APOSTANDO EN",
          pt: "A APOSTAR EM",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1e\u0e19\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C V\xc0O",
          zh: "\u4e0b\u6ce8"
        },
        "label_mobile.BIGJACKPOT": {
          en: "BIG JACKPOT:",
          kh: "BIG JACKPOT:",
          mm: "BIG JACKPOT:",
          es: "BIG JACKPOT:",
          pt: "GRANDE JACKPOT:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48",
          vn: "JACKPOT L\u1edaN",
          zh: "\u7d2f\u7a4d\u5927\u734e\uff1a"
        },
        "label_mobile.BIGJACKPOT_2": {
          en: "BIG JACKPOT:",
          kh: "BIG JACKPOT:",
          mm: "BIG JACKPOT:",
          es: "BIG JACKPOT:",
          pt: "GRANDE JACKPOT:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48",
          vn: "JACKPOT L\u1edaN",
          zh: "\u7d2f\u7a4d\u5927\u734e\uff1a"
        },
        "label_web.BONUS": {
          en: "BONUS",
          kh: "BONUS",
          mm: "BONUS",
          es: "BONUS",
          pt: "B\xd3NUS",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a",
          vn: "TH\u01af\u1edeNG",
          zh: "\u734e\u52f5"
        },
        "label_web.BONUS_2": {
          en: "BONUS",
          kh: "BONUS",
          mm: "BONUS",
          es: "BONUS",
          pt: "B\xd3NUS",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a",
          vn: "TH\u01af\u1edeNG",
          zh: "\u734e\u52f5"
        },
        "label_mobile.BONUS": {
          en: "BONUS",
          kh: "BONUS",
          mm: "BONUS",
          es: "BONUS",
          pt: "B\xd3NUS",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a",
          vn: "TH\u01af\u1edeNG",
          zh: "\u734e\u52f5"
        },
        "label_mobile.BONUS_2": {
          en: "BONUS",
          kh: "BONUS",
          mm: "BONUS",
          es: "BONUS",
          pt: "B\xd3NUS",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a",
          vn: "TH\u01af\u1edeNG",
          zh: "\u734e\u52f5"
        },
        "label_mobile.BONUS_3": {
          en: "BONUS",
          kh: "BONUS",
          mm: "BONUS",
          es: "BONUS",
          pt: "B\xd3NUS",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a",
          vn: "TH\u01af\u1edeNG",
          zh: "\u734e\u52f5"
        },
        "label_web.BONUSCOMPLETED": {
          en: "BONUS COMPLETED",
          kh: "BONUS COMPLETED",
          mm: "BONUS COMPLETED",
          es: "BONUS COMPLETADO",
          pt: "B\xd3NUS CONCLU\xcdDO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "TH\u01af\u1edeNG \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u734e\u52f5\u5df2\u5b8c\u6210"
        },
        "label_mobile.BONUSCOMPLETED": {
          en: "BONUS COMPLETED",
          kh: "BONUS COMPLETED",
          mm: "BONUS COMPLETED",
          es: "BONUS COMPLETADO",
          pt: "B\xd3NUS CONCLU\xcdDO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "TH\u01af\u1edeNG \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u734e\u52f5\u5df2\u5b8c\u6210"
        },
        "label_mobile.BONUSCOMPLETED_2": {
          en: "BONUS COMPLETED",
          kh: "BONUS COMPLETED",
          mm: "BONUS COMPLETED",
          es: "BONUS COMPLETADO",
          pt: "B\xd3NUS CONCLU\xcdDO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "TH\u01af\u1edeNG \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u734e\u52f5\u5df2\u5b8c\u6210"
        },
        "label_mobile.BONUSCOMPLETED_3": {
          en: "BONUS COMPLETED",
          kh: "BONUS COMPLETED",
          mm: "BONUS COMPLETED",
          es: "BONUS COMPLETADO",
          pt: "B\xd3NUS CONCLU\xcdDO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "TH\u01af\u1edeNG \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u734e\u52f5\u5df2\u5b8c\u6210"
        },
        "label_web.BONUSWON": {
          en: "BONUS WON",
          kh: "BONUS WON",
          mm: "BONUS WON",
          es: "HA GANADO UN BONUS",
          pt: "B\xd3NUS GANHO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "TH\u1eaeNG BONUS",
          zh: "\u734e\u52f5\u8d0f\u5f97"
        },
        "label_mobile.BONUSWON": {
          en: "BONUS WON",
          kh: "BONUS WON",
          mm: "BONUS WON",
          es: "HA GANADO UN BONUS",
          pt: "B\xd3NUS GANHO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "TH\u1eaeNG BONUS",
          zh: "\u734e\u52f5\u8d0f\u5f97"
        },
        "label_mobile.BONUSWON_2": {
          en: "BONUS WON",
          kh: "BONUS WON",
          mm: "BONUS WON",
          es: "HA GANADO UN BONUS",
          pt: "B\xd3NUS GANHO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "TH\u1eaeNG BONUS",
          zh: "\u734e\u52f5\u8d0f\u5f97"
        },
        "label_mobile.BONUSWON_3": {
          en: "BONUS WON",
          kh: "BONUS WON",
          mm: "BONUS WON",
          es: "HA GANADO UN BONUS",
          pt: "B\xd3NUS GANHO",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "TH\u1eaeNG BONUS",
          zh: "\u734e\u52f5\u8d0f\u5f97"
        },
        "label_web.BUYFEATURE": {
          en: "BUY FEATURE",
          kh: "BUY FEATURE",
          mm: "BUY FEATURE",
          es: "COMPRAR FUNCI\xd3N\n",
          pt: "\nCOMPRAR\nMODO",
          thai: "\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "MUA T\xcdNH N\u0102NG",
          zh: "\u8cfc\u8cb7\u529f\u80fd"
        },
        "label_mobile.BUYFEATURE": {
          en: "BUY FEATURE",
          kh: "BUY FEATURE",
          mm: "BUY FEATURE",
          es: "COMPRAR FUNCI\xd3N",
          pt: "\n\nCOMPRAR MODO",
          thai: "\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "MUA T\xcdNH N\u0102NG",
          zh: "\u8cfc\u8cb7\u529f\u80fd"
        },
        "label_web.Bet": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_web.Bet_2": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_web.Bet_3": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_web.Bet_4": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.Bet": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.Bet_2": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.Bet_3": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_mobile.Bet_4": {
          en: "Bet",
          kh: "Bet",
          mm: "Bet",
          es: "Apuesta",
          pt: "Aposta",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "C\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8"
        },
        "label_web.BetID": {
          en: "Bet ID",
          kh: "Bet ID",
          mm: "Bet ID",
          es: "ID de Apuesta",
          pt: "ID da aposta",
          thai: "ID \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "M\xe3 s\u1ed1 c\u01b0\u1ee3c",
          zh: "\u8ced\u6ce8ID"
        },
        "label_web.Betmultiplier20x": {
          en: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          kh: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          mm: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          es: "Multiplicador de apuesta de 20x - da la habilidad de comprar una RONDA DE TIRADAS GRATIS pagando un valor igual a 100x la apuesta total.",
          pt: "Multiplicador de aposta de 20x - permite comprar uma RONDA DE RODADAS GR\xc1TIS pagando um valor igual a 100x o total de aposta.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 20x - \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e14\u0e22\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a 100x \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 20x - cho ph\xe9p mua V\xd2NG QUAY MI\u1ec4N PH\xcd b\u1eb1ng c\xe1ch thanh to\xe1n gi\xe1 tr\u1ecb t\u01b0\u01a1ng \u0111\u01b0\u01a1ng v\u1edbi 100x t\u1ed5ng c\u01b0\u1ee3c.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657820x - \u80fd\u5920\u900f\u904e\u8ce0\u4ed8\u7b49\u65bc100x\u7e3d\u6295\u6ce8\u7684\u91d1\u984d\u4f86\u8cfc\u8cb7\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u3002"
        },
        "label_mobile.Betmultiplier20x": {
          en: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          kh: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          mm: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          es: "Multiplicador de apuesta de 20x - da la habilidad de comprar una RONDA DE TIRADAS GRATIS pagando un valor igual a 100x la apuesta total.",
          pt: "Multiplicador de aposta de 20x - permite comprar uma RONDA DE RODADAS GR\xc1TIS pagando um valor igual a 100x o total de aposta.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 20x - \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e14\u0e22\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a 100x \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 20x - cho ph\xe9p mua V\xd2NG QUAY MI\u1ec4N PH\xcd b\u1eb1ng c\xe1ch thanh to\xe1n gi\xe1 tr\u1ecb t\u01b0\u01a1ng \u0111\u01b0\u01a1ng v\u1edbi 100x t\u1ed5ng c\u01b0\u1ee3c.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657820x - \u80fd\u5920\u900f\u904e\u8ce0\u4ed8\u7b49\u65bc100x\u7e3d\u6295\u6ce8\u7684\u91d1\u984d\u4f86\u8cfc\u8cb7\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u3002"
        },
        "label_mobile.Betmultiplier20x_2": {
          en: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          kh: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          mm: "Bet multiplier 20x - gives the ability to purchase a FREE SPINS ROUND by paying a value equal to 100x total bet.",
          es: "Multiplicador de apuesta de 20x - da la habilidad de comprar una RONDA DE TIRADAS GRATIS pagando un valor igual a 100x la apuesta total.",
          pt: "Multiplicador de aposta de 20x - permite comprar uma RONDA DE RODADAS GR\xc1TIS pagando um valor igual a 100x o total de aposta.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 20x - \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e14\u0e22\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a 100x \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 20x - cho ph\xe9p mua V\xd2NG QUAY MI\u1ec4N PH\xcd b\u1eb1ng c\xe1ch thanh to\xe1n gi\xe1 tr\u1ecb t\u01b0\u01a1ng \u0111\u01b0\u01a1ng v\u1edbi 100x t\u1ed5ng c\u01b0\u1ee3c.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657820x - \u80fd\u5920\u900f\u904e\u8ce0\u4ed8\u7b49\u65bc100x\u7e3d\u6295\u6ce8\u7684\u91d1\u984d\u4f86\u8cfc\u8cb7\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u3002"
        },
        "label_web.Betmultiplier25x": {
          en: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          kh: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          mm: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          es: "Multiplicador de apuesta de 25x - la oportunidad de ganar tiradas gratis de forma natural se dobla. Hay m\xe1s s\xedmbolos SCATTER presentes en los rodillos. La FUNCI\xd3N DE COMPRA DE TIRADAS GRATIS se deshabilita.",
          pt: "Multiplicador de aposta de 25x - a oportunidade de ganhar rodadas gr\xe1tis naturalmente \xe9 duplicada. Mais s\xedmbolos SCATTER presentes nos rolos. O MODO DE COMPRA DE RODADAS GR\xc1TIS \xe9 desativado.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25x - \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 25x - c\u01a1 h\u1ed9i gi\xe0nh c\xe1c v\xf2ng quay mi\u1ec5n ph\xed m\u1ed9t c\xe1ch t\u1ef1 nhi\xean \u0111\u01b0\u1ee3c nh\xe2n \u0111\xf4i. Th\xeam c\xe1c bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean cu\u1ed9n. T\xcdNH N\u0102NG MUA V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c t\u1eaft.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657825x - \u96a8\u6a5f\u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49\u7684\u6a5f\u6703\u7ffb\u500d\u3002\u6372\u8ef8\u4e0a\u51fa\u73fe\u66f4\u591aSCATTER\u7b26\u865f\u3002\u514d\u8cbb\u65cb\u8f49\u8cfc\u8cb7\u529f\u80fd\u5df2\u88ab\u7981\u7528\u3002"
        },
        "label_mobile.Betmultiplier25x": {
          en: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          kh: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          mm: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          es: "Multiplicador de apuesta de 25x - la oportunidad de ganar tiradas gratis de forma natural se dobla. Hay m\xe1s s\xedmbolos SCATTER presentes en los rodillos. La FUNCI\xd3N DE COMPRA DE TIRADAS GRATIS se deshabilita.",
          pt: "Multiplicador de aposta de 25x - a oportunidade de ganhar rodadas gr\xe1tis naturalmente \xe9 duplicada. Mais s\xedmbolos SCATTER presentes nos rolos. O MODO DE COMPRA DE RODADAS GR\xc1TIS \xe9 desativado.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25x - \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 25x - c\u01a1 h\u1ed9i gi\xe0nh c\xe1c v\xf2ng quay mi\u1ec5n ph\xed m\u1ed9t c\xe1ch t\u1ef1 nhi\xean \u0111\u01b0\u1ee3c nh\xe2n \u0111\xf4i. Th\xeam c\xe1c bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean cu\u1ed9n. T\xcdNH N\u0102NG MUA V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c t\u1eaft.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657825x - \u96a8\u6a5f\u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49\u7684\u6a5f\u6703\u7ffb\u500d\u3002\u6372\u8ef8\u4e0a\u51fa\u73fe\u66f4\u591aSCATTER\u7b26\u865f\u3002\u514d\u8cbb\u65cb\u8f49\u8cfc\u8cb7\u529f\u80fd\u5df2\u88ab\u7981\u7528\u3002"
        },
        "label_mobile.Betmultiplier25x_2": {
          en: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          kh: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          mm: "Bet multiplier 25x - the chance to win free spins naturally is doubled. More SCATTER symbols are present on the reels. The FREE SPINS PURCHASE FEATURE is disabled.",
          es: "Multiplicador de apuesta de 25x - la oportunidad de ganar tiradas gratis de forma natural se dobla. Hay m\xe1s s\xedmbolos SCATTER presentes en los rodillos. La FUNCI\xd3N DE COMPRA DE TIRADAS GRATIS se deshabilita.",
          pt: "Multiplicador de aposta de 25x - a oportunidade de ganhar rodadas gr\xe1tis naturalmente \xe9 duplicada. Mais s\xedmbolos SCATTER presentes nos rolos. O MODO DE COMPRA DE RODADAS GR\xc1TIS \xe9 desativado.",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25x - \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e0b\u0e37\u0e49\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49",
          vn: "S\u1ed1 nh\xe2n c\u01b0\u1ee3c 25x - c\u01a1 h\u1ed9i gi\xe0nh c\xe1c v\xf2ng quay mi\u1ec5n ph\xed m\u1ed9t c\xe1ch t\u1ef1 nhi\xean \u0111\u01b0\u1ee3c nh\xe2n \u0111\xf4i. Th\xeam c\xe1c bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean cu\u1ed9n. T\xcdNH N\u0102NG MUA V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c t\u1eaft.",
          zh: "\u8ced\u6ce8\u500d\u589e\u6307\u657825x - \u96a8\u6a5f\u8d0f\u5f97\u514d\u8cbb\u65cb\u8f49\u7684\u6a5f\u6703\u7ffb\u500d\u3002\u6372\u8ef8\u4e0a\n\u51fa\u73fe\u66f4\u591aSCATTER\u7b26\u865f\u3002\u514d\u8cbb\u65cb\u8f49\u8cfc\u8cb7\u529f\u80fd\u5df2\u88ab\u7981\u7528\u3002"
        },
        "label_web.ByclickingtheJOIN": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_web.ByclickingtheJOIN_2": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_mobile.ByclickingtheJOIN": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_mobile.ByclickingtheJOIN_2": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_mobile.ByclickingtheJOIN_3": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_mobile.ByclickingtheJOIN_4": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_mobile.ByclickingtheJOIN_5": {
          en: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          kh: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          mm: "By clicking the JOIN NOW button you are accepting the rules of the promotion.",
          es: "Al pinchar en el bot\xf3n UNIRSE AHORA, usted est\xe1 aceptando las reglas de la promoci\xf3n. ",
          pt: "Ao clicar no bot\xe3o ACEITAR AGORA est\xe1 a aceitar as regras da promo\xe7\xe3o. ",
          thai: "\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 JOIN NOW \u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27 ",
          vn: "B\u1eb1ng vi\u1ec7c nh\u1ea5p v\xe0o n\xfat THAM GIA NGAY, b\u1ea1n ch\u1ea5p nh\u1eadn lu\u1eadt ch\u01a1i c\u1ee7a khuy\u1ebfn m\xe3i. ",
          zh: "\u9ede\u6309\u300c\u7acb\u5373\u52a0\u5165\u300d\u6309\u9215\u5373\u8868\u793a\u60a8\u63a5\u53d7\u4fc3\u92b7\u898f\u5247\u3002 "
        },
        "label_web.CASH": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "EFECTIVO",
          pt: "DINHEIRO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_web.CASH_2": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_web.CASH_3": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "EFECTIVO",
          pt: "DINHEIRO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH_2": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "EFECTIVO",
          pt: "DINHEIRO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH_3": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH_4": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH_5": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.CASH_6": {
          en: "CASH",
          kh: "CASH",
          mm: "CASH",
          es: "SALDO",
          pt: "SALDO",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "TI\u1ec0N M\u1eb6T",
          zh: "\u73fe\u91d1"
        },
        "label_web.CHANCETOWINFEATURE": {
          en: "CHANCE TO\nWIN FEATURE",
          kh: "CHANCE TO\nWIN FEATURE",
          mm: "CHANCE TO\nWIN FEATURE",
          es: "OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO OPORTUNIDADE DE GANHAR ",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\n\u0e0a\u0e19\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "C\u01a0 H\u1ed8I\nGI\xc0NH \u0110\u01af\u1ee2C\nT\xcdNH N\u0102NG",
          zh: "\u6709\u6a5f\u6703\n \u8d0f\u5f97\u529f\u80fd"
        },
        "label_web.CHANCETOWINFEATURE_2": {
          en: "CHANCE TO\nWIN FEATURE",
          kh: "CHANCE TO\nWIN FEATURE",
          mm: "CHANCE TO\nWIN FEATURE",
          es: "OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO OPORTUNIDADE DE GANHAR ",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\n\u0e0a\u0e19\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "C\u01a0 H\u1ed8I\nGI\xc0NH \u0110\u01af\u1ee2C\nT\xcdNH N\u0102NG",
          zh: "\u6709\u6a5f\u6703\n \u8d0f\u5f97\u529f\u80fd"
        },
        "label_mobile.CHANCETOWINFEATURE": {
          en: "CHANCE TO\nWIN FEATURE",
          kh: "CHANCE TO\nWIN FEATURE",
          mm: "CHANCE TO\nWIN FEATURE",
          es: "OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO OPORTUNIDADE DE GANHAR ",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\n\u0e0a\u0e19\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "C\u01a0 H\u1ed8I\nGI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u6709\u6a5f\u6703\n \u8d0f\u5f97\u529f\u80fd"
        },
        "label_mobile.CHANCETOWINFEATURE_2": {
          en: "CHANCE TO\nWIN FEATURE",
          kh: "CHANCE TO\nWIN FEATURE",
          mm: "CHANCE TO\nWIN FEATURE",
          es: "OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO OPORTUNIDADE DE GANHAR ",
          thai: "\u0e42\u0e2d\u0e01\u0e32\u0e2a\n\u0e0a\u0e19\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "C\u01a0 H\u1ed8I\nGI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u6709\u6a5f\u6703\n \u8d0f\u5f97\u529f\u80fd"
        },
        "label_web.CLICKCONTINUETOSTART": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR\nPARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_web.CLICKCONTINUETOSTART_2": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR\nPARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKCONTINUETOSTART": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR PARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKCONTINUETOSTART_2": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR\nPARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKCONTINUETOSTART_3": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR\nPARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKCONTINUETOSTART_4": {
          en: "CLICK CONTINUE TO START PLAYING!",
          kh: "CLICK CONTINUE TO START PLAYING!",
          mm: "CLICK CONTINUE TO START PLAYING!",
          es: "\xa1HAGA CLIC EN CONTINUAR\nPARA EMPEZAR A JUGAR!",
          pt: "CLIQUE CONTINUAR PARA COME\xc7AR A JOGAR!",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19",
          vn: "B\u1ea4M V\xc0O CONTINUE \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca\u7e7c\u7e8c\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKHERETOENABLE": {
          en: "CLICK HERE TO ENABLE SOUNDS",
          kh: "CLICK HERE TO ENABLE SOUNDS",
          mm: "CLICK HERE TO ENABLE SOUNDS",
          es: "Haga clic AQU\xcd PARA ACTIVAR LOS SONIDOS",
          pt: "CLIQUE AQUI PARA ATIVAR OS SONS ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "NH\u1ea4P V\xc0O \u0110\xc2Y \u0110\u1ec2 B\u1eacT \xc2M THANH",
          zh: "\u9ede\u64ca\u6b64\u8655\u555f\u7528\u8072\u6548"
        },
        "label_web.CLICKPLAYNOWTO": {
          en: "CLICK PLAY NOW TO START PLAYING!",
          kh: "CLICK PLAY NOW TO START PLAYING!",
          mm: "CLICK PLAY NOW TO START PLAYING!",
          es: "HAZ CLIC EN \xa1JUGAR AHORA! PARA EMPEZAR A JUGAR",
          pt: "CLIQUE EM JOGAR AGORA PARA COME\xc7AR A JOGAR!",
          thai: "\u0e04\u0e25\u0e34\u0e01 \u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e19\u0e17\u0e35!  ",
          vn: "NH\u1ea4P V\xc0O CH\u01a0I NGAY \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca \u73fe\u5728\u958b\u59cb\u904a\u6232 \u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKPLAYNOWTO": {
          en: "CLICK PLAY NOW TO START PLAYING!",
          kh: "CLICK PLAY NOW TO START PLAYING!",
          mm: "CLICK PLAY NOW TO START PLAYING!",
          es: "HAZ CLIC EN \xa1JUGAR AHORA! PARA EMPEZAR A JUGAR",
          pt: "CLIQUE EM JOGAR AGORA PARA COME\xc7AR A JOGAR!",
          thai: "\u0e04\u0e25\u0e34\u0e01 \u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35!  ",
          vn: "NH\u1ea4P V\xc0O CH\u01a0I NGAY \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca \u73fe\u5728\u958b\u59cb\u904a\u6232 \u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.CLICKPLAYNOWTO_2": {
          en: "CLICK PLAY NOW TO START PLAYING!",
          kh: "CLICK PLAY NOW TO START PLAYING!",
          mm: "CLICK PLAY NOW TO START PLAYING!",
          es: "HAZ CLIC EN \xa1JUGAR AHORA! PARA EMPEZAR A JUGAR",
          pt: "CLIQUE EM JOGAR AGORA PARA COME\xc7AR A JOGAR!",
          thai: "\u0e04\u0e25\u0e34\u0e01 \u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35!  ",
          vn: "NH\u1ea4P V\xc0O CH\u01a0I NGAY \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U CH\u01a0I!",
          zh: "\u9ede\u64ca \u73fe\u5728\u958b\u59cb\u904a\u6232 \u958b\u59cb\u904a\u6232\uff01"
        },
        "label_web.CLICKTOCHANGEBETWEENMONEY": {
          en: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          kh: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          mm: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          es: "HAGA CLIC PARA ALTERNAR ENTRE\nLAS VISTAS DE DINERO Y CR\xc9DITOS",
          pt: "CLIQUE PARA ALTERNAR ENTRE\nVISTA DE DINHEIRO E DE MOEDAS",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "NH\u1ea4P \u0110\u1ec2 THAY \u0110\u1ed4I GI\u1eeeA CH\u1ebe\n\u0110\u1ed8 XEM TI\u1ec0N V\xc0 \u0110\u1ed2NG TI\u1ec0N",
          zh: "\u9ede\u64ca\u4ee5\u5728\u771f\u9322\u548c\u91d1\u5e63\u756b\u9762\u9593\u5207\u63db"
        },
        "label_mobile.CLICKTOCHANGEBETWEENMONEY": {
          en: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          kh: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          mm: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          es: "HAGA CLIC PARA ALTERNAR ENTRE\nLAS VISTAS DE DINERO Y CR\xc9DITOS",
          pt: "CLIQUE PARA ALTERNAR ENTRE\nVISTA DE DINHEIRO E DE MOEDAS",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "NH\u1ea4P \u0110\u1ec2 THAY \u0110\u1ed4I GI\u1eeeA CH\u1ebe\n\u0110\u1ed8 XEM TI\u1ec0N V\xc0 \u0110\u1ed2NG TI\u1ec0N",
          zh: "\u9ede\u64ca\u4ee5\u5728\u771f\u9322\u548c\u91d1\u5e63\u756b\u9762\u9593\u5207\u63db"
        },
        "label_mobile.CLICKTOCHANGEBETWEENMONEY_2": {
          en: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          kh: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          mm: "CLICK TO CHANGE BETWEEN\nMONEY AND COIN VIEW",
          es: "HAGA CLIC PARA ALTERNAR ENTRE\nLAS VISTAS DE DINERO Y CR\xc9DITOS",
          pt: "CLIQUE PARA ALTERNAR ENTRE\nVISTA DE DINHEIRO E DE MOEDAS",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "NH\u1ea4P \u0110\u1ec2 THAY \u0110\u1ed4I GI\u1eeeA CH\u1ebe\n\u0110\u1ed8 XEM TI\u1ec0N V\xc0 \u0110\u1ed2NG TI\u1ec0N",
          zh: "\u9ede\u64ca\u4ee5\u5728\u771f\u9322\u548c\u91d1\u5e63\u756b\u9762\u9593\u5207\u63db"
        },
        "label_web.COINVALUE": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDA",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_web.COINVALUE_2": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDA",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE_2": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE_3": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE_4": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE_5": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_mobile.COINVALUE_6": {
          en: "COIN VALUE",
          kh: "COIN VALUE",
          mm: "COIN VALUE",
          es: "VALOR DE MONEDAS",
          pt: "VALOR DE MOEDA",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "TI\u1ec0N XU",
          zh: "\u91d1\u5e63\u503c"
        },
        "label_web.COINS": {
          en: "COINS",
          kh: "COINS",
          mm: "COINS",
          es: "CR\xc9DITOS",
          pt: "MOEDAS",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "\u0110\u1ed2NG TI\u1ec0N",
          zh: "\u91d1\u5e63"
        },
        "label_mobile.COINS": {
          en: "COINS",
          kh: "COINS",
          mm: "COINS",
          es: "CR\xc9DITOS",
          pt: "MOEDAS",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "\u0110\u1ed2NG TI\u1ec0N",
          zh: "\u91d1\u5e63"
        },
        "label_mobile.COINS_2": {
          en: "COINS",
          kh: "COINS",
          mm: "COINS",
          es: "CR\xc9DITOS",
          pt: "MOEDAS",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d",
          vn: "\u0110\u1ed2NG TI\u1ec0N",
          zh: "\u91d1\u5e63"
        },
        "label_web.COINSPERLINE": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_web.COINSPERLINE_2": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_mobile.COINSPERLINE": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_mobile.COINSPERLINE_2": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_mobile.COINSPERLINE_3": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_mobile.COINSPERLINE_4": {
          en: "COINS PER LINE",
          kh: "COINS PER LINE",
          mm: "COINS PER LINE",
          es: "MONEDAS POR L\xcdNEA",
          pt: "MOEDAS POR LINHA",
          thai: "\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27",
          vn: "\u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG",
          zh: "\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63"
        },
        "label_web.COLLECT": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_web.COLLECT_2": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_web.COLLECT_3": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_mobile.COLLECT": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_mobile.COLLECT_2": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_mobile.COLLECT_3": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_mobile.COLLECT_4": {
          en: "COLLECT",
          kh: "COLLECT",
          mm: "COLLECT",
          es: "COBRAR",
          pt: "RECOLHER",
          thai: "\u0e2a\u0e30\u0e2a\u0e21",
          vn: "CH\u1eccN",
          zh: "\u9818\u53d6"
        },
        "label_web.CONGRATULATIONS": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_2": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_3": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_4": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_5": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_6": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_7": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_8": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_9": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35!",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c\uff01"
        },
        "label_web.CONGRATULATIONS_10": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35!",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c\uff01"
        },
        "label_mobile.CONGRATULATIONS": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_2": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_3": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_4": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_5": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_6": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_7": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_8": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_9": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_10": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_11": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_12": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_13": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_14": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_15": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_16": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35!",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c\uff01"
        },
        "label_mobile.CONGRATULATIONS_17": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35!",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c\uff01"
        },
        "label_web.CONGRATULATIONS_11": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_12": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_web.CONGRATULATIONS_13": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "ENHORABUENA",
          pt: "PARAB\xc9NS",
          thai: "\u0e22\u0e34\u0e19\u0e14\u0e35\u0e14\u0e49\u0e27\u0e22",
          vn: "CH\xdaC M\u1eeaNG",
          zh: "\u606d\u559c"
        },
        "label_web.CONGRATULATIONS_14": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "ENHORABUENA",
          pt: "PARAB\xc9NS",
          thai: "\u0e22\u0e34\u0e19\u0e14\u0e35\u0e14\u0e49\u0e27\u0e22",
          vn: "CH\xdaC M\u1eeaNG",
          zh: "\u606d\u559c"
        },
        "label_mobile.CONGRATULATIONS_18": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_19": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "\xa1ENHORABUENA!",
          pt: "PARAB\xc9NS!",
          thai: "\u0e02\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e27\u0e32\u0e21\u0e22\u0e34\u0e19\u0e14\u0e35",
          vn: "CH\xdaC M\u1eeaNG!",
          zh: "\u606d\u559c!"
        },
        "label_mobile.CONGRATULATIONS_20": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "ENHORABUENA",
          pt: "PARAB\xc9NS",
          thai: "\u0e22\u0e34\u0e19\u0e14\u0e35\u0e14\u0e49\u0e27\u0e22",
          vn: "CH\xdaC M\u1eeaNG",
          zh: "\u606d\u559c"
        },
        "label_mobile.CONGRATULATIONS_21": {
          en: "CONGRATULATIONS!",
          kh: "CONGRATULATIONS!",
          mm: "CONGRATULATIONS!",
          es: "ENHORABUENA",
          pt: "PARAB\xc9NS",
          thai: "\u0e22\u0e34\u0e19\u0e14\u0e35\u0e14\u0e49\u0e27\u0e22",
          vn: "CH\xdaC M\u1eeaNG",
          zh: "\u606d\u559c"
        },
        "label_web.CONTINUE": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_2": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_3": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_4": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_5": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_6": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_7": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_8": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_9": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUE_10": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_2": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_3": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_4": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_5": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_6": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_7": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_8": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_9": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_10": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_11": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_12": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_13": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_14": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_15": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_mobile.CONTINUE_16": {
          en: "CONTINUE",
          kh: "CONTINUE",
          mm: "CONTINUE",
          es: "CONTINUAR",
          pt: "CONTINUAR",
          thai: "\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C",
          zh: "\u7e7c\u7e8c"
        },
        "label_web.CONTINUEPLAYING": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUE JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_web.CONTINUEPLAYING_2": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUE JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_web.CONTINUEPLAYING_3": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_web.CONTINUEPLAYING_4": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUE JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_2": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUE JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_3": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUE JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_4": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_5": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_6": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_mobile.CONTINUEPLAYING_7": {
          en: "CONTINUE PLAYING",
          kh: "CONTINUE PLAYING",
          mm: "CONTINUE PLAYING",
          es: "CONTINUAR JUGANDO",
          pt: "CONTINUAR A JOGAR",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e48\u0e2d",
          vn: "TI\u1ebeP T\u1ee4C CH\u01a0I",
          zh: "\u7e7c\u7e8c\u904a\u6232"
        },
        "label_web.COPYLINK": {
          en: "COPY LINK",
          kh: "COPY LINK",
          mm: "COPY LINK",
          es: "COPIAR ENLACE",
          pt: "COPIAR LINK:",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "SAO CH\xc9P LI\xcaN K\u1ebeT",
          zh: "\u8907\u88fd\u9023\u7d50"
        },
        "label_mobile.COPYLINK": {
          en: "COPY LINK",
          kh: "COPY LINK",
          mm: "COPY LINK",
          es: "COPIAR ENLACE",
          pt: "COPIAR LINK:",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "SAO CH\xc9P LI\xcaN K\u1ebeT",
          zh: "\u8907\u88fd\u9023\u7d50"
        },
        "label_mobile.COPYLINK_2": {
          en: "COPY LINK",
          kh: "COPY LINK",
          mm: "COPY LINK",
          es: "COPIAR ENLACE",
          pt: "COPIAR LINK:",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "SAO CH\xc9P LI\xcaN K\u1ebeT",
          zh: "\u8907\u88fd\u9023\u7d50"
        },
        "label_mobile.COPYLINK_3": {
          en: "COPY LINK",
          kh: "COPY LINK",
          mm: "COPY LINK",
          es: "COPIAR ENLACE",
          pt: "COPIAR LINK:",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "SAO CH\xc9P LI\xcaN K\u1ebeT",
          zh: "\u8907\u88fd\u9023\u7d50"
        },
        "label_mobile.COPYLINK_4": {
          en: "COPY LINK",
          kh: "COPY LINK",
          mm: "COPY LINK",
          es: "COPIAR ENLACE",
          pt: "COPIAR LINK:",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "SAO CH\xc9P LI\xcaN K\u1ebeT",
          zh: "\u8907\u88fd\u9023\u7d50"
        },
        "label_web.CREATELINK": {
          en: "CREATE LINK",
          kh: "CREATE LINK",
          mm: "CREATE LINK",
          es: "CREAR ENLACE",
          pt: "CRIAR LINK",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "T\u1ea0O LI\xcaN K\u1ebeT:",
          zh: "\u5275\u5efa\u9023\u7d50"
        },
        "label_mobile.CREATELINK": {
          en: "CREATE LINK",
          kh: "CREATE LINK",
          mm: "CREATE LINK",
          es: "CREAR ENLACE",
          pt: "CRIAR LINK",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "T\u1ea0O LI\xcaN K\u1ebeT:",
          zh: "\u5275\u5efa\u9023\u7d50"
        },
        "label_mobile.CREATELINK_2": {
          en: "CREATE LINK",
          kh: "CREATE LINK",
          mm: "CREATE LINK",
          es: "CREAR ENLACE",
          pt: "CRIAR LINK",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "T\u1ea0O LI\xcaN K\u1ebeT:",
          zh: "\u5275\u5efa\u9023\u7d50"
        },
        "label_mobile.CREATELINK_3": {
          en: "CREATE LINK",
          kh: "CREATE LINK",
          mm: "CREATE LINK",
          es: "CREAR ENLACE",
          pt: "CRIAR LINK",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "T\u1ea0O LI\xcaN K\u1ebeT:",
          zh: "\u5275\u5efa\u9023\u7d50"
        },
        "label_mobile.CREATELINK_4": {
          en: "CREATE LINK",
          kh: "CREATE LINK",
          mm: "CREATE LINK",
          es: "CREAR ENLACE",
          pt: "CRIAR LINK",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "T\u1ea0O LI\xcaN K\u1ebeT:",
          zh: "\u5275\u5efa\u9023\u7d50"
        },
        "label_web.CREDIT": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_web.CREDIT_2": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_web.CREDIT_3": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_mobile.CREDIT": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN\nD\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_mobile.CREDIT_2": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_mobile.CREDIT_3": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_mobile.CREDIT_4": {
          en: "CREDIT",
          kh: "CREDIT",
          mm: "CREDIT",
          es: "CR\xc9DITO",
          pt: "CR\xc9DITO",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xcdN D\u1ee4NG",
          zh: "\u9918\u984d"
        },
        "label_web.CREDITandBETlabels": {
          en: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          kh: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          mm: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          es: "Las etiquetas CR\xc9DITO y APUESTA muestran el saldo actual y la apuesta total actual.\nHaga clic en las etiquetas para cambiar entre las vistas de cr\xe9ditos y efectivo. ",
          pt: "As etiquetas CR\xc9DITO e APOSTA mostram o saldo atual e o total apostado no momento.\nClique nas etiquetas para alternar entre a vista de moedas e a vista de dinheiro. ",
          thai: "\u0e1b\u0e49\u0e32\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a \u0e40\u0e04\u0e23\u0e14\u0e34\u0e15 \u0e41\u0e25\u0e30 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e41\u0e2a\u0e14\u0e07\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e41\u0e25\u0e30\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e49\u0e32\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e25\u0e31\u0e1a\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng T\xcdN D\u1ee4NG v\xe0 C\u01af\u1ee2C th\u1ec3 hi\u1ec7n s\u1ed1 d\u01b0 v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i.\nNh\u1ea5p v\xe0o c\xe1c bi\u1ec3u t\u01b0\u1ee3ng \u0111\u1ec3 chuy\u1ec3n gi\u1eefa ch\u1ebf \u0111\u1ed9 xem \u0111\u1ed3ng xu v\xe0 ch\u1ebf \u0111\u1ed9 xem ti\u1ec1n m\u1eb7t. ",
          zh: "\u300c\u9918\u984d\u300d\u548c\u300c\u8ced\u6ce8\u300d\u6a19\u7c64\u5206\u5225\u986f\u793a\u4e86\u76ee\u524d\u7684\u9918\u984d\u548c\u7e3d\u8ced\u6ce8\u3002\u9ede\u64ca\u6a19\u7c64\u53ef\u4ee5\u5728\u91d1\u5e63\u8996\u5716\u548c\u73fe\u91d1\u8996\u5716\u4e4b\u9593\u5207\u63db\u3002"
        },
        "label_mobile.CREDITandBETlabels": {
          en: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          kh: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          mm: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          es: "Las etiquetas CR\xc9DITO y APUESTA muestran el saldo actual y la apuesta total actual.\nHaga clic en las etiquetas para cambiar entre las vistas de cr\xe9ditos y efectivo. ",
          pt: "As etiquetas CR\xc9DITO e APOSTA mostram o saldo atual e o total apostado no momento.\nClique nas etiquetas para alternar entre a vista de moedas e a vista de dinheiro. ",
          thai: "\u0e1b\u0e49\u0e32\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a \u0e40\u0e04\u0e23\u0e14\u0e34\u0e15 \u0e41\u0e25\u0e30 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e41\u0e2a\u0e14\u0e07\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e41\u0e25\u0e30\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e49\u0e32\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e25\u0e31\u0e1a\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng T\xcdN D\u1ee4NG v\xe0 C\u01af\u1ee2C th\u1ec3 hi\u1ec7n s\u1ed1 d\u01b0 v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i.\nNh\u1ea5p v\xe0o c\xe1c bi\u1ec3u t\u01b0\u1ee3ng \u0111\u1ec3 chuy\u1ec3n gi\u1eefa ch\u1ebf \u0111\u1ed9 xem \u0111\u1ed3ng xu v\xe0 ch\u1ebf \u0111\u1ed9 xem ti\u1ec1n m\u1eb7t. ",
          zh: "\u300c\u9918\u984d\u300d\u548c\u300c\u8ced\u6ce8\u300d\u6a19\u7c64\u5206\u5225\u986f\u793a\u4e86\u76ee\u524d\u7684\u9918\u984d\u548c\u7e3d\u8ced\u6ce8\u3002\u9ede\u64ca\u6a19\u7c64\u53ef\u4ee5\u5728\u91d1\u5e63\u8996\u5716\u548c\u73fe\u91d1\u8996\u5716\u4e4b\u9593\u5207\u63db\u3002"
        },
        "label_mobile.CREDITandBETlabels_2": {
          en: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          kh: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          mm: "CREDIT and BET labels show the current balance and current total bet.\nClick on the labels to switch between coins view and cash view. ",
          es: "Las etiquetas CR\xc9DITO y APUESTA muestran el saldo actual y la apuesta total actual.\nHaga clic en las etiquetas para cambiar entre las vistas de cr\xe9ditos y efectivo. ",
          pt: "As etiquetas CR\xc9DITO e APOSTA mostram o saldo atual e o total apostado no momento.\nClique nas etiquetas para alternar entre a vista de moedas e a vista de dinheiro. ",
          thai: "\u0e1b\u0e49\u0e32\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a \u0e40\u0e04\u0e23\u0e14\u0e34\u0e15 \u0e41\u0e25\u0e30 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e41\u0e2a\u0e14\u0e07\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\n\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e41\u0e25\u0e30\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e49\u0e32\n\u0e22\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e25\u0e31\u0e1a\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng T\xcdN D\u1ee4NG v\xe0 C\u01af\u1ee2C th\u1ec3 hi\u1ec7n s\u1ed1 d\u01b0 v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i.\nNh\u1ea5p v\xe0o c\xe1c bi\u1ec3u t\u01b0\u1ee3ng \u0111\u1ec3 chuy\u1ec3n gi\u1eefa ch\u1ebf \u0111\u1ed9 xem \u0111\u1ed3ng xu v\xe0 ch\u1ebf \u0111\u1ed9 xem ti\u1ec1n m\u1eb7t. ",
          zh: "\u300c\u9918\u984d\u300d\u548c\u300c\u8ced\u6ce8\u300d\u6a19\u7c64\u5206\u5225\u986f\n\u793a\u4e86\u76ee\u524d\u7684\u9918\u984d\u548c\u7e3d\u8ced\u6ce8\u3002\n\u9ede\u64ca\u6a19\u7c64\u53ef\u4ee5\u5728\u91d1\u5e63\u8996\u5716\u548c\u73fe\u91d1\u8996\u5716\u4e4b\u9593\u5207\u63db\u3002"
        },
        "label_web.CURRENTPOSITION": {
          en: "CURRENT POSITION",
          kh: "CURRENT POSITION",
          mm: "CURRENT POSITION",
          es: "POSICI\xd3N ACTUAL",
          pt: "POSI\xc7\xc3O ATUAL",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19",
          vn: "V\u1eca TR\xcd HI\u1ec6N T\u1ea0I",
          zh: "\u7576\u524d\u540d\u6b21"
        },
        "label_mobile.CURRENTPOSITION": {
          en: "CURRENT POSITION",
          kh: "CURRENT POSITION",
          mm: "CURRENT POSITION",
          es: "POSICI\xd3N ACTUAL",
          pt: "POSI\xc7\xc3O ATUAL",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19",
          vn: "V\u1eca TR\xcd HI\u1ec6N T\u1ea0I",
          zh: "\u7576\u524d\u540d\u6b21"
        },
        "label_web.Cash": {
          en: "Cash",
          kh: "Cash",
          mm: "Cash",
          es: "Efectivo",
          pt: "Dinheiro",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Ti\u1ec1n m\u1eb7t",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.Cash": {
          en: "Cash",
          kh: "Cash",
          mm: "Cash",
          es: "Efectivo",
          pt: "Dinheiro",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Ti\u1ec1n m\u1eb7t",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.Cash_2": {
          en: "Cash",
          kh: "Cash",
          mm: "Cash",
          es: "Efectivo",
          pt: "Dinheiro",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Ti\u1ec1n m\u1eb7t",
          zh: "\u73fe\u91d1"
        },
        "label_mobile.Cashprizesallday": {
          en: "Cash prizes all day long\nIt can only take a spin to win!",
          kh: "Cash prizes all day long\nIt can only take a spin to win!",
          mm: "Cash prizes all day long\nIt can only take a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Puede ganar con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Pode ganhar com apenas uma rodada!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - C\xf3 th\u1ec3 ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u53ea\u7528\u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_mobile.Cashprizesallday_2": {
          en: "Cash prizes all day long\nIt only takes a spin to win!",
          kh: "Cash prizes all day long\nIt only takes a spin to win!",
          mm: "Cash prizes all day long\nIt only takes a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Gane con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Basta uma rodada para ganhar!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - Ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_web.Cashprizesallday": {
          en: "Cash prizes all day long - It can only take a spin to win!",
          kh: "Cash prizes all day long - It can only take a spin to win!",
          mm: "Cash prizes all day long - It can only take a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Puede ganar con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Pode ganhar com apenas uma rodada!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - C\xf3 th\u1ec3 ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u53ea\u7528\u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_mobile.Cashprizesallday_3": {
          en: "Cash prizes all day long - It can only take a spin to win!",
          kh: "Cash prizes all day long - It can only take a spin to win!",
          mm: "Cash prizes all day long - It can only take a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Puede ganar con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Pode ganhar com apenas uma rodada!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - C\xf3 th\u1ec3 ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u53ea\u7528\u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_web.Cashprizesallday_2": {
          en: "Cash prizes all day long - It only takes a spin to win!",
          kh: "Cash prizes all day long - It only takes a spin to win!",
          mm: "Cash prizes all day long - It only takes a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Gane con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Basta uma rodada para ganhar!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - Ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_mobile.Cashprizesallday_4": {
          en: "Cash prizes all day long - It only takes a spin to win!",
          kh: "Cash prizes all day long - It only takes a spin to win!",
          mm: "Cash prizes all day long - It only takes a spin to win!",
          es: "Premios en met\xe1lico durante todo el d\xeda - Gane con tan solo una tirada!",
          pt: "Pr\xe9mios em dinheiro durante todo o dia - Basta uma rodada para ganhar!",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e15\u0e25\u0e2d\u0e14\u0e27\u0e31\u0e19 \u2013 \u0e41\u0e04\u0e48\u0e2a\u0e1b\u0e34\u0e19\u0e01\u0e47\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "Gi\u1ea3i th\u01b0\u1edfng ti\u1ec1n m\u1eb7t c\u1ea3 ng\xe0y - Ch\u1ec9 c\u1ea7n m\u1ed9t l\u01b0\u1ee3t quay \u0111\u1ec3 gi\xe0nh th\u01b0\u1edfng!",
          zh: "\u5168\u5929\u73fe\u91d1\u734e\u52f5 \u2013 \u65cb\u8f49\u4e00\u6b21\u5373\u53ef\u8d0f\u734e!"
        },
        "label_web.Clickheretosee": {
          en: "Click here to see full rules",
          kh: "Click here to see full rules",
          mm: "Click here to see full rules",
          es: "Haga clic aqu\xed para ver las reglas completas. ",
          pt: "Clique aqui para ver a regras completas ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e0e\u0e40\u0e15\u0e47\u0e21\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a ",
          vn: "Nh\u1ea5p v\xe0o \u0111\xe2y \u0111\u1ec3 xem lu\u1eadt ch\u01a1i \u0111\u1ea7y \u0111\u1ee7 ",
          zh: "\u9ede\u6309\u6b64\u8655\u53ef\u67e5\u770b\u5b8c\u6574\u898f\u5247 "
        },
        "label_web.Clickheretosee_2": {
          en: "Click here to see full rules",
          kh: "Click here to see full rules",
          mm: "Click here to see full rules",
          es: "Haga clic aqu\xed para ver las reglas completas. ",
          pt: "Clique aqui para ver a regras completas ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e0e\u0e40\u0e15\u0e47\u0e21\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a ",
          vn: "Nh\u1ea5p v\xe0o \u0111\xe2y \u0111\u1ec3 xem lu\u1eadt ch\u01a1i \u0111\u1ea7y \u0111\u1ee7 ",
          zh: "\u9ede\u6309\u6b64\u8655\u53ef\u67e5\u770b\u5b8c\u6574\u898f\u5247 "
        },
        "label_mobile.Clickheretosee": {
          en: "Click here to see full rules",
          kh: "Click here to see full rules",
          mm: "Click here to see full rules",
          es: "Haga clic aqu\xed para ver las reglas completas. ",
          pt: "Clique aqui para ver a regras completas ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e0e\u0e40\u0e15\u0e47\u0e21\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a ",
          vn: "Nh\u1ea5p v\xe0o \u0111\xe2y \u0111\u1ec3 xem lu\u1eadt ch\u01a1i \u0111\u1ea7y \u0111\u1ee7 ",
          zh: "\u9ede\u6309\u6b64\u8655\u53ef\u67e5\u770b\u5b8c\u6574\u898f\u5247 "
        },
        "label_mobile.Clickheretosee_2": {
          en: "Click here to see full rules",
          kh: "Click here to see full rules",
          mm: "Click here to see full rules",
          es: "Haga clic aqu\xed para ver las reglas completas. ",
          pt: "Clique aqui para ver a regras completas ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e0e\u0e40\u0e15\u0e47\u0e21\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a ",
          vn: "Nh\u1ea5p v\xe0o \u0111\xe2y \u0111\u1ec3 xem lu\u1eadt ch\u01a1i \u0111\u1ea7y \u0111\u1ee7 ",
          zh: "\u9ede\u6309\u6b64\u8655\u53ef\u67e5\u770b\u5b8c\u6574\u898f\u5247 "
        },
        "label_mobile.Clickheretosee_3": {
          en: "Click here to see full rules",
          kh: "Click here to see full rules",
          mm: "Click here to see full rules",
          es: "Haga clic aqu\xed para ver las reglas completas. ",
          pt: "Clique aqui para ver a regras completas ",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e0e\u0e40\u0e15\u0e47\u0e21\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a ",
          vn: "Nh\u1ea5p v\xe0o \u0111\xe2y \u0111\u1ec3 xem lu\u1eadt ch\u01a1i \u0111\u1ea7y \u0111\u1ee7 ",
          zh: "\u9ede\u6309\u6b64\u8655\u53ef\u67e5\u770b\u5b8c\u6574\u898f\u5247 "
        },
        "label_web.Clickonthebuttons": {
          en: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          kh: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          mm: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          es: "Haga clic en los botones que muestran el n\xfamero de posibles giros autom\xe1ticos para iniciar la TIR. AUTO.",
          pt: "Clique nos bot\xf5es que mostram o n\xfamero de poss\xedveis rodadas autom\xe1ticas para come\xe7ar o Jogo Autom\xe1tico.",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e0a\u0e19\u0e30\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "Nh\u1ea5p v\xe0o nh\u1eefng n\xfat hi\u1ec3n th\u1ecb s\u1ed1 v\xf2ng quay t\u1ef1 \u0111\u1ed9ng c\xf3 th\u1ec3 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u9ede\u64ca\u5e36\u6709\u81ea\u52d5\u65cb\u8f49\u6b21\u6578\u7684\u6309\u9215\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.Clickonthebuttons": {
          en: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          kh: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          mm: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          es: "Haga clic en los botones que muestran el n\xfamero de posibles tiradas autom\xe1ticas para iniciar la TIR. AUTO.",
          pt: "Clique nos bot\xf5es que mostram o n\xfamero de poss\xedveis rodadas autom\xe1ticas para come\xe7ar o Jogo Autom\xe1tico.",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "Nh\u1ea5p v\xe0o nh\u1eefng n\xfat hi\u1ec3n th\u1ecb s\u1ed1 v\xf2ng quay t\u1ef1 \u0111\u1ed9ng c\xf3 th\u1ec3 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u9ede\u64ca\u5e36\u6709\u81ea\u52d5\u65cb\u8f49\u6b21\u6578\u7684\u6309\u9215\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.Clickonthebuttons_2": {
          en: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          kh: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          mm: "Click on the buttons showing the number of possible auto-spins to start Autoplay",
          es: "Haga clic en los botones que muestran el n\xfamero de posibles tiradas autom\xe1ticas para iniciar la TIR. AUTO.",
          pt: "Clique nos bot\xf5es que mostram o n\xfamero de poss\xedveis rodadas autom\xe1ticas para come\xe7ar o Jogo Autom\xe1tico.",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\n\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "Nh\u1ea5p v\xe0o nh\u1eefng n\xfat hi\u1ec3n th\u1ecb s\u1ed1 v\xf2ng quay t\u1ef1 \u0111\u1ed9ng c\xf3 th\u1ec3 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u9ede\u64ca\u5e36\u6709\u81ea\u52d5\u65cb\u8f49\u6b21\u6578\u7684\u6309\u9215\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.Clickthe": {
          en: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          kh: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          mm: "Click the <img src = '{0}' width=48 height=48 /> button to open the bet menu. Select the bet you want to use in the game by adjusting values using the <img src = '{1}' width=48 height=48 align=center/> and <img src = '{2}' width=48 height=48 align=center/> buttons.",
          es: "Pulse el bot\xf3n <img src = '{0}' width=48 height=48/> para abrir el men\xfa de apuesta. Seleccione la apuesta que desea\nusar en el juego ajustando los valores usando los botones <img src = '{1}' width=48 height=48 align=center/> y <img src = '{2}' width=48 height=48 align=center/> .",
          pt: "Clique no bot\xe3o <img src = '{0}' width=48 height=48/> para abrir o menu de apostas. Selecione a aposta que deseja usar\nno jogo, ajustando os valores atrav\xe9s dos bot\xf5es <img src = '{1}' width=48 height=48 align=center/> e <img src = '{2}' width=48 height=48 align=center/> .",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=48 height=48/> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e1b\u0e23\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21 <img src = '{1}' width=48 height=48/> \u0e41\u0e25\u0e30 <img src = '{2}' width=48 height=48/> ",
          vn: "Nh\u1ea5p v\xe0o n\xfat <img src = '{0}' width=48 height=48/> \u0111\u1ec3 m\u1edf menu c\u01b0\u1ee3c. Ch\u1ecdn c\u01b0\u1ee3c m\xe0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng trong tr\xf2 ch\u01a1i b\u1eb1ng\nc\xe1ch \u0111i\u1ec1u ch\u1ec9nh gi\xe1 tr\u1ecb s\u1eed d\u1ee5ng n\xfat <img src = '{1}' width=48 height=48 align=center/> v\xe0 <img src = '{2}' width=48 height=48 align=center/> .",
          zh: "\u9ede\u64ca <img src = '{0}' width=48 height=48/> \u6309\u9215\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\u3002\u900f\u904e <img src = '{1}' width=48 height=48/> \u548c <img src = '{2}' width=48 height=48/> \u6309\u9215\u8abf\u6574\u6578\u503c\u5927\u5c0f\uff0c\u9078\u64c7\u60a8\u8981\u5728\u904a\u6232\u4e2d\u4f7f\u7528\u7684\u8ced\u6ce8\u3002"
        },
        "label_mobile.Clickthe_2": {
          en: "Click the          button to open the bet menu. Select the bet you want to use in the game by adjusting values using the         and         buttons.",
          kh: "Click the          button to open the bet menu. Select the bet you want to use in the game by adjusting values using the         and         buttons.",
          mm: "Click the          button to open the bet menu. Select the bet you want to use in the game by adjusting values using the         and         buttons.",
          es: "Pulse el bot\xf3n           para abrir el men\xfa de\napuesta. Seleccione la apuesta que desea usar\nen el juego ajustando los valores usando los\nbotones          y         .",
          pt: "Clique no bot\xe3o         para abrir o menu de\napostas. Selecione a aposta que deseja\nusar no jogo, ajustando os valores atrav\xe9s\ndos bot\xf5es          e          .",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21          \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\n\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e1b\u0e23\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21\n          \u0e41\u0e25\u0e30           ",
          vn: "Nh\u1ea5p v\xe0o n\xfat          \u0111\u1ec3 m\u1edf menu c\u01b0\u1ee3c. Ch\u1ecdn c\u01b0\u1ee3c\nm\xe0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng trong tr\xf2 ch\u01a1i b\u1eb1ng c\xe1ch\n\u0111i\u1ec1u ch\u1ec9nh gi\xe1 tr\u1ecb s\u1eed d\u1ee5ng n\xfat          v\xe0          .",
          zh: "\u9ede\u64ca         \u6309\u9215\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\u3002\n\u900f\u904e         \u548c         \u6309\u9215\u8abf\u6574\u6578\u503c\u5927\u5c0f\uff0c\n\u9078\u64c7\u60a8\u8981\u5728\u904a\u6232\u4e2d\u4f7f\u7528\u7684\u8ced\u6ce8\u3002"
        },
        "label_web.Clickthe": {
          en: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          kh: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          mm: "Click the <img src = '{0}' width=48 height=48/> or <img src = '{1}' width=48 height=48/> buttons to change the bet value and open the bet menu.\nSelect the bet you want to use in the game.",
          es: "Haga clic en los botones <img src = '{0}' width=48 height=48/> o <img src = '{1}' width=48 height=48/> para cambiar el valor de la apuesta y abrir el men\xfa de apuesta.\nSeleccione la apuesta que desea usar en el juego.",
          pt: "Clique nos bot\xf5es <img src = '{0}' width=48 height=48/> ou <img src = '{1}' width=48 height=48/> para alterar o valor da aposta e abrir o menu de aposta.\nSelecione a aposta que quer usar no jogo.",
          thai: "\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=48 height=48/> \u0e2b\u0e23\u0e37\u0e2d <img src = '{1}' width=48 height=48/> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21",
          vn: "Nh\u1ea5p v\xe0o n\xfat <img src = '{0}' width=48 height=48/> ho\u1eb7c <img src = '{1}' width=48 height=48/> \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb c\u01b0\u1ee3c v\xe0 m\u1edf menu c\u01b0\u1ee3c.\nCh\u1ecdn kho\u1ea3n c\u01b0\u1ee3c m\xe0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng trong tr\xf2 ch\u01a1i.",
          zh: "\u9ede\u64ca <img src = '{0}' width=48 height=48/> \u6216 <img src = '{1}' width=48 height=48/> \u6309\u9215\u66f4\u6539\u8ced\u6ce8\u91d1\u984d\u6216\u6253\u958b\u8ced\u6ce8\u529f\u80fd\u8868\u3002\u9078\u64c7\u60a8\u8981\u5728\u904a\u6232\u4e2d\u4f7f\u7528\u7684\u8ced\u6ce8\u3002"
        },
        "label_web.Create": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_2": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_3": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_4": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_5": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_6": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_7": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_8": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Create_9": {
          en: "Create",
          kh: "Create",
          mm: "Create",
          es: "Crear",
          pt: "Criar",
          thai: "\u0e2a\u0e23\u0e49\u0e32\u0e07",
          vn: "T\u1ea1o",
          zh: "\u5275\u5efa"
        },
        "label_web.Credit": {
          en: "Credit",
          kh: "Credit",
          mm: "Credit",
          es: "Cr\xe9dito",
          pt: "Cr\xe9dito",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xedn d\u1ee5ng",
          zh: "\u7c4c\u78bc"
        },
        "label_mobile.Credit": {
          en: "Credit",
          kh: "Credit",
          mm: "Credit",
          es: "Cr\xe9dito",
          pt: "Cr\xe9dito",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xedn d\u1ee5ng",
          zh: "\u7c4c\u78bc"
        },
        "label_mobile.Credit_2": {
          en: "Credit",
          kh: "Credit",
          mm: "Credit",
          es: "Cr\xe9dito",
          pt: "Cr\xe9dito",
          thai: "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
          vn: "T\xedn d\u1ee5ng",
          zh: "\u7c4c\u78bc"
        },
        "label_mobile.DATE": {
          en: "DATE:",
          kh: "DATE:",
          mm: "DATE:",
          es: "FECHA:",
          pt: "DATA:",
          thai: "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48:",
          vn: "NG\xc0Y:",
          zh: "\u65e5\u671f\uff1a"
        },
        "label_mobile.DATE_2": {
          en: "DATE:",
          kh: "DATE:",
          mm: "DATE:",
          es: "FECHA:",
          pt: "DATA:",
          thai: "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48:",
          vn: "NG\xc0Y:",
          zh: "\u65e5\u671f\uff1a"
        },
        "label_web.DAYS": {
          en: "DAYS",
          kh: "DAYS",
          mm: "DAYS",
          es: "D\xcdAS",
          pt: "DIAS",
          thai: "\u0e27\u0e31\u0e19",
          vn: "NG\xc0Y",
          zh: "\u5929"
        },
        "label_mobile.DAYS": {
          en: "DAYS",
          kh: "DAYS",
          mm: "DAYS",
          es: "D\xcdAS",
          pt: "DIAS",
          thai: "\u0e27\u0e31\u0e19",
          vn: "NG\xc0Y",
          zh: "\u5929"
        },
        "label_web.DONTSHOWNEXTTIME": {
          en: "DON'T SHOW NEXT TIME",
          kh: "DON'T SHOW NEXT TIME",
          mm: "DON'T SHOW NEXT TIME",
          es: "NO VOLVER A MOSTRAR",
          pt: "N\xc3O MOSTRAR\nNOVAMENTE",
          thai: "\u0e44\u0e21\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e43\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b",
          vn: "KH\xd4NG HI\u1ec2N TH\u1eca L\u1ea0I\nTRONG L\u1ea6N TI\u1ebeP THEO",
          zh: "\u4e0b\u6b21\u4e0d\u518d\u986f\u793a"
        },
        "label_mobile.DONTSHOWNEXTTIME": {
          en: "DON'T SHOW NEXT TIME",
          kh: "DON'T SHOW NEXT TIME",
          mm: "DON'T SHOW NEXT TIME",
          es: "NO VOLVER A MOSTRAR",
          pt: "N\xc3O MOSTRAR\nNOVAMENTE",
          thai: "\u0e44\u0e21\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e43\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b",
          vn: "KH\xd4NG HI\u1ec2N TH\u1eca L\u1ea0I\nTRONG L\u1ea6N TI\u1ebeP THEO",
          zh: "\u4e0b\u6b21\u4e0d\u518d\u986f\u793a"
        },
        "label_web.DOUBLE": {
          en: "DOUBLE",
          kh: "DOUBLE",
          mm: "DOUBLE",
          es: "DOBLE",
          pt: "DUPLICAR",
          thai: "\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I",
          zh: "\u96d9\u500d"
        },
        "label_web.DOUBLE_2": {
          en: "DOUBLE",
          kh: "DOUBLE",
          mm: "DOUBLE",
          es: "DOBLE",
          pt: "DUPLICAR",
          thai: "\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I",
          zh: "\u96d9\u500d"
        },
        "label_mobile.DOUBLE": {
          en: "DOUBLE",
          kh: "DOUBLE",
          mm: "DOUBLE",
          es: "DOBLE",
          pt: "DUPLICAR",
          thai: "\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I",
          zh: "\u96d9\u500d"
        },
        "label_mobile.DOUBLE_2": {
          en: "DOUBLE",
          kh: "DOUBLE",
          mm: "DOUBLE",
          es: "DOBLE",
          pt: "DUPLICAR",
          thai: "\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I",
          zh: "\u96d9\u500d"
        },
        "label_web.DOUBLECHANCETOWIN": {
          en: "DOUBLE CHANCE TO WIN FEATURE",
          kh: "DOUBLE CHANCE TO WIN FEATURE",
          mm: "DOUBLE CHANCE TO WIN FEATURE",
          es: "DOBLE OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO DUPLA\nOPORTUNIDADE DE GANHAR ",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_mobile.DOUBLECHANCETOWIN": {
          en: "DOUBLE CHANCE TO WIN FEATURE",
          kh: "DOUBLE CHANCE TO WIN FEATURE",
          mm: "DOUBLE CHANCE TO WIN FEATURE",
          es: "DOBLE OPORTUNIDAD DE GANAR LA FUNCI\xd3N",
          pt: "RECURSO DUPLA OPORTUNIDADE DE GANHAR ",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_web.DOUBLETHECHANCETO": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_web.DOUBLETHECHANCETO_2": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_web.DOUBLETHECHANCETO_3": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_mobile.DOUBLETHECHANCETO": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_mobile.DOUBLETHECHANCETO_2": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_mobile.DOUBLETHECHANCETO_3": {
          en: "DOUBLE THE CHANCE TO WIN FEATURE",
          kh: "DOUBLE THE CHANCE TO WIN FEATURE",
          mm: "DOUBLE THE CHANCE TO WIN FEATURE",
          es: "DOBLAR POSIBILIDAD DE GANAR LA FUNCI\xd3N",
          pt: "FUNCIONALIDADE DUPLIQUE AS HIP\xd3TESES DE GANHAR",
          thai: "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 \u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e2a\u0e2d\u0e07\u0e40\u0e17\u0e48\u0e32",
          vn: "NH\xc2N \u0110\xd4I C\u01a0 H\u1ed8I GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u52dd\u7387\u7ffb\u500d\u529f\u80fd"
        },
        "label_mobile.DROPTORESET": {
          en: "DROP TO RESET",
          kh: "DROP TO RESET",
          mm: "DROP TO RESET",
          es: "SUELTE PARA REINICIAR",
          pt: "LARGA PARA REPOR",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15",
          vn: "TH\u1ea2 \u0110\u1ec2 \u0110\u1eb6T L\u1ea0I",
          zh: "\u653e\u4e0b\u4ee5\u91cd\u8a2d"
        },
        "label_mobile.DROPTORESET_2": {
          en: "DROP TO RESET",
          kh: "DROP TO RESET",
          mm: "DROP TO RESET",
          es: "SUELTE PARA REINICIAR",
          pt: "LARGA PARA REPOR",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15",
          vn: "TH\u1ea2 \u0110\u1ec2 \u0110\u1eb6T L\u1ea0I",
          zh: "\u653e\u4e0b\u4ee5\u91cd\u8a2d"
        },
        "label_web.DailyWinsdoesnot": {
          en: "Daily Wins does not affect the game RTP",
          kh: "Daily Wins does not affect the game RTP",
          mm: "Daily Wins does not affect the game RTP",
          es: "Daily Wins no afectan al RTP del juego",
          pt: "Daily Wins n\xe3o afeta o RTP do jogo",
          thai: "Daily Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e25 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Daily Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Daily Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_mobile.DailyWinsdoesnot": {
          en: "Daily Wins does not affect the game RTP",
          kh: "Daily Wins does not affect the game RTP",
          mm: "Daily Wins does not affect the game RTP",
          es: "Daily Wins no afectan al RTP del juego",
          pt: "Daily Wins n\xe3o afeta o RTP do jogo",
          thai: "Daily Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e25 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Daily Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Daily Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_mobile.DailyWinsdoesnot_2": {
          en: "Daily Wins does not affect the game RTP",
          kh: "Daily Wins does not affect the game RTP",
          mm: "Daily Wins does not affect the game RTP",
          es: "Daily Wins no afectan al RTP del juego",
          pt: "Daily Wins n\xe3o afeta o RTP do jogo",
          thai: "Daily Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e25 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Daily Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Daily Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_mobile.Dragpagesupand": {
          en: "Drag pages up and down to scroll between information pages ",
          kh: "Drag pages up and down to scroll between information pages ",
          mm: "Drag pages up and down to scroll between information pages ",
          es: "Desplace las p\xe1ginas arriba y abajo para navegar entre las p\xe1ginas de informaci\xf3n.",
          pt: "Arraste as p\xe1ginas para cima e para baixo para percorrer entre as p\xe1ginas de informa\xe7\xf5es.",
          thai: "\u0e25\u0e32\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e36\u0e49\u0e19\u0e41\u0e25\u0e30\u0e25\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1b\u0e21\u0e32\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "K\xe9o c\xe1c trang l\xean v\xe0 xu\u1ed1ng \u0111\u1ec3 cu\u1ed9n gi\u1eefa c\xe1c trang th\xf4ng tin.",
          zh: "\u4e0a\u4e0b\u62d6\u52d5\u9801\u9762\u5373\u53ef\u5728\u8cc7\u8a0a\u9801\u9762\u9593\u6efe\u52d5\u67e5\u770b\u3002"
        },
        "label_mobile.Dragpagesupand_2": {
          en: "Drag pages up and down to scroll between information pages ",
          kh: "Drag pages up and down to scroll between information pages ",
          mm: "Drag pages up and down to scroll between information pages ",
          es: "Desplace las p\xe1ginas arriba y abajo para navegar entre las p\xe1ginas de informaci\xf3n.",
          pt: "Arraste as p\xe1ginas para cima e para baixo para percorrer entre as p\xe1ginas de informa\xe7\xf5es.",
          thai: "\u0e25\u0e32\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e36\u0e49\u0e19\u0e41\u0e25\u0e30\u0e25\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1b\u0e21\u0e32\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "K\xe9o c\xe1c trang l\xean v\xe0 xu\u1ed1ng \u0111\u1ec3 cu\u1ed9n gi\u1eefa c\xe1c trang th\xf4ng tin.",
          zh: "\u4e0a\u4e0b\u62d6\u52d5\u9801\u9762\u5373\u53ef\u5728\u8cc7\u8a0a\u9801\u9762\u9593\u6efe\u52d5\u67e5\u770b\u3002"
        },
        "label_web.DropsWinsdoes": {
          en: "Drops & Wins does not affect the game RTP",
          kh: "Drops & Wins does not affect the game RTP",
          mm: "Drops & Wins does not affect the game RTP",
          es: "Los Drops & Wins no afectan al RTP del juego",
          pt: "Drops & Wins n\xe3o afeta o RTP do jogo",
          thai: "Drops & Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e1a RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Drops & Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Drops & Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_mobile.DropsWinsdoes": {
          en: "Drops & Wins does not affect the game RTP",
          kh: "Drops & Wins does not affect the game RTP",
          mm: "Drops & Wins does not affect the game RTP",
          es: "Los Drops & Wins no afectan al RTP del juego",
          pt: "Drops & Wins n\xe3o afeta o RTP do jogo",
          thai: "Drops & Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e1a RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Drops & Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Drops & Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_mobile.DropsWinsdoes_2": {
          en: "Drops & Wins does not affect the game RTP",
          kh: "Drops & Wins does not affect the game RTP",
          mm: "Drops & Wins does not affect the game RTP",
          es: "Los Drops & Wins no afectan al RTP del juego",
          pt: "Drops & Wins n\xe3o afeta o RTP do jogo",
          thai: "Drops & Wins \u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e01\u0e31\u0e1a RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "Drops & Wins kh\xf4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn RTP c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "Drops & Wins\u4e0d\u6703\u5f71\u97ff\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)"
        },
        "label_web.Duetounavoidableinternet": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e0a\u0e19\u0e30 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_web.Duetounavoidableinternet_2": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e0a\u0e19\u0e30 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet_2": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207 \u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet_3": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet_4": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Jackpot mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\n\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_web.Duetounavoidableinternet_3": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Premio mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet_5": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Premio mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Duetounavoidableinternet_6": {
          en: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          kh: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          mm: "Due to unavoidable internet lag, the displayed Jackpot amounts may differ from actual values.",
          es: "Debido a un inevitable retraso (lag) de Internet, los importes de Premio mostrados podr\xedan diferir de los valores reales.",
          pt: "Devido \xe0 inevit\xe1vel lat\xeancia da internet, os valores de Jackpot exibidos podem diferir dos valores reais.",
          thai: "\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e32\u0e07\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e25\u0e35\u0e01\u0e40\u0e25\u0e35\u0e48\u0e22\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e32\u0e08\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07",
          vn: "Do kh\xf4ng th\u1ec3 l\u01b0\u1eddng tr\u01b0\u1edbc t\xecnh tr\u1ea1ng Internet ch\u1eadm, s\u1ed1 Jackpot \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb c\xf3 th\u1ec3 kh\xe1c v\u1edbi gi\xe1 tr\u1ecb th\u1ef1c t\u1ebf. ",
          zh: "\u7531\u65bc Internet \u5ef6\u9072\u4e0d\u53ef\u907f\u514d\uff0c\u986f\u793a\u7684\u7d2f\u7a4d\u734e\u91d1\u53ef\u80fd\u6703\u8207\u5be6\u969b\u91d1\u984d\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_web.ENDSIN": {
          en: "ENDS IN",
          kh: "ENDS IN",
          mm: "ENDS IN",
          es: "ACABA EN",
          pt: "TERMINA EM",
          thai: "\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e43\u0e19\u0e2d\u0e35\u0e01",
          vn: "K\u1ebeT TH\xdaC SAU",
          zh: "\u5269\u9918\u6642\u9593"
        },
        "label_mobile.ENDSIN": {
          en: "ENDS IN",
          kh: "ENDS IN",
          mm: "ENDS IN",
          es: "ACABA EN",
          pt: "TERMINA EM",
          thai: "\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e43\u0e19\u0e2d\u0e35\u0e01",
          vn: "K\u1ebeT TH\xdaC SAU",
          zh: "\u5269\u9918\u6642\u9593"
        },
        "label_mobile.ENTERGAMENAME": {
          en: "ENTER GAME NAME",
          kh: "ENTER GAME NAME",
          mm: "ENTER GAME NAME",
          es: "INTRODUCIR NOMBRE DE JUEGO",
          pt: "INTRODUZIR NOME DO JOGO",
          thai: "\u0e43\u0e2a\u0e48\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e01\u0e21",
          vn: "NH\u1eacP T\xcaN TR\xd2 CH\u01a0I",
          zh: "\u8f38\u5165\u904a\u6232\u540d\u7a31"
        },
        "label_mobile.ENTERGAMENAME_2": {
          en: "ENTER GAME NAME",
          kh: "ENTER GAME NAME",
          mm: "ENTER GAME NAME",
          es: "INTRODUCIR NOMBRE DE JUEGO",
          pt: "INTRODUZIR NOME DO JOGO",
          thai: "\u0e43\u0e2a\u0e48\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e01\u0e21",
          vn: "NH\u1eacP T\xcaN TR\xd2 CH\u01a0I",
          zh: "\u8f38\u5165\u904a\u6232\u540d\u7a31"
        },
        "label_mobile.EPICJACKPOT": {
          en: "EPIC JACKPOT:",
          kh: "EPIC JACKPOT:",
          mm: "EPIC JACKPOT:",
          es: "EPIC JACKPOT:",
          pt: "JACKPOT \xc9PICO:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e2b\u0e32\u0e01\u0e32\u0e1e\u0e22\u0e4c",
          vn: "JACKPOT EPIC",
          zh: "\u8d85\u7d1a\u7d2f\u7a4d\u5927\u734e\uff1a"
        },
        "label_mobile.EPICJACKPOT_2": {
          en: "EPIC JACKPOT:",
          kh: "EPIC JACKPOT:",
          mm: "EPIC JACKPOT:",
          es: "EPIC JACKPOT:",
          pt: "JACKPOT \xc9PICO:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e2b\u0e32\u0e01\u0e32\u0e1e\u0e22\u0e4c",
          vn: "JACKPOT EPIC",
          zh: "\u8d85\u7d1a\u7d2f\u7a4d\u5927\u734e\uff1a"
        },
        "label_web.EPICWIN": {
          en: "EPIC WIN",
          kh: "EPIC WIN",
          mm: "EPIC WIN",
          es: "VICTORIA \xc9PICA",
          pt: "PR\xc9MIO \xc9PICO",
          thai: "\u0e2a\u0e38\u0e14\u0e22\u0e2d\u0e14",
          vn: "TH\u1eaeNG KINH \u0110I\u1ec2N",
          zh: "\u53f2\u8a69\u822c\u7684\u7372\u52dd"
        },
        "label_mobile.EPICWIN": {
          en: "EPIC WIN",
          kh: "EPIC WIN",
          mm: "EPIC WIN",
          es: "VICTORIA \xc9PICA",
          pt: "PR\xc9MIO \xc9PICO",
          thai: "\u0e2a\u0e38\u0e14\u0e22\u0e2d\u0e14",
          vn: "TH\u1eaeNG KINH \u0110I\u1ec2N",
          zh: "\u53f2\u8a69\u822c\u7684\u7372\u52dd"
        },
        "label_mobile.EPICWIN_2": {
          en: "EPIC WIN",
          kh: "EPIC WIN",
          mm: "EPIC WIN",
          es: "VICTORIA \xc9PICA",
          pt: "PR\xc9MIO \xc9PICO",
          thai: "\u0e2a\u0e38\u0e14\u0e22\u0e2d\u0e14",
          vn: "TH\u1eaeNG KINH \u0110I\u1ec2N",
          zh: "\u53f2\u8a69\u822c\u7684\u7372\u52dd"
        },
        "label_mobile.EPICWIN_3": {
          en: "EPIC WIN",
          kh: "EPIC WIN",
          mm: "EPIC WIN",
          es: "VICTORIA \xc9PICA",
          pt: "PR\xc9MIO \xc9PICO",
          thai: "\u0e2a\u0e38\u0e14\u0e22\u0e2d\u0e14",
          vn: "TH\u1eaeNG KINH \u0110I\u1ec2N",
          zh: "\u53f2\u8a69\u822c\u7684\u7372\u52dd"
        },
        "label_web.EXCLUSIVEGAMES": {
          en: "EXCLUSIVE GAMES",
          kh: "EXCLUSIVE GAMES",
          mm: "EXCLUSIVE GAMES",
          es: "EXCLUSIVOS",
          pt: "EXCLUSIVOS",
          thai: "\u0e1e\u0e34\u0e40\u0e28\u0e29",
          vn: "D\xc0NH RI\xcaNG",
          zh: "\u7368\u5bb6"
        },
        "label_mobile.EXCLUSIVEGAMES": {
          en: "EXCLUSIVE GAMES",
          kh: "EXCLUSIVE GAMES",
          mm: "EXCLUSIVE GAMES",
          es: "EXCLUSIVOS",
          pt: "EXCLUSIVOS",
          thai: "\u0e1e\u0e34\u0e40\u0e28\u0e29",
          vn: "D\xc0NH RI\xcaNG",
          zh: "\u7368\u5bb6"
        },
        "label_web.Ended": {
          en: "Ended",
          kh: "Ended",
          mm: "Ended",
          es: "Finalizado",
          pt: "Terminado",
          thai: "\u0e08\u0e1a\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xe3 k\u1ebft th\xfac",
          zh: "\u5df2\u7d50\u675f"
        },
        "label_web.Ended_2": {
          en: "Ended",
          kh: "Ended",
          mm: "Ended",
          es: "Finalizado",
          pt: "Terminado",
          thai: "\u0e08\u0e1a\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xe3 k\u1ebft th\xfac",
          zh: "\u5df2\u7d50\u675f"
        },
        "label_mobile.Ended": {
          en: "Ended",
          kh: "Ended",
          mm: "Ended",
          es: "Finalizado",
          pt: "Terminado",
          thai: "\u0e08\u0e1a\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xe3 k\u1ebft th\xfac",
          zh: "\u5df2\u7d50\u675f"
        },
        "label_mobile.Ended_2": {
          en: "Ended",
          kh: "Ended",
          mm: "Ended",
          es: "Finalizado",
          pt: "Terminado",
          thai: "\u0e08\u0e1a\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xe3 k\u1ebft th\xfac",
          zh: "\u5df2\u7d50\u675f"
        },
        "label_web.Expectedindividualcontributionsto": {
          en: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          kh: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          mm: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          es: "Las contribuciones esperadas al Jackpot pueden variar debido a la conversi\xf3n de divisa y al redondeo al tercer decimal.",
          pt: "As contribui\xe7\xf5es individuais esperadas para o Jackpot podem variar devido \xe0 taxa de c\xe2mbio e ao arredondamento da terceira casa decimal.",
          thai: "\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e04\u0e32\u0e14\u0e2b\u0e21\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e19\u0e31\u0e49\u0e19\u0e2d\u0e32\u0e08\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e15\u0e01\n\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e02\u0e36\u0e49\u0e19\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\u0e07\u0e2a\u0e01\u0e38\u0e25\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e31\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e28\u0e19\u0e34\u0e22\u0e21\u0e2a\u0e32\u0e21\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "Kho\u1ea3n \u0111\xf3ng g\xf3p d\u1ef1 ki\u1ebfn c\u1ee7a c\xe1 nh\xe2n v\xe0o Jackpot c\xf3 th\u1ec3 thay \u0111\u1ed5i do qu\xe1 tr\xecnh quy \u0111\u1ed5i ti\u1ec1n t\u1ec7 v\xe0 l\xe0m tr\xf2n \u1edf s\u1ed1 th\u1eadp ph\xe2n th\u1ee9 ba.",
          zh: "\u7531\u65bc\u8ca8\u5e63\u8f49\u63db\u548c\u5c0f\u6578\u9ede\u5f8c\u7b2c\u4e09\u4f4d\u7684\u56db\u6368\u4e94\u5165\uff0c\u6bcf\u500b\u4eba\u5c0d\u7d2f\u7a4d\u734e\u91d1\u7684\u9810\u671f\u8ca2\u737b\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Expectedindividualcontributionsto": {
          en: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          kh: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          mm: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          es: "Las contribuciones esperadas al Jackpot pueden variar debido a la conversi\xf3n de divisa y al redondeo al tercer decimal.",
          pt: "As contribui\xe7\xf5es individuais esperadas para o Jackpot podem variar devido \xe0 taxa de c\xe2mbio e ao arredondamento da terceira casa decimal.",
          thai: "\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e04\u0e32\u0e14\u0e2b\u0e21\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e19\u0e31\u0e49\u0e19\u0e2d\u0e32\u0e08\u0e21\u0e35\u0e21\u0e39\u0e25\n\u0e04\u0e48\u0e32\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e02\u0e36\u0e49\u0e19\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\u0e07\u0e2a\u0e01\u0e38\u0e25\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e31\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e28\u0e19\u0e34\u0e22\u0e21\u0e2a\u0e32\u0e21\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "Kho\u1ea3n \u0111\xf3ng g\xf3p d\u1ef1 ki\u1ebfn c\u1ee7a c\xe1 nh\xe2n v\xe0o Jackpot c\xf3 th\u1ec3 thay \u0111\u1ed5i do qu\xe1 tr\xecnh quy \u0111\u1ed5i ti\u1ec1n t\u1ec7 v\xe0 l\xe0m tr\xf2n \u1edf s\u1ed1 th\u1eadp ph\xe2n th\u1ee9 ba.",
          zh: "\u7531\u65bc\u8ca8\u5e63\u8f49\u63db\u548c\u5c0f\u6578\u9ede\u5f8c\u7b2c\u4e09\u4f4d\u7684\u56db\u6368\u4e94\u5165\uff0c\u6bcf\u500b\u4eba\u5c0d\u7d2f\u7a4d\u734e\u91d1\u7684\u9810\u671f\u8ca2\u737b\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_mobile.Expectedindividualcontributionsto_2": {
          en: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          kh: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          mm: "Expected individual contributions to the Jackpot can vary due to currency conversion and rounding at the third decimal.",
          es: "Las contribuciones esperadas al Jackpot pueden variar debido a la conversi\xf3n de divisa y al redondeo al tercer decimal.",
          pt: "As contribui\xe7\xf5es individuais esperadas para o Jackpot podem variar devido \xe0 taxa de c\xe2mbio e ao arredondamento da terceira casa decimal.",
          thai: "\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e04\u0e32\u0e14\u0e2b\u0e21\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e1a\u0e38\u0e04\u0e04\n\u0e25\u0e19\u0e31\u0e49\u0e19\u0e2d\u0e32\u0e08\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e02\u0e36\u0e49\u0e19\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\n\u0e07\u0e2a\u0e01\u0e38\u0e25\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e31\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e28\u0e19\u0e34\u0e22\u0e21\u0e2a\u0e32\u0e21\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "Kho\u1ea3n \u0111\xf3ng g\xf3p d\u1ef1 ki\u1ebfn c\u1ee7a c\xe1 nh\xe2n v\xe0o Jackpot c\xf3 th\u1ec3 thay \u0111\u1ed5i do qu\xe1 tr\xecnh quy \u0111\u1ed5i ti\u1ec1n t\u1ec7 v\xe0 l\xe0m tr\xf2n \u1edf s\u1ed1 th\u1eadp ph\xe2n th\u1ee9 ba.",
          zh: "\u7531\u65bc\u8ca8\u5e63\u8f49\u63db\u548c\u5c0f\u6578\u9ede\u5f8c\u7b2c\u4e09\u4f4d\u7684\u56db\u6368\u4e94\u5165\uff0c\n\u6bcf\u500b\u4eba\u5c0d\u7d2f\u7a4d\u734e\u91d1\u7684\u9810\u671f\u8ca2\u737b\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002"
        },
        "label_web.FREEBONUSROUNDS": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_web.FREEBONUSROUNDS_2": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.FREEBONUSROUNDS": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.FREEBONUSROUNDS_2": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.FREEBONUSROUNDS_3": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.FREEBONUSROUNDS_4": {
          en: "FREE BONUS ROUNDS!",
          kh: "FREE BONUS ROUNDS!",
          mm: "FREE BONUS ROUNDS!",
          es: "RONDAS BONUS GRATUITAS!",
          pt: "RONDAS DE RODADAS GR\xc1TIS",
          thai: "\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG BONUS MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_web.FREEBONUSSPINS": {
          en: "FREE BONUS SPINS!",
          kh: "FREE BONUS SPINS!",
          mm: "FREE BONUS SPINS!",
          es: "\xa1TIRADAS BONUS GRATIS!",
          pt: "RODADAS B\xd3NUS GR\xc1TIS!",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.FREEBONUSSPINS": {
          en: "FREE BONUS SPINS!",
          kh: "FREE BONUS SPINS!",
          mm: "FREE BONUS SPINS!",
          es: "\xa1TIRADAS BONUS GRATIS!",
          pt: "RODADAS B\xd3NUS GR\xc1TIS!",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.FREEBONUSSPINS_2": {
          en: "FREE BONUS SPINS!",
          kh: "FREE BONUS SPINS!",
          mm: "FREE BONUS SPINS!",
          es: "\xa1TIRADAS BONUS GRATIS!",
          pt: "RODADAS B\xd3NUS GR\xc1TIS!",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.FREEBONUSSPINS_3": {
          en: "FREE BONUS SPINS!",
          kh: "FREE BONUS SPINS!",
          mm: "FREE BONUS SPINS!",
          es: "\xa1TIRADAS BONUS GRATIS!",
          pt: "RODADAS B\xd3NUS GR\xc1TIS!",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.FREEBONUSSPINS_4": {
          en: "FREE BONUS SPINS!",
          kh: "FREE BONUS SPINS!",
          mm: "FREE BONUS SPINS!",
          es: "\xa1TIRADAS BONUS GRATIS!",
          pt: "RODADAS B\xd3NUS GR\xc1TIS!",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35!",
          vn: "V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd!",
          zh: "\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_web.FREEROUNDSLEFT": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_web.FREEROUNDSLEFT_2": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_web.FREEROUNDSLEFT_3": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_2": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_3": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_4": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_5": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_6": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_7": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_mobile.FREEROUNDSLEFT_8": {
          en: "FREE ROUNDS LEFT",
          kh: "FREE ROUNDS LEFT",
          mm: "FREE ROUNDS LEFT",
          es: "RONDAS GRATUITAS RESTANTES",
          pt: "RONDAS GR\xc1TIS RESTANTES",
          thai: "\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG MI\u1ec4N PH\xcd C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u7684\u514d\u8cbb\u904a\u6232\u5c40\u6578"
        },
        "label_web.FREESPINS": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_web.FREESPINS_2": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_web.FREESPINS_3": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_web.FREESPINS_4": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_web.FREESPINS_5": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.FREESPINS_6": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.FREESPINS_7": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: " TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.FREESPINS_8": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: " TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_mobile.FREESPINS_2": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_mobile.FREESPINS_3": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_mobile.FREESPINS_4": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8d39\u65cb\u8f6c"
        },
        "label_mobile.FREESPINS_5": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: "TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS_6": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: " TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS_7": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: " TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS_8": {
          en: "FREE SPINS",
          kh: "FREE SPINS",
          mm: "FREE SPINS",
          es: " TIRADAS GRATIS",
          pt: " RODADAS GR\xc1TIS",
          thai: "\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19  \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: " V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u6b21\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.FREESPINSANDYOUHAVE": {
          en: "FREE SPINS\nAND YOU HAVE WON",
          kh: "FREE SPINS\nAND YOU HAVE WON",
          mm: "FREE SPINS\nAND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSANDYOUHAVE": {
          en: "FREE SPINS\nAND YOU HAVE WON",
          kh: "FREE SPINS\nAND YOU HAVE WON",
          mm: "FREE SPINS\nAND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSANDYOUHAVE_2": {
          en: "FREE SPINS\nAND YOU HAVE WON",
          kh: "FREE SPINS\nAND YOU HAVE WON",
          mm: "FREE SPINS\nAND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSANDYOUHAVE_3": {
          en: "FREE SPINS\nAND YOU HAVE WON",
          kh: "FREE SPINS\nAND YOU HAVE WON",
          mm: "FREE SPINS\nAND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSANDYOUHAVE_4": {
          en: "FREE SPINS\nAND YOU HAVE WON",
          kh: "FREE SPINS\nAND YOU HAVE WON",
          mm: "FREE SPINS\nAND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_web.FREESPINSANDYOU": {
          en: "FREE SPINS AND YOU HAVE WON",
          kh: "FREE SPINS AND YOU HAVE WON",
          mm: "FREE SPINS AND YOU HAVE WON",
          es: "TIRADAS GRATIS Y HA GANADO",
          pt: "RODADAS GR\xc1TIS E GANHOU",
          thai: "\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd V\xc0 B\u1ea0N \u0110\xc3 TH\u1eaeNG",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5f8c\uff0c\u5171\u8d0f\u5f97"
        },
        "label_web.FREESPINSCOMPLETED": {
          en: "FREE SPINS COMPLETED",
          kh: "FREE SPINS COMPLETED",
          mm: "FREE SPINS COMPLETED",
          es: "TIRADAS GRATIS COMPLETADAS",
          pt: "RODADAS GR\xc1TIS CONCLU\xcdDAS",
          thai: "\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5df2\u5b8c\u6210"
        },
        "label_mobile.FREESPINSCOMPLETED": {
          en: "FREE SPINS COMPLETED",
          kh: "FREE SPINS COMPLETED",
          mm: "FREE SPINS COMPLETED",
          es: "TIRADAS GRATIS COMPLETADAS",
          pt: "RODADAS GR\xc1TIS CONCLU\xcdDAS",
          thai: "\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5df2\u5b8c\u6210"
        },
        "label_mobile.FREESPINSCOMPLETED_2": {
          en: "FREE SPINS COMPLETED",
          kh: "FREE SPINS COMPLETED",
          mm: "FREE SPINS COMPLETED",
          es: "TIRADAS GRATIS COMPLETADOS",
          pt: "RODADAS GR\xc1TIS CONCLU\xcdDAS",
          thai: "\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5df2\u5b8c\u6210"
        },
        "label_mobile.FREESPINSCOMPLETED_3": {
          en: "FREE SPINS COMPLETED",
          kh: "FREE SPINS COMPLETED",
          mm: "FREE SPINS COMPLETED",
          es: "TIRADAS GRATIS COMPLETADAS",
          pt: "RODADAS GR\xc1TIS CONCLU\xcdDAS",
          thai: "\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd \u0110\xc3 HO\xc0N T\u1ea4T",
          zh: "\u514d\u8cbb\u65cb\u8f49\u5df2\u5b8c\u6210"
        },
        "label_web.FREESPINSLEFT": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.FREESPINSLEFT_2": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.FREESPINSLEFT_3": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.FREESPINSLEFT_4": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.FREESPINSLEFT_5": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_2": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_3": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_4": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_5": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_6": {
          en: "FREE SPINS LEFT",
          kh: "FREE SPINS LEFT",
          mm: "FREE SPINS LEFT",
          es: "TIRADAS GRATIS RESTANTES",
          pt: "RODADAS GR\xc1TIS RESTANTES",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.FREESPINSLEFT_7": {
          en: "FREE SPINS LEFT {0}",
          kh: "FREE SPINS LEFT {0}",
          mm: "FREE SPINS LEFT {0}",
          es: "TIRADAS GRATIS RESTANTES {0}",
          pt: "RODADAS GR\xc1TIS RESTANTES {0}",
          thai: "\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22 {0}",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd C\xd2N {0}",
          zh: "\u5269\u9918\u514d\u8cbb\u65cb\u8f49\u6b21\u6578 {0}"
        },
        "label_web.FREESPINSRULES": {
          en: "FREE SPINS RULES",
          kh: "FREE SPINS RULES",
          mm: "FREE SPINS RULES",
          es: "REGLAS DE LAS TIRADAS GRATIS",
          pt: "REGRAS DE RODADAS GR\xc1TIS",
          thai: "\u0e01\u0e0e\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35",
          vn: "C\xc1C QUY T\u1eaeC V\u1ec0 L\u1ea6N QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u898f\u5247"
        },
        "label_mobile.FREESPINSRULES": {
          en: "FREE SPINS RULES",
          kh: "FREE SPINS RULES",
          mm: "FREE SPINS RULES",
          es: "REGLAS DE LAS TIRADAS GRATIS",
          pt: "REGRAS DE RODADAS GR\xc1TIS",
          thai: "\u0e01\u0e0e\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35",
          vn: "C\xc1C QUY T\u1eaeC V\u1ec0 L\u1ea6N QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u898f\u5247"
        },
        "label_mobile.FREESPINSRULES_2": {
          en: "FREE SPINS RULES",
          kh: "FREE SPINS RULES",
          mm: "FREE SPINS RULES",
          es: "REGLAS DE LAS TIRADAS GRATIS",
          pt: "REGRAS DE RODADAS GR\xc1TIS",
          thai: "\u0e01\u0e0e\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35",
          vn: "C\xc1C QUY T\u1eaeC V\u1ec0 L\u1ea6N QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u898f\u5247"
        },
        "label_web.FREESPINSWON": {
          en: "FREE SPINS WON",
          kh: "FREE SPINS WON",
          mm: "FREE SPINS WON",
          es: "HA GANADO TIRADAS GRATUITAS",
          pt: "RODADAS GR\xc1TIS GANHAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSWON": {
          en: "FREE SPINS WON",
          kh: "FREE SPINS WON",
          mm: "FREE SPINS WON",
          es: "HA GANADO TIRADAS GRATUITAS",
          pt: "RODADAS GR\xc1TIS GANHAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSWON_2": {
          en: "FREE SPINS WON",
          kh: "FREE SPINS WON",
          mm: "FREE SPINS WON",
          es: "HA GANADO TIRADAS GRATUITAS",
          pt: "RODADAS GR\xc1TIS GANHAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u8d0f\u5f97"
        },
        "label_mobile.FREESPINSWON_3": {
          en: "FREE SPINS WON",
          kh: "FREE SPINS WON",
          mm: "FREE SPINS WON",
          es: "HA GANADO TIRADAS GRATUITAS",
          pt: "RODADAS GR\xc1TIS GANHAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u8d0f\u5f97"
        },
        "label_web.FREESPINS_9": {
          en: "FREE SPINS!",
          kh: "FREE SPINS!",
          mm: "FREE SPINS!",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS_9": {
          en: "FREE SPINS!",
          kh: "FREE SPINS!",
          mm: "FREE SPINS!",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49"
        },
        "label_mobile.FREESPINS_10": {
          en: "FREE SPINS!",
          kh: "FREE SPINS!",
          mm: "FREE SPINS!",
          es: "TIRADAS GRATIS",
          pt: "RODADAS GR\xc1TIS",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49"
        },
        "label_web.Freespinstotalwin": {
          en: "Free spins total win in the history contains the whole win of the cycle.",
          kh: "Free spins total win in the history contains the whole win of the cycle.",
          mm: "Free spins total win in the history contains the whole win of the cycle.",
          es: "El premio total de las tiradas gratis en el historial contiene todas las ganancias del ciclo.",
          pt: "O pr\xe9mio total de rodadas gr\xe1tis no hist\xf3rico cont\xe9m o pr\xe9mio total do ciclo. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e23\u0e27\u0e21\u0e43\u0e19\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07\u0e23\u0e2d\u0e1a ",
          vn: "T\u1ed5ng chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed trong l\u1ecbch s\u1eed ch\u1ee9a to\xe0n b\u1ed9 chi\u1ebfn th\u1eafng c\u1ee7a chu k\u1ef3. ",
          zh: "\u6b77\u53f2\u8a18\u9304\u4e2d\u7684\u514d\u8cbb\u65cb\u8f49\u7e3d\u734e\u91d1\u5305\u542b\u4e86\u6574\u500b\u904e\u7a0b\u4e2d\u7684\u5168\u90e8\u734e\u91d1\u3002 "
        },
        "label_mobile.Freespinstotalwin": {
          en: "Free spins total win in the history contains the whole win of the cycle.",
          kh: "Free spins total win in the history contains the whole win of the cycle.",
          mm: "Free spins total win in the history contains the whole win of the cycle.",
          es: "El premio total de las tiradas gratis en el historial contiene todas las ganancias del ciclo.",
          pt: "O pr\xe9mio total de rodadas gr\xe1tis no hist\xf3rico cont\xe9m o pr\xe9mio total do ciclo. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e23\u0e27\u0e21\u0e43\u0e19\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07\u0e23\u0e2d\u0e1a ",
          vn: "T\u1ed5ng chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed trong l\u1ecbch s\u1eed ch\u1ee9a to\xe0n b\u1ed9 chi\u1ebfn th\u1eafng c\u1ee7a chu k\u1ef3. ",
          zh: "\u6b77\u53f2\u8a18\u9304\u4e2d\u7684\u514d\u8cbb\u65cb\u8f49\u7e3d\u734e\u91d1\u5305\u542b\u4e86\u6574\u500b\u904e\u7a0b\u4e2d\u7684\u5168\u90e8\u734e\u91d1\u3002 "
        },
        "label_mobile.Freespinstotalwin_2": {
          en: "Free spins total win in the history contains the whole win of the cycle.",
          kh: "Free spins total win in the history contains the whole win of the cycle.",
          mm: "Free spins total win in the history contains the whole win of the cycle.",
          es: "El premio total de las tiradas gratis en el historial contiene todas las ganancias del ciclo.",
          pt: "O pr\xe9mio total de rodadas gr\xe1tis no hist\xf3rico cont\xe9m o pr\xe9mio total do ciclo. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e23\u0e27\u0e21\u0e43\u0e19\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07\u0e23\u0e2d\u0e1a ",
          vn: "T\u1ed5ng chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed trong l\u1ecbch s\u1eed ch\u1ee9a to\xe0n b\u1ed9 chi\u1ebfn th\u1eafng c\u1ee7a chu k\u1ef3. ",
          zh: "\u6b77\u53f2\u8a18\u9304\u4e2d\u7684\u514d\u8cbb\u65cb\u8f49\u7e3d\u734e\u91d1\u5305\u542b\u4e86\u6574\u500b\u904e\u7a0b\u4e2d\u7684\u5168\u90e8\u734e\u91d1\u3002 "
        },
        "label_web.Freespinswinis": {
          en: "Free spins win is awarded to the player after the round completes.",
          kh: "Free spins win is awarded to the player after the round completes.",
          mm: "Free spins win is awarded to the player after the round completes.",
          es: "El premio de las tiradas gratis se otorga al jugador cuando la ronda se complete.",
          pt: "O pr\xe9mio de rodadas gr\xe1tis \xe9 atribu\xeddo ao jogador ap\xf3s conclu\xedda a ronda. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e08\u0e1a\u0e23\u0e2d\u0e1a",
          vn: "Chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c trao cho ng\u01b0\u1eddi ch\u01a1i sau khi v\xf2ng ch\u01a1i k\u1ebft th\xfac. ",
          zh: "\u514d\u8cbb\u65cb\u8f49\u734e\u91d1\u5728\u56de\u5408\u7d50\u675f\u5f8c\u734e\u7d66\u73a9\u5bb6\u3002 "
        },
        "label_mobile.Freespinswinis": {
          en: "Free spins win is awarded to the player after the round completes.",
          kh: "Free spins win is awarded to the player after the round completes.",
          mm: "Free spins win is awarded to the player after the round completes.",
          es: "El premio de las tiradas gratis se otorga al jugador cuando la ronda se complete.",
          pt: "O pr\xe9mio de rodadas gr\xe1tis \xe9 atribu\xeddo ao jogador ap\xf3s conclu\xedda a ronda. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e08\u0e1a\u0e23\u0e2d\u0e1a",
          vn: "Chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c trao cho ng\u01b0\u1eddi ch\u01a1i sau khi v\xf2ng ch\u01a1i k\u1ebft th\xfac. ",
          zh: "\u514d\u8cbb\u65cb\u8f49\u734e\u91d1\u5728\u56de\u5408\u7d50\u675f\u5f8c\u734e\u7d66\u73a9\u5bb6\u3002 "
        },
        "label_mobile.Freespinswinis_2": {
          en: "Free spins win is awarded to the player after the round completes.",
          kh: "Free spins win is awarded to the player after the round completes.",
          mm: "Free spins win is awarded to the player after the round completes.",
          es: "El premio de las tiradas gratis se otorga al jugador cuando la ronda se complete.",
          pt: "O pr\xe9mio de rodadas gr\xe1tis \xe9 atribu\xeddo ao jogador ap\xf3s conclu\xedda a ronda. ",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e08\u0e1a\u0e23\u0e2d\u0e1a",
          vn: "Chi\u1ebfn th\u1eafng c\u1ee7a c\xe1c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c trao cho ng\u01b0\u1eddi ch\u01a1i sau khi v\xf2ng ch\u01a1i k\u1ebft th\xfac. ",
          zh: "\u514d\u8cbb\u65cb\u8f49\u734e\u91d1\u5728\u56de\u5408\u7d50\u675f\u5f8c\u734e\u7d66\u73a9\u5bb6\u3002 "
        },
        "label_web.Fundsfornextseed": {
          en: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          kh: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          mm: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          es: "Los fondos para el siguiente bote se reunen como parte de las contribuciones tomadas de todas las apuestas. Los fondos reunidos se ponen a un lado y ser\xe1n usados para financiar el Jackpot despu\xe9s de que se gane. Las contribuciones para futuros botes son de la siguiente manera:",
          pt: "Os fundos para a pr\xf3xima semente s\xe3o recolhidos a partir de uma parte das contribui\xe7\xf5es recolhidas de todas as apostas. Os fundos reunidos s\xe3o colocados de parte e ser\xe3o utilizados para financiar o Jackpot ap\xf3s ter sido ganho. As contribui\xe7\xf5es para sementes futuras s\xe3o como se segue:",
          thai: "\u0e07\u0e1a\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b\u0e08\u0e30\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e08\u0e32\u0e01\u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e40\u0e14\u0e34\u0e19\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e42\u0e14\u0e22\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e07\u0e1a\u0e17\u0e35\u0e48\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e41\u0e25\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e15\u0e34\u0e21\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ti\u1ec1n d\xe0nh cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo \u0111\u01b0\u1ee3c t\u1eadp h\u1ee3p t\u1eeb ph\u1ea7n \u0111\xf3ng g\xf3p l\u1ea5y t\u1eeb t\u1ea5t c\u1ea3 c\xe1c c\u01b0\u1ee3c. S\u1ed1 ti\u1ec1n \u0111\xe3 t\u1eadp h\u1ee3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean v\xe0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho Jackpot khi c\xf3 ng\u01b0\u1eddi ch\u01a1i tr\xfang th\u01b0\u1edfng Jackpot \u0111\xf3. Ph\u1ea7n kho\u1ea3n \u0111\xf3ng g\xf3p cho kho\u1ea3n ti\u1ec1n g\u1ed1c sau n\xe0y nh\u01b0 sau:",
          zh: "\u4e0b\u4e00\u500b\u7a2e\u5b50\u7684\u8cc7\u91d1\u6e90\u81ea\u5f9e\u6240\u6709\u8ced\u6ce8\u4e2d\u62bd\u53d6\u7684\u90e8\u5206\u91d1\u984d\u3002\u7d2f\u7a4d\u7684\u8cc7\u91d1\u6703\u88ab\u653e\u5728\u4e00\u908a\uff0c \u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u88ab\u8d0f\u8d70\u5f8c\u4f5c\u70ba\u5176\u8cc7\u91d1\u3002\u5c0d\u672a\u4f86\u7a2e\u5b50\u7684\u8ca2\u737b\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_mobile.Fundsfornextseed": {
          en: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          kh: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          mm: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          es: "Los fondos para el siguiente bote se reunen como parte de las contribuciones tomadas de todas las apuestas. Los fondos reunidos se ponen a un lado y ser\xe1n usados para financiar el Jackpot despu\xe9s de que se gane. Las contribuciones para futuros botes son de la siguiente manera:",
          pt: "Os fundos para a pr\xf3xima semente s\xe3o recolhidos a partir de uma parte das contribui\xe7\xf5es recolhidas de todas as apostas. Os fundos reunidos s\xe3o colocados de parte e ser\xe3o utilizados para financiar o Jackpot ap\xf3s ter sido ganho. As contribui\xe7\xf5es para sementes futuras s\xe3o como se segue:",
          thai: "\u0e07\u0e1a\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b\u0e08\u0e30\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e08\u0e32\u0e01\u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e40\u0e14\u0e34\u0e19\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e42\u0e14\u0e22\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e07\u0e1a\u0e17\u0e35\u0e48\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e41\u0e25\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e15\u0e34\u0e21\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ti\u1ec1n d\xe0nh cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo \u0111\u01b0\u1ee3c t\u1eadp h\u1ee3p t\u1eeb ph\u1ea7n \u0111\xf3ng g\xf3p l\u1ea5y t\u1eeb t\u1ea5t c\u1ea3 c\xe1c c\u01b0\u1ee3c. S\u1ed1 ti\u1ec1n \u0111\xe3 t\u1eadp h\u1ee3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean v\xe0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho Jackpot khi c\xf3 ng\u01b0\u1eddi ch\u01a1i tr\xfang th\u01b0\u1edfng Jackpot \u0111\xf3. Ph\u1ea7n kho\u1ea3n \u0111\xf3ng g\xf3p cho kho\u1ea3n ti\u1ec1n g\u1ed1c sau n\xe0y nh\u01b0 sau:",
          zh: "\u4e0b\u4e00\u500b\u7a2e\u5b50\u7684\u8cc7\u91d1\u6e90\u81ea\u5f9e\u6240\u6709\u8ced\u6ce8\u4e2d\u62bd\u53d6\u7684\u90e8\u5206\u91d1\u984d\u3002\u7d2f\u7a4d\u7684\u8cc7\u91d1\u6703\u88ab\u653e\u5728\u4e00\u908a\uff0c \u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u88ab\u8d0f\u8d70\u5f8c\u4f5c\u70ba\u5176\u8cc7\u91d1\u3002\u5c0d\u672a\u4f86\u7a2e\u5b50\u7684\u8ca2\u737b\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_mobile.Fundsfornextseed_2": {
          en: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          kh: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          mm: "Funds for next seed are gathered from a part of the contributions taken from all bets. The funds gathered are put on the side and will be used to fund the Jackpot after being won. Contributions for future seeds are as follows:",
          es: "Los fondos para el siguiente bote se reunen como parte de las contribuciones tomadas de todas las apuestas. Los fondos reunidos se ponen a un lado y ser\xe1n usados para financiar el Jackpot despu\xe9s de que se gane. Las contribuciones para futuros botes son de la siguiente manera:",
          pt: "Os fundos para a pr\xf3xima semente s\xe3o recolhidos a partir de uma parte das contribui\xe7\xf5es recolhidas de todas as apostas. Os fundos reunidos s\xe3o colocados de parte e ser\xe3o utilizados para financiar o Jackpot ap\xf3s ter sido ganho. As contribui\xe7\xf5es para sementes futuras s\xe3o como se segue:",
          thai: "\u0e07\u0e1a\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b\u0e08\u0e30\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e08\u0e32\u0e01\u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e19\n\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e40\u0e14\u0e34\u0e19\u0e1e\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e42\u0e14\u0e22\u0e08\u0e30\u0e40\u0e01\u0e47\u0e1a\u0e07\u0e1a\u0e17\u0e35\u0e48\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e44\u0e27\u0e49\u0e41\u0e25\u0e30\u0e19\u0e33\u0e44\u0e1b\n\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e15\u0e34\u0e21\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15 \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e48\u0e27\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ti\u1ec1n d\xe0nh cho kho\u1ea3n ti\u1ec1n g\u1ed1c ti\u1ebfp theo \u0111\u01b0\u1ee3c t\u1eadp h\u1ee3p t\u1eeb ph\u1ea7n \u0111\xf3ng g\xf3p l\u1ea5y t\u1eeb t\u1ea5t c\u1ea3 c\xe1c c\u01b0\u1ee3c. S\u1ed1 ti\u1ec1n \u0111\xe3 t\u1eadp h\u1ee3p \u0111\u01b0\u1ee3c \u0111\u1eb7t sang m\u1ed9t b\xean v\xe0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho Jackpot khi c\xf3 ng\u01b0\u1eddi ch\u01a1i tr\xfang th\u01b0\u1edfng Jackpot \u0111\xf3. Ph\u1ea7n kho\u1ea3n \u0111\xf3ng g\xf3p cho kho\u1ea3n ti\u1ec1n g\u1ed1c sau n\xe0y nh\u01b0 sau:",
          zh: "\u4e0b\u4e00\u500b\u7a2e\u5b50\u7684\u8cc7\u91d1\u6e90\u81ea\u5f9e\u6240\u6709\u8ced\u6ce8\u4e2d\u62bd\u53d6\u7684\u90e8\u5206\u91d1\u984d\u3002\n\u7d2f\u7a4d\u7684\u8cc7\u91d1\u6703\u88ab\u653e\u5728\u4e00\u908a\uff0c \u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u88ab\u8d0f\u8d70\u5f8c\n\u4f5c\u70ba\u5176\u8cc7\u91d1\u3002\u5c0d\u672a\u4f86\u7a2e\u5b50\u7684\u8ca2\u737b\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_web.GAMBLE": {
          en: "GAMBLE",
          kh: "GAMBLE",
          mm: "GAMBLE",
          es: "APOSTAR",
          pt: "APOSTAR",
          thai: "\u0e1e\u0e19\u0e31\u0e19",
          vn: "GAMBLE",
          zh: "\u535a\u5f69"
        },
        "label_mobile.GAMBLE": {
          en: "GAMBLE",
          kh: "GAMBLE",
          mm: "GAMBLE",
          es: "APOSTAR",
          pt: "APOSTAR",
          thai: "\u0e1e\u0e19\u0e31\u0e19",
          vn: "GAMBLE",
          zh: "\u535a\u5f69"
        },
        "label_mobile.GAMBLE_2": {
          en: "GAMBLE",
          kh: "GAMBLE",
          mm: "GAMBLE",
          es: "APOSTAR",
          pt: "APOSTAR",
          thai: "\u0e1e\u0e19\u0e31\u0e19",
          vn: "GAMBLE",
          zh: "\u535a\u5f69"
        },
        "label_web.GAMEHISTORY": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_web.GAMEHISTORY_2": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_web.GAMEHISTORY_3": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY_2": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY_3": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY_4": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY_5": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_mobile.GAMEHISTORY_6": {
          en: "GAME HISTORY",
          kh: "GAME HISTORY",
          mm: "GAME HISTORY",
          es: "HISTORIAL DEL JUEGO",
          pt: "HIST\xd3RICO DO JOGO",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304"
        },
        "label_web.GAMEHISTORYopens": {
          en: "GAME HISTORY \u2013 opens the game history page",
          kh: "GAME HISTORY \u2013 opens the game history page",
          mm: "GAME HISTORY \u2013 opens the game history page",
          es: "HISTORIAL DEL JUEGO \u2013 Abre la p\xe1gina de historial del juego",
          pt: "HIST\xd3RICO DO JOGO - Abre a p\xe1gina de hist\xf3rico do jogo",
          thai: "\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21 \u2013 \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "L\u1ecaCH S\u1eec TR\xd2 CH\u01a0I \u2013 m\u1edf trang l\u1ecbch s\u1eed tr\xf2 ch\u01a1i",
          zh: "\u904a\u6232\u6b77\u53f2\u8a18\u9304 \u2013 \u6253\u958b\u904a\u6232\u6b77\u53f2\u8a18\u9304\u9801\u9762"
        },
        "label_web.GAMEPAYS": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_web.GAMEPAYS_2": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_web.GAMEPAYS_3": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_2": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_3": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_4": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_5": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_6": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_mobile.GAMEPAYS_7": {
          en: "GAME PAYS",
          kh: "GAME PAYS",
          mm: "GAME PAYS",
          es: "EL JUEGO ABONA",
          pt: "JOGO PAGA",
          thai: "\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "GAME TH\u1eaeNG",
          zh: "\u904a\u6232\u8ce0\u4ed8"
        },
        "label_web.GAMERULES": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_web.GAMERULES_2": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_mobile.GAMERULES": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_mobile.GAMERULES_2": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_mobile.GAMERULES_3": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_mobile.GAMERULES_4": {
          en: "GAME RULES",
          kh: "GAME RULES",
          mm: "GAME RULES",
          es: "REGLAS DEL JUEGO",
          pt: "REGRAS DO JOGO",
          thai: "\u0e01\u0e0f\u0e23\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e1a\u0e40\u0e01\u0e21",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u904a\u6232\u898f\u5247"
        },
        "label_web.GAMESETTINGS": {
          en: "GAME SETTINGS",
          kh: "GAME SETTINGS",
          mm: "GAME SETTINGS",
          es: "AJUSTES DE JUEGO",
          pt: "CONFIGURA\xc7\xd5ES DE JOGO",
          thai: "\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e01\u0e21\u0e2a\u0e4c",
          vn: "C\xc0I \u0110\u1eb6T GAME",
          zh: "\u904a\u6232\u8a2d\u5b9a"
        },
        "label_web.GAMESLOBBY": {
          en: "GAMES LOBBY",
          kh: "GAMES LOBBY",
          mm: "GAMES LOBBY",
          es: "LOBBY DE JUEGOS",
          pt: "LOBBY DE JOGOS",
          thai: "\u0e25\u0e47\u0e2d\u0e1a\u0e1a\u0e35\u0e49\u0e40\u0e01\u0e21",
          vn: "S\u1ea2NH TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u5927\u5ef3"
        },
        "label_web.GAMESLOBBY_2": {
          en: "GAMES LOBBY",
          kh: "GAMES LOBBY",
          mm: "GAMES LOBBY",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.GAMESLOBBY": {
          en: "GAMES LOBBY",
          kh: "GAMES LOBBY",
          mm: "GAMES LOBBY",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.GAMESLOBBY_2": {
          en: "GAMES LOBBY",
          kh: "GAMES LOBBY",
          mm: "GAMES LOBBY",
          es: "LOBBY DE JUEGOS",
          pt: "LOBBY DE JOGOS",
          thai: "\u0e25\u0e47\u0e2d\u0e1a\u0e1a\u0e35\u0e49\u0e40\u0e01\u0e21",
          vn: "S\u1ea2NH TR\xd2 CH\u01a0I",
          zh: "\u904a\u6232\u5927\u5ef3"
        },
        "label_mobile.GENERALSETTINGS": {
          en: "GENERAL SETTINGS",
          kh: "GENERAL SETTINGS",
          mm: "GENERAL SETTINGS",
          es: "CONFIGURACI\xd3N GENERAL",
          pt: "DEFINI\xc7\xd5ES GERAIS",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b",
          vn: "C\xc0I \u0110\u1eb6T T\u1ed4NG QU\xc1T",
          zh: "\u4e00\u822c\u8a2d\u5b9a"
        },
        "label_web.GIVEUSSTARS": {
          en: "GIVE US STARS!",
          kh: "GIVE US STARS!",
          mm: "GIVE US STARS!",
          es: "\xa1EVAL\xdaENOS CON ESTRELLAS!",
          pt: "D\xca-NOS ESTRELAS!",
          thai: "\u0e02\u0e2d\u0e14\u0e27\u0e07\u0e14\u0e32\u0e27\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32!",
          vn: "Vui l\xf2ng \u0111\xe1nh gi\xe1 tr\xf2 ch\u01a1i n\xe0y",
          zh: "\u7d66\u6211\u5011\u9032\u884c\u661f\u7d1a\u8a55\u7d1a\uff01"
        },
        "label_mobile.GIVEUSSTARS": {
          en: "GIVE US STARS!",
          kh: "GIVE US STARS!",
          mm: "GIVE US STARS!",
          es: "\xa1EVAL\xdaENOS CON ESTRELLAS!",
          pt: "D\xca-NOS ESTRELAS!",
          thai: "\u0e02\u0e2d\u0e14\u0e27\u0e07\u0e14\u0e32\u0e27\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32!",
          vn: "Vui l\xf2ng \u0111\xe1nh gi\xe1 tr\xf2 ch\u01a1i n\xe0y",
          zh: "\u7d66\u6211\u5011\u9032\u884c\u661f\u7d1a\u8a55\u7d1a\uff01"
        },
        "label_web.GOODLUCK": {
          en: "GOOD LUCK!",
          kh: "GOOD LUCK!",
          mm: "GOOD LUCK!",
          es: "\xa1BUENA SUERTE!",
          pt: "BOA SORTE!",
          thai: "\u0e02\u0e2d\u0e43\u0e2b\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "CH\xdaC MAY M\u1eaeN!",
          zh: "\u795d\u60a8\u597d\u904b\uff01"
        },
        "label_web.GOODLUCK_2": {
          en: "GOOD LUCK!",
          kh: "GOOD LUCK!",
          mm: "GOOD LUCK!",
          es: "\xa1BUENA SUERTE!",
          pt: "BOA SORTE!",
          thai: "\u0e02\u0e2d\u0e43\u0e2b\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "CH\xdaC MAY M\u1eaeN!",
          zh: "\u795d\u60a8\u597d\u904b\uff01"
        },
        "label_mobile.GOODLUCK": {
          en: "GOOD LUCK!",
          kh: "GOOD LUCK!",
          mm: "GOOD LUCK!",
          es: "\xa1BUENA SUERTE!",
          pt: "BOA SORTE!",
          thai: "\u0e02\u0e2d\u0e43\u0e2b\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "CH\xdaC MAY M\u1eaeN!",
          zh: "\u795d\u60a8\u597d\u904b\uff01"
        },
        "label_mobile.GOODLUCK_2": {
          en: "GOOD LUCK!",
          kh: "GOOD LUCK!",
          mm: "GOOD LUCK!",
          es: "\xa1BUENA SUERTE!",
          pt: "BOA SORTE!",
          thai: "\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "CH\xdaC MAY M\u1eaeN!",
          zh: "\u795d\u60a8\u597d\u904b\uff01"
        },
        "label_mobile.GOODLUCK_3": {
          en: "GOOD LUCK!",
          kh: "GOOD LUCK!",
          mm: "GOOD LUCK!",
          es: "\xa1BUENA SUERTE!",
          pt: "BOA SORTE!",
          thai: "\u0e02\u0e2d\u0e43\u0e2b\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "CH\xdaC MAY M\u1eaeN!",
          zh: "\u795d\u60a8\u597d\u904b\uff01"
        },
        "label_mobile.HOLDFORTURBOSPIN": {
          en: "HOLD FOR TURBO SPIN",
          kh: "HOLD FOR TURBO SPIN",
          mm: "HOLD FOR TURBO SPIN",
          es: "MANTENGA PARA TIRADA TURBO",
          pt: "MANTER PREMIDO PARA RODADA TURBO ",
          thai: "\u0e01\u0e14\u0e04\u0e49\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "GI\u1eee \u0110\u1ec2 NH\u1eacN V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6309\u4f4f\u958b\u59cb\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.HOLDFORTURBOSPIN_2": {
          en: "HOLD FOR TURBO SPIN",
          kh: "HOLD FOR TURBO SPIN",
          mm: "HOLD FOR TURBO SPIN",
          es: "MANTENGA PARA TIRADA TURBO",
          pt: "MANTER PREMIDO PARA RODADA TURBO ",
          thai: "\u0e01\u0e14\u0e04\u0e49\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "GI\u1eee \u0110\u1ec2 NH\u1eacN V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6309\u4f4f\u958b\u59cb\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.HOLDFORTURBOSPIN_3": {
          en: "HOLD FOR TURBO SPIN",
          kh: "HOLD FOR TURBO SPIN",
          mm: "HOLD FOR TURBO SPIN",
          es: "MANTENGA PARA TIRADA TURBO",
          pt: "MANTER PREMIDO PARA RODADA TURBO ",
          thai: "\u0e01\u0e14\u0e04\u0e49\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "GI\u1eee \u0110\u1ec2 NH\u1eacN V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6309\u4f4f\u958b\u59cb\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.HOLDSPACEFORTURBO": {
          en: "HOLD SPACE FOR TURBO SPIN",
          kh: "HOLD SPACE FOR TURBO SPIN",
          mm: "HOLD SPACE FOR TURBO SPIN",
          es: "MANTENGA LA TECLA ESPACIO PARA TIRADA TURBO",
          pt: "PRIMA A TECLA DE ESPA\xc7O PARA ROTA\xc7\xc3O TURBO",
          thai: "\u0e01\u0e14\u0e2a\u0e40\u0e1b\u0e0b\u0e1a\u0e32\u0e23\u0e4c\u0e04\u0e49\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19\u0e41\u0e1a\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a",
          vn: "GI\u1eee PH\xcdM C\xc1CH \u0110\u1ec2 NH\u1eacN V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG",
          zh: "\u6309\u4f4f\u7a7a\u767d\u9375\u958b\u59cb\u52a0\u901f\u65cb\u8f49"
        },
        "label_web.HOME": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_web.HOME_2": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME_2": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME_3": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME_4": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME_5": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_mobile.HOME_6": {
          en: "HOME",
          kh: "HOME",
          mm: "HOME",
          es: "INICIO",
          pt: "IN\xcdCIO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01",
          vn: "TRANG CH\u1ee6",
          zh: "\u4e3b\u756b\u9762"
        },
        "label_web.HOT": {
          en: "HOT",
          kh: "HOT",
          mm: "HOT",
          es: "CALIENTE",
          pt: "EM ALTA",
          thai: "\u0e21\u0e32\u0e41\u0e23\u0e07",
          vn: "\u0110ANG \u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_web.HOT_2": {
          en: "HOT",
          kh: "HOT",
          mm: "HOT",
          es: "POPULAR",
          pt: "POPULAR",
          thai: "\u0e19\u0e34\u0e22\u0e21",
          vn: "\u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_mobile.HOT_2": {
          en: "HOT",
          kh: "HOT",
          mm: "HOT",
          es: "CALIENTE",
          pt: "EM ALTA",
          thai: "\u0e21\u0e32\u0e41\u0e23\u0e07",
          vn: "\u0110ANG \u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_mobile.HOT_3": {
          en: "HOT",
          kh: "HOT",
          mm: "HOT",
          es: "CALIENTE",
          pt: "EM ALTA",
          thai: "\u0e21\u0e32\u0e41\u0e23\u0e07",
          vn: "\u0110ANG \u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_web.HOTGAMES": {
          en: "HOT GAMES",
          kh: "HOT GAMES",
          mm: "HOT GAMES",
          es: "CALIENTE",
          pt: "EM ALTA",
          thai: "\u0e21\u0e32\u0e41\u0e23\u0e07",
          vn: "\u0110ANG \u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_mobile.HOTGAMES": {
          en: "HOT GAMES",
          kh: "HOT GAMES",
          mm: "HOT GAMES",
          es: "CALIENTE",
          pt: "EM ALTA",
          thai: "\u0e21\u0e32\u0e41\u0e23\u0e07",
          vn: "\u0110ANG \u0110\u01af\u1ee2C Y\xcaU TH\xcdCH",
          zh: "\u71b1\u9580"
        },
        "label_web.HOWTOPLAY": {
          en: "HOW TO PLAY",
          kh: "HOW TO PLAY",
          mm: "HOW TO PLAY",
          es: "C\xd3MO JUGAR",
          pt: "COMO JOGAR",
          thai: "\u0e27\u0e34\u0e18\u0e35\u0e40\u0e25\u0e48\u0e19",
          vn: "C\xc1CH CH\u01a0I",
          zh: "\u904a\u6232\u73a9\u6cd5"
        },
        "label_mobile.HOWTOPLAY": {
          en: "HOW TO PLAY",
          kh: "HOW TO PLAY",
          mm: "HOW TO PLAY",
          es: "C\xd3MO JUGAR",
          pt: "COMO JOGAR",
          thai: "\u0e27\u0e34\u0e18\u0e35\u0e40\u0e25\u0e48\u0e19",
          vn: "C\xc1CH CH\u01a0I",
          zh: "\u904a\u6232\u73a9\u6cd5"
        },
        "label_mobile.HOWTOPLAY_2": {
          en: "HOW TO PLAY",
          kh: "HOW TO PLAY",
          mm: "HOW TO PLAY",
          es: "C\xd3MO JUGAR",
          pt: "COMO JOGAR",
          thai: "\u0e27\u0e34\u0e18\u0e35\u0e40\u0e25\u0e48\u0e19",
          vn: "C\xc1CH CH\u01a0I",
          zh: "\u904a\u6232\u73a9\u6cd5"
        },
        "label_web.HRS": {
          en: "HRS",
          kh: "HRS",
          mm: "HRS",
          es: "HRS",
          pt: "HOR",
          thai: "\u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "GI\u1edc",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.HRS": {
          en: "HRS",
          kh: "HRS",
          mm: "HRS",
          es: "HRS",
          pt: "HOR",
          thai: "\u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "GI\u1edc",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.Holdonthe": {
          en: "Hold on the",
          kh: "Hold on the",
          mm: "Hold on the",
          es: "Mantenga pulsado el bot\xf3n",
          pt: "Mantenha premido o bot\xe3o ",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21",
          vn: "Gi\u1eef n\xfat",
          zh: "\u6309\u4f4f"
        },
        "label_mobile.Holdonthe_2": {
          en: "Hold on the         button to open the Autoplay menu",
          kh: "Hold on the         button to open the Autoplay menu",
          mm: "Hold on the         button to open the Autoplay menu",
          es: "Mantenga pulsado el bot\xf3n         para\nabrir el men\xfa de TIR. AUTO..",
          pt: "Mantenha premido o bot\xe3o          para\nabrir o menu de Jogo Autom\xe1tico",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21         \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "Gi\u1eef n\xfat         \u0111\u1ec3 m\u1edf menu Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u6309\u4f4f         \u6309\u9215\u53ef\u6253\u958b\u300c\u81ea\u52d5\u4e0b\u6ce8\u300d\u529f\u80fd\u8868"
        },
        "label_web.HotSlots": {
          en: "Hot Slots",
          kh: "Hot Slots",
          mm: "Hot Slots",
          es: "Slots Populares",
          pt: "Slots populares",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c \u0111\u01b0\u1ee3c y\xeau th\xedch",
          zh: "\u71b1\u9580\u8001\u864e\u6a5f"
        },
        "label_mobile.HotSlots": {
          en: "Hot Slots",
          kh: "Hot Slots",
          mm: "Hot Slots",
          es: "Slots Populares",
          pt: "Slots populares",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c \u0111\u01b0\u1ee3c y\xeau th\xedch",
          zh: "\u71b1\u9580\u8001\u864e\u6a5f"
        },
        "label_web.Howlucky": {
          en: "How lucky?",
          kh: "How lucky?",
          mm: "How lucky?",
          es: "\xbfHa tenido suerte?",
          pt: "A que ponto achou sortudo?",
          thai: "\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e2d\u0e44\u0e23\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49",
          vn: "May m\u1eafn th\u1ebf n\xe0o?",
          zh: "\u6709\u591a\u5e78\u904b\uff1f"
        },
        "label_mobile.Howlucky": {
          en: "How lucky?",
          kh: "How lucky?",
          mm: "How lucky?",
          es: "\xbfHa tenido suerte?",
          pt: "A que ponto achou sortudo?",
          thai: "\u0e42\u0e0a\u0e04\u0e14\u0e35\u0e2d\u0e44\u0e23\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49",
          vn: "May m\u1eafn th\u1ebf n\xe0o?",
          zh: "\u6709\u591a\u5e78\u904b\uff1f"
        },
        "label_web.Howpretty": {
          en: "How pretty?",
          kh: "How pretty?",
          mm: "How pretty?",
          es: "\xbfLe ha gustado su aspecto?",
          pt: "A que ponto achou bonito?",
          thai: "\u0e2a\u0e27\u0e22\u0e2d\u0e30\u0e44\u0e23\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49",
          vn: "C\xf3 \u0111\u1eb9p kh\xf4ng?",
          zh: "\u6709\u591a\u6f02\u4eae\uff1f"
        },
        "label_mobile.Howpretty": {
          en: "How pretty?",
          kh: "How pretty?",
          mm: "How pretty?",
          es: "\xbfLe ha gustado su aspecto?",
          pt: "A que ponto achou bonito?",
          thai: "\u0e2a\u0e27\u0e22\u0e2d\u0e30\u0e44\u0e23\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49",
          vn: "C\xf3 \u0111\u1eb9p kh\xf4ng?",
          zh: "\u6709\u591a\u6f02\u4eae\uff1f"
        },
        "label_web.IFCASHDECREASESBY": {
          en: "IF CASH DECREASES BY",
          kh: "IF CASH DECREASES BY",
          mm: "IF CASH DECREASES BY",
          es: "SI EL SALDO DESCIENDE EN",
          pt: "SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_web.IFCASHDECREASESBY_2": {
          en: "IF CASH DECREASES BY",
          kh: "IF CASH DECREASES BY",
          mm: "IF CASH DECREASES BY",
          es: "SI EL SALDO DESCIENDE EN",
          pt: "SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_mobile.IFCASHDECREASESBY": {
          en: "IF CASH DECREASES BY",
          kh: "IF CASH DECREASES BY",
          mm: "IF CASH DECREASES BY",
          es: "SI EL SALDO DESCIENDE EN",
          pt: "SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_mobile.IFCASHDECREASESBY_2": {
          en: "IF CASH DECREASES BY",
          kh: "IF CASH DECREASES BY",
          mm: "IF CASH DECREASES BY",
          es: "SI EL SALDO DESCIENDE EN",
          pt: "SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_web.IFCASHDECREASESBY_3": {
          en: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          kh: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          mm: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          es: "SI EL SALDO DESCIENDE EN \u2013 Cuando su saldo est\xe9 por debajo del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO DIMINUIR EM \u2013 sempre que o seu saldo atual estiver abaixo do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n d\u01b0\u1edbi t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u4f4e\u65bc\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFCASHDECREASESBY_3": {
          en: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          kh: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          mm: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          es: "SI EL SALDO DESCIENDE EN \u2013 Cuando su saldo est\xe9 por debajo del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO DIMINUIR EM \u2013 sempre que o seu saldo atual estiver abaixo do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n d\u01b0\u1edbi t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u4f4e\u65bc\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFCASHDECREASESBY_4": {
          en: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          kh: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          mm: "IF CASH DECREASES BY \u2013 whenever your current balance is below the sum written in this field, the Autoplay function stops ",
          es: "SI EL SALDO DESCIENDE EN \u2013 Cuando su saldo est\xe9 por debajo del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO DIMINUIR EM \u2013 sempre que o seu saldo atual estiver abaixo do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e25\u0e14\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\n\u0e13\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n d\u01b0\u1edbi t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u6e1b\u5c11 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u4f4e\u65bc\u6b64\u6b04\u4f4d\n\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_web.IFCASHINCREASESBY": {
          en: "IF CASH INCREASES BY",
          kh: "IF CASH INCREASES BY",
          mm: "IF CASH INCREASES BY",
          es: "SI EL SALDO AUMENTA EN",
          pt: "SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0"
        },
        "label_web.IFCASHINCREASESBY_2": {
          en: "IF CASH INCREASES BY",
          kh: "IF CASH INCREASES BY",
          mm: "IF CASH INCREASES BY",
          es: "SI EL SALDO AUMENTA EN",
          pt: "SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0"
        },
        "label_mobile.IFCASHINCREASESBY": {
          en: "IF CASH INCREASES BY",
          kh: "IF CASH INCREASES BY",
          mm: "IF CASH INCREASES BY",
          es: "SI EL SALDO AUMENTA EN",
          pt: "SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0"
        },
        "label_mobile.IFCASHINCREASESBY_2": {
          en: "IF CASH INCREASES BY",
          kh: "IF CASH INCREASES BY",
          mm: "IF CASH INCREASES BY",
          es: "SI EL SALDO AUMENTA EN",
          pt: "SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0"
        },
        "label_mobile.IFCASHINCREASESBY_3": {
          en: "IF CASH INCREASES BY",
          kh: "IF CASH INCREASES BY",
          mm: "IF CASH INCREASES BY",
          es: "SI EL SALDO AUMENTA EN",
          pt: "SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0"
        },
        "label_web.IFCASHINCREASESBY_3": {
          en: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          kh: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          mm: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          es: "SI EL SALDO AUMENTA EN \u2013 Cuando su saldo est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO AUMENTAR EM \u2013 sempre que o seu saldo atual estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u8d85\u904e\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFCASHINCREASESBY_4": {
          en: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          kh: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          mm: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          es: "SI EL SALDO AUMENTA EN \u2013 Cuando su saldo est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO AUMENTAR EM \u2013 sempre que o seu saldo atual estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u8d85\u904e\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFCASHINCREASESBY_5": {
          en: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          kh: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          mm: "IF CASH INCREASES BY \u2013 whenever your current balance is above the sum written in this field, the Autoplay function stops",
          es: "SI EL SALDO AUMENTA EN \u2013 Cuando su saldo est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O DINHEIRO AUMENTAR EM \u2013 sempre que o seu saldo atual estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\n\u0e38\u0e13\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG TH\xcaM \u2013 b\u1ea5t c\u1ee9 khi n\xe0o s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u73fe\u91d1\u589e\u52a0 - \u53ea\u8981\u76ee\u524d\u9918\u984d\u8d85\u904e\u6b64\u6b04\u4f4d\n\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_web.IFFEATUREISWON": {
          en: "IF FEATURE IS WON",
          kh: "IF FEATURE IS WON",
          mm: "IF FEATURE IS WON",
          es: "SI GANA FUNCI\xd3N",
          pt: "SE O EXTRA FOR GANHO",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97"
        },
        "label_web.IFFEATUREISWON_2": {
          en: "IF FEATURE IS WON",
          kh: "IF FEATURE IS WON",
          mm: "IF FEATURE IS WON",
          es: "SI GANA FUNCI\xd3N",
          pt: "SE O EXTRA FOR GANHO",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97"
        },
        "label_mobile.IFFEATUREISWON": {
          en: "IF FEATURE IS WON",
          kh: "IF FEATURE IS WON",
          mm: "IF FEATURE IS WON",
          es: "SI GANA FUNCI\xd3N",
          pt: "SE O EXTRA FOR GANHO",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97"
        },
        "label_mobile.IFFEATUREISWON_2": {
          en: "IF FEATURE IS WON",
          kh: "IF FEATURE IS WON",
          mm: "IF FEATURE IS WON",
          es: "SI GANA FUNCI\xd3N",
          pt: "SE O EXTRA FOR GANHO",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97"
        },
        "label_web.IFFEATUREISWON_3": {
          en: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          kh: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          mm: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          es: "SI GANA FUNCI\xd3N \u2013 Cuando se gane una funci\xf3n como un juego bonus o juegos gratis, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O EXTRA FOR GANHO \u2013 Sempre que um extra como um jogo de b\xf3nus ou rodadas gr\xe1tis for ganho, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e40\u0e0a\u0e48\u0e19 \u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e23\u0e37\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o m\u1ed9t t\xednh n\u0103ng nh\u01b0 th\u01b0\u1edfng tr\xf2 ch\u01a1i ho\u1eb7c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c chi\u1ebfn th\u1eafng, Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97 \u2013 \u53ea\u8981\u8d0f\u5f97\u8af8\u5982\u734e\u52f5\u904a\u6232\u6216\u514d\u8cbb\u65cb\u8f49\u4e4b\u985e\u7684\u529f\u80fd\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.IFFEATUREISWON_3": {
          en: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          kh: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          mm: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          es: "SI GANA FUNCI\xd3N \u2013 Cuando se gane una funci\xf3n como un juego bonus o juegos gratis, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O EXTRA FOR GANHO \u2013 Sempre que um extra como um jogo de b\xf3nus ou rodadas gr\xe1tis for ganho, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e40\u0e0a\u0e48\u0e19 \u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e23\u0e37\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o m\u1ed9t t\xednh n\u0103ng nh\u01b0 th\u01b0\u1edfng tr\xf2 ch\u01a1i ho\u1eb7c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c chi\u1ebfn th\u1eafng, Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97 \u2013 \u53ea\u8981\u8d0f\u5f97\u8af8\u5982\u734e\u52f5\u904a\u6232\u6216\u514d\u8cbb\u65cb\u8f49\u4e4b\u985e\u7684\u529f\u80fd\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.IFFEATUREISWON_4": {
          en: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          kh: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          mm: "IF FEATURE IS WON \u2013 whenever a feature like bonus game or free spins is won, Autoplay will stop",
          es: "SI GANA FUNCI\xd3N \u2013 Cuando se gane una funci\xf3n como un juego bonus o juegos gratis, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE O EXTRA FOR GANHO \u2013 Sempre que um extra como um jogo de b\xf3nus ou rodadas gr\xe1tis for ganho, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e15\u0e32\u0e21\u0e41\u0e1a\u0e1a - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e40\u0e0a\u0e48\u0e19 \u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e2b\u0e23\u0e37\u0e2d\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU GI\xc0NH \u0110\u01af\u1ee2C T\xcdNH N\u0102NG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o m\u1ed9t t\xednh n\u0103ng nh\u01b0 th\u01b0\u1edfng tr\xf2 ch\u01a1i ho\u1eb7c v\xf2ng quay mi\u1ec5n ph\xed \u0111\u01b0\u1ee3c chi\u1ebfn th\u1eafng, Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u529f\u80fd\u8d0f\u5f97 \u2013 \u53ea\u8981\u8d0f\u5f97\u8af8\u5982\u734e\u52f5\u904a\u6232\u6216\n\u514d\u8cbb\u65cb\u8f49\u4e4b\u985e\u7684\u529f\u80fd\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.IFSINGLEWINEXCEEDS": {
          en: "IF SINGLE WIN EXCEEDS",
          kh: "IF SINGLE WIN EXCEEDS",
          mm: "IF SINGLE WIN EXCEEDS",
          es: "SI UNA VICTORIA SUPERA",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e"
        },
        "label_web.IFSINGLEWINEXCEEDS_2": {
          en: "IF SINGLE WIN EXCEEDS",
          kh: "IF SINGLE WIN EXCEEDS",
          mm: "IF SINGLE WIN EXCEEDS",
          es: "SI UNA VICTORIA SUPERA",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e"
        },
        "label_mobile.IFSINGLEWINEXCEEDS": {
          en: "IF SINGLE WIN EXCEEDS",
          kh: "IF SINGLE WIN EXCEEDS",
          mm: "IF SINGLE WIN EXCEEDS",
          es: "SI UNA VICTORIA SUPERA",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e"
        },
        "label_mobile.IFSINGLEWINEXCEEDS_2": {
          en: "IF SINGLE WIN EXCEEDS",
          kh: "IF SINGLE WIN EXCEEDS",
          mm: "IF SINGLE WIN EXCEEDS",
          es: "SI UNA VICTORIA SUPERA",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e"
        },
        "label_mobile.IFSINGLEWINEXCEEDS_3": {
          en: "IF SINGLE WIN EXCEEDS",
          kh: "IF SINGLE WIN EXCEEDS",
          mm: "IF SINGLE WIN EXCEEDS",
          es: "SI UNA VICTORIA SUPERA",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e"
        },
        "label_web.IFSINGLEWINEXCEEDS_3": {
          en: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          kh: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          mm: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          es: "SI UNA VICTORIA EXCEDE \u2013 Cuando un solo premio est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER \u2013 sempre que um pr\xe9mio \xfanico estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e1c\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1 \u2013 b\u1ea5t c\u1ee9 khi n\xe0o th\u1eafng \u0111\u01a1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e \u2013 \u53ea\u8981\u55ae\u6b21\u734e\u91d1\u91d1\u984d\u8d85\u904e\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFSINGLEWINEXCEEDS_4": {
          en: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          kh: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          mm: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          es: "SI UNA VICTORIA EXCEDE \u2013 Cuando un solo premio est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER \u2013 sempre que um pr\xe9mio \xfanico estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e1c\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1 \u2013 b\u1ea5t c\u1ee9 khi n\xe0o th\u1eafng \u0111\u01a1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e \u2013 \u53ea\u8981\u55ae\u6b21\u734e\u91d1\u91d1\u984d\u8d85\u904e\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.IFSINGLEWINEXCEEDS_5": {
          en: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          kh: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          mm: "IF SINGLE WIN EXCEEDS \u2013 whenever a single win is above the sum written in this field, the Autoplay function stops",
          es: "SI UNA VICTORIA EXCEDE \u2013 Cuando un solo premio est\xe9 por encima del importe escrito en este campo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "SE UM \xdaNICO PR\xc9MIO EXCEDER \u2013 sempre que um pr\xe9mio \xfanico estiver acima do montante introduzido neste campo, o Jogo Autom\xe1tico para",
          thai: "\u0e2b\u0e32\u0e01\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e40\u0e01\u0e34\u0e19 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e40\u0e14\u0e35\u0e48\u0e22\u0e27\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e1c\n\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c\u0e19\u0e35\u0e49 \u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "N\u1ebeU TH\u1eaeNG \u0110\u01a0N V\u01af\u1ee2T QU\xc1 \u2013 b\u1ea5t c\u1ee9 khi n\xe0o th\u1eafng \u0111\u01a1n tr\xean t\u1ed5ng s\u1ed1 \u0111\u01b0\u1ee3c ghi trong tr\u01b0\u1eddng n\xe0y, t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u82e5\u55ae\u4e00\u52dd\u5229\u8d85\u904e \u2013 \u53ea\u8981\u55ae\u6b21\u734e\u91d1\u91d1\u984d\u8d85\n\u904e\u6b64\u6b04\u4f4d\u4e2d\u898f\u5b9a\u7684\u7e3d\u984d\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_web.IFYOUCHOOSETO": {
          en: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          kh: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          mm: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          es: "SI USTED ELIJE JUGAR M\xc1S TARDE, EL BONUS ESTAR\xc1 DE NUEVO DISPONIBLE CUANDO REABRA EL JUEGO",
          pt: "SE ESCOLHER JOGAR MAIS TARDE, O B\xd3NUS ESTAR\xc1 DISPON\xcdVEL DE NOVO QUANDO VOLTAR A ABRIR O JOGO",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07 \u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e30\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48",
          vn: "N\u1ebeU B\u1ea0N L\u1ef0A CH\u1eccN CH\u01a0I SAU, TH\u01af\u1edeNG N\xc0Y S\u1ebc TI\u1ebeP T\u1ee4C XU\u1ea4T HI\u1ec6N KHI B\u1ea0N M\u1ede L\u1ea0I TR\xd2 CH\u01a0I",
          zh: "\u5982\u679c\u60a8\u9078\u64c7\u7a0d\u5f8c\u518d\u73a9\uff0c\u90a3\u9ebc\u734e\u52f5\u5c07\u5728\u60a8\u91cd\u65b0\u958b\u555f\u904a\u6232\u6642\u518d\u6b21\u63d0\u4f9b\u3002"
        },
        "label_mobile.IFYOUCHOOSETO": {
          en: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          kh: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          mm: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          es: "SI USTED ELIJE JUGAR M\xc1S TARDE, EL BONUS ESTAR\xc1 DE NUEVO DISPONIBLE CUANDO REABRA EL JUEGO",
          pt: "SE ESCOLHER JOGAR MAIS TARDE, O B\xd3NUS ESTAR\xc1 DISPON\xcdVEL DE NOVO QUANDO VOLTAR A ABRIR O JOGO",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07 \u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e30\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48",
          vn: "N\u1ebeU B\u1ea0N L\u1ef0A CH\u1eccN CH\u01a0I SAU, TH\u01af\u1edeNG N\xc0Y S\u1ebc TI\u1ebeP T\u1ee4C XU\u1ea4T HI\u1ec6N KHI B\u1ea0N M\u1ede L\u1ea0I TR\xd2 CH\u01a0I",
          zh: "\u5982\u679c\u60a8\u9078\u64c7\u7a0d\u5f8c\u518d\u73a9\uff0c\u90a3\u9ebc\u734e\u52f5\u5c07\u5728\u60a8\u91cd\u65b0\u958b\u555f\u904a\u6232\u6642\u518d\u6b21\u63d0\u4f9b\u3002"
        },
        "label_mobile.IFYOUCHOOSETO_2": {
          en: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          kh: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          mm: "IF YOU CHOOSE TO PLAY LATER, THE BONUS WILL BE AVAILABLE AGAIN WHEN YOU REOPEN THE GAME",
          es: "SI USTED ELIJE JUGAR M\xc1S TARDE, EL BONUS ESTAR\xc1 DE NUEVO DISPONIBLE CUANDO REABRA EL JUEGO",
          pt: "SE ESCOLHER JOGAR MAIS TARDE, O B\xd3NUS ESTAR\xc1 DISPON\xcdVEL DE NOVO QUANDO VOLTAR A ABRIR O JOGO",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07 \u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e30\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48",
          vn: "N\u1ebeU B\u1ea0N L\u1ef0A CH\u1eccN CH\u01a0I SAU, TH\u01af\u1edeNG N\xc0Y S\u1ebc TI\u1ebeP T\u1ee4C XU\u1ea4T HI\u1ec6N KHI B\u1ea0N M\u1ede L\u1ea0I TR\xd2 CH\u01a0I",
          zh: "\u5982\u679c\u60a8\u9078\u64c7\u7a0d\u5f8c\u518d\u73a9\uff0c\n\u90a3\u9ebc\u734e\u52f5\u5c07\u5728\u60a8\u91cd\u65b0\u958b\u555f\u904a\u6232\u6642\u518d\u6b21\u63d0\u4f9b\u3002"
        },
        "label_web.IN": {
          en: "IN",
          kh: "IN",
          mm: "IN",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TRONG",
          zh: "\u5728"
        },
        "label_web.IN_2": {
          en: "IN",
          kh: "IN",
          mm: "IN",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TRONG",
          zh: "\u5728"
        },
        "label_mobile.IN": {
          en: "IN",
          kh: "IN",
          mm: "IN",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TRONG",
          zh: "\u5728"
        },
        "label_mobile.IN_2": {
          en: "IN",
          kh: "IN",
          mm: "IN",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TRONG",
          zh: "\u5728"
        },
        "label_web.INFREESPINS": {
          en: "IN FREE SPINS",
          kh: "IN FREE SPINS",
          mm: "IN FREE SPINS",
          es: "EN LAS TIRADAS GRATIS",
          pt: "EM RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e17\u0e48\u0e32",
          vn: "TRONG C\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u96a8\u6a5f\u500d\u589e\u6307\u6578"
        },
        "label_mobile.INFREESPINS": {
          en: "IN FREE SPINS",
          kh: "IN FREE SPINS",
          mm: "IN FREE SPINS",
          es: "EN LAS TIRADAS GRATIS",
          pt: "EM RODADAS GR\xc1TIS",
          thai: "\u0e40\u0e17\u0e48\u0e32",
          vn: "TRONG C\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u96a8\u6a5f\u500d\u589e\u6307\u6578"
        },
        "label_web.INFO": {
          en: "INFO",
          kh: "INFO",
          mm: "INFO",
          es: "INFORMACI\xd3N",
          pt: "INFORMA\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "TH\xd4NG TIN",
          zh: "\u8cc7\u8a0a"
        },
        "label_mobile.INFO": {
          en: "INFO",
          kh: "INFO",
          mm: "INFO",
          es: "INFORMACI\xd3N",
          pt: "INFORMA\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "TH\xd4NG TIN",
          zh: "\u8cc7\u8a0a"
        },
        "label_mobile.INFO_2": {
          en: "INFO",
          kh: "INFO",
          mm: "INFO",
          es: "INFORMACI\xd3N",
          pt: "INFORMA\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "TH\xd4NG TIN",
          zh: "\u8cc7\u8a0a"
        },
        "label_mobile.INFO_3": {
          en: "INFO",
          kh: "INFO",
          mm: "INFO",
          es: "INFORMACI\xd3N",
          pt: "INFORMA\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "TH\xd4NG TIN",
          zh: "\u8cc7\u8a0a"
        },
        "label_mobile.INFO_4": {
          en: "INFO",
          kh: "INFO",
          mm: "INFO",
          es: "INFORMACI\xd3N",
          pt: "INFORMA\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "TH\xd4NG TIN",
          zh: "\u8cc7\u8a0a"
        },
        "label_web.INFORMATIONSCREEN": {
          en: "INFORMATION SCREEN",
          kh: "INFORMATION SCREEN",
          mm: "INFORMATION SCREEN",
          es: "PANTALLA DE INFORMACI\xd3N",
          pt: "ECR\xc3 DE INFORMA\xc7\xd5ES",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "M\xc0N H\xccNH TH\xd4NG TIN",
          zh: "\u300c\u8cc7\u8a0a\u300d\u756b\u9762"
        },
        "label_mobile.INFORMATIONSCREEN": {
          en: "INFORMATION SCREEN",
          kh: "INFORMATION SCREEN",
          mm: "INFORMATION SCREEN",
          es: "PANTALLA DE INFORMACI\xd3N",
          pt: "ECR\xc3 DE INFORMA\xc7\xd5ES",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "M\xc0N H\xccNH TH\xd4NG TIN",
          zh: "\u300c\u8cc7\u8a0a\u300d\u756b\u9762"
        },
        "label_mobile.INFORMATIONSCREEN_2": {
          en: "INFORMATION SCREEN",
          kh: "INFORMATION SCREEN",
          mm: "INFORMATION SCREEN",
          es: "PANTALLA DE INFORMACI\xd3N",
          pt: "ECR\xc3 DE INFORMA\xc7\xd5ES",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "\u0110\xd3NG TRANG TH\xd4NG TIN",
          zh: "\u300c\u8cc7\u8a0a\u300d\u756b\u9762"
        },
        "label_web.INTROSCREEN": {
          en: "INTRO SCREEN",
          kh: "INTRO SCREEN",
          mm: "INTRO SCREEN",
          es: "PANTALLA DE INTRO",
          pt: "ECR\xc3 DE INTRODU\xc7\xc3O",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33",
          vn: "M\xc0N H\xccNH GI\u1edaI THI\u1ec6U",
          zh: "\u4ecb\u7d39\u756b\u9762"
        },
        "label_web.INTROSCREEN_2": {
          en: "INTRO SCREEN",
          kh: "INTRO SCREEN",
          mm: "INTRO SCREEN",
          es: "PANTALLA DE INTRO",
          pt: "ECR\xc3 DE INTRODU\xc7\xc3O",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33",
          vn: "M\xc0N H\xccNH GI\u1edaI THI\u1ec6U",
          zh: "\u4ecb\u7d39\u756b\u9762"
        },
        "label_web.INTROSCREEN_3": {
          en: "INTRO SCREEN",
          kh: "INTRO SCREEN",
          mm: "INTRO SCREEN",
          es: "PANTALLA DE INTRO",
          pt: "ECR\xc3 DE INTRODU\xc7\xc3O",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33",
          vn: "M\xc0N H\xccNH GI\u1edaI THI\u1ec6U",
          zh: "\u4ecb\u7d39\u756b\u9762"
        },
        "label_web.INTROSCREENtoggles": {
          en: "INTRO SCREEN \u2013 toggles the introductory screen on and off",
          kh: "INTRO SCREEN \u2013 toggles the introductory screen on and off",
          mm: "INTRO SCREEN \u2013 toggles the introductory screen on and off",
          es: "PANTALLA DE INTRO \u2013 Activa o desactiva la pantalla de introducci\xf3n",
          pt: "ECR\xc3 DE INTRODU\xc7\xc3O \u2013 Liga e desliga o ecr\xe3 de introdu\xe7\xe3o",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33 \u2013 \u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e19\u0e30\u0e19\u0e33",
          vn: "M\xc0N H\xccNH GI\u1edaI THI\u1ec6U \u2013 b\u1eadt/t\u1eaft m\xe0n h\xecnh gi\u1edbi thi\u1ec7u",
          zh: "\u4ecb\u7d39\u756b\u9762 \u2013 \u6253\u958b\u6216\u95dc\u9589\u4ecb\u7d39\u756b\u9762"
        },
        "label_web.Iftwoormore": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore_2": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e \u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309 \u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642 \u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_web.Iftwoormore_2": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Premio aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Premio acumulado que exist\xeda en el momento exacto de su victoria. El Premio NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore_3": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Premio aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Premio acumulado que exist\xeda en el momento exacto de su victoria. El Premio NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore_4": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is NOT divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Premio aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Premio acumulado que exist\xeda en el momento exacto de su victoria. El Premio NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\n\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\n\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\n\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_web.Iftwoormore_3": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore_5": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\n\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Iftwoormore_6": {
          en: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          kh: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          mm: "If two or more players win the Jackpot at approximately the same time, then all wins are awarded in order, so that each collects the accumulated Jackpot value which exists at the exact moment of their win. The Jackpot is not divided equally among several winners.",
          es: "Si dos o m\xe1s jugadores ganan el Jackpot aproximadamente al mismo tiempo todas las ganancias se otorgar\xe1n en orden, de modo que cada uno cobre el valor de Jackpot acumulado que exist\xeda en el momento exacto de su victoria. El Jackpot NO se divide a partes iguales entre varios ganadores.",
          pt: "Se dois ou mais jogadores ganharem o Jackpot aproximadamente ao mesmo tempo, todas os ganhos s\xe3o atribu\xeddos por ordem, de modo a que cada um receba o valor acumulado de Jackpot que existe no momento exato do seu pr\xe9mio. O Jackpot N\xc3O \xe9 dividido igualmente entre v\xe1rios vencedores.",
          thai: "\u0e2b\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e2d\u0e07\u0e04\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \n\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e19\u0e2a\u0e30\u0e2a\u0e21\u0e21\n\u0e25\u0e04\u0e48\u0e32\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1e\u0e27\n\u0e01\u0e40\u0e02\u0e32 \u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e46 \u0e01\u0e31\u0e19\u0e43\u0e19\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e22",
          vn: "N\u1ebfu hai ng\u01b0\u1eddi ch\u01a1i tr\u1edf l\xean gi\xe0nh Jackpot g\u1ea7n nh\u01b0 c\xf9ng l\xfac, th\xec t\u1ea5t c\u1ea3 chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c trao theo th\u1ee9 t\u1ef1, \u0111\u1ec3 m\u1ed7i chi\u1ebfn th\u1eafng thu \u0111\u01b0\u1ee3c gi\xe1 tr\u1ecb Jackpot t\xedch l\u0169y, gi\xe1 tr\u1ecb t\u1ed3n t\u1ea1i theo th\u1eddi gian ch\xednh x\xe1c trong chi\u1ebfn th\u1eafng c\u1ee7a h\u1ecd. Jackpot KH\xd4NG \u0111\u01b0\u1ee3c chia b\u1eb1ng nhau gi\u1eefa nh\u1eefng ng\u01b0\u1eddi ch\u01a1i.",
          zh: "\u5982\u679c\u5169\u540d\u6216\u4ee5\u4e0a\u7684\u73a9\u5bb6\u8fd1\u4e4e\u540c\u6642\u8d0f\u5f97\u4e86\u7d2f\u7a4d\u734e\u91d1\uff0c\n \u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u6309\u9806\u5e8f\u767c\u653e\uff0c\u9019\u6a23\u6bcf\u4f4d\u73a9\u5bb6\u90fd\u80fd\n\u6309\u7167\u8d0f\u734e\u6642\u7684\u5be6\u969b\u91d1\u984d\u4f86\u9818\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 \u7d2f\u7a4d\u734e\u91d1\u4e0d\u6703\u7531\u591a\u4f4d\u73a9\u5bb6\u5747\u5206\u3002"
        },
        "label_mobile.Ifyouwantto": {
          en: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\n\nYou can disable the feature\nfrom the        button.",
          kh: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\n\nYou can disable the feature\nfrom the        button.",
          mm: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\n\nYou can disable the feature\nfrom the        button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener       para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n        . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter      \npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o       . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21        \n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21         ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef       \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat      . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f        \n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e        \n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_mobile.Ifyouwantto_2": {
          en: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\nYou can disable the feature\nfrom the        button.",
          kh: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\nYou can disable the feature\nfrom the        button.",
          mm: "If you want to play faster, you can enable\nQUICK SPIN or hold       for TURBO SPIN.\nYou can disable the feature\nfrom the        button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener       para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n        . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter      \npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o       . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21        \n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21         ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef       \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat        . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f        \n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e        \n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_web.Ifyouwantto": {
          en: "If you want to play faster, you can enable\nQUICK SPIN or hold SPACE for TURBO SPIN.\nYou can disable the feature from the        button.",
          kh: "If you want to play faster, you can enable\nQUICK SPIN or hold SPACE for TURBO SPIN.\nYou can disable the feature from the        button.",
          mm: "If you want to play faster, you can enable\nQUICK SPIN or hold SPACE for TURBO SPIN.\nYou can disable the feature from the        button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar el\nQuick Spin o mantener la tecla ESPACIO para el\nTirada Turbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n       . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar Rodada R\xe1pida ou manter premida a BARRA DE ESPA\xc7OS para Rodada Turbo. Pode desativar esta funcionalidade com o bot\xe3o        . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\nSPACE \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e0a\u0e19\u0e30\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21         ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt t\xednh n\u0103ng Quay\nnhanh ho\u1eb7c gi\u1eef ph\xedm C\xc1CH \u0111\u1ec3 nh\u1eadn V\xf2ng quay T\u0103ng\nc\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh n\u0103ng n\xe0y t\u1eeb n\xfat        . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c \u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f\u7a7a\u767d\u9375\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002 \u60a8\u53ef\u4ee5\u900f\u904e         \u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_mobile.Ifyouwantto_3": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold       for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold       for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold       for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener       para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n        . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter      \npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o      . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19 \n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21        \n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21         ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef       \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat       . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f        \n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e        \n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_web.Ifyouwantto_2": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the        button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar el\nQuick Spin o mantener la tecla ESPACIO para la\nTirada Turbo. Puede deshabilitar la funci\xf3n desde\nel bot\xf3n       . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar Rodada R\xe1pida ou manter premida a BARRA DE ESPA\xc7OS para Rodada Turbo. Pode desativar esta funcionalidade com o bot\xe3o        . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19 \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\nSPACE \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e0a\u0e19\u0e30\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21       .",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt t\xednh n\u0103ng Quay\nnhanh ho\u1eb7c gi\u1eef ph\xedm C\xc1CH \u0111\u1ec3 nh\u1eadn V\xf2ng quay T\u0103ng\nc\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh n\u0103ng n\xe0y t\u1eeb n\xfat        . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c \u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f\u7a7a\u767d\u9375\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002 \u60a8\u53ef\u4ee5\u900f\u904e         \u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_web.Ifyouwantto_3": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold SPACE for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{0}' width=36 height=36  align=center/> button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar el\nQuick Spin o mantener la tecla ESPACIO para el\nTirada Turbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n <img src = '{0}' width=36 height=36  align=center/> . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar Rodada\nR\xe1pida ou manter premida a BARRA DE ESPA\xc7OS\npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o <img src = '{0}' width=36 height=36  align=center/> . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\nSPACE \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e0a\u0e19\u0e30\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=36 height=36  align=center/> ",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3\nth\u1ec3 b\u1eadt t\xednh n\u0103ng Quay\nnhanh ho\u1eb7c gi\u1eef ph\xedm C\xc1CH \u0111\u1ec3\nnh\u1eadn V\xf2ng quay T\u0103ng\nc\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh n\u0103ng n\xe0y\nt\u1eeb n\xfat <img src = '{0}' width=36 height=36  align=center/> . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f\u7a7a\u767d\u9375\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\n\u60a8\u53ef\u4ee5\u900f\u904e <img src = '{0}' width=36 height=36  align=center/> \u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_mobile.Ifyouwantto_4": {
          en: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          kh: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          mm: "If you want to play faster, you can enable QUICK SPIN or\nhold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature from the <img src = '{1}' width=36 height=36  align=center/> button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener <img src = '{0}' width=36 height=36  align=center/> para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n <img src = '{1}' width=36 height=36  align=center/> . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter <img src = '{0}' width=36 height=36  align=center/>\npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o <img src = '{1}' width=36 height=36  align=center/> . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=36 height=36  align=center/>\n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{1}' width=36 height=36  align=center/>",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef <img src = '{0}' width=36 height=36  align=center/> \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat <img src = '{1}' width=36 height=36  align=center/>. ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f <img src = '{0}' width=36 height=36  align=center/>\n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e <img src = '{1}' width=36 height=36  align=center/>\n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_mobile.Ifyouwantto_5": {
          en: "If you want to play faster, you can enable\nQUICK SPIN or hold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature\nfrom the <img src = '{1}' width=36 height=36  align=center/> button.",
          kh: "If you want to play faster, you can enable\nQUICK SPIN or hold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature\nfrom the <img src = '{1}' width=36 height=36  align=center/> button.",
          mm: "If you want to play faster, you can enable\nQUICK SPIN or hold <img src = '{0}' width=36 height=36  align=center/> for TURBO SPIN.\n\nYou can disable the feature\nfrom the <img src = '{1}' width=36 height=36  align=center/> button.",
          es: "Si quiere jugar m\xe1s r\xe1pido, puede habilitar\nel Quick Spin o mantener <img src = '{0}' width=36 height=36  align=center/> para el Tirada\nTurbo. Puede deshabilitar la funci\xf3n desde el\nbot\xf3n <img src = '{1}' width=36 height=36  align=center/> . ",
          pt: "Se desejar jogar mais r\xe1pido, pode ativar\nRodada R\xe1pida ou premir e manter <img src = '{0}' width=36 height=36  align=center/>\npara Rodada Turbo. Pode desativar esta\nfuncionalidade com o bot\xe3o <img src = '{1}' width=36 height=36  align=center/> . ",
          thai: "\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e34\u0e01\u0e2a\u0e1b\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <img src = '{0}' width=36 height=36  align=center/>\n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e17\u0e2d\u0e23\u0e37\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 <img src = '{1}' width=36 height=36  align=center/>",
          vn: "N\u1ebfu mu\u1ed1n ch\u01a1i nhanh h\u01a1n, b\u1ea1n c\xf3 th\u1ec3 b\u1eadt\nt\xednh n\u0103ng Quay nhanh ho\u1eb7c gi\u1eef <img src = '{0}' width=36 height=36  align=center/> \u0111\u1ec3 nh\u1eadn\nV\xf2ng quay T\u0103ng c\u01b0\u1eddng. B\u1ea1n c\xf3 th\u1ec3 t\u1eaft t\xednh\nn\u0103ng n\xe0y t\u1eeb n\xfat <img src = '{1}' width=36 height=36  align=center/> . ",
          zh: "\u5982\u679c\u60a8\u60f3\u52a0\u5feb\u904a\u6232\u901f\u5ea6\uff0c\n\u5247\u53ef\u4ee5\u555f\u7528\u5feb\u901f\u65cb\u8f49\u6216\u6309\u4f4f <img src = '{0}' width=36 height=36  align=center/>\n\u958b\u59cb\u6975\u901f\u65cb\u8f49\u3002\u60a8\u53ef\u4ee5\u900f\u904e <img src = '{1}' width=36 height=36  align=center/>\n\u6309\u9215\u7981\u7528\u6b64\u529f\u80fd\u3002 "
        },
        "label_web.InstantBonus": {
          en: "Instant Bonus",
          kh: "Instant Bonus",
          mm: "Instant Bonus",
          es: "Bonus Instant\xe1neo",
          pt: "B\xf3nus Instant\xe2neo",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "Th\u01b0\u1edfng T\u1ee9c th\xec",
          zh: "\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.InstantBonus": {
          en: "Instant Bonus",
          kh: "Instant Bonus",
          mm: "Instant Bonus",
          es: "Bonus Instant\xe1neo",
          pt: "B\xf3nus Instant\xe2neo",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08",
          vn: "Th\u01b0\u1edfng T\u1ee9c th\xec",
          zh: "\u5373\u6642\u734e\u52f5"
        },
        "label_web.Insufficientfundstoplace": {
          en: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          kh: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          mm: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          es: "Fondos insuficientes para realizar esta apuesta. Haga un dep\xf3sito en su cuenta o reduzca el nivel de la apuesta.",
          pt: "Fundos insuficientes para realizar aposta. Adicione fundos \xe0 sua conta ou reduza o montante da aposta.",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e15\u0e34\u0e21\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e25\u0e07",
          vn: "Kh\xf4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 \u0111\u1eb7t c\u01b0\u1ee3c n\xe0y. H\xe3y n\u1ea1p ti\u1ec1n v\xe0o t\xe0i kho\u1ea3n c\u1ee7a b\u1ea1n ho\u1eb7c gi\u1ea3m m\u1ee9c c\u01b0\u1ee3c.",
          zh: "\u8cc7\u91d1\u4e0d\u8db3\uff0c\u7121\u6cd5\u4e0b\u6ce8\u3002 \u8acb\u70ba\u5e33\u6236\u5145\u503c\u6216\u8abf\u4f4e\u8ced\u6ce8\u91d1\u984d\u3002"
        },
        "label_mobile.Insufficientfundstoplace": {
          en: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          kh: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          mm: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          es: "Fondos insuficientes para realizar esta apuesta. Haga un dep\xf3sito en su cuenta o reduzca el nivel de la apuesta.",
          pt: "Fundos insuficientes para realizar aposta. Adicione fundos \xe0 sua conta ou reduza o montante da aposta.",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e15\u0e34\u0e21\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e25\u0e07",
          vn: "Kh\xf4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 \u0111\u1eb7t c\u01b0\u1ee3c n\xe0y. H\xe3y n\u1ea1p ti\u1ec1n v\xe0o t\xe0i kho\u1ea3n c\u1ee7a b\u1ea1n ho\u1eb7c gi\u1ea3m m\u1ee9c c\u01b0\u1ee3c.",
          zh: "\u8cc7\u91d1\u4e0d\u8db3\uff0c\u7121\u6cd5\u4e0b\u6ce8\u3002 \u8acb\u70ba\u5e33\u6236\u5145\u503c\u6216\u8abf\u4f4e\u8ced\u6ce8\u91d1\u984d\u3002"
        },
        "label_mobile.Insufficientfundstoplace_2": {
          en: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          kh: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          mm: "Insufficient funds to place this bet.\nPlease fund your account or lower the bet level.",
          es: "Fondos insuficientes para realizar esta apuesta. Haga un dep\xf3sito en su cuenta o reduzca el nivel de la apuesta.",
          pt: "Fundos insuficientes para realizar aposta. Adicione fundos \xe0 sua conta ou reduza o montante da aposta.",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e15\u0e34\u0e21\u0e40\u0e07\u0e34\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e14\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e25\u0e07",
          vn: "Kh\xf4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 \u0111\u1eb7t c\u01b0\u1ee3c n\xe0y. H\xe3y n\u1ea1p ti\u1ec1n v\xe0o t\xe0i kho\u1ea3n c\u1ee7a b\u1ea1n ho\u1eb7c gi\u1ea3m m\u1ee9c c\u01b0\u1ee3c.",
          zh: "\u8cc7\u91d1\u4e0d\u8db3\uff0c\u7121\u6cd5\u4e0b\u6ce8\u3002 \u8acb\u70ba\u5e33\u6236\u5145\u503c\u6216\u8abf\u4f4e\u8ced\u6ce8\u91d1\u984d\u3002"
        },
        "label_mobile.IntroScreen": {
          en: "Intro Screen",
          kh: "Intro Screen",
          mm: "Intro Screen",
          es: "Pantalla de introducci\xf3n",
          pt: "Ecr\xe3 Intro",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33",
          vn: "M\xe0n h\xecnh gi\u1edbi thi\u1ec7u",
          zh: "\u4ecb\u7d39\u756b\u9762"
        },
        "label_mobile.IntroScreen_2": {
          en: "Intro Screen",
          kh: "Intro Screen",
          mm: "Intro Screen",
          es: "Pantalla de introducci\xf3n",
          pt: "Ecr\xe3 Intro",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1a\u0e17\u0e19\u0e33",
          vn: "M\xe0n h\xecnh gi\u1edbi thi\u1ec7u",
          zh: "\u4ecb\u7d39\u756b\u9762"
        },
        "label_web.JACKPOTBONUSGAME": {
          en: "JACKPOT BONUS GAME",
          kh: "JACKPOT BONUS GAME",
          mm: "JACKPOT BONUS GAME",
          es: "JUEGO JACKPOT BONUS",
          pt: "JOGO B\xd3NUS DE JACKPOT",
          thai: "\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "TR\xd2 CH\u01a0I TH\u01af\u1edeNG JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232"
        },
        "label_mobile.JACKPOTBONUSGAME": {
          en: "JACKPOT BONUS GAME",
          kh: "JACKPOT BONUS GAME",
          mm: "JACKPOT BONUS GAME",
          es: "JUEGO JACKPOT BONUS",
          pt: "JOGO B\xd3NUS DE JACKPOT",
          thai: "\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "TR\xd2 CH\u01a0I TH\u01af\u1edeNG JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232"
        },
        "label_mobile.JACKPOTBONUSGAME_2": {
          en: "JACKPOT BONUS GAME",
          kh: "JACKPOT BONUS GAME",
          mm: "JACKPOT BONUS GAME",
          es: "JUEGO JACKPOT BONUS",
          pt: "JOGO B\xd3NUS DE JACKPOT",
          thai: "\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "TR\xd2 CH\u01a0I TH\u01af\u1edeNG JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232"
        },
        "label_web.JACKPOTRULES": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_web.JACKPOTRULES_2": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_web.JACKPOTRULES_3": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_2": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_3": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_4": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_5": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_6": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS JACKPOTS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_web.JACKPOTRULES_4": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LA PREMIO",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_web.JACKPOTRULES_5": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LA PREMIO",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_7": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS PREMIOS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_8": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS PREMIOS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_9": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS PREMIOS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_mobile.JACKPOTRULES_10": {
          en: "JACKPOT RULES",
          kh: "JACKPOT RULES",
          mm: "JACKPOT RULES",
          es: "REGLAS DE LOS PREMIOS",
          pt: "REGRAS DE JACKPOT",
          thai: "\u0e01\u0e0e\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15",
          vn: "QUY T\u1eaeC JACKPOT",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u898f\u5247"
        },
        "label_web.JOINALL": {
          en: "JOIN ALL",
          kh: "JOIN ALL",
          mm: "JOIN ALL",
          es: "UNIRSE A TODO",
          pt: "ENTRAR EM TUDO",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "THAM GIA T\u1ea4T C\u1ea2",
          zh: "\u52a0\u5165\u5168\u90e8"
        },
        "label_mobile.JOINALL": {
          en: "JOIN ALL",
          kh: "JOIN ALL",
          mm: "JOIN ALL",
          es: "UNIRSE A TODO",
          pt: "ENTRAR EM TUDO",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "THAM GIA T\u1ea4T C\u1ea2",
          zh: "\u52a0\u5165\u5168\u90e8"
        },
        "label_mobile.JOINALL_2": {
          en: "JOIN ALL",
          kh: "JOIN ALL",
          mm: "JOIN ALL",
          es: "UNIRSE A TODO",
          pt: "ENTRAR EM TUDO",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "THAM GIA T\u1ea4T C\u1ea2",
          zh: "\u52a0\u5165\u5168\u90e8"
        },
        "label_web.JOINNOW": {
          en: "JOIN NOW",
          kh: "JOIN NOW",
          mm: "JOIN NOW",
          es: "UNIRSE AHORA ",
          pt: "ACEITAR AGORA ",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49 ",
          vn: "THAM GIA NGAY ",
          zh: "\u7acb\u5373\u52a0\u5165 "
        },
        "label_web.JOINNOW_2": {
          en: "JOIN NOW",
          kh: "JOIN NOW",
          mm: "JOIN NOW",
          es: "UNIRSE AHORA ",
          pt: "ACEITAR AGORA ",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49 ",
          vn: "THAM GIA NGAY ",
          zh: "\u7acb\u5373\u52a0\u5165 "
        },
        "label_mobile.JOINNOW": {
          en: "JOIN NOW",
          kh: "JOIN NOW",
          mm: "JOIN NOW",
          es: "UNIRSE AHORA ",
          pt: "ACEITAR AGORA ",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49 ",
          vn: "THAM GIA NGAY ",
          zh: "\u7acb\u5373\u52a0\u5165 "
        },
        "label_mobile.JOINNOW_2": {
          en: "JOIN NOW",
          kh: "JOIN NOW",
          mm: "JOIN NOW",
          es: "UNIRSE AHORA ",
          pt: "ACEITAR AGORA ",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49 ",
          vn: "THAM GIA NGAY ",
          zh: "\u7acb\u5373\u52a0\u5165 "
        },
        "label_mobile.JOINNOW_3": {
          en: "JOIN NOW",
          kh: "JOIN NOW",
          mm: "JOIN NOW",
          es: "UNIRSE AHORA ",
          pt: "ACEITAR AGORA ",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49 ",
          vn: "THAM GIA NGAY ",
          zh: "\u7acb\u5373\u52a0\u5165 "
        },
        "label_web.Jackpotclosed": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_web.Jackpotclosed_2": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_web.Jackpotclosed_3": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_web.Jackpotclosed_4": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_web.Jackpotclosed_5": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_2": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_3": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_4": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_5": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_6": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_7": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_8": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_9": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_mobile.Jackpotclosed_10": {
          en: "Jackpot closed",
          kh: "Jackpot closed",
          mm: "Jackpot closed",
          es: "Jackpot cerrado",
          pt: "Jackpot fechado",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Jackpot \u0111\xe3 \u0111\xf3ng",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u5df2\u7d50\u675f"
        },
        "label_web.Jackpotmaybetemporarily": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como """"Jackpot cerrado"""". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_web.Jackpotmaybetemporarily_2": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como "Jackpot cerrado". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como "Jackpot fechado". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 "Jackpot closed" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 "Jackpot \u0111\xe3 \u0111\xf3ng". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como """"Jackpot cerrado"""". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily_2": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como """"Jackpot cerrado"""". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e \u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1 \u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08 \u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily_3": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como "Jackpot cerrado". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como "Jackpot fechado". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 "Jackpot closed" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 "Jackpot \u0111\xe3 \u0111\xf3ng". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily_4": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Jackpot podr\xeda estar temporalmente deshabilitado. Cuando los jackpots se deshabilitan, todas las contribuciones al mismo se detienen y los jackpots se marcan como "Jackpot cerrado". El importe acumulado antes del cierre permanece en el Jackpot y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como "Jackpot fechado". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\n\u0e31\u0e1a\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 "Jackpot closed" \n\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\n\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 "Jackpot \u0111\xe3 \u0111\xf3ng". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\n\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\n\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\n\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_web.Jackpotmaybetemporarily_3": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Premio podr\xeda estar temporalmente deshabilitado. Cuando los premios se deshabilitan, todas las contribuciones al mismo se detienen y los premios se marcan como "Premio cerrado". El importe acumulado antes del cierre permanece en el Premio y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily_5": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Premio podr\xeda estar temporalmente deshabilitado. Cuando los premios se deshabilitan, todas las contribuciones al mismo se detienen y los premios se marcan como """"Premio cerrado"""". El importe acumulado antes del cierre permanece en el Premio y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_mobile.Jackpotmaybetemporarily_6": {
          en: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          kh: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          mm: 'Jackpot may be temporarily shut down. When the jackpots are shut down, all contributions are stopped and the jackpots are marked as "Jackpot closed". The amount accumulated before shut down remains in the Jackpot and will be available for winning after the jackpots are resumed.',
          es: 'El Premio podr\xeda estar temporalmente deshabilitado. Cuando los premios se deshabilitan, todas las contribuciones al mismo se detienen y los premios se marcan como """"Premio cerrado"""". El importe acumulado antes del cierre permanece en el Premio y estar\xe1 disponible para ser ganado tras ser de nuevo habilitado.',
          pt: 'O Jackpot pode ser desligado temporariamente. Quando os jackpots est\xe3o desligados, todas as contribui\xe7\xf5es s\xe3o interrompidas e os jackpots s\xe3o marcados como """"Jackpot fechado"""". O montante acumulado antes do desligamento permanece no jackpot e estar\xe1 dispon\xedvel para ganhar quando os jackpots forem retomados.',
          thai: '\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e2d\u0e32\u0e08\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e07\u0e31\u0e1a\n\u0e41\u0e25\u0e30\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e16\u0e39\u0e01\u0e17\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 """"Jackpot closed"""" \u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e2a\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14\u0e08\u0e30\u0e22\u0e31\u0e07\u0e04\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e25\u0e30\u0e08\u0e30\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2a\u0e33\n\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e21\u0e35\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d',
          vn: 'Jackpot c\xf3 th\u1ec3 t\u1ea1m th\u1eddi b\u1ecb t\u1eaft. Khi jackpot b\u1ecb t\u1eaft, t\u1ea5t c\u1ea3 ph\u1ea7n \u0111\xf3ng g\xf3p b\u1ecb d\u1eebng v\xe0 jackpot \u0111\u01b0\u1ee3c \u0111\xe1nh d\u1ea5u l\xe0 """"Jackpot \u0111\xe3 \u0111\xf3ng"""". S\u1ed1 l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c t\xedch l\u0169y tr\u01b0\u1edbc khi t\u1eaft \u0111\u01b0\u1ee3c duy tr\xec trong Jackpot v\xe0 s\u1ebd s\u1eb5n c\xf3 \u0111\u1ec3 gi\xe0nh chi\u1ebfn th\u1eafng sau khi jackpot \u0111\u01b0\u1ee3c ti\u1ebfp t\u1ee5c l\u1ea1i.',
          zh: "\u7d2f\u7a4d\u734e\u91d1\u6703\u88ab\u66ab\u6642\u95dc\u9589\u3002 \u7576\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u5c07\u505c\u6b62\u6240\u6709\u7684\u734e\u91d1\u8ca2\u737b\uff0c\u7d2f\u7a4d\u734e\u91d1\u5c07\u6a19\u8a18\u70ba\u300c\u7d2f\u7a4d\u734e\u91d1\u5df2\u95dc\u9589\u300d\u3002 \u95dc\u9589\u4e4b\u524d\u7684\u7d2f\u7a4d\u91d1\u984d\u4ecd\u6703\u8a08\u5165\u7d2f\u7a4d\u734e\u91d1\uff0c\u4e26\u5c07\u5728\u7d2f\u7a4d\u734e\u91d1\u6062\u5fa9\u5f8c\u7528\u4f5c\u734e\u91d1\u3002"
        },
        "label_web.LATESTWINS": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_web.LATESTWINS_2": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_mobile.LATESTWINS": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_mobile.LATESTWINS_2": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_mobile.LATESTWINS_3": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_mobile.LATESTWINS_4": {
          en: "LATEST WINS",
          kh: "LATEST WINS",
          mm: "LATEST WINS",
          es: "\xdaLTIMOS PREMIOS",
          pt: "\xdaLTIMAS VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "CHI\u1ebeN TH\u1eaeNG M\u1edaI NH\u1ea4T",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_web.LEADERBOARD": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP H\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_web.LEADERBOARD_2": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP H\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_mobile.LEADERBOARD": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP H\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_mobile.LEADERBOARD_2": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP\nH\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_mobile.LEADERBOARD_3": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP H\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_mobile.LEADERBOARD_4": {
          en: "LEADERBOARD",
          kh: "LEADERBOARD",
          mm: "LEADERBOARD",
          es: "CLASIFICACI\xd3N",
          pt: "TABELA",
          thai: "\u0e15\u0e32\u0e23\u0e32\u0e07\u0e1c\u0e39\u0e49\u0e19\u0e33",
          vn: "B\u1ea2NG X\u1ebeP H\u1ea0NG",
          zh: "\u6392\u884c\u699c"
        },
        "label_web.LINE": {
          en: "LINE",
          kh: "LINE",
          mm: "LINE",
          es: "LA L\xcdNEA",
          pt: "LINHA",
          thai: "\u0e41\u0e16\u0e27",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINE": {
          en: "LINE",
          kh: "LINE",
          mm: "LINE",
          es: "LA L\xcdNEA",
          pt: "LINHA",
          thai: "\u0e41\u0e16\u0e27",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINE_2": {
          en: "LINE",
          kh: "LINE",
          mm: "LINE",
          es: "LA L\xcdNEA",
          pt: "LINHA",
          thai: "\u0e41\u0e16\u0e27",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINE_3": {
          en: "LINE",
          kh: "LINE",
          mm: "LINE",
          es: "LA L\xcdNEA",
          pt: "LINHA",
          thai: "\u0e41\u0e16\u0e27",
          vn: "C\u01af\u1ee2C",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINE15PAYS3345": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_mobile.LINE15PAYS3345_2": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_mobile.LINE15PAYS3345_3": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_mobile.LINE15PAYS3345_4": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_mobile.LINE15PAYS3345_5": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_mobile.LINE15PAYS3345_6": {
          en: "LINE 15 PAYS 3345",
          kh: "LINE 15 PAYS 3345",
          mm: "LINE 15 PAYS 3345",
          es: "LINE 15 PAYS 3345",
          pt: "LINE 15 PAYS 3345",
          thai: "LINE 15 PAYS 3345",
          vn: "LINE 15 PAYS 3345",
          zh: "LINE 15 PAYS 3345"
        },
        "label_web.LINES": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "TUY\u1ebeN",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_web.LINES_2": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_web.LINES_3": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "TUY\u1ebeN",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES_2": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "TUY\u1ebeN",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES_3": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES_4": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES_5": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_mobile.LINES_6": {
          en: "LINES",
          kh: "LINES",
          mm: "LINES",
          es: "L\xcdNEAS",
          pt: "LINHAS",
          thai: "\u0e41\u0e16\u0e27",
          vn: "H\xc0NG",
          zh: "\u8ce0\u4ed8\u7dda"
        },
        "label_web.LIVECASINO": {
          en: "LIVE CASINO",
          kh: "LIVE CASINO",
          mm: "LIVE CASINO",
          es: "LIVE CASINO",
          pt: "CASINO AO VIVO",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xd2NG B\u1ea0C TR\u1ef0C TUY\u1ebeN",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LIVECASINO": {
          en: "LIVE CASINO",
          kh: "LIVE CASINO",
          mm: "LIVE CASINO",
          es: "LIVE CASINO",
          pt: "CASINO AO VIVO",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xd2NG B\u1ea0C TR\u1ef0C TUY\u1ebeN",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LOCKTOKEEPSPIN": {
          en: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          kh: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          mm: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          es: "BLOQUEE PARA MANTENER EL BOT\xd3N DE TIRADA EN LA POSICI\xd3N ACTUAL",
          pt: "BLOQUEIA PARA MANTER O BOT\xc3O DE RODAR NA POSI\xc7\xc3O ATUAL",
          thai: "\u0e25\u0e47\u0e2d\u0e04\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e1b\u0e38\u0e48\u0e21\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19",
          vn: "KH\xd3A \u0110\u1ec2 GI\u1eee N\xdaT QUAY \u1ede V\u1eca TR\xcd HI\u1ec6N T\u1ea0I",
          zh: "\u9396\u5b9a\u4ee5\u4fbf\u8b93\u65cb\u8f49 \u6309\u9375\u7559\u5728\u76ee\u524d\u4f4d\u7f6e"
        },
        "label_mobile.LOCKTOKEEPSPIN_2": {
          en: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          kh: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          mm: "LOCK TO KEEP SPIN BUTTON IN THE CURRENT POSITION",
          es: "BLOQUEE PARA MANTENER EL BOT\xd3N DE TIRADA EN LA POSICI\xd3N ACTUAL",
          pt: "BLOQUEIA PARA MANTER O BOT\xc3O DE RODAR NA POSI\xc7\xc3O ATUAL",
          thai: "\u0e25\u0e47\u0e2d\u0e04\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e1b\u0e38\u0e48\u0e21\u0e2b\u0e21\u0e38\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19",
          vn: "KH\xd3A \u0110\u1ec2 GI\u1eee N\xdaT QUAY \u1ede V\u1eca TR\xcd HI\u1ec6N T\u1ea0I",
          zh: "\u9396\u5b9a\u4ee5\u4fbf\u8b93\u65cb\u8f49 \u6309\u9375\u7559\u5728\u76ee\u524d\u4f4d\u7f6e"
        },
        "label_web.LastPlayedGames": {
          en: "Last Played Games",
          kh: "Last Played Games",
          mm: "Last Played Games",
          es: "\xdaltimos Juegos Jugados",
          pt: "\xdaltimos jogos jogados",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e40\u0e25\u0e48\u0e19\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i g\u1ea7n nh\u1ea5t",
          zh: "\u4e0a\u6b21\u73a9\u7684\u904a\u6232"
        },
        "label_mobile.LastPlayedGames": {
          en: "Last Played Games",
          kh: "Last Played Games",
          mm: "Last Played Games",
          es: "\xdaltimos Juegos Jugados",
          pt: "\xdaltimos jogos jogados",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e40\u0e25\u0e48\u0e19\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i g\u1ea7n nh\u1ea5t",
          zh: "\u4e0a\u6b21\u73a9\u7684\u904a\u6232"
        },
        "label_mobile.LastPlayedGames_2": {
          en: "Last Played Games",
          kh: "Last Played Games",
          mm: "Last Played Games",
          es: "\xdaltimos Juegos Jugados",
          pt: "\xdaltimos jogos jogados",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e40\u0e25\u0e48\u0e19\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i g\u1ea7n nh\u1ea5t",
          zh: "\u4e0a\u6b21\u73a9\u7684\u904a\u6232"
        },
        "label_web.LatestWins": {
          en: "Latest Wins",
          kh: "Latest Wins",
          mm: "Latest Wins",
          es: "\xdaltimos premios",
          pt: "\xdaltimos pr\xe9mios",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "Th\u1eafng g\u1ea7n nh\u1ea5t",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_mobile.LatestWins": {
          en: "Latest Wins",
          kh: "Latest Wins",
          mm: "Latest Wins",
          es: "\xdaltimos premios",
          pt: "\xdaltimos pr\xe9mios",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14",
          vn: "Th\u1eafng g\u1ea7n nh\u1ea5t",
          zh: "\u6700\u8fd1\u734e\u91d1"
        },
        "label_web.Link": {
          en: "Link",
          kh: "Link",
          mm: "Link",
          es: "Enlace",
          pt: "Liga\xe7\xe3o",
          thai: "\u0e25\u0e34\u0e07\u0e01\u0e4c",
          vn: "Li\xean k\u1ebft",
          zh: "\u9023\u7d50"
        },
        "label_web.Linkcopied": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_2": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_3": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_4": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_5": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_6": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_7": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_8": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_9": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.Linkcopied_10": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_mobile.Linkcopied": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_mobile.Linkcopied_2": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_mobile.Linkcopied_3": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_mobile.Linkcopied_4": {
          en: "Link copied!",
          kh: "Link copied!",
          mm: "Link copied!",
          es: "\xa1Enlace copiado!",
          pt: "Liga\xe7\xe3o copiada!\nWinX",
          thai: "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e41\u0e25\u0e49\u0e27!",
          vn: "\u0110\xe3 sao ch\xe9p li\xean k\u1ebft!",
          zh: "\u9023\u7d50\u5df2\u8907\u88fd\uff01"
        },
        "label_web.LiveCasino": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_web.LiveCasino_2": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LiveCasino": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LiveCasino_2": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LiveCasino_3": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_mobile.LiveCasino_4": {
          en: "Live Casino",
          kh: "Live Casino",
          mm: "Live Casino",
          es: "Live Casino",
          pt: "Casino ao vivo",
          thai: "\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19\u0e2a\u0e14",
          vn: "S\xf2ng b\u1ea1c tr\u1ef1c tuy\u1ebfn",
          zh: "\u73fe\u5834\u5a1b\u6a02\u5834"
        },
        "label_web.MAINGAMEINTERFACE": {
          en: "MAIN GAME INTERFACE",
          kh: "MAIN GAME INTERFACE",
          mm: "MAIN GAME INTERFACE",
          es: "INTERFAZ DEL JUEGO PRINCIPAL",
          pt: "INTERFACE PRINCIPAL DO JOGO",
          thai: "\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "GIAO DI\u1ec6N TR\xd2 CH\u01a0I CH\xcdNH",
          zh: "\u4e3b\u904a\u6232\u4ecb\u9762"
        },
        "label_web.MAXIMUMBET": {
          en: "MAXIMUM BET: {0}",
          kh: "MAXIMUM BET: {0}",
          mm: "MAXIMUM BET: {0}",
          es: "APUESTA M\xc1XIMA: {0}",
          pt: "APOSTA M\xc1XIMA: {0}",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14: {0}",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A: {0}",
          zh: "\u6700\u5927\u8ced\u6ce8\uff1a {0}"
        },
        "label_mobile.MAXIMUMBET": {
          en: "MAXIMUM BET:",
          kh: "MAXIMUM BET:",
          mm: "MAXIMUM BET:",
          es: "APUESTA M\xc1XIMA:",
          pt: "APOSTA M\xc1XIMA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14:",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A:",
          zh: "\u6700\u5927\u8ced\u6ce8\uff1a"
        },
        "label_mobile.MAXIMUMBET_2": {
          en: "MAXIMUM BET:",
          kh: "MAXIMUM BET:",
          mm: "MAXIMUM BET:",
          es: "APUESTA M\xc1XIMA:",
          pt: "APOSTA M\xc1XIMA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14:",
          vn: "C\u01af\u1ee2C T\u1ed0I \u0110A:",
          zh: "\u6700\u5927\u8ced\u6ce8\uff1a"
        },
        "label_mobile.MEGAJACKPOT": {
          en: "MEGA JACKPOT:",
          kh: "MEGA JACKPOT:",
          mm: "MEGA JACKPOT:",
          es: "MEGA JACKPOT:",
          pt: "MEGA JACKPOT:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e2b\u0e32\u0e28\u0e32\u0e25",
          vn: "JACKPOT MEGA",
          zh: "\u7d2f\u7a4d\u5de8\u5927\u734e\uff1a"
        },
        "label_mobile.MEGAJACKPOT_2": {
          en: "MEGA JACKPOT:",
          kh: "MEGA JACKPOT:",
          mm: "MEGA JACKPOT:",
          es: "MEGA JACKPOT:",
          pt: "MEGA JACKPOT:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e2b\u0e32\u0e28\u0e32\u0e25",
          vn: "JACKPOT MEGA",
          zh: "\u7d2f\u7a4d\u5de8\u5927\u734e\uff1a"
        },
        "label_web.MEGAWIN": {
          en: "MEGA WIN",
          kh: "MEGA WIN",
          mm: "MEGA WIN",
          es: "MEGA VICTORIA",
          pt: "MEGA PR\xc9MIO",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e22\u0e35\u0e48\u0e22\u0e21",
          vn: "TH\u1eaeNG L\u1edaN",
          zh: "\u7121\u6575\u7372\u52dd"
        },
        "label_mobile.MEGAWIN": {
          en: "MEGA WIN",
          kh: "MEGA WIN",
          mm: "MEGA WIN",
          es: "MEGA VICTORIA",
          pt: "MEGA PR\xc9MIO",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e22\u0e35\u0e48\u0e22\u0e21",
          vn: "TH\u1eaeNG L\u1edaN",
          zh: "\u7121\u6575\u7372\u52dd"
        },
        "label_mobile.MEGAWIN_2": {
          en: "MEGA WIN",
          kh: "MEGA WIN",
          mm: "MEGA WIN",
          es: "MEGA VICTORIA",
          pt: "MEGA PR\xc9MIO",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e22\u0e35\u0e48\u0e22\u0e21",
          vn: "TH\u1eaeNG L\u1edaN",
          zh: "\u7121\u6575\u7372\u52dd"
        },
        "label_mobile.MEGAWIN_3": {
          en: "MEGA WIN",
          kh: "MEGA WIN",
          mm: "MEGA WIN",
          es: "MEGA VICTORIA",
          pt: "MEGA PR\xc9MIO",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e22\u0e35\u0e48\u0e22\u0e21",
          vn: "TH\u1eaeNG L\u1edaN",
          zh: "\u7121\u6575\u7372\u52dd"
        },
        "label_mobile.MENU": {
          en: "MENU",
          kh: "MENU",
          mm: "MENU",
          es: "MEN\xda",
          pt: "MENU",
          thai: "\u0e40\u0e21\u0e19\u0e39",
          vn: "MENU",
          zh: "\u529f\u80fd\u8868"
        },
        "label_mobile.MENU_2": {
          en: "MENU",
          kh: "MENU",
          mm: "MENU",
          es: "MEN\xda",
          pt: "MENU",
          thai: "\u0e40\u0e21\u0e19\u0e39",
          vn: "MENU",
          zh: "\u529f\u80fd\u8868"
        },
        "label_mobile.MENU_3": {
          en: "MENU",
          kh: "MENU",
          mm: "MENU",
          es: "MEN\xda",
          pt: "MENU",
          thai: "\u0e40\u0e21\u0e19\u0e39",
          vn: "MENU",
          zh: "\u529f\u80fd\u8868"
        },
        "label_mobile.MENU_4": {
          en: "MENU",
          kh: "MENU",
          mm: "MENU",
          es: "MEN\xda",
          pt: "MENU",
          thai: "\u0e40\u0e21\u0e19\u0e39",
          vn: "MENU",
          zh: "\u529f\u80fd\u8868"
        },
        "label_web.MESSAGE": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_2": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_3": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_4": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_5": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_6": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_web.MESSAGE_7": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_2": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_3": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_4": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_5": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_6": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_7": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_8": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_9": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_10": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_11": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_12": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_13": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_14": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MESSAGE",
          pt: "MESSAGE",
          thai: "MESSAGE",
          vn: "MESSAGE",
          zh: "MESSAGE"
        },
        "label_mobile.MESSAGE_15": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_16": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_17": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_18": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_19": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_20": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_21": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_22": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_mobile.MESSAGE_23": {
          en: "MESSAGE",
          kh: "MESSAGE",
          mm: "MESSAGE",
          es: "MENSAJE",
          pt: "MENSAGEM",
          thai: "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
          vn: "TIN NH\u1eaeN",
          zh: "\u8a0a\u606f"
        },
        "label_web.MINIMUMBET": {
          en: "MINIMUM BET: {0}",
          kh: "MINIMUM BET: {0}",
          mm: "MINIMUM BET: {0}",
          es: "APUESTA M\xcdNIMA: {0}",
          pt: "APOSTA M\xcdNIMA: {0}",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14: {0}",
          vn: "C\u01af\u1ee2C T\u1ed0I THI\u1ec2U: {0}",
          zh: "\u6700\u5c0f\u8ced\u6ce8\uff1a {0}"
        },
        "label_mobile.MINIMUMBET": {
          en: "MINIMUM BET:",
          kh: "MINIMUM BET:",
          mm: "MINIMUM BET:",
          es: "APUESTA M\xcdNIMA:",
          pt: "APOSTA M\xcdNIMA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14:",
          vn: "C\u01af\u1ee2C T\u1ed0I THI\u1ec2U:",
          zh: "\u6700\u5c0f\u8ced\u6ce8\uff1a"
        },
        "label_mobile.MINIMUMBET_2": {
          en: "MINIMUM BET:",
          kh: "MINIMUM BET:",
          mm: "MINIMUM BET:",
          es: "APUESTA M\xcdNIMA:",
          pt: "APOSTA M\xcdNIMA:",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14:",
          vn: "C\u01af\u1ee2C T\u1ed0I THI\u1ec2U:",
          zh: "\u6700\u5c0f\u8ced\u6ce8\uff1a"
        },
        "label_web.MINS": {
          en: "MINS",
          kh: "MINS",
          mm: "MINS",
          es: "MINS",
          pt: "MIN",
          thai: "\u0e19\u0e32\u0e17\u0e35",
          vn: "PH\xdaT",
          zh: "\u5206\u9418"
        },
        "label_mobile.MINS": {
          en: "MINS",
          kh: "MINS",
          mm: "MINS",
          es: "MINS",
          pt: "MIN",
          thai: "\u0e19\u0e32\u0e17\u0e35",
          vn: "PH\xdaT",
          zh: "\u5206\u9418"
        },
        "label_web.MOREGAMESFROMPRAGMATIC": {
          en: "MORE GAMES FROM PRAGMATIC PLAY",
          kh: "MORE GAMES FROM PRAGMATIC PLAY",
          mm: "MORE GAMES FROM PRAGMATIC PLAY",
          es: "M\xc1S JUEGOS DE PRAGMATIC PLAY",
          pt: "MAIS JOGOS DA PRAGMATIC PLAY",
          thai: "\u0e40\u0e01\u0e21\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e08\u0e32\u0e01 PRAGMATIC PLAY",
          vn: "TR\xd2 CH\u01a0I KH\xc1C T\u1eea PRAGMATIC PLAY",
          zh: "PRAGMATIC PLAY \u7684\u66f4\u591a\u904a\u6232"
        },
        "label_mobile.MOREGAMESFROMPRAGMATIC": {
          en: "MORE GAMES FROM PRAGMATIC PLAY",
          kh: "MORE GAMES FROM PRAGMATIC PLAY",
          mm: "MORE GAMES FROM PRAGMATIC PLAY",
          es: "M\xc1S JUEGOS DE PRAGMATIC PLAY",
          pt: "MAIS JOGOS DA PRAGMATIC PLAY",
          thai: "\u0e40\u0e01\u0e21\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e08\u0e32\u0e01 PRAGMATIC PLAY",
          vn: "TR\xd2 CH\u01a0I KH\xc1C T\u1eea PRAGMATIC PLAY",
          zh: "PRAGMATIC PLAY \u7684\u66f4\u591a\u904a\u6232"
        },
        "label_mobile.MOREGAMESFROMPRAGMATIC_2": {
          en: "MORE GAMES FROM PRAGMATIC PLAY",
          kh: "MORE GAMES FROM PRAGMATIC PLAY",
          mm: "MORE GAMES FROM PRAGMATIC PLAY",
          es: "M\xc1S JUEGOS DE PRAGMATIC PLAY",
          pt: "MAIS JOGOS DA PRAGMATIC PLAY",
          thai: "\u0e40\u0e01\u0e21\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e08\u0e32\u0e01 PRAGMATIC PLAY",
          vn: "TR\xd2 CH\u01a0I KH\xc1C T\u1eea PRAGMATIC PLAY",
          zh: "PRAGMATIC PLAY \u7684\u66f4\u591a\u904a\u6232"
        },
        "label_web.MULTIPLIER": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.MULTIPLIER_2": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_2": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_3": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_4": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_5": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_6": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.MULTIPLIER_3": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.MULTIPLIER_4": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_7": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.MULTIPLIER_8": {
          en: "MULTIPLIER",
          kh: "MULTIPLIER",
          mm: "MULTIPLIER",
          es: "MULTIPLICADOR",
          pt: "MULTIPLICADOR",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed0 L\u1ea6N",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.MYTOPWINS": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_web.MYTOPWINS_2": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_mobile.MYTOPWINS": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_mobile.MYTOPWINS_2": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_mobile.MYTOPWINS_3": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_mobile.MYTOPWINS_4": {
          en: "MY TOP WINS",
          kh: "MY TOP WINS",
          mm: "MY TOP WINS",
          es: "MIS MEJORES PREMIOS",
          pt: "MAIORES VIT\xd3RIAS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "CHI\u1ebeN TH\u1eaeNG H\xc0NG \u0110\u1ea6U C\u1ee6A T\xd4I",
          zh: "\u6211\u7684\u6700\u9ad8\u734e\u91d1"
        },
        "label_web.Malfunctionvoidsallpays": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays_2": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_web.Malfunctionvoidsallpays_2": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_web.Malfunctionvoidsallpays_3": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays_3": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays_4": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays_5": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_mobile.Malfunctionvoidsallpays_6": {
          en: "Malfunction voids all pays and plays.",
          kh: "Malfunction voids all pays and plays.",
          mm: "Malfunction voids all pays and plays.",
          es: "En caso de funcionamiento err\xf3neo, se anular\xe1n todos los pagos y las jugadas.",
          pt: "Uma avaria anula todos os pagamentos e jogadas.",
          thai: "\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30",
          vn: "Trong tr\u01b0\u1eddng h\u1ee3p s\u1ef1 c\u1ed1 c\xe1c c\u01b0\u1ee3c v\xe0 thanh to\xe1n s\u1ebd \u0111\u01b0\u1ee3c h\u1ee7y.",
          zh: "\u6545\u969c\u6703\u4f7f\u6240\u6709\u8ce0\u4ed8\u53ca\u904a\u6232\u7121\u6548\u3002"
        },
        "label_web.Maxwin0xOdds": {
          en: "Max win: {0}x. Odds 1:{1}",
          kh: "Max win: {0}x. Odds 1:{1}",
          mm: "Max win: {0}x. Odds 1:{1}",
          es: "Premio m\xe1x: {0}x. Probabilidades 1:{1}",
          pt: "Pr\xe9mio M\xe1x.: {0}x. Odds 1:{1}",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14: {0}x. \u0e2d\u0e31\u0e15\u0e23\u0e32\u0e15\u0e48\u0e2d\u0e23\u0e2d\u0e07 1:{1} ",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a: {0}x. T\u1ef7 l\u1ec7 c\u01b0\u1ee3c 1:{1}",
          zh: "\u6700\u5927\u734e\u91d1\uff1a{0}x\u3002\u8ce0\u73871\uff1a{1}"
        },
        "label_mobile.Maxwin0xOdds": {
          en: "Max win: {0}x. Odds 1:{1}",
          kh: "Max win: {0}x. Odds 1:{1}",
          mm: "Max win: {0}x. Odds 1:{1}",
          es: "Premio m\xe1x: {0}x. Probabilidades 1:{1}",
          pt: "Pr\xe9mio M\xe1x.: {0}x. Odds 1:{1}",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14: {0}x. \u0e2d\u0e31\u0e15\u0e23\u0e32\u0e15\u0e48\u0e2d\u0e23\u0e2d\u0e07 1:{1} ",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a: {0}x. T\u1ef7 l\u1ec7 c\u01b0\u1ee3c 1:{1}",
          zh: "\u6700\u5927\u734e\u91d1\uff1a{0}x\u3002\u8ce0\u73871\uff1a{1}"
        },
        "label_mobile.Maxwin0xOdds_2": {
          en: "Max win: {0}x. Odds 1:{1}",
          kh: "Max win: {0}x. Odds 1:{1}",
          mm: "Max win: {0}x. Odds 1:{1}",
          es: "Premio m\xe1x: {0}x. Probabilidades 1:{1}",
          pt: "Pr\xe9mio M\xe1x.: {0}x. Odds 1:{1}",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14: {0}x. \u0e2d\u0e31\u0e15\u0e23\u0e32\u0e15\u0e48\u0e2d\u0e23\u0e2d\u0e07 1:{1} ",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a: {0}x. T\u1ef7 l\u1ec7 c\u01b0\u1ee3c 1:{1}",
          zh: "\u6700\u5927\u734e\u91d1\uff1a{0}x\u3002\u8ce0\u73871\uff1a{1}"
        },
        "label_web.Mediumvolatilitygamespay": {
          en: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          kh: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          mm: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          es: "Los juegos de volatilidad media pagan a un ritmo constante y el rango de pagos var\xeda de bajo a muy alto",
          pt: "Os jogos de m\xe9dia volatilidade pagam mais uniformemente e o leque de pagamentos varia de baixo a muito alto",
          thai: "\u0e40\u0e01\u0e21\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e31\u0e19\u0e1c\u0e27\u0e19\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e21\u0e48\u0e33\u0e40\u0e2a\u0e21\u0e2d\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e27\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e08\u0e32\u0e01\u0e15\u0e48\u0e33\u0e44\u0e1b\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01",
          vn: "Tr\xf2 ch\u01a1i c\xf3 t\xednh b\u1ea5t \u1ed5n trung b\xecnh tr\u1ea3 th\u01b0\u1edfng \u1ed5n \u0111\u1ecbnh v\xe0 h\xe0ng lo\u1ea1t h\xe0ng ch\u01a1i kh\xe1c nhau t\u1eeb th\u1ea5p \u0111\u1ebfn r\u1ea5t cao",
          zh: "\u6ce2\u52d5\u6027\u9069\u4e2d\u7684\u904a\u6232\u8ce0\u4ed8\u7684\u91d1\u984d\u8f03\u70ba\u7a69\u5b9a\uff0c\u8ce0\u4ed8\u7684\u7bc4\u570d\u5f9e\u4f4e\u5230\u6975\u9ad8\u4e0d\u7b49"
        },
        "label_mobile.Mediumvolatilitygamespay": {
          en: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          kh: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          mm: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          es: "Los juegos de volatilidad media pagan a un ritmo constante y el rango de pagos var\xeda de bajo a muy alto",
          pt: "Os jogos de m\xe9dia volatilidade pagam mais uniformemente e o leque de pagamentos varia de baixo a muito alto",
          thai: "\u0e40\u0e01\u0e21\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e31\u0e19\u0e1c\u0e27\u0e19\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e21\u0e48\u0e33\u0e40\u0e2a\u0e21\u0e2d\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e27\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e08\u0e32\u0e01\u0e15\u0e48\u0e33\u0e44\u0e1b\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01",
          vn: "Tr\xf2 ch\u01a1i c\xf3 t\xednh b\u1ea5t \u1ed5n trung b\xecnh tr\u1ea3 th\u01b0\u1edfng \u1ed5n \u0111\u1ecbnh v\xe0 h\xe0ng lo\u1ea1t h\xe0ng ch\u01a1i kh\xe1c nhau t\u1eeb th\u1ea5p \u0111\u1ebfn r\u1ea5t cao",
          zh: "\u6ce2\u52d5\u6027\u9069\u4e2d\u7684\u904a\u6232\u8ce0\u4ed8\u7684\u91d1\u984d\u8f03\u70ba\u7a69\u5b9a\uff0c\u8ce0\u4ed8\u7684\u7bc4\u570d\u5f9e\u4f4e\u5230\u6975\u9ad8\u4e0d\u7b49"
        },
        "label_mobile.Mediumvolatilitygamespay_2": {
          en: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          kh: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          mm: "Medium volatility games pay out steadily and the range of pays varies from low to very high.",
          es: "Los juegos de volatilidad media pagan a un ritmo constante y el rango de pagos var\xeda de bajo a muy alto",
          pt: "Os jogos de m\xe9dia volatilidade pagam mais uniformemente e o leque de pagamentos varia de baixo a muito alto.",
          thai: "\u0e40\u0e01\u0e21\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e31\u0e19\u0e1c\u0e27\u0e19\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e21\u0e48\u0e33\u0e40\u0e2a\u0e21\u0e2d\n\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e27\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e1b\u0e08\u0e32\u0e01\u0e15\u0e48\u0e33\u0e44\u0e1b\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01",
          vn: "Tr\xf2 ch\u01a1i c\xf3 t\xednh b\u1ea5t \u1ed5n trung b\xecnh tr\u1ea3 th\u01b0\u1edfng \u1ed5n \u0111\u1ecbnh v\xe0 h\xe0ng lo\u1ea1t h\xe0ng ch\u01a1i kh\xe1c nhau t\u1eeb th\u1ea5p \u0111\u1ebfn r\u1ea5t cao",
          zh: "\u6ce2\u52d5\u6027\u9069\u4e2d\u7684\u904a\u6232\u8ce0\u4ed8\u7684\u91d1\u984d\u8f03\u70ba\u7a69\u5b9a\uff0c\n\u8ce0\u4ed8\u7684\u7bc4\u570d\u5f9e\u4f4e\u5230\u6975\u9ad8\u4e0d\u7b49"
        },
        "label_web.Multiplier": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.Multiplier_2": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.Multiplier_3": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.Multiplier_4": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.Multiplier_5": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_2": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_3": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_4": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_5": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_6": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_7": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_mobile.Multiplier_8": {
          en: "Multiplier",
          kh: "Multiplier",
          mm: "Multiplier",
          es: "Multiplicador",
          pt: "Multiplicador",
          thai: "\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13",
          vn: "S\u1ed1 nh\xe2n",
          zh: "\u500d\u589e\u6307\u6578"
        },
        "label_web.MyRank": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_web.MyRank_2": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_web.MyRank_3": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_web.MyRank_4": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_web.MyRank_5": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_2": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_3": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_4": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_5": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_6": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_7": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_8": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_9": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_mobile.MyRank_10": {
          en: "My Rank:",
          kh: "My Rank:",
          mm: "My Rank:",
          es: "Mi Posici\xf3n:",
          pt: "A minha classifica\xe7\xe3o:",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "Th\u1ee9 h\u1ea1ng c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u7b49\u7d1a\uff1a"
        },
        "label_web.MyScore": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_web.MyScore_2": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_web.MyScore_3": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_web.MyScore_4": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_web.MyScore_5": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_2": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_3": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_4": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_5": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_6": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_7": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_8": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_9": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_mobile.MyScore_10": {
          en: "My Score:",
          kh: "My Score:",
          mm: "My Score:",
          es: "Mi Resultado:",
          pt: "A minha pontua\xe7\xe3o:",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19:",
          vn: "\u0110i\u1ec3m c\u1ee7a t\xf4i:",
          zh: "\u6211\u7684\u5206\u6578\uff1a"
        },
        "label_web.MyWins": {
          en: "My Wins",
          kh: "My Wins",
          mm: "My Wins",
          es: "Mis premios",
          pt: "Os meus pr\xe9mios",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "Ti\u1ec1n th\u1eafng c\u1ee7a t\xf4i",
          zh: "\u6211\u7684\u734e\u91d1"
        },
        "label_mobile.MyWins": {
          en: "My Wins",
          kh: "My Wins",
          mm: "My Wins",
          es: "Mis premios",
          pt: "Os meus pr\xe9mios",
          thai: "\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e02\u0e2d\u0e07\u0e09\u0e31\u0e19",
          vn: "Ti\u1ec1n th\u1eafng c\u1ee7a t\xf4i",
          zh: "\u6211\u7684\u734e\u91d1"
        },
        "label_web.NETPOSITION": {
          en: "NET POSITION",
          kh: "NET POSITION",
          mm: "NET POSITION",
          es: "POSICI\xd3N NETA",
          pt: "POSI\xc7\xc3O L\xcdQUIDA",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e2a\u0e38\u0e17\u0e18\u0e34",
          vn: "V\u1eca TR\xcd TH\u1ef0C",
          zh: "\u6de8\u6392\u540d"
        },
        "label_mobile.NETPOSITION": {
          en: "NET POSITION",
          kh: "NET POSITION",
          mm: "NET POSITION",
          es: "POSICI\xd3N NETA",
          pt: "POSI\xc7\xc3O L\xcdQUIDA",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e2a\u0e38\u0e17\u0e18\u0e34",
          vn: "V\u1eca TR\xcd TH\u1ef0C",
          zh: "\u6de8\u6392\u540d"
        },
        "label_mobile.NETPOSITION_2": {
          en: "NET POSITION",
          kh: "NET POSITION",
          mm: "NET POSITION",
          es: "POSICI\xd3N NETA",
          pt: "POSI\xc7\xc3O L\xcdQUIDA",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e2a\u0e38\u0e17\u0e18\u0e34",
          vn: "V\u1eca TR\xcd TH\u1ef0C",
          zh: "\u6de8\u6392\u540d"
        },
        "label_web.NEW": {
          en: "NEW",
          kh: "NEW",
          mm: "NEW",
          es: "NUEVO",
          pt: "NOVO",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edaI",
          zh: "\u6700\u65b0"
        },
        "label_mobile.NEW": {
          en: "NEW",
          kh: "NEW",
          mm: "NEW",
          es: "NUEVO",
          pt: "NOVO",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edaI",
          zh: "\u6700\u65b0"
        },
        "label_mobile.NEW_2": {
          en: "NEW",
          kh: "NEW",
          mm: "NEW",
          es: "NUEVO",
          pt: "NOVO",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edaI",
          zh: "\u6700\u65b0"
        },
        "label_web.NEWGAMES": {
          en: "NEW GAMES",
          kh: "NEW GAMES",
          mm: "NEW GAMES",
          es: "NUEVO",
          pt: "NOVO",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edaI",
          zh: "\u6700\u65b0"
        },
        "label_mobile.NEWGAMES": {
          en: "NEW GAMES",
          kh: "NEW GAMES",
          mm: "NEW GAMES",
          es: "NUEVO",
          pt: "NOVO",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edaI",
          zh: "\u6700\u65b0"
        },
        "label_web.NICEWIN": {
          en: "NICE WIN",
          kh: "NICE WIN",
          mm: "NICE WIN",
          es: "BUENA VICTORIA",
          pt: "BOM PR\xc9MIO",
          thai: "\u0e14\u0e35\u0e21\u0e32\u0e01",
          vn: "TH\u1eaeNG \u0110\u1eb8P",
          zh: "\u6f02\u4eae\u7372\u52dd"
        },
        "label_mobile.NICEWIN": {
          en: "NICE WIN",
          kh: "NICE WIN",
          mm: "NICE WIN",
          es: "BUENA VICTORIA",
          pt: "BOM PR\xc9MIO",
          thai: "\u0e14\u0e35\u0e21\u0e32\u0e01",
          vn: "TH\u1eaeNG \u0110\u1eb8P",
          zh: "\u6f02\u4eae\u7372\u52dd"
        },
        "label_mobile.NICEWIN_2": {
          en: "NICE WIN",
          kh: "NICE WIN",
          mm: "NICE WIN",
          es: "BUENA VICTORIA",
          pt: "BOM PR\xc9MIO",
          thai: "\u0e14\u0e35\u0e21\u0e32\u0e01",
          vn: "TH\u1eaeNG \u0110\u1eb8P",
          zh: "\u6f02\u4eae\u7372\u52dd"
        },
        "label_mobile.NICEWIN_3": {
          en: "NICE WIN",
          kh: "NICE WIN",
          mm: "NICE WIN",
          es: "BUENA VICTORIA",
          pt: "BOM PR\xc9MIO",
          thai: "\u0e14\u0e35\u0e21\u0e32\u0e01",
          vn: "TH\u1eaeNG \u0110\u1eb8P",
          zh: "\u6f02\u4eae\u7372\u52dd"
        },
        "label_web.NO": {
          en: "NO",
          kh: "NO",
          mm: "NO",
          es: "NO",
          pt: "N\xc3O",
          thai: "\u0e44\u0e21\u0e48",
          vn: "KH\xd4NG",
          zh: "\u5426"
        },
        "label_mobile.NO": {
          en: "NO",
          kh: "NO",
          mm: "NO",
          es: "NO",
          pt: "N\xc3O",
          thai: "\u0e44\u0e21\u0e48",
          vn: "KH\xd4NG",
          zh: "\u5426"
        },
        "label_mobile.NO_2": {
          en: "NO",
          kh: "NO",
          mm: "NO",
          es: "NO",
          pt: "N\xc3O",
          thai: "\u0e44\u0e21\u0e48",
          vn: "KH\xd4NG",
          zh: "\u5426"
        },
        "label_web.NO_2": {
          en: "NO",
          kh: "NO",
          mm: "NO",
          es: "NO",
          pt: "N\xc3O",
          thai: "\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48",
          vn: "KH\xd4NG",
          zh: "\u5426"
        },
        "label_mobile.NO_3": {
          en: "NO",
          kh: "NO",
          mm: "NO",
          es: "NO",
          pt: "N\xc3O",
          thai: "\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48",
          vn: "KH\xd4NG",
          zh: "\u5426"
        },
        "label_web.NOTHANKS": {
          en: "NO THANKS",
          kh: "NO THANKS",
          mm: "NO THANKS",
          es: "NO, GRACIAS",
          pt: "N\xc3O, OBRIGADO",
          thai: "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13",
          vn: "KH\xd4NG, C\u1ea2M \u01a0N",
          zh: "\u4e0d\uff0c\u8b1d\u8b1d"
        },
        "label_mobile.NOTHANKS": {
          en: "NO THANKS",
          kh: "NO THANKS",
          mm: "NO THANKS",
          es: "NO, GRACIAS",
          pt: "N\xc3O, OBRIGADO",
          thai: "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13",
          vn: "KH\xd4NG, C\u1ea2M \u01a0N",
          zh: "\u4e0d\uff0c\u8b1d\u8b1d"
        },
        "label_web.NOWINSWITHYOUR": {
          en: "NO WINS WITH YOUR FREE SPINS",
          kh: "NO WINS WITH YOUR FREE SPINS",
          mm: "NO WINS WITH YOUR FREE SPINS",
          es: "\xa1LAMENTABLEMENTE, NO HA CONSEGUIDO\nNINGUNA GANANCIA!",
          pt: "N\xc3O TEVE PR\xc9MIOS NAS SUAS RODADAS GR\xc1TIS",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e0a\u0e31\u0e22\u0e0a\u0e19\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "KH\xd4NG TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd!",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6c92\u6709\u8d0f\u5f97\u734e\u91d1\uff01"
        },
        "label_mobile.NOWINSWITHYOUR": {
          en: "NO WINS WITH YOUR FREE SPINS",
          kh: "NO WINS WITH YOUR FREE SPINS",
          mm: "NO WINS WITH YOUR FREE SPINS",
          es: "\xa1LAMENTABLEMENTE, NO HA CONSEGUIDO\nNINGUNA GANANCIA!",
          pt: "N\xc3O TEVE PR\xc9MIOS NAS SUAS RODADAS GR\xc1TIS",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e0a\u0e31\u0e22\u0e0a\u0e19\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "KH\xd4NG TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd!",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6c92\u6709\u8d0f\u5f97\u734e\u91d1\uff01"
        },
        "label_mobile.NOWINSWITHYOUR_2": {
          en: "NO WINS WITH YOUR FREE SPINS",
          kh: "NO WINS WITH YOUR FREE SPINS",
          mm: "NO WINS WITH YOUR FREE SPINS",
          es: "\xa1LAMENTABLEMENTE, NO HA CONSEGUIDO\nNINGUNA GANANCIA!",
          pt: "N\xc3O TEVE PR\xc9MIOS NAS SUAS RODADAS GR\xc1TIS",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e0a\u0e31\u0e22\u0e0a\u0e19\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e1b\u0e34\u0e19\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "KH\xd4NG TH\u1eaeNG V\xd2NG QUAY MI\u1ec4N PH\xcd!",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6c92\u6709\u8d0f\u5f97\u734e\u91d1\uff01"
        },
        "label_web.NUMBEROFAUTOSPINS": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5 \u65cb\u8f49\u6b21\u6578"
        },
        "label_web.NUMBEROFAUTOSPINS_2": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5\u65cb \u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFAUTOSPINS": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5 \u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFAUTOSPINS_2": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5 \u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFAUTOSPINS_3": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5 \u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFAUTOSPINS_4": {
          en: "NUMBER OF AUTOSPINS",
          kh: "NUMBER OF AUTOSPINS",
          mm: "NUMBER OF AUTOSPINS",
          es: "N\xdaMERO DE TIRADAS AUTOM\xc1TICAS",
          pt: "N\xdaMERO DE RODADAS AUTOM\xc1TICAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2d\u0e2d\u0e42\u0e15\u0e49\u0e2a\u0e1b\u0e34\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY T\u1ef0 \u0110\u1ed8NG",
          zh: "\u81ea\u52d5 \u65cb\u8f49\u6b21\u6578"
        },
        "label_web.NUMBEROFSPINS": {
          en: "NUMBER OF SPINS",
          kh: "NUMBER OF SPINS",
          mm: "NUMBER OF SPINS",
          es: "N\xdaMERO DE TIRADAS",
          pt: "N\xdaMERO DE RODADAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY",
          zh: "\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFSPINS": {
          en: "NUMBER OF SPINS",
          kh: "NUMBER OF SPINS",
          mm: "NUMBER OF SPINS",
          es: "N\xdaMERO DE TIRADAS",
          pt: "N\xdaMERO DE RODADAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY",
          zh: "\u65cb\u8f49\u6b21\u6578"
        },
        "label_mobile.NUMBEROFSPINS_2": {
          en: "NUMBER OF SPINS",
          kh: "NUMBER OF SPINS",
          mm: "NUMBER OF SPINS",
          es: "N\xdaMERO DE JUEGOS",
          pt: "N\xdaMERO DE RODADAS",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19",
          vn: "S\u1ed0 V\xd2NG QUAY",
          zh: "\u65cb\u8f49\u6b21\u6578"
        },
        "label_web.New": {
          en: "New",
          kh: "New",
          mm: "New",
          es: "Nuevo",
          pt: "Novo",
          thai: "\u0e43\u0e2b\u0e21\u0e48",
          vn: "M\u1edbi",
          zh: "\u65b0"
        },
        "label_web.NewSlots": {
          en: "New Slots",
          kh: "New Slots",
          mm: "New Slots",
          es: "Nuevas Slots",
          pt: "Slots novas",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e43\u0e2b\u0e21\u0e48",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c m\u1edbi",
          zh: "\u65b0\u8001\u864e\u6a5f"
        },
        "label_mobile.NewSlots": {
          en: "New Slots",
          kh: "New Slots",
          mm: "New Slots",
          es: "Nuevas Slots",
          pt: "Slots novas",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15\u0e43\u0e2b\u0e21\u0e48",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c m\u1edbi",
          zh: "\u65b0\u8001\u864e\u6a5f"
        },
        "label_web.NoResultstoShow": {
          en: "No Results to Show",
          kh: "No Results to Show",
          mm: "No Results to Show",
          es: "Sin Resultados que Mostrar",
          pt: "Sem resultados para mostrar",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e43\u0e2b\u0e49\u0e41\u0e2a\u0e14\u0e07",
          vn: "Kh\xf4ng c\xf3 k\u1ebft qu\u1ea3 \u0111\u1ec3 hi\u1ec3n th\u1ecb",
          zh: "\u6c92\u6709\u8981\u986f\u793a\u7684\u7d50\u679c"
        },
        "label_mobile.NoResultstoShow": {
          en: "No Results to Show",
          kh: "No Results to Show",
          mm: "No Results to Show",
          es: "Sin Resultados que Mostrar",
          pt: "Sem resultados para mostrar",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e43\u0e2b\u0e49\u0e41\u0e2a\u0e14\u0e07",
          vn: "Kh\xf4ng c\xf3 k\u1ebft qu\u1ea3 \u0111\u1ec3 hi\u1ec3n th\u1ecb",
          zh: "\u6c92\u6709\u8981\u986f\u793a\u7684\u7d50\u679c"
        },
        "label_mobile.NoResultstoShow_2": {
          en: "No Results to Show",
          kh: "No Results to Show",
          mm: "No Results to Show",
          es: "Sin Resultados que Mostrar",
          pt: "Sem resultados para mostrar",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e43\u0e2b\u0e49\u0e41\u0e2a\u0e14\u0e07",
          vn: "Kh\xf4ng c\xf3 k\u1ebft qu\u1ea3 \u0111\u1ec3 hi\u1ec3n th\u1ecb",
          zh: "\u6c92\u6709\u8981\u986f\u793a\u7684\u7d50\u679c"
        },
        "label_web.Nogamesfound": {
          en: "No games found",
          kh: "No games found",
          mm: "No games found",
          es: "No se encontraron juegos",
          pt: "N\xe3o foram encontrados jogos",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e40\u0e01\u0e21",
          vn: "Kh\xf4ng t\xecm th\u1ea5y tr\xf2 ch\u01a1i n\xe0o",
          zh: "\u672a\u627e\u5230\u904a\u6232"
        },
        "label_mobile.Nogamesfound": {
          en: "No games found",
          kh: "No games found",
          mm: "No games found",
          es: "No se encontraron juegos",
          pt: "N\xe3o foram encontrados jogos",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e40\u0e01\u0e21",
          vn: "Kh\xf4ng t\xecm th\u1ea5y tr\xf2 ch\u01a1i n\xe0o",
          zh: "\u672a\u627e\u5230\u904a\u6232"
        },
        "label_mobile.Nogamesfound_2": {
          en: "No games found",
          kh: "No games found",
          mm: "No games found",
          es: "No se encontraron juegos",
          pt: "N\xe3o foram encontrados jogos",
          thai: "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e40\u0e01\u0e21",
          vn: "Kh\xf4ng t\xecm th\u1ea5y tr\xf2 ch\u01a1i n\xe0o",
          zh: "\u672a\u627e\u5230\u904a\u6232"
        },
        "label_web.NoofPrizes": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_web.NoofPrizes_2": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_mobile.NoofPrizes": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_mobile.NoofPrizes_2": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_mobile.NoofPrizes_3": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_mobile.NoofPrizes_4": {
          en: "No. of Prizes",
          kh: "No. of Prizes",
          mm: "No. of Prizes",
          es: "No de Premios",
          pt: "N.\xba de Pr\xe9mios",
          thai: "\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e33\u0e19\u0e27\u0e19",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5\u6578"
        },
        "label_web.OFF": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_2": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_3": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_4": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_5": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_6": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_7": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_8": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_2": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_3": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_4": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_5": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_9": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OFF_10": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_6": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_mobile.OFF_7": {
          en: "OFF",
          kh: "OFF",
          mm: "OFF",
          es: "OFF",
          pt: "DESLIGADO",
          thai: "\u0e1b\u0e34\u0e14",
          vn: "T\u1eaeT",
          zh: "\u95dc"
        },
        "label_web.OK": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_2": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_3": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_4": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_5": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_6": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_7": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_8": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_9": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "OK",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.OK_10": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "OK",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_2": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_3": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_4": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_5": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_6": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_7": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_8": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_9": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_10": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_11": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "ACEPTAR",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_12": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "OK",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_mobile.OK_13": {
          en: "OK",
          kh: "OK",
          mm: "OK",
          es: "OK",
          pt: "OK",
          thai: "\u0e15\u0e01\u0e25\u0e07",
          vn: "OK",
          zh: "\u78ba\u5b9a"
        },
        "label_web.ON": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_2": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_3": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_4": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_5": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_6": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_7": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TR\xcaN",
          zh: "\u5728"
        },
        "label_mobile.ON": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_mobile.ON_2": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_mobile.ON_3": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_mobile.ON_4": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TR\xcaN",
          zh: "\u5728"
        },
        "label_mobile.ON_5": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "EN",
          pt: "EM",
          thai: "\u0e43\u0e19",
          vn: "TR\xcaN",
          zh: "\u5728"
        },
        "label_web.ON_8": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ON_9": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_mobile.ON_6": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_mobile.ON_7": {
          en: "ON",
          kh: "ON",
          mm: "ON",
          es: "ON",
          pt: "LIGADO",
          thai: "\u0e40\u0e1b\u0e34\u0e14",
          vn: "B\u1eacT",
          zh: "\u958b"
        },
        "label_web.ONANYWIN": {
          en: "ON ANY WIN",
          kh: "ON ANY WIN",
          mm: "ON ANY WIN",
          es: "EN CUALQUIER VICTORIA",
          pt: "EM QUALQUER PR\xc9MIO",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u4efb\u4f55\u52dd\u5229"
        },
        "label_web.ONANYWIN_2": {
          en: "ON ANY WIN",
          kh: "ON ANY WIN",
          mm: "ON ANY WIN",
          es: "EN CUALQUIER VICTORIA",
          pt: "EM QUALQUER PR\xc9MIO",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u4efb\u4f55\u52dd\u5229"
        },
        "label_mobile.ONANYWIN": {
          en: "ON ANY WIN",
          kh: "ON ANY WIN",
          mm: "ON ANY WIN",
          es: "EN CUALQUIER VICTORIA",
          pt: "EM QUALQUER PR\xc9MIO",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u4efb\u4f55\u52dd\u5229"
        },
        "label_mobile.ONANYWIN_2": {
          en: "ON ANY WIN",
          kh: "ON ANY WIN",
          mm: "ON ANY WIN",
          es: "EN CUALQUIER VICTORIA",
          pt: "EM QUALQUER PR\xc9MIO",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u4efb\u4f55\u52dd\u5229"
        },
        "label_web.ONANYWIN_3": {
          en: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          kh: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          mm: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          es: "EN CUALQUIER VICTORIA \u2013 Cuando gane algo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "EM QUALQUER PR\xc9MIO \u2013 sempre que ganhar alguma coisa, a fun\xe7\xe3o de Jogo Autom\xe1tico para",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 Autoplay \u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o b\u1ea1n gi\xe0nh chi\u1ebfn th\u1eafng m\u1ed9t c\xe1i g\xec \u0111\xf3, ch\u1ee9c n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u4efb\u4f55\u52dd\u5229 \u2013 \u53ea\u8981\u8d0f\u5f97\u52dd\u5229\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.ONANYWIN_3": {
          en: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          kh: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          mm: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          es: "EN CUALQUIER VICTORIA \u2013 Cuando gane algo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "EM QUALQUER PR\xc9MIO \u2013 sempre que ganhar alguma coisa, a fun\xe7\xe3o de Jogo Autom\xe1tico para",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 Autoplay \u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o b\u1ea1n gi\xe0nh chi\u1ebfn th\u1eafng m\u1ed9t c\xe1i g\xec \u0111\xf3, ch\u1ee9c n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u4efb\u4f55\u52dd\u5229 \u2013 \u53ea\u8981\u8d0f\u5f97\u52dd\u5229\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_mobile.ONANYWIN_4": {
          en: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          kh: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          mm: "ON ANY WIN \u2013 whenever you win something, the Autoplay function stops",
          es: "EN CUALQUIER VICTORIA \u2013 Cuando gane algo, la funci\xf3n TIR. AUTO. se detiene",
          pt: "EM QUALQUER PR\xc9MIO \u2013 sempre que ganhar alguma coisa, a fun\xe7\xe3o de Jogo Autom\xe1tico para",
          thai: "\u0e43\u0e19\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e43\u0e14\u0e46 - \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\u0e43\u0e14\u0e01\u0e47\u0e15\u0e32\u0e21 \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 Autoplay \u0e08\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e25\u0e07",
          vn: "TR\xcaN M\u1eccI CHI\u1ebeN TH\u1eaeNG \u2013 b\u1ea5t c\u1ee9 khi n\xe0o b\u1ea1n gi\xe0nh chi\u1ebfn th\u1eafng m\u1ed9t c\xe1i g\xec \u0111\xf3, ch\u1ee9c n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng s\u1ebd d\u1eebng l\u1ea1i",
          zh: "\u4efb\u4f55\u52dd\u5229 \u2013 \u53ea\u8981\u8d0f\u5f97\u52dd\u5229\uff0c\u5c31\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8\u529f\u80fd"
        },
        "label_web.OPTOUT": {
          en: "OPT OUT",
          kh: "OPT OUT",
          mm: "OPT OUT",
          es: "SALIR ",
          pt: "RECUSAR ",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a ",
          vn: "CH\u1eccN KH\xd4NG THAM GIA ",
          zh: "\u9078\u64c7\u9000\u51fa "
        },
        "label_web.OPTOUT_2": {
          en: "OPT OUT",
          kh: "OPT OUT",
          mm: "OPT OUT",
          es: "SALIR ",
          pt: "RECUSAR ",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a ",
          vn: "CH\u1eccN KH\xd4NG THAM GIA ",
          zh: "\u9078\u64c7\u9000\u51fa "
        },
        "label_mobile.OPTOUT": {
          en: "OPT OUT",
          kh: "OPT OUT",
          mm: "OPT OUT",
          es: "SALIR ",
          pt: "RECUSAR ",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a ",
          vn: "CH\u1eccN KH\xd4NG THAM GIA ",
          zh: "\u9078\u64c7\u9000\u51fa "
        },
        "label_mobile.OPTOUT_2": {
          en: "OPT OUT",
          kh: "OPT OUT",
          mm: "OPT OUT",
          es: "SALIR ",
          pt: "RECUSAR ",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a ",
          vn: "CH\u1eccN KH\xd4NG THAM GIA ",
          zh: "\u9078\u64c7\u9000\u51fa "
        },
        "label_mobile.OPTOUT_3": {
          en: "OPT OUT",
          kh: "OPT OUT",
          mm: "OPT OUT",
          es: "SALIR ",
          pt: "RECUSAR ",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a ",
          vn: "CH\u1eccN KH\xd4NG THAM GIA ",
          zh: "\u9078\u64c7\u9000\u51fa "
        },
        "label_web.OTHERPROMOTIONS": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_web.OTHERPROMOTIONS_2": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_web.OTHERPROMOTIONS_3": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_web.OTHERPROMOTIONS_4": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_web.OTHERPROMOTIONS_5": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_web.OTHERPROMOTIONS_6": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_2": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_3": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_4": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_5": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_6": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_7": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_8": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.OTHERPROMOTIONS_9": {
          en: "OTHER PROMOTIONS",
          kh: "OTHER PROMOTIONS",
          mm: "OTHER PROMOTIONS",
          es: "OTRAS PROMOCIONES",
          pt: "OUTRAS PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e46",
          vn: "KHUY\u1ebeN M\xc3I KH\xc1C",
          zh: "\u5176\u4ed6\u4fc3\u92b7"
        },
        "label_mobile.Onlythelatest100": {
          en: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          kh: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          mm: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          es: "Solo los \xfaltimos 100 de los premios m\xe1s altos, iguales o superiores a 10x la apuesta total se muestran en Repetici\xf3n Pragmatic",
          pt: "Na Repeti\xe7\xe3o Pragmatic s\xe3o apresentados apenas os \xfaltimos 100 pr\xe9mios mais elevados, iguais ou superiores a 10x a aposta total",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e02\u0e2d\u0e07 Pragmatic \u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 100 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32 10x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "Ch\u1ec9 c\xf3 100 kho\u1ea3n ti\u1ec1n th\u1eafng cao nh\u1ea5t m\u1edbi nh\u1ea5t, b\u1eb1ng ho\u1eb7c l\u1edbn h\u01a1n 10x t\u1ed5ng c\u01b0\u1ee3c, \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb trong V\xf2ng ch\u01a1i l\u1ea1i Pragmatic",
          zh: "\u53ea\u6709\u6700\u8fd1100\u500b\u7b49\u65bc\u6216\u5927\u65bc10x\u7e3d\u8ced\u6ce8\u7684\u6700\u9ad8\u734e\u91d1\u624d\u6703\u986f\u793a\u5728Pragmatic\u91cd\u64ad\u4e2d"
        },
        "label_mobile.Onlythelatest100_2": {
          en: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          kh: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          mm: "Only the latest 100 of the highest wins, equal or higher than 10x total bet are displayed in Pragmatic Replay",
          es: "Solo los \xfaltimos 100 de los premios m\xe1s altos, iguales o superiores a 10x la apuesta total se muestran en Repetici\xf3n Pragmatic",
          pt: "Na Repeti\xe7\xe3o Pragmatic s\xe3o apresentados apenas os \xfaltimos 100 pr\xe9mios mais elevados, iguais ou superiores a 10x a aposta total",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e02\u0e2d\u0e07 Pragmatic \u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 100 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32 10x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "Ch\u1ec9 c\xf3 100 kho\u1ea3n ti\u1ec1n th\u1eafng cao nh\u1ea5t m\u1edbi nh\u1ea5t, b\u1eb1ng ho\u1eb7c l\u1edbn h\u01a1n 10x t\u1ed5ng c\u01b0\u1ee3c, \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb trong V\xf2ng ch\u01a1i l\u1ea1i Pragmatic",
          zh: "\u53ea\u6709\u6700\u8fd1100\u500b\u7b49\u65bc\u6216\u5927\u65bc10x\u7e3d\u8ced\u6ce8\u7684\u6700\u9ad8\u734e\u91d1\u624d\u6703\u986f\u793a\u5728Pragmatic\u91cd\u64ad\u4e2d"
        },
        "label_web.Onlywinshigheror": {
          en: "Only wins higher or equal to 10x total bet are displayed in Pragmatic Replay",
          kh: "Only wins higher or equal to 10x total bet are displayed in Pragmatic Replay",
          mm: "Only wins higher or equal to 10x total bet are displayed in Pragmatic Replay",
          es: "Solo los \xfaltimos 100 de los premios m\xe1s altos, iguales o superiores a 10x la apuesta total se muestran en Repetici\xf3n Pragmatic",
          pt: "Na Repeti\xe7\xe3o Pragmatic s\xe3o apresentados apenas os \xfaltimos 100 pr\xe9mios mais elevados, iguais ou superiores a 10x a aposta total",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e02\u0e2d\u0e07 Pragmatic \u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 100 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32 10x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21",
          vn: "Ch\u1ec9 c\xf3 100 kho\u1ea3n ti\u1ec1n th\u1eafng cao nh\u1ea5t m\u1edbi nh\u1ea5t, b\u1eb1ng ho\u1eb7c l\u1edbn h\u01a1n 10x t\u1ed5ng c\u01b0\u1ee3c, \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb trong V\xf2ng ch\u01a1i l\u1ea1i Pragmatic",
          zh: "\u53ea\u6709\u6700\u8fd1100\u500b\u7b49\u65bc\u6216\u5927\u65bc10x\u7e3d\u8ced\u6ce8\u7684\u6700\u9ad8\u734e\u91d1\u624d\u6703\u986f\u793a\u5728Pragmatic\u91cd\u64ad\u4e2d"
        },
        "label_web.PAYS": {
          en: "PAYS",
          kh: "PAYS",
          mm: "PAYS",
          es: "ABONA",
          pt: "PAGA",
          thai: "\u0e08\u0e48\u0e32\u0e22",
          vn: "TR\u1ea2",
          zh: "\u8ce0\u4ed8"
        },
        "label_mobile.PAYS": {
          en: "PAYS",
          kh: "PAYS",
          mm: "PAYS",
          es: "ABONA",
          pt: "PAGA",
          thai: "\u0e08\u0e48\u0e32\u0e22",
          vn: "TR\u1ea2",
          zh: "\u8ce0\u4ed8"
        },
        "label_mobile.PAYS_2": {
          en: "PAYS",
          kh: "PAYS",
          mm: "PAYS",
          es: "ABONA",
          pt: "PAGA",
          thai: "\u0e08\u0e48\u0e32\u0e22",
          vn: "TR\u1ea2",
          zh: "\u8ce0\u4ed8"
        },
        "label_mobile.PAYS_3": {
          en: "PAYS",
          kh: "PAYS",
          mm: "PAYS",
          es: "ABONA",
          pt: "PAGA",
          thai: "\u0e08\u0e48\u0e32\u0e22",
          vn: "TR\u1ea2",
          zh: "\u8ce0\u4ed8"
        },
        "label_web.PLACEYOURBETS": {
          en: "PLACE YOUR BETS!",
          kh: "PLACE YOUR BETS!",
          mm: "PLACE YOUR BETS!",
          es: "\xa1HAGA SU APUESTA!",
          pt: "FA\xc7A AS SUAS APOSTAS!",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13!",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C!",
          zh: "\u4e0b\u6ce8\uff01"
        },
        "label_mobile.PLACEYOURBETS": {
          en: "PLACE YOUR BETS!",
          kh: "PLACE YOUR BETS!",
          mm: "PLACE YOUR BETS!",
          es: "\xa1HAGA SU APUESTA!",
          pt: "FA\xc7A AS SUAS APOSTAS!",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13!",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C!",
          zh: "\u4e0b\u6ce8\uff01"
        },
        "label_mobile.PLACEYOURBETS_2": {
          en: "PLACE YOUR BETS!",
          kh: "PLACE YOUR BETS!",
          mm: "PLACE YOUR BETS!",
          es: "\xa1HAGA SU APUESTA!",
          pt: "FA\xc7A AS SUAS APOSTAS!",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13!",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C!",
          zh: "\u4e0b\u6ce8\uff01"
        },
        "label_mobile.PLACEYOURBETS_3": {
          en: "PLACE YOUR BETS!",
          kh: "PLACE YOUR BETS!",
          mm: "PLACE YOUR BETS!",
          es: "\xa1HAGA SU APUESTA!",
          pt: "FA\xc7A AS SUAS APOSTAS!",
          thai: "\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13!",
          vn: "\u0110\u1eb6T C\u01af\u1ee2C!",
          zh: "\u4e0b\u6ce8\uff01"
        },
        "label_mobile.PLAYFASTERBYREDUCINGTOTAL": {
          en: "PLAY FASTER BY REDUCING\nTOTAL SPIN TIME",
          kh: "PLAY FASTER BY REDUCING\nTOTAL SPIN TIME",
          mm: "PLAY FASTER BY REDUCING\nTOTAL SPIN TIME",
          es: "JUGAR M\xc1S R\xc1PIDO REDUCIENDO EL TIEMPO TOTAL DE SPIN",
          pt: "REDUZIR O TEMPO TOTAL DAS RODADAS PARA JOGAR MAIS R\xc1PIDO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e25\u0e14\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e1b\u0e34\u0e19",
          vn: "CH\u01a0I NHANH H\u01a0N B\u1eb0NG C\xc1CH GI\u1ea2M T\u1ed4NG TH\u1edcI GIAN QUAY",
          zh: "\u900f\u904e\u7e2e\u77ed\u7e3d\u65cb\u8f49\u6642 \u9593\u52a0\u5feb\u904a\u6232\u901f\u5ea6"
        },
        "label_web.PLAYFASTERBYREDUCING": {
          en: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          kh: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          mm: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          es: "JUGAR M\xc1S R\xc1PIDO REDUCIENDO EL TIEMPO TOTAL DE SPIN",
          pt: "REDUZIR O TEMPO TOTAL DAS RODADAS PARA JOGAR MAIS R\xc1PIDO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e25\u0e14\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e1b\u0e34\u0e19",
          vn: "CH\u01a0I NHANH H\u01a0N B\u1eb0NG C\xc1CH GI\u1ea2M T\u1ed4NG TH\u1edcI GIAN QUAY",
          zh: "\u900f\u904e\u7e2e\u77ed\u7e3d\u65cb\u8f49\u6642 \u9593\u52a0\u5feb\u904a\u6232\u901f\u5ea6"
        },
        "label_mobile.PLAYFASTERBYREDUCING": {
          en: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          kh: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          mm: "PLAY FASTER BY REDUCING TOTAL SPIN TIME",
          es: "JUGAR M\xc1S R\xc1PIDO REDUCIENDO EL TIEMPO TOTAL DE SPIN",
          pt: "REDUZIR O TEMPO TOTAL DAS RODADAS PARA JOGAR MAIS R\xc1PIDO",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e25\u0e14\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e1b\u0e34\u0e19",
          vn: "CH\u01a0I NHANH H\u01a0N B\u1eb0NG C\xc1CH GI\u1ea2M T\u1ed4NG TH\u1edcI GIAN QUAY",
          zh: "\u900f\u904e\u7e2e\u77ed\u7e3d\u65cb\u8f49\u6642 \u9593\u52a0\u5feb\u904a\u6232\u901f\u5ea6"
        },
        "label_web.PLAYLATER": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_web.PLAYLATER_2": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_mobile.PLAYLATER": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_mobile.PLAYLATER_2": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_mobile.PLAYLATER_3": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_mobile.PLAYLATER_4": {
          en: "PLAY LATER",
          kh: "PLAY LATER",
          mm: "PLAY LATER",
          es: "JUGAR M\xc1S TARDE",
          pt: "JOGAR MAIS TARDE",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07",
          vn: "CH\u01a0I SAU",
          zh: "\u7a0d\u5f8c\u518d\u73a9"
        },
        "label_web.PLAYNOW": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "JUGAR AHORA",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22",
          vn: "CH\u01a0I NGAY",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232"
        },
        "label_web.PLAYNOW_2": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_web.PLAYNOW_3": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "JUGAR AHORA",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22",
          vn: "CH\u01a0I NGAY",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232"
        },
        "label_mobile.PLAYNOW_2": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_3": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_4": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_5": {
          en: "PLAY NOW",
          kh: "PLAY NOW",
          mm: "PLAY NOW",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_web.PLAYNOW_4": {
          en: "PLAY NOW!",
          kh: "PLAY NOW!",
          mm: "PLAY NOW!",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_6": {
          en: "PLAY NOW!",
          kh: "PLAY NOW!",
          mm: "PLAY NOW!",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_7": {
          en: "PLAY NOW!",
          kh: "PLAY NOW!",
          mm: "PLAY NOW!",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_mobile.PLAYNOW_8": {
          en: "PLAY NOW!",
          kh: "PLAY NOW!",
          mm: "PLAY NOW!",
          es: "\xa1JUGAR AHORA!",
          pt: "JOGAR AGORA!",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e25\u0e22!",
          vn: "CH\u01a0I NGAY!",
          zh: "\u73fe\u5728\u958b\u59cb\u904a\u6232\uff01"
        },
        "label_web.PLAYINGFOR": {
          en: "PLAYING FOR",
          kh: "PLAYING FOR",
          mm: "PLAYING FOR",
          es: "HA JUGADO DURANTE",
          pt: "A JOGAR H\xc1",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xc3 CH\u01a0I",
          zh: "\u904a\u6232\u5df2\u9032\u884c"
        },
        "label_mobile.PLAYINGFOR": {
          en: "PLAYING FOR",
          kh: "PLAYING FOR",
          mm: "PLAYING FOR",
          es: "HA JUGADO DURANTE",
          pt: "A JOGAR H\xc1",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xc3 CH\u01a0I",
          zh: "\u904a\u6232\u5df2\u9032\u884c"
        },
        "label_mobile.PLAYINGFOR_2": {
          en: "PLAYING FOR",
          kh: "PLAYING FOR",
          mm: "PLAYING FOR",
          es: "HA JUGADO DURANTE",
          pt: "A JOGAR H\xc1",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27",
          vn: "\u0110\xc3 CH\u01a0I",
          zh: "\u904a\u6232\u5df2\u9032\u884c"
        },
        "label_web.PLEASEFUNDYOURACCOUNT": {
          en: "PLEASE FUND YOUR ACCOUNT",
          kh: "PLEASE FUND YOUR ACCOUNT",
          mm: "PLEASE FUND YOUR ACCOUNT",
          es: "INGRESE FONDOS EN SU CUENTA",
          pt: "FINANCIE A SUA CONTA",
          thai: "\u0e43\u0e2a\u0e48\u0e40\u0e07\u0e34\u0e19\u0e17\u0e38\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "VUI L\xd2NG N\u1ed8P TI\u1ec0N V\xc0O T\xc0I KHO\u1ea2N",
          zh: "\u8acb\u5c07\u6b3e\u9805\u52a0\u81f3\u60a8\u7684\u5e33\u6236"
        },
        "label_mobile.PLEASEFUNDYOURACCOUNT": {
          en: "PLEASE FUND YOUR ACCOUNT",
          kh: "PLEASE FUND YOUR ACCOUNT",
          mm: "PLEASE FUND YOUR ACCOUNT",
          es: "INGRESE FONDOS EN SU CUENTA",
          pt: "FINANCIE A SUA CONTA",
          thai: "\u0e43\u0e2a\u0e48\u0e40\u0e07\u0e34\u0e19\u0e17\u0e38\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "VUI L\xd2NG N\u1ed8P TI\u1ec0N V\xc0O T\xc0I KHO\u1ea2N",
          zh: "\u8acb\u5c07\u6b3e\u9805\u52a0\u81f3\u60a8\u7684\u5e33\u6236"
        },
        "label_mobile.PLEASEFUNDYOURACCOUNT_2": {
          en: "PLEASE FUND YOUR ACCOUNT",
          kh: "PLEASE FUND YOUR ACCOUNT",
          mm: "PLEASE FUND YOUR ACCOUNT",
          es: "INGRESE FONDOS EN SU CUENTA",
          pt: "FINANCIE A SUA CONTA",
          thai: "\u0e43\u0e2a\u0e48\u0e40\u0e07\u0e34\u0e19\u0e17\u0e38\u0e19\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "VUI L\xd2NG N\u1ed8P TI\u1ec0N V\xc0O T\xc0I KHO\u1ea2N",
          zh: "\u8acb\u5c07\u6b3e\u9805\u52a0\u81f3\u60a8\u7684\u5e33\u6236"
        },
        "label_web.POPULARGAMES": {
          en: "POPULAR GAMES",
          kh: "POPULAR GAMES",
          mm: "POPULAR GAMES",
          es: "POPULARES",
          pt: "POPULARES",
          thai: "\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21",
          vn: "PH\u1ed4 BI\u1ebeN",
          zh: "\u71b1\u9580"
        },
        "label_mobile.POPULARGAMES": {
          en: "POPULAR GAMES",
          kh: "POPULAR GAMES",
          mm: "POPULAR GAMES",
          es: "POPULARES",
          pt: "POPULARES",
          thai: "\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21",
          vn: "PH\u1ed4 BI\u1ebeN",
          zh: "\u71b1\u9580"
        },
        "label_web.PRESSANYWHERETOCONTINUE": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR",
          pt: "CLIQUE EM QUALQUER PONTO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d",
          vn: "NH\xc2\u0301N V\xc0O B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u4f55\u4f4d\u7f6e\u7e7c\u7e8c"
        },
        "label_web.PRESSANYWHERETOCONTINUE_2": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR",
          pt: "CLIQUE EM QUALQUER PONTO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d",
          vn: "NH\xc2\u0301N V\xc0O B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u4f55\u4f4d\u7f6e\u7e7c\u7e8c"
        },
        "label_web.PRESSANYWHERETOCONTINUE_3": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR...",
          pt: "TOQUE EM QUALQUER LADO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e15\u0e48\u0e2d",
          vn: "NH\u1ea4N V\xc0O V\u1eca TR\xcd B\u1ea4T K\u1ef2 \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u610f\u4f4d\u7f6e\u4ee5\u7e7c\u7e8c"
        },
        "label_web.PRESSANYWHERETOCONTINUE_4": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR...",
          pt: "TOQUE EM QUALQUER LADO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e15\u0e48\u0e2d",
          vn: "NH\u1ea4N V\xc0O V\u1eca TR\xcd B\u1ea4T K\u1ef2 \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u610f\u4f4d\u7f6e\u4ee5\u7e7c\u7e8c"
        },
        "label_mobile.PRESSANYWHERETOCONTINUE": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR",
          pt: "CLIQUE EM QUALQUER PONTO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d",
          vn: "NH\xc2\u0301N V\xc0O B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u4f55\u4f4d\u7f6e\u7e7c\u7e8c"
        },
        "label_mobile.PRESSANYWHERETOCONTINUE_2": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR",
          pt: "CLIQUE EM QUALQUER PONTO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d",
          vn: "NH\xc2\u0301N V\xc0O B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u4f55\u4f4d\u7f6e\u7e7c\u7e8c"
        },
        "label_mobile.PRESSANYWHERETOCONTINUE_3": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR...",
          pt: "TOQUE EM QUALQUER LADO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e15\u0e48\u0e2d",
          vn: "NH\u1ea4N V\xc0O V\u1eca TR\xcd B\u1ea4T K\u1ef2 \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u610f\u4f4d\u7f6e\u4ee5\u7e7c\u7e8c"
        },
        "label_mobile.PRESSANYWHERETOCONTINUE_4": {
          en: "PRESS ANYWHERE TO CONTINUE",
          kh: "PRESS ANYWHERE TO CONTINUE",
          mm: "PRESS ANYWHERE TO CONTINUE",
          es: "PULSE EN CUALQUIER PARTE PARA CONTINUAR",
          pt: "CLIQUE EM QUALQUER PONTO PARA CONTINUAR",
          thai: "\u0e01\u0e14\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d",
          vn: "NH\xc2\u0301N V\xc0O B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O \u0110\u1ec2 TI\u1ebeP T\u1ee4C",
          zh: "\u6309\u4efb\u4f55\u4f4d\u7f6e\u7e7c\u7e8c"
        },
        "label_web.PRESSPLAYTOSPIN": {
          en: "PRESS PLAY TO SPIN!",
          kh: "PRESS PLAY TO SPIN!",
          mm: "PRESS PLAY TO SPIN!",
          es: "\xa1PARA TIRAR, PULSE JUGAR!",
          pt: "PRIMA JOGAR PARA RODAR",
          thai: "\u0e01\u0e14\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19!",
          vn: "B\u1ea4M PLAY \u0110\u1ec2 QUAY!",
          zh: "\u6309\u958b\u59cb\u904a\u6232\u9032\u884c\u65cb\u8f49\uff01"
        },
        "label_mobile.PRESSPLAYTOSPIN": {
          en: "PRESS PLAY TO SPIN!",
          kh: "PRESS PLAY TO SPIN!",
          mm: "PRESS PLAY TO SPIN!",
          es: "\xa1PARA TIRAR, PULSE JUGAR!",
          pt: "PRIMA JOGAR PARA RODAR",
          thai: "\u0e01\u0e14\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19!",
          vn: "B\u1ea4M PLAY \u0110\u1ec2 QUAY!",
          zh: "\u6309\u958b\u59cb\u904a\u6232\u9032\u884c\u65cb\u8f49\uff01"
        },
        "label_mobile.PRESSPLAYTOSPIN_2": {
          en: "PRESS PLAY TO SPIN!",
          kh: "PRESS PLAY TO SPIN!",
          mm: "PRESS PLAY TO SPIN!",
          es: "\xa1PARA TIRAR, PULSE JUGAR!",
          pt: "PRIMA JOGAR PARA RODAR",
          thai: "\u0e01\u0e14\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19!",
          vn: "B\u1ea4M PLAY \u0110\u1ec2 QUAY!",
          zh: "\u6309\u958b\u59cb\u904a\u6232\u9032\u884c\u65cb\u8f49\uff01"
        },
        "label_mobile.PRESSPLAYTOSPIN_3": {
          en: "PRESS PLAY TO SPIN!",
          kh: "PRESS PLAY TO SPIN!",
          mm: "PRESS PLAY TO SPIN!",
          es: "\xa1PARA TIRAR, PULSE JUGAR!",
          pt: "PRIMA JOGAR PARA RODAR",
          thai: "\u0e01\u0e14\u0e40\u0e25\u0e48\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19!",
          vn: "B\u1ea4M PLAY \u0110\u1ec2 QUAY!",
          zh: "\u6309\u958b\u59cb\u904a\u6232\u9032\u884c\u65cb\u8f49\uff01"
        },
        "label_web.PRESSSPACETOSPIN": {
          en: "PRESS SPACE TO SPIN",
          kh: "PRESS SPACE TO SPIN",
          mm: "PRESS SPACE TO SPIN",
          es: "PARA TIRAR, PULSE ESPACIO",
          pt: "PRIMA ESPA\xc7O PARA RODAR",
          thai: "\u0e01\u0e14\u0e40\u0e27\u0e49\u0e19\u0e27\u0e23\u0e23\u0e04\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d",
          vn: "NH\u1ea4N SPACE \u0110\u1ec2 QUAY",
          zh: "\u6309\u7a7a\u683c\u9032\u884c\u65cb\u8f49"
        },
        "label_web.PRIZEDROP": {
          en: "PRIZE DROP",
          kh: "PRIZE DROP",
          mm: "PRIZE DROP",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_mobile.PRIZEDROP": {
          en: "PRIZE DROP",
          kh: "PRIZE DROP",
          mm: "PRIZE DROP",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_web.PRIZEDROPS": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_web.PRIZEDROPS_2": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDAS DE PR\xc9MIOS",
          thai: "\u0e25\u0e14\u0e23\u0e32\u0e04\u0e32",
          vn: "QU\u1ef8 GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u52f5\u6389\u843d"
        },
        "label_web.PRIZEDROPS_3": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDAS DE PR\xc9MIOS",
          thai: "\u0e25\u0e14\u0e23\u0e32\u0e04\u0e32",
          vn: "QU\u1ef8 GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u52f5\u6389\u843d"
        },
        "label_mobile.PRIZEDROPS": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_mobile.PRIZEDROPS_2": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDAS DE PR\xc9MIOS",
          thai: "\u0e25\u0e14\u0e23\u0e32\u0e04\u0e32",
          vn: "QU\u1ef8 GI\u1ea2I\nTH\u01af\u1edeNG",
          zh: "\u734e\u52f5\u6389\u843d"
        },
        "label_mobile.PRIZEDROPS_3": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDAS DE PR\xc9MIOS",
          thai: "\u0e25\u0e14\u0e23\u0e32\u0e04\u0e32",
          vn: "QU\u1ef8 GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u52f5\u6389\u843d"
        },
        "label_mobile.PRIZEDROPS_4": {
          en: "PRIZE DROPS",
          kh: "PRIZE DROPS",
          mm: "PRIZE DROPS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDAS DE PR\xc9MIOS",
          thai: "\u0e25\u0e14\u0e23\u0e32\u0e04\u0e32",
          vn: "QU\u1ef8 GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u52f5\u6389\u843d"
        },
        "label_web.PRIZES": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_web.PRIZES_2": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_mobile.PRIZES": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_mobile.PRIZES_2": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_mobile.PRIZES_3": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_mobile.PRIZES_4": {
          en: "PRIZES",
          kh: "PRIZES",
          mm: "PRIZES",
          es: "PREMIO",
          pt: "PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u734e\u54c1"
        },
        "label_web.PRIZESLEFT": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "PREMIOS RESTANTES",
          pt: "PR\xc9MIOS RESTANTES",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "PH\u1ea6N TH\u01af\u1edeNG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_web.PRIZESLEFT_2": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_web.PRIZESLEFT_3": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.PRIZESLEFT": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "PREMIOS RESTANTES",
          pt: "PR\xc9MIOS RESTANTES",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "PH\u1ea6N TH\u01af\u1edeNG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.PRIZESLEFT_2": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.PRIZESLEFT_3": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.PRIZESLEFT_4": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.PRIZESLEFT_5": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "PREMIOS RESTANTES",
          pt: "PR\xc9MIOS RESTANTES",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed0 GI\u1ea2I TH\u01af\u1edeNG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.PRIZESLEFT_6": {
          en: "PRIZES LEFT",
          kh: "PRIZES LEFT",
          mm: "PRIZES LEFT",
          es: "PREMIOS RESTANTES",
          pt: "PR\xc9MIOS RESTANTES",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed0 GI\u1ea2I TH\u01af\u1edeNG C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_web.PROMOTIONINFORMATION": {
          en: "PROMOTION INFORMATION",
          kh: "PROMOTION INFORMATION",
          mm: "PROMOTION INFORMATION",
          es: "INFORMACI\xd3N DE PROMOCIONES",
          pt: "INFORMA\xc7\xc3O DA PROMO\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19",
          vn: "TH\xd4NG TIN KHUY\u1ebeN M\u1ea0I",
          zh: "\u63a8\u5ee3\u8cc7\u8a0a"
        },
        "label_mobile.PROMOTIONINFORMATION": {
          en: "PROMOTION INFORMATION",
          kh: "PROMOTION INFORMATION",
          mm: "PROMOTION INFORMATION",
          es: "INFORMACI\xd3N DE PROMOCIONES",
          pt: "INFORMA\xc7\xc3O DA PROMO\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19",
          vn: "TH\xd4NG TIN KHUY\u1ebeN M\u1ea0I",
          zh: "\u63a8\u5ee3\u8cc7\u8a0a"
        },
        "label_mobile.PROMOTIONINFORMATION_2": {
          en: "PROMOTION INFORMATION",
          kh: "PROMOTION INFORMATION",
          mm: "PROMOTION INFORMATION",
          es: "INFORMACI\xd3N DE PROMOCIONES",
          pt: "INFORMA\xc7\xc3O DA PROMO\xc7\xc3O",
          thai: "\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19",
          vn: "TH\xd4NG TIN KHUY\u1ebeN M\u1ea0I",
          zh: "\u63a8\u5ee3\u8cc7\u8a0a"
        },
        "label_web.PROMOTIONS": {
          en: "PROMOTIONS",
          kh: "PROMOTIONS",
          mm: "PROMOTIONS",
          es: "PROMOCIONES",
          pt: "PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19",
          vn: "KHUY\u1ebeN M\u1ea0I",
          zh: "\u63a8\u5ee3"
        },
        "label_mobile.PROMOTIONS": {
          en: "PROMOTIONS",
          kh: "PROMOTIONS",
          mm: "PROMOTIONS",
          es: "PROMOCIONES",
          pt: "PROMO\xc7\xd5ES",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19",
          vn: "KHUY\u1ebeN M\u1ea0I",
          zh: "\u63a8\u5ee3"
        },
        "label_web.PROMOTIONSINOTHERGAMES": {
          en: "PROMOTIONS IN OTHER GAMES: ",
          kh: "PROMOTIONS IN OTHER GAMES: ",
          mm: "PROMOTIONS IN OTHER GAMES: ",
          es: "PROMOCIONES EN OTROS JUEGOS:",
          pt: "PROMO\xc7\xd5ES EM OUTROS JOGOS:",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2d\u0e37\u0e48\u0e19: ",
          vn: "KHUY\u1ebeN M\xc3I TRONG C\xc1C TR\xd2 CH\u01a0I KH\xc1C: ",
          zh: "\u5176\u4ed6\u904a\u6232\u4e2d\u7684\u4fc3\u92b7\uff1a"
        },
        "label_mobile.PROMOTIONSINOTHERGAMES": {
          en: "PROMOTIONS IN OTHER GAMES: ",
          kh: "PROMOTIONS IN OTHER GAMES: ",
          mm: "PROMOTIONS IN OTHER GAMES: ",
          es: "PROMOCIONES EN OTROS JUEGOS:",
          pt: "PROMO\xc7\xd5ES EM OUTROS JOGOS:",
          thai: "\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2d\u0e37\u0e48\u0e19: ",
          vn: "KHUY\u1ebeN M\xc3I TRONG C\xc1C TR\xd2 CH\u01a0I KH\xc1C:",
          zh: "\u5176\u4ed6\u904a\u6232\u4e2d\u7684\u4fc3\u92b7\uff1a"
        },
        "label_web.Page": {
          en: "Page",
          kh: "Page",
          mm: "Page",
          es: "P\xe1gina",
          pt: "P\xe1gina",
          thai: "\u0e2b\u0e19\u0e49\u0e32",
          vn: "Trang",
          zh: "\u9801\u9762"
        },
        "label_web.Place": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_web.Place_2": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_web.Place_3": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_web.Place_4": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_2": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_3": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_4": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_5": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_6": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_7": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_mobile.Place_8": {
          en: "Place",
          kh: "Place",
          mm: "Place",
          es: "Puesto",
          pt: "Lugar",
          thai: "\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07",
          vn: "V\u1ecb tr\xed",
          zh: "\u6392\u540d"
        },
        "label_web.Play": {
          en: "Play",
          kh: "Play",
          mm: "Play",
          es: "Jugar",
          pt: "Jogar Jogo",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "Ch\u01a1i tr\xf2 ch\u01a1i",
          zh: "\u958b\u59cb\u904a\u6232"
        },
        "label_mobile.Play": {
          en: "Play",
          kh: "Play",
          mm: "Play",
          es: "Jugar",
          pt: "Jogar Jogo",
          thai: "\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "Ch\u01a1i tr\xf2 ch\u01a1i",
          zh: "\u958b\u59cb\u904a\u6232"
        },
        "label_web.PlayerID": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_web.PlayerID_2": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_web.PlayerID_3": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_web.PlayerID_4": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_web.PlayerID_5": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_web.PlayerID_6": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_mobile.PlayerID_2": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_mobile.PlayerID_3": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_mobile.PlayerID_4": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID Jugador",
          pt: "ID de jogador",
          thai: "\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID Ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6 ID"
        },
        "label_mobile.PlayerID_5": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_6": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_7": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_8": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_9": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_10": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_11": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.PlayerID_12": {
          en: "Player ID",
          kh: "Player ID",
          mm: "Player ID",
          es: "ID de Jugador",
          pt: "ID do Jogador",
          thai: "ID \u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19",
          vn: "ID ng\u01b0\u1eddi ch\u01a1i",
          zh: "\u73a9\u5bb6ID"
        },
        "label_mobile.Pleasecheckspellingor": {
          en: "Please check spelling or try\ndifferent keywords",
          kh: "Please check spelling or try\ndifferent keywords",
          mm: "Please check spelling or try\ndifferent keywords",
          es: "Por favor, revise la ortograf\xeda o pruebe diferentes palabras clave",
          pt: "Verifique a ortografia ou experimente palavras-chave diferentes",
          thai: "\u0e42\u0e1b\u0e23\u0e14\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e30\u0e01\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e2d\u0e37\u0e48\u0e19",
          vn: "Vui l\xf2ng ki\u1ec3m tra l\u1ed7i ch\xednh t\u1ea3 ho\u1eb7c th\u1eed t\u1eeb kh\xf3a kh\xe1c",
          zh: "\u8acb\u6aa2\u67e5\u62fc\u5beb\u6216\u5617\u8a66\u5176\u4ed6\u95dc\u9375\u5b57"
        },
        "label_web.Pleasecheckspellingor": {
          en: "Please check spelling or try different keywords",
          kh: "Please check spelling or try different keywords",
          mm: "Please check spelling or try different keywords",
          es: "Por favor, revise la ortograf\xeda o pruebe diferentes palabras clave",
          pt: "Verifique a ortografia ou experimente palavras-chave diferentes",
          thai: "\u0e42\u0e1b\u0e23\u0e14\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e30\u0e01\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e2d\u0e37\u0e48\u0e19",
          vn: "Vui l\xf2ng ki\u1ec3m tra l\u1ed7i ch\xednh t\u1ea3 ho\u1eb7c th\u1eed t\u1eeb kh\xf3a kh\xe1c",
          zh: "\u8acb\u6aa2\u67e5\u62fc\u5beb\u6216\u5617\u8a66\u5176\u4ed6\u95dc\u9375\u5b57"
        },
        "label_mobile.Pleasecheckspellingor_2": {
          en: "Please check spelling or try different keywords",
          kh: "Please check spelling or try different keywords",
          mm: "Please check spelling or try different keywords",
          es: "Por favor, revise la ortograf\xeda o pruebe diferentes palabras clave",
          pt: "Verifique a ortografia ou experimente palavras-chave diferentes",
          thai: "\u0e42\u0e1b\u0e23\u0e14\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e30\u0e01\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e2d\u0e37\u0e48\u0e19",
          vn: "Vui l\xf2ng ki\u1ec3m tra l\u1ed7i ch\xednh t\u1ea3 ho\u1eb7c th\u1eed t\u1eeb kh\xf3a kh\xe1c",
          zh: "\u8acb\u6aa2\u67e5\u62fc\u5beb\u6216\u5617\u8a66\u5176\u4ed6\u95dc\u9375\u5b57"
        },
        "label_web.Pleaseratethisgame": {
          en: "Please rate this game by payout and look.",
          kh: "Please rate this game by payout and look.",
          mm: "Please rate this game by payout and look.",
          es: "Valore este juego por sus pagos y su aspecto.",
          pt: "Avalie este jogo por taxa de pagamento e aspeto.",
          thai: "\u0e01\u0e23\u0e38\u0e13\u0e32\u0e43\u0e2b\u0e49\u0e04\u0e30\u0e41\u0e19\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e14\u0e39",
          vn: "qua thanh to\xe1n v\xe0 xem x\xe9t",
          zh: "\u8acb\u6839\u64da\u6d3e\u5f69\u548c\u5916\u89c0\u5c0d\u672c\u904a\u6232\u8a55\u7d1a\u3002"
        },
        "label_mobile.Pleaseratethisgame": {
          en: "Please rate this game by payout and look.",
          kh: "Please rate this game by payout and look.",
          mm: "Please rate this game by payout and look.",
          es: "Valore este juego por sus pagos y su aspecto.",
          pt: "Avalie este jogo por taxa de pagamento e aspeto.",
          thai: "\u0e01\u0e23\u0e38\u0e13\u0e32\u0e43\u0e2b\u0e49\u0e04\u0e30\u0e41\u0e19\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e41\u0e25\u0e30\u0e14\u0e39",
          vn: "qua thanh to\xe1n v\xe0 xem x\xe9t",
          zh: "\u8acb\u6839\u64da\u6d3e\u5f69\u548c\u5916\u89c0\u5c0d\u672c\u904a\u6232\u8a55\u7d1a\u3002"
        },
        "label_web.Position": {
          en: "Position",
          kh: "Position",
          mm: "Position",
          es: "Posici\xf3n",
          pt: "Posi\xe7\xe3o",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "V\u1ecb tr\xed",
          zh: "\u540d\u6b21"
        },
        "label_mobile.Position": {
          en: "Position",
          kh: "Position",
          mm: "Position",
          es: "Posici\xf3n",
          pt: "Posi\xe7\xe3o",
          thai: "\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "V\u1ecb tr\xed",
          zh: "\u540d\u6b21"
        },
        "label_web.PragmaticReplay": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_web.PragmaticReplay_2": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay_2": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay_3": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay_4": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay_5": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_mobile.PragmaticReplay_6": {
          en: "Pragmatic Replay",
          kh: "Pragmatic Replay",
          mm: "Pragmatic Replay",
          es: "Repetici\xf3n Pragmatic",
          pt: "Repeti\xe7\xe3o Pragmatic",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c Pragmatic",
          vn: "Ch\u01a1i l\u1ea1i Pragmatic",
          zh: "Pragmatic\u91cd\u73a9"
        },
        "label_web.PresstheSPINbutton": {
          en: "Press the SPIN button to play.",
          kh: "Press the SPIN button to play.",
          mm: "Press the SPIN button to play.",
          es: "Pulse el bot\xf3n JUGAR para iniciar el juego.",
          pt: "Prima o bot\xe3o RODAR para jogar.",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 SPIN (\u0e2b\u0e21\u0e38\u0e19) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19",
          vn: "Nh\u1ea5n n\xfat QUAY \u0111\u1ec3 ch\u01a1i.",
          zh: "\u6309\u300c\u65cb\u8f49\u300d\u6309\u9215\u958b\u59cb\u904a\u6232\u3002"
        },
        "label_mobile.PresstheSPINbutton": {
          en: "Press the SPIN button to play.",
          kh: "Press the SPIN button to play.",
          mm: "Press the SPIN button to play.",
          es: "Pulse el bot\xf3n JUGAR para iniciar el juego.",
          pt: "Prima o bot\xe3o RODAR para jogar.",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 SPIN (\u0e2b\u0e21\u0e38\u0e19) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19",
          vn: "Nh\u1ea5n n\xfat QUAY \u0111\u1ec3 ch\u01a1i.",
          zh: "\u6309\u300c\u65cb\u8f49\u300d\u6309\u9215\u958b\u59cb\u904a\u6232\u3002"
        },
        "label_mobile.PresstheSPINbutton_2": {
          en: "Press the SPIN button to play.",
          kh: "Press the SPIN button to play.",
          mm: "Press the SPIN button to play.",
          es: "Pulse el bot\xf3n JUGAR para iniciar el juego.",
          pt: "Prima o bot\xe3o RODAR para jogar.",
          thai: "\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 SPIN (\u0e2b\u0e21\u0e38\u0e19) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19",
          vn: "Nh\u1ea5n n\xfat QUAY \u0111\u1ec3 ch\u01a1i.",
          zh: "\u6309\u300c\u65cb\u8f49\u300d\u6309\u9215\u958b\u59cb\u904a\u6232\u3002"
        },
        "label_web.Prize": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_2": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_3": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_4": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_5": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_6": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_7": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_8": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.Prize_9": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_2": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_3": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_4": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_5": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_6": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_7": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_8": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_9": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_10": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_11": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_12": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_13": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_14": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_15": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_16": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_mobile.Prize_17": {
          en: "Prize",
          kh: "Prize",
          mm: "Prize",
          es: "Premio",
          pt: "Pr\xe9mio",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Gi\u1ea3i th\u01b0\u1edfng",
          zh: "\u734e\u52f5"
        },
        "label_web.PrizesRemaining": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_web.PrizesRemaining_2": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.PrizesRemaining": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.PrizesRemaining_2": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.PrizesRemaining_3": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.PrizesRemaining_4": {
          en: "Prizes Remaining",
          kh: "Prizes Remaining",
          mm: "Prizes Remaining",
          es: "Premios Restantes",
          pt: "Pr\xe9mios Restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_web.Prizesleft": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_web.Prizesleft_2": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_web.Prizesleft_3": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.Prizesleft": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.Prizesleft_2": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.Prizesleft_3": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.Prizesleft_4": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01",
          vn: "Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u54c1"
        },
        "label_mobile.Prizesleft_5": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_mobile.Prizesleft_6": {
          en: "Prizes left",
          kh: "Prizes left",
          mm: "Prizes left",
          es: "Premios restantes",
          pt: "Pr\xe9mios restantes",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d",
          vn: "S\u1ed1 gi\u1ea3i th\u01b0\u1edfng c\xf2n l\u1ea1i",
          zh: "\u5269\u9918\u734e\u52f5"
        },
        "label_web.QUICKSPIN": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA \nR\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d \n\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_2": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\n\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_3": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY\nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA \nR\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\n\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_2": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA \nR\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\n\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_3": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_4": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA \nR\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\n\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_5": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_6": {
          en: "QUICK\nSPIN",
          kh: "QUICK\nSPIN",
          mm: "QUICK\nSPIN",
          es: "TIRADA \nR\xc1PIDA",
          pt: "RODADA \nR\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\n\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY \nNHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_4": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_5": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_6": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_7": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_8": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_9": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_10": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_11": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_12": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_13": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_14": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPIN_15": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_7": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_8": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_9": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_10": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_11": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_12": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_13": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_14": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_15": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_16": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_17": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_18": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_19": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_20": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_21": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_22": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_23": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_24": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_25": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_26": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_27": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_28": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27 ",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_mobile.QUICKSPIN_29": {
          en: "QUICK SPIN",
          kh: "QUICK SPIN",
          mm: "QUICK SPIN",
          es: "TIRADA R\xc1PIDA",
          pt: "RODADA R\xc1PIDA",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27",
          vn: "QUAY NHANH",
          zh: "\u5feb\u901f\u65cb\u8f49"
        },
        "label_web.QUICKSPINSelects": {
          en: "QUICK SPIN \u2013 Selects the Quick Spin setting for game reels to start automatically and stop as soon as released",
          kh: "QUICK SPIN \u2013 Selects the Quick Spin setting for game reels to start automatically and stop as soon as released",
          mm: "QUICK SPIN \u2013 Selects the Quick Spin setting for game reels to start automatically and stop as soon as released",
          es: "TIRADA R\xc1PIDA \u2013 Seleccione el Juego R\xe1pido para que los rodillos de juego se pongan en marcha y se detengan tan pronto sea posible",
          pt: "RODADA R\xc1PIDA \u2013 Selecione a configura\xe7\xe3o de Rodada R\xe1pida para que os rolos do jogo comecem automaticamente e parem logo que sejam largados",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27 \u2013 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Quick Spin \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e40\u0e01\u0e21\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e34\u0e48\u0e21\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e41\u0e25\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e42\u0e14\u0e22\u0e40\u0e23\u0e47\u0e27\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "QUAY NHANH \u2013 Ch\u1ecdn c\xe0i \u0111\u1eb7t Quay nhanh cho c\xe1c cu\u1ed9n c\u1ee7a tr\xf2 ch\u01a1i \u0111\u1ec3 b\u1eaft \u0111\u1ea7u t\u1ef1 \u0111\u1ed9ng v\xe0 d\u1eebng ngay sau khi \u0111\u01b0\u1ee3c nh\u1ea3 ra",
          zh: "\u5feb\u901f\u65cb\u8f49 \u2013 \u70ba\u904a\u6232\u6372\u8ef8\u9078\u64c7\u300c\u5feb\u901f\u65cb\u8f49\u300d\u8a2d\u5b9a\u5c31\u80fd\u5728\u9b06\u958b\u6309\u9215\u6642\u99ac\u4e0a\u81ea\u52d5\u958b\u59cb\u548c\u505c\u6b62"
        },
        "label_web.RANDOMMULTIPLIERUPTO": {
          en: "RANDOM MULTIPLIER UP TO",
          kh: "RANDOM MULTIPLIER UP TO",
          mm: "RANDOM MULTIPLIER UP TO",
          es: "MULTIPLICADOR ALEATORIO DE HASTA",
          pt: "MULTIPLICADOR ALEAT\xd3RIO DE AT\xc9",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04 \u0e39\u0e13\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e44\u0e14\u0e49\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "S\u1ed0 NH\xc2N NG\u1eaaU NHI\xcaN T\u1ed0I \u0110A",
          zh: "\u514d\u8cbb\u65cb\u8f49\u4e2d\u6700\u5927"
        },
        "label_mobile.RANDOMMULTIPLIERUPTO": {
          en: "RANDOM MULTIPLIER UP TO",
          kh: "RANDOM MULTIPLIER UP TO",
          mm: "RANDOM MULTIPLIER UP TO",
          es: "MULTIPLICADOR ALEATORIO DE HASTA",
          pt: "MULTIPLICADOR ALEAT\xd3RIO DE AT\xc9",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04 \u0e39\u0e13\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e44\u0e14\u0e49\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14",
          vn: "S\u1ed0 NH\xc2N NG\u1eaaU NHI\xcaN T\u1ed0I \u0110A",
          zh: "\u514d\u8cbb\u65cb\u8f49\u4e2d\u6700\u5927"
        },
        "label_web.RANDOMMULTIPLIERUPTO_2": {
          en: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          kh: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          mm: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          es: "MULTIPLICADOR ALEATORIO DE HASTA        EN LAS TIRADAS GRATIS",
          pt: "MULTIPLICADOR\nALEAT\xd3RIO DE AT\xc9  \n     EM RODADAS\nGR\xc1TIS",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2d\u0e2d\n\u0e01\u0e21\u0e32\u0e44\u0e14\u0e49\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14          \u0e40\u0e17\u0e48\u0e32",
          vn: "S\u1ed0 NH\xc2N NG\u1eaaU NHI\xcaN\nT\u1ed0I \u0110A           TRONG C\xc1C\nV\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u4e2d\u6700\u5927      \n\u96a8\u6a5f\u500d\u589e\u6307\u6578"
        },
        "label_mobile.RANDOMMULTIPLIERUPTO_2": {
          en: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          kh: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          mm: "RANDOM MULTIPLIER UP TO              IN FREE SPINS",
          es: "MULTIPLICADOR ALEATORIO DE HASTA               EN LAS TIRADAS GRATIS",
          pt: "MULTIPLICADOR\nALEAT\xd3RIO DE AT\xc9  \n     EM RODADAS\nGR\xc1TIS",
          thai: "\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e08\u0e30\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e2d\u0e2d\n\u0e01\u0e21\u0e32\u0e44\u0e14\u0e49\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14            \u0e40\u0e17\u0e48\u0e32",
          vn: "S\u1ed0 NH\xc2N NG\u1eaaU NHI\xcaN\nT\u1ed0I \u0110A            TRONG C\xc1C\nV\xd2NG QUAY MI\u1ec4N PH\xcd",
          zh: "\u514d\u8cbb\u65cb\u8f49\u4e2d\u6700\u5927      \n  \u96a8\u6a5f\u500d\u589e\u6307\u6578"
        },
        "label_web.RANK": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e0a\u0e19\u0e30\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_web.RANK_2": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e0a\u0e19\u0e30\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_web.RANK_3": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e0a\u0e19\u0e30\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_2": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_3": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_4": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_5": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_6": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.RANK_7": {
          en: "RANK",
          kh: "RANK",
          mm: "RANK",
          es: "POSICI\xd3N",
          pt: "POSI\xc7\xc3O",
          thai: "\u0e44\u0e14\u0e49\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a",
          vn: "X\u1ebeP H\u1ea0NG",
          zh: "\u7b49\u7d1a"
        },
        "label_mobile.REALMONEY": {
          en: "REAL MONEY",
          kh: "REAL MONEY",
          mm: "REAL MONEY",
          es: "DINERO REAL",
          pt: "DINHEIRO REAL",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e08\u0e23\u0e34\u0e07",
          vn: "TI\u1ec0N TH\u1ef0C",
          zh: "\u771f\u9322"
        },
        "label_mobile.REALMONEY_2": {
          en: "REAL MONEY",
          kh: "REAL MONEY",
          mm: "REAL MONEY",
          es: "DINERO REAL",
          pt: "DINHEIRO REAL",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e08\u0e23\u0e34\u0e07",
          vn: "TI\u1ec0N TH\u1ef0C",
          zh: "\u771f\u9322"
        },
        "label_web.REDPOCKET": {
          en: "RED POCKET!",
          kh: "RED POCKET!",
          mm: "RED POCKET!",
          es: "\xa1BOLSILLO ROJO!",
          pt: "BOLSA VERMELHA!",
          thai: "\u0e01\u0e23\u0e30\u0e40\u0e1b\u0e4b\u0e32\u0e2a\u0e35\u0e41\u0e14\u0e07!",
          vn: "BAO L\xcc X\xcc!",
          zh: "\u7d05\u5305\uff01"
        },
        "label_mobile.REDPOCKET": {
          en: "RED POCKET!",
          kh: "RED POCKET!",
          mm: "RED POCKET!",
          es: "\xa1BOLSILLO ROJO!",
          pt: "BOLSA VERMELHA!",
          thai: "\u0e01\u0e23\u0e30\u0e40\u0e1b\u0e4b\u0e32\u0e2a\u0e35\u0e41\u0e14\u0e07!",
          vn: "BAO L\xcc X\xcc!",
          zh: "\u7d05\u5305\uff01"
        },
        "label_web.REPLAY": {
          en: "REPLAY",
          kh: "REPLAY",
          mm: "REPLAY",
          es: "REPETICI\xd3N",
          pt: "REPETI\xc7\xc3O",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "PH\xc1T L\u1ea0I",
          zh: "\u91cd\u64ad"
        },
        "label_web.REPLAY_2": {
          en: "REPLAY",
          kh: "REPLAY",
          mm: "REPLAY",
          es: "REPETICI\xd3N",
          pt: "REPETI\xc7\xc3O",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "PH\xc1T L\u1ea0I",
          zh: "\u91cd\u64ad"
        },
        "label_mobile.REPLAY": {
          en: "REPLAY",
          kh: "REPLAY",
          mm: "REPLAY",
          es: "REPETICI\xd3N",
          pt: "REPETI\xc7\xc3O",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "PH\xc1T L\u1ea0I",
          zh: "\u91cd\u64ad"
        },
        "label_mobile.REPLAY_2": {
          en: "REPLAY",
          kh: "REPLAY",
          mm: "REPLAY",
          es: "REPETICI\xd3N",
          pt: "REPETI\xc7\xc3O",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "PH\xc1T L\u1ea0I",
          zh: "\u91cd\u64ad"
        },
        "label_mobile.REPLAY_3": {
          en: "REPLAY",
          kh: "REPLAY",
          mm: "REPLAY",
          es: "REPETICI\xd3N",
          pt: "REPETI\xc7\xc3O",
          thai: "\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "PH\xc1T L\u1ea0I",
          zh: "\u91cd\u64ad"
        },
        "label_web.RULES": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_web.RULES_2": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS ",
          pt: "REGRAS ",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32 ",
          vn: "LU\u1eacT CH\u01a0I ",
          zh: "\u898f\u5247 "
        },
        "label_web.RULES_3": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_web.RULES_4": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_2": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_3": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_4": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_5": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_6": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_mobile.RULES_7": {
          en: "RULES",
          kh: "RULES",
          mm: "RULES",
          es: "REGLAS",
          pt: "REGRAS",
          thai: "\u0e01\u0e0e\u0e01\u0e15\u0e34\u0e01\u0e32",
          vn: "LU\u1eacT CH\u01a0I",
          zh: "\u898f\u5247"
        },
        "label_web.RunningEndsin": {
          en: "Running. Ends in ",
          kh: "Running. Ends in ",
          mm: "Running. Ends in ",
          es: "En marcha. Finaliza en ",
          pt: "A decorrer. Termina dentro de ",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e41\u0e02\u0e48\u0e07 \u0e08\u0e1a\u0e43\u0e19 ",
          vn: "\u0110ang di\u1ec5n ra. K\u1ebft th\xfac sau  ",
          zh: "\u6b63\u5728\u904b\u884c\u3002"
        },
        "label_web.RunningEndsin_2": {
          en: "Running. Ends in ",
          kh: "Running. Ends in ",
          mm: "Running. Ends in ",
          es: "En marcha. Finaliza en ",
          pt: "A decorrer. Termina dentro de ",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e41\u0e02\u0e48\u0e07 \u0e08\u0e1a\u0e43\u0e19 ",
          vn: "\u0110ang di\u1ec5n ra. K\u1ebft th\xfac sau  ",
          zh: "\u6b63\u5728\u904b\u884c\u3002"
        },
        "label_mobile.RunningEndsin": {
          en: "Running. Ends in ",
          kh: "Running. Ends in ",
          mm: "Running. Ends in ",
          es: "En marcha. Finaliza en ",
          pt: "A decorrer. Termina dentro de ",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e41\u0e02\u0e48\u0e07 \u0e08\u0e1a\u0e43\u0e19 ",
          vn: "\u0110ang di\u1ec5n ra. K\u1ebft th\xfac sau  ",
          zh: "\u6b63\u5728\u904b\u884c\u3002"
        },
        "label_mobile.RunningEndsin_2": {
          en: "Running. Ends in ",
          kh: "Running. Ends in ",
          mm: "Running. Ends in ",
          es: "En marcha. Finaliza en ",
          pt: "A decorrer. Termina dentro de ",
          thai: "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e41\u0e02\u0e48\u0e07 \u0e08\u0e1a\u0e43\u0e19 ",
          vn: "\u0110ang di\u1ec5n ra. K\u1ebft th\xfac sau  ",
          zh: "\u6b63\u5728\u904b\u884c\u3002"
        },
        "label_web.RunningPrizesleft0": {
          en: "Running. Prizes left {0}",
          kh: "Running. Prizes left {0}",
          mm: "Running. Prizes left {0}",
          es: "En marcha. Premios restantes {0}",
          pt: "Em progresso. Pr\xe9mios restantes {0}",
          thai: "\u0e22\u0e31\u0e07\u0e41\u0e08\u0e01\u0e2d\u0e22\u0e39\u0e48 \u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01 {0}",
          vn: "\u0110ang ch\u1ea1y. Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i {0}",
          zh: "\u6b63\u5728\u904b\u884c\u4e2d\u3002\u5269\u9918\u734e\u54c1 {0}"
        },
        "label_web.RunningPrizesleft0_2": {
          en: "Running. Prizes left {0}",
          kh: "Running. Prizes left {0}",
          mm: "Running. Prizes left {0}",
          es: "En marcha. Premios restantes {0}",
          pt: "Em progresso. Pr\xe9mios restantes {0}",
          thai: "\u0e22\u0e31\u0e07\u0e41\u0e08\u0e01\u0e2d\u0e22\u0e39\u0e48 \u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01 {0}",
          vn: "\u0110ang ch\u1ea1y. Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i {0}",
          zh: "\u6b63\u5728\u904b\u884c\u4e2d\u3002\u5269\u9918\u734e\u54c1 {0}"
        },
        "label_mobile.RunningPrizesleft0": {
          en: "Running. Prizes left {0}",
          kh: "Running. Prizes left {0}",
          mm: "Running. Prizes left {0}",
          es: "En marcha. Premios restantes {0}",
          pt: "Em progresso. Pr\xe9mios restantes {0}",
          thai: "\u0e22\u0e31\u0e07\u0e41\u0e08\u0e01\u0e2d\u0e22\u0e39\u0e48 \u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01 {0}",
          vn: "\u0110ang ch\u1ea1y. Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i {0}",
          zh: "\u6b63\u5728\u904b\u884c\u4e2d\u3002\u5269\u9918\u734e\u54c1 {0}"
        },
        "label_mobile.RunningPrizesleft0_2": {
          en: "Running. Prizes left {0}",
          kh: "Running. Prizes left {0}",
          mm: "Running. Prizes left {0}",
          es: "En marcha. Premios restantes {0}",
          pt: "Em progresso. Pr\xe9mios restantes {0}",
          thai: "\u0e22\u0e31\u0e07\u0e41\u0e08\u0e01\u0e2d\u0e22\u0e39\u0e48 \u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2d\u0e35\u0e01 {0}",
          vn: "\u0110ang ch\u1ea1y. Ph\u1ea7n th\u01b0\u1edfng c\xf2n l\u1ea1i {0}",
          zh: "\u6b63\u5728\u904b\u884c\u4e2d\u3002\u5269\u9918\u734e\u54c1 {0}"
        },
        "label_web.SAVEBATTERYLIFEBYREDUCING": {
          en: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          kh: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          mm: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          es: "AHORRAR BATER\xcdA REDUCIENDO LA VELOCIDAD DE ANIMACI\xd3N",
          pt: "REDUZIR VELOCIDADE DAS ANIMA\xc7\xd5ES PARA POUPAR BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48\u0e42\u0e14\u0e22\n\u0e25\u0e14\u0e04\u0e27\u0e32\u0e21\u0e40\u0e23\u0e47\u0e27\u0e20\u0e32\u0e1e\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e2b\u0e27",
          vn: "TI\u1ebeT KI\u1ec6M PIN B\u1eb0NG C\xc1CH\nGI\u1ea2M T\u1ed0C \u0110\u1ed8 HO\u1ea0T \u1ea2NH",
          zh: "\u900f\u904e\u6e1b\u6162\u52d5\u756b\u901f\u5ea6\n\u5ef6\u9577\u96fb\u6c60\u4f7f\u7528\u6642\u9593"
        },
        "label_mobile.SAVEBATTERYLIFEBYREDUCING": {
          en: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          kh: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          mm: "SAVE BATTERY LIFE BY\nREDUCING ANIMATION SPEED",
          es: "AHORRAR BATER\xcdA REDUCIENDO LA VELOCIDAD DE ANIMACI\xd3N",
          pt: "REDUZIR VELOCIDADE DAS ANIMA\xc7\xd5ES PARA POUPAR BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48\u0e42\u0e14\u0e22\n\u0e25\u0e14\u0e04\u0e27\u0e32\u0e21\u0e40\u0e23\u0e47\u0e27\u0e20\u0e32\u0e1e\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e2b\u0e27",
          vn: "TI\u1ebeT KI\u1ec6M PIN B\u1eb0NG C\xc1CH\nGI\u1ea2M T\u1ed0C \u0110\u1ed8 HO\u1ea0T \u1ea2NH",
          zh: "\u900f\u904e\u6e1b\u6162\u52d5\u756b\u901f\u5ea6\n\u5ef6\u9577\u96fb\u6c60\u4f7f\u7528\u6642\u9593"
        },
        "label_mobile.SAVEBATTERYLIFEBY": {
          en: "SAVE BATTERY LIFE BY REDUCING ANIMATION SPEED",
          kh: "SAVE BATTERY LIFE BY REDUCING ANIMATION SPEED",
          mm: "SAVE BATTERY LIFE BY REDUCING ANIMATION SPEED",
          es: "AHORRAR BATER\xcdA REDUCIENDO LA VELOCIDAD DE ANIMACI\xd3N",
          pt: "REDUZIR VELOCIDADE DAS ANIMA\xc7\xd5ES PARA POUPAR BATERIA",
          thai: "\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e41\u0e1a\u0e15\u0e40\u0e15\u0e2d\u0e23\u0e35\u0e48\u0e42\u0e14\u0e22\n\u0e25\u0e14\u0e04\u0e27\u0e32\u0e21\u0e40\u0e23\u0e47\u0e27\u0e20\u0e32\u0e1e\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e2b\u0e27",
          vn: "TI\u1ebeT KI\u1ec6M PIN B\u1eb0NG C\xc1CH\nGI\u1ea2M T\u1ed0C \u0110\u1ed8 HO\u1ea0T \u1ea2NH",
          zh: "\u900f\u904e\u6e1b\u6162\u52d5\u756b\u901f\u5ea6\n\u5ef6\u9577\u96fb\u6c60\u4f7f\u7528\u6642\u9593"
        },
        "label_web.SCATTERpaysonany": {
          en: "SCATTER pays on any position.",
          kh: "SCATTER pays on any position.",
          mm: "SCATTER pays on any position.",
          es: "El SCATTER paga en cualquier posici\xf3n. ",
          pt: "SCATTER paga em qualquer posi\xe7\xe3o. ",
          thai: "SCATTER \u0e08\u0e48\u0e32\u0e22\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1ea3 th\u01b0\u1edfng tr\xean b\u1ea5t k\u1ef3 v\u1ecb tr\xed n\xe0o. ",
          zh: "SCATTER\u5728\u4efb\u4f55\u4f4d\u7f6e\u5747\u8ce0\u4ed8\u3002 "
        },
        "label_mobile.SCATTERpaysonany": {
          en: "SCATTER pays on any position.",
          kh: "SCATTER pays on any position.",
          mm: "SCATTER pays on any position.",
          es: "El SCATTER paga en cualquier posici\xf3n. ",
          pt: "SCATTER paga em qualquer posi\xe7\xe3o. ",
          thai: "SCATTER \u0e08\u0e48\u0e32\u0e22\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1ea3 th\u01b0\u1edfng tr\xean b\u1ea5t k\u1ef3 v\u1ecb tr\xed n\xe0o. ",
          zh: "SCATTER\u5728\u4efb\u4f55\u4f4d\u7f6e\u5747\u8ce0\u4ed8\u3002 "
        },
        "label_mobile.SCATTERpaysonany_2": {
          en: "SCATTER pays on any position.",
          kh: "SCATTER pays on any position.",
          mm: "SCATTER pays on any position.",
          es: "El SCATTER paga en cualquier posici\xf3n. ",
          pt: "SCATTER paga em qualquer posi\xe7\xe3o. ",
          thai: "SCATTER \u0e08\u0e48\u0e32\u0e22\u0e43\u0e19\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1ea3 th\u01b0\u1edfng tr\xean b\u1ea5t k\u1ef3 v\u1ecb tr\xed n\xe0o. ",
          zh: "SCATTER\u5728\u4efb\u4f55\u4f4d\u7f6e\u5747\u8ce0\u4ed8\u3002 "
        },
        "label_web.SCATTERsymbolispresent": {
          en: "SCATTER symbol is present on all reels.",
          kh: "SCATTER symbol is present on all reels.",
          mm: "SCATTER symbol is present on all reels.",
          es: "El s\xedmbolo SCATTER est\xe1 presente en todos los rodillos. ",
          pt: "O s\xedmbolo SCATTER est\xe1 presente em todos os rolos. ",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean t\u1ea5t c\u1ea3 c\xe1c cu\u1ed9n. ",
          zh: "SCATTER\u7b26\u865f\u6703\u51fa\u73fe\u5728\u6240\u6709\u6372\u8ef8\u4e0a\u3002 "
        },
        "label_mobile.SCATTERsymbolispresent": {
          en: "SCATTER symbol is present on all reels.",
          kh: "SCATTER symbol is present on all reels.",
          mm: "SCATTER symbol is present on all reels.",
          es: "El s\xedmbolo SCATTER est\xe1 presente en todos los rodillos. ",
          pt: "O s\xedmbolo SCATTER est\xe1 presente em todos os rolos. ",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean t\u1ea5t c\u1ea3 c\xe1c cu\u1ed9n. ",
          zh: "SCATTER\u7b26\u865f\u6703\u51fa\u73fe\u5728\u6240\u6709\u6372\u8ef8\u4e0a\u3002 "
        },
        "label_mobile.SCATTERsymbolispresent_2": {
          en: "SCATTER symbol is present on all reels.",
          kh: "SCATTER symbol is present on all reels.",
          mm: "SCATTER symbol is present on all reels.",
          es: "El s\xedmbolo SCATTER est\xe1 presente en todos los rodillos. ",
          pt: "O s\xedmbolo SCATTER est\xe1 presente em todos os rolos. ",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e27\u0e07\u0e25\u0e49\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ",
          vn: "Bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n tr\xean t\u1ea5t c\u1ea3 c\xe1c cu\u1ed9n. ",
          zh: "SCATTER\u7b26\u865f\u6703\u51fa\u73fe\u5728\u6240\u6709\u6372\u8ef8\u4e0a\u3002 "
        },
        "label_web.SEARCHRESULTS": {
          en: "SEARCH RESULTS",
          kh: "SEARCH RESULTS",
          mm: "SEARCH RESULTS",
          es: "RESULTADOS DE B\xdaSQUEDA",
          pt: "RESULTADOS DA PESQUISA",
          thai: "\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "K\u1ebeT QU\u1ea2 T\xccM KI\u1ebeM",
          zh: "\u641c\u5c0b\u7d50\u679c"
        },
        "label_mobile.SEARCHRESULTS": {
          en: "SEARCH RESULTS",
          kh: "SEARCH RESULTS",
          mm: "SEARCH RESULTS",
          es: "RESULTADOS DE B\xdaSQUEDA",
          pt: "RESULTADOS DA PESQUISA",
          thai: "\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "K\u1ebeT QU\u1ea2 T\xccM KI\u1ebeM",
          zh: "\u641c\u5c0b\u7d50\u679c"
        },
        "label_web.SECONDS_2": {
          en: "SECONDS",
          kh: "SECONDS",
          mm: "SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_web.SECONDS_3": {
          en: "SECONDS",
          kh: "SECONDS",
          mm: "SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_mobile.SECONDS_5": {
          en: "SECONDS",
          kh: "SECONDS",
          mm: "SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_mobile.SECONDS_6": {
          en: "SECONDS",
          kh: "SECONDS",
          mm: "SECONDS",
          es: "SEGUNDOS",
          pt: "SEGUNDOS",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_web.SECS": {
          en: "SECS",
          kh: "SECS",
          mm: "SECS",
          es: "SEG",
          pt: "SEG",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_mobile.SECS": {
          en: "SECS",
          kh: "SECS",
          mm: "SECS",
          es: "SEG",
          pt: "SEG",
          thai: "\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",
          vn: "GI\xc2Y",
          zh: "\u79d2"
        },
        "label_web.SELECTGEMSTOREVEAL": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_web.SELECTGEMSTOREVEAL_2": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_mobile.SELECTGEMSTOREVEAL": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_mobile.SELECTGEMSTOREVEAL_2": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_mobile.SELECTGEMSTOREVEAL_3": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_mobile.SELECTGEMSTOREVEAL_4": {
          en: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          kh: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          mm: "SELECT GEMS TO REVEAL JACKPOTS\nMATCH 3 TO WIN",
          es: "SELECCIONE GEMAS PARA REVELAR JACKPOTS\nEMPAREJE 3 PARA GANAR",
          pt: "SELECIONE GEMAS PARA REVELAR JACKPOTS\nCORRESPONDA 3 PARA GANHAR",
          thai: "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e31\u0e0d\u0e21\u0e13\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1c\u0e22\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\n\u0e40\u0e23\u0e35\u0e22\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19 3 \u0e15\u0e31\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "THU TH\u1eacP NG\u1eccC \u0110\u1ec2 M\u1ede JACKPOT\nKH\u1edaP 3 BI\u1ec2U T\u01af\u1ee2NG \u0110\u1ec2 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u6311\u9078\u5bf6\u77f3\uff0c\u51fa\u73fe3\u500b\u76f8\u540c\n\u7d2f\u7a4d\u734e\u91d1\u7b26\u865f\u5373\u7372\u52dd"
        },
        "label_web.SENSATIONAL": {
          en: "SENSATIONAL",
          kh: "SENSATIONAL",
          mm: "SENSATIONAL",
          es: "SENSACIONAL",
          pt: "SENSACIONAL",
          thai: "\u0e42\u0e25\u0e14\u0e42\u0e1c\u0e19",
          vn: "GI\u1eacT G\xc2N",
          zh: "\u9a5a\u4eba\u7684"
        },
        "label_mobile.SENSATIONAL": {
          en: "SENSATIONAL",
          kh: "SENSATIONAL",
          mm: "SENSATIONAL",
          es: "SENSACIONAL",
          pt: "SENSACIONAL",
          thai: "\u0e42\u0e25\u0e14\u0e42\u0e1c\u0e19",
          vn: "GI\u1eacT G\xc2N",
          zh: "\u9a5a\u4eba\u7684"
        },
        "label_mobile.SENSATIONAL_2": {
          en: "SENSATIONAL",
          kh: "SENSATIONAL",
          mm: "SENSATIONAL",
          es: "SENSACIONAL",
          pt: "SENSACIONAL",
          thai: "\u0e42\u0e25\u0e14\u0e42\u0e1c\u0e19",
          vn: "GI\u1eacT G\xc2N",
          zh: "\u9a5a\u4eba\u7684"
        },
        "label_mobile.SENSATIONAL_3": {
          en: "SENSATIONAL",
          kh: "SENSATIONAL",
          mm: "SENSATIONAL",
          es: "SENSACIONAL",
          pt: "SENSACIONAL",
          thai: "\u0e42\u0e25\u0e14\u0e42\u0e1c\u0e19",
          vn: "GI\u1eacT G\xc2N",
          zh: "\u9a5a\u4eba\u7684"
        },
        "label_web.SETTINGSMENU": {
          en: "SETTINGS MENU",
          kh: "SETTINGS MENU",
          mm: "SETTINGS MENU",
          es: "MEN\xda DE CONFIGURACI\xd3N",
          pt: "MENU DE CONFIGURA\xc7\xd5ES",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32",
          vn: "MENU C\xc0I \u0110\u1eb6T",
          zh: "\u8a2d\u5b9a\u529f\u80fd\u8868"
        },
        "label_web.SHOWMORE": {
          en: "SHOW MORE",
          kh: "SHOW MORE",
          mm: "SHOW MORE",
          es: "MOSTRAR M\xc1S ",
          pt: "MOSTRAR MAIS ",
          thai: "\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 ",
          vn: "HI\u1ec2N TH\u1eca TH\xcaM ",
          zh: "\u5c55\u793a\u66f4\u591a "
        },
        "label_web.SHOWMORE_2": {
          en: "SHOW MORE",
          kh: "SHOW MORE",
          mm: "SHOW MORE",
          es: "MOSTRAR M\xc1S ",
          pt: "MOSTRAR MAIS ",
          thai: "\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 ",
          vn: "HI\u1ec2N TH\u1eca TH\xcaM ",
          zh: "\u5c55\u793a\u66f4\u591a "
        },
        "label_mobile.SHOWMORE": {
          en: "SHOW MORE",
          kh: "SHOW MORE",
          mm: "SHOW MORE",
          es: "MOSTRAR M\xc1S ",
          pt: "MOSTRAR MAIS ",
          thai: "\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 ",
          vn: "HI\u1ec2N TH\u1eca TH\xcaM ",
          zh: "\u5c55\u793a\u66f4\u591a "
        },
        "label_mobile.SHOWMORE_2": {
          en: "SHOW MORE",
          kh: "SHOW MORE",
          mm: "SHOW MORE",
          es: "MOSTRAR M\xc1S ",
          pt: "MOSTRAR MAIS ",
          thai: "\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 ",
          vn: "HI\u1ec2N TH\u1eca TH\xcaM ",
          zh: "\u5c55\u793a\u66f4\u591a "
        },
        "label_web.SHOWTHEINTROSCREEN": {
          en: "SHOW THE INTRO SCREEN BEFORE STARTING THE GAME",
          kh: "SHOW THE INTRO SCREEN BEFORE STARTING THE GAME",
          mm: "SHOW THE INTRO SCREEN BEFORE STARTING THE GAME",
          es: "MOSTRAR LA PANTALLA DE INTRODUCCI\xd3N ANTES DE COMENZAR EL JUEGO",
          pt: "MOSTRAR O ECR\xc3 INICIAL ANTES DE COME\xc7AR O JOGO",
          thai: "\u0e41\u0e2a\u0e14\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e19\u0e30\u0e19\u0e33\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21",
          vn: "HI\u1ec2N TH\u1eca M\xc0N H\xccNH GI\u1edaI THI\u1ec6U TR\u01af\u1edaC KHI B\u1eaeT \u0110\u1ea6U TR\xd2 CH\u01a0I",
          zh: "\u958b\u59cb\u904a\u6232\u524d\u986f\u793a\u7c21\u4ecb\u87a2\u5e55"
        },
        "label_web.SKIPSCREENS": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR \nPANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENS_2": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR \nPANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_2": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR \nPANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_3": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR \nPANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_4": {
          en: "SKIP\nSCREENS",
          kh: "SKIP\nSCREENS",
          mm: "SKIP\nSCREENS",
          es: "SALTAR \nPANTALLAS",
          pt: "SALTAR \nECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA \nM\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENS_3": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENS_4": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENS_5": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENS_6": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_5": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_6": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_7": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_8": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_9": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_10": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_11": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_mobile.SKIPSCREENS_12": {
          en: "SKIP SCREENS",
          kh: "SKIP SCREENS",
          mm: "SKIP SCREENS",
          es: "SALTAR PANTALLAS",
          pt: "SALTAR ECR\xc3S",
          thai: "\u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "B\u1ece QUA M\xc0N H\xccNH",
          zh: "\u8df3\u904e\u756b\u9762"
        },
        "label_web.SKIPSCREENSoptionautoskips": {
          en: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          kh: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          mm: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          es: "La opci\xf3n de SALTAR PANTALLAS salta autom\xe1ticamente la intro de las funciones y cierra las pantallas tras un breve periodo de tiempo.",
          pt: "A op\xe7\xe3o SALTAR ECR\xc3S salta automaticamente a introdu\xe7\xe3o dos extras e ecr\xe3s de fim ap\xf3s um curto per\xedodo de tempo.",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d \u0e08\u0e30\u0e02\u0e49\u0e32\u0e21\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e01\u0e32\u0e23\u0e41\u0e19\u0e30\u0e19\u0e33\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e41\u0e25\u0e30\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e31\u0e49\u0e19\u0e46",
          vn: "T\xf9y ch\u1ecdn B\u1ece QUA M\xc0N H\xccNH t\u1ef1 \u0111\u1ed9ng b\u1ecf qua ph\u1ea7n gi\u1edbi thi\u1ec7u t\xednh n\u0103ng v\xe0 m\xe0n h\xecnh k\u1ebft th\xfac sau m\u1ed9t kho\u1ea3ng th\u1eddi gian ng\u1eafn",
          zh: "\u300c\u8df3\u904e\u756b\u9762\u300d\u9078\u9805\u53ef\u5728\u77ed\u6642\u9593\u5167\u81ea\u52d5\u8df3\u904e\u529f\u80fd\u4ecb\u7d39\u548c\u7d50\u675f\u756b\u9762"
        },
        "label_mobile.SKIPSCREENSoptionautoskips": {
          en: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          kh: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          mm: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          es: "La opci\xf3n de SALTAR PANTALLAS salta autom\xe1ticamente la intro de las funciones y cierra las pantallas tras un breve periodo de tiempo.",
          pt: "A op\xe7\xe3o SALTAR ECR\xc3S salta automaticamente a introdu\xe7\xe3o dos extras e ecr\xe3s de fim ap\xf3s um curto per\xedodo de tempo.",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d \u0e08\u0e30\u0e02\u0e49\u0e32\u0e21\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e01\u0e32\u0e23\u0e41\u0e19\u0e30\u0e19\u0e33\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e41\u0e25\u0e30\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e31\u0e49\u0e19\u0e46",
          vn: "T\xf9y ch\u1ecdn B\u1ece QUA M\xc0N H\xccNH t\u1ef1 \u0111\u1ed9ng b\u1ecf qua ph\u1ea7n gi\u1edbi thi\u1ec7u t\xednh n\u0103ng v\xe0 m\xe0n h\xecnh k\u1ebft th\xfac sau m\u1ed9t kho\u1ea3ng th\u1eddi gian ng\u1eafn",
          zh: "\u300c\u8df3\u904e\u756b\u9762\u300d\u9078\u9805\u53ef\u5728\u77ed\u6642\u9593\u5167\u81ea\u52d5\u8df3\u904e\u529f\u80fd\u4ecb\u7d39\u548c\u7d50\u675f\u756b\u9762"
        },
        "label_mobile.SKIPSCREENSoptionautoskips_2": {
          en: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          kh: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          mm: "SKIP SCREENS option auto-skips the feature introduction and end screens after a short period of time",
          es: "La opci\xf3n de SALTAR PANTALLAS salta autom\xe1ticamente la intro de las funciones y cierra las pantallas tras un breve periodo de tiempo.",
          pt: "A op\xe7\xe3o SALTAR ECR\xc3S salta automaticamente a introdu\xe7\xe3o dos extras e ecr\xe3s de fim ap\xf3s um curto per\xedodo de tempo.",
          thai: "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e02\u0e49\u0e32\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d \u0e08\u0e30\u0e02\u0e49\u0e32\u0e21\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e01\u0e32\u0e23\u0e41\u0e19\u0e30\u0e19\n\u0e33\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e41\u0e25\u0e30\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e31\u0e49\u0e19\u0e46",
          vn: "T\xf9y ch\u1ecdn B\u1ece QUA M\xc0N H\xccNH t\u1ef1 \u0111\u1ed9ng b\u1ecf qua ph\u1ea7n gi\u1edbi thi\u1ec7u t\xednh n\u0103ng v\xe0 m\xe0n h\xecnh k\u1ebft th\xfac sau m\u1ed9t kho\u1ea3ng th\u1eddi gian ng\u1eafn",
          zh: "\u300c\u8df3\u904e\u756b\u9762\u300d\u9078\u9805\u53ef\u5728\u77ed\u6642\u9593\u5167\n\u81ea\u52d5\u8df3\u904e\u529f\u80fd\u4ecb\u7d39\u548c\u7d50\u675f\u756b\u9762"
        },
        "label_web.SLOTS": {
          en: "SLOTS",
          kh: "SLOTS",
          mm: "SLOTS",
          es: "SLOTS",
          pt: "SLOTS",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "TR\xd2 CH\u01a0I M\xc1Y \u0110\xc1NH B\u1ea0C",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_mobile.SLOTS": {
          en: "SLOTS",
          kh: "SLOTS",
          mm: "SLOTS",
          es: "SLOTS",
          pt: "SLOTS",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "TR\xd2 CH\u01a0I M\xc1Y \u0110\xc1NH B\u1ea0C",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_web.SORRY": {
          en: "SORRY",
          kh: "SORRY",
          mm: "SORRY",
          es: "\xa1LO SENTIMOS!",
          pt: "LAMENTAMOS",
          thai: "\u0e02\u0e2d\u0e42\u0e17\u0e29\u0e17\u0e35",
          vn: "XIN L\u1ed6I",
          zh: "\u62b1\u6b49\uff01"
        },
        "label_mobile.SORRY": {
          en: "SORRY",
          kh: "SORRY",
          mm: "SORRY",
          es: "\xa1LO SENTIMOS!",
          pt: "LAMENTAMOS",
          thai: "\u0e02\u0e2d\u0e42\u0e17\u0e29\u0e17\u0e35",
          vn: "XIN L\u1ed6I",
          zh: "\u62b1\u6b49\uff01"
        },
        "label_mobile.SORRY_2": {
          en: "SORRY",
          kh: "SORRY",
          mm: "SORRY",
          es: "\xa1LO SENTIMOS!",
          pt: "LAMENTAMOS",
          thai: "\u0e02\u0e2d\u0e42\u0e17\u0e29\u0e17\u0e35",
          vn: "XIN L\u1ed6I",
          zh: "\u62b1\u6b49\uff01"
        },
        "label_mobile.SORT": {
          en: "SORT",
          kh: "SORT",
          mm: "SORT",
          es: "ORDENAR",
          pt: "ORDENAR",
          thai: "\u0e40\u0e23\u0e35\u0e22\u0e07",
          vn: "S\u1eaeP X\u1ebeP",
          zh: "\u6392\u5e8f"
        },
        "label_web.SOUND": {
          en: "SOUND",
          kh: "SOUND",
          mm: "SOUND",
          es: "SONIDO",
          pt: "SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "\xc2M THANH",
          zh: "\u8072\u97f3"
        },
        "label_mobile.SOUND": {
          en: "SOUND",
          kh: "SOUND",
          mm: "SOUND",
          es: "SONIDO",
          pt: "SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "\xc2M THANH",
          zh: "\u8072\u97f3"
        },
        "label_mobile.SOUND_2": {
          en: "SOUND",
          kh: "SOUND",
          mm: "SOUND",
          es: "SONIDO",
          pt: "SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "\xc2M THANH",
          zh: "\u8072\u97f3"
        },
        "label_mobile.SOUND_3": {
          en: "SOUND",
          kh: "SOUND",
          mm: "SOUND",
          es: "SONIDO",
          pt: "SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "\xc2M THANH",
          zh: "\u8072\u97f3"
        },
        "label_mobile.SOUND_4": {
          en: "SOUND",
          kh: "SOUND",
          mm: "SOUND",
          es: "SONIDO",
          pt: "SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "\xc2M THANH",
          zh: "\u8072\u97f3"
        },
        "label_mobile.SOUNDtogglessound": {
          en: "SOUND - toggles sound and music on and off",
          kh: "SOUND - toggles sound and music on and off",
          mm: "SOUND - toggles sound and music on and off",
          es: "SONIDO - activa o desactiva el sonido y la m\xfasica.",
          pt: "SOM - liga e desliga sons e m\xfasica",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 - \u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e25\u0e07",
          vn: "\xc2M THANH - b\u1eadt v\xe0 t\u1eaft \xe2m thanh v\xe0 nh\u1ea1c",
          zh: "\u8072\u97f3 - \u53ef\u958b\u555f\u6216\u95dc\u9589\u8072\u97f3\u53ca\u97f3\u6a02"
        },
        "label_mobile.SOUNDtogglessound_2": {
          en: "SOUND - toggles sound and music on and off",
          kh: "SOUND - toggles sound and music on and off",
          mm: "SOUND - toggles sound and music on and off",
          es: "SONIDO - activa o desactiva el sonido y la m\xfasica.",
          pt: "SOM - liga e desliga sons e m\xfasica",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 - \u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e25\u0e07",
          vn: "\xc2M THANH - b\u1eadt v\xe0 t\u1eaft \xe2m thanh v\xe0 nh\u1ea1c",
          zh: "\u8072\u97f3 - \u53ef\u958b\u555f\u6216\u95dc\u9589\u8072\u97f3\u53ca\u97f3\u6a02"
        },
        "label_web.SOUNDFX": {
          en: "SOUND FX",
          kh: "SOUND FX",
          mm: "SOUND FX",
          es: "EFECTOS ESPECIALES",
          pt: "EFEITOS DE SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 FX",
          vn: "\xc2M THANH FX",
          zh: "\u97f3\u91cf"
        },
        "label_web.SOUNDFX_2": {
          en: "SOUND FX",
          kh: "SOUND FX",
          mm: "SOUND FX",
          es: "EFECTOS ESPECIALES",
          pt: "EFEITOS DE SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 FX",
          vn: "\xc2M THANH FX",
          zh: "\u97f3\u91cf"
        },
        "label_web.SOUNDFX_3": {
          en: "SOUND FX",
          kh: "SOUND FX",
          mm: "SOUND FX",
          es: "EFECTOS ESPECIALES",
          pt: "EFEITOS DE SOM",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 FX",
          vn: "\xc2M THANH FX",
          zh: "\u97f3\u91cf"
        },
        "label_web.SOUNDFXtoggles": {
          en: "SOUND FX \u2013 toggles the game`s sound effects on and off",
          kh: "SOUND FX \u2013 toggles the game`s sound effects on and off",
          mm: "SOUND FX \u2013 toggles the game`s sound effects on and off",
          es: "EFECTOS ESPECIALES \u2013 Activa o desactiva los efectos sonoros del juego",
          pt: "EFEITOS DE SOM \u2013 Liga e desliga os efeitos de som do jogo",
          thai: "\u0e40\u0e2a\u0e35\u0e22\u0e07 FX \u2013 \u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "\xc2M THANH FX \u2013 b\u1eadt/t\u1eaft hi\u1ec7u \u1ee9ng \xe2m thanh c\u1ee7a tr\xf2 ch\u01a1i",
          zh: "\u97f3\u91cf \u2013 \u6253\u958b\u6216\u95dc\u9589\u904a\u6232\u7684\u97f3\u6548"
        },
        "label_web.SPACEandENTERbuttons": {
          en: "SPACE and ENTER buttons on the keyboard can be used to start and stop the spin.",
          kh: "SPACE and ENTER buttons on the keyboard can be used to start and stop the spin.",
          mm: "SPACE and ENTER buttons on the keyboard can be used to start and stop the spin.",
          es: "Los botones ESPACIO e INTRO del teclado pueden usarse para iniciar o detener el juego.",
          pt: "Os bot\xf5es ESPA\xc7O e ENTER do teclado podem ser usados para iniciar e parar de rodar.",
          thai: "\u0e1b\u0e38\u0e48\u0e21 SPACE \u0e41\u0e25\u0e30 ENTER \u0e1a\u0e19\u0e41\u0e1b\u0e49\u0e19\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e08\u0e30\u0e16\u0e39\u0e01\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e41\u0e25\u0e30\u0e2b\u0e22\u0e38\u0e14\u0e2b\u0e21\u0e38\u0e19",
          vn: "C\xf3 th\u1ec3 s\u1eed d\u1ee5ng c\xe1c ph\xedm SPACE v\xe0 ENTER tr\xean b\xe0n ph\xedm \u0111\u1ec3 b\u1eaft \u0111\u1ea7u v\xe0 d\u1eebng l\xe2\u0300n quay.",
          zh: "\u9375\u76e4\u4e0a\u7684\u7a7a\u683c\u9375\u548c ENTER \u6309\u9375\u53ef\u7528\u65bc\u958b\u59cb\u548c\u505c\u6b62\u65cb\u8f49\u3002"
        },
        "label_mobile.SPINBUTTONLOCK": {
          en: "SPIN BUTTON LOCK",
          kh: "SPIN BUTTON LOCK",
          mm: "SPIN BUTTON LOCK",
          es: "BLOQUEO DE BOT\xd3N DE TIRADA",
          pt: "BLOQUEIO DO BOT\xc3O DE RODAR",
          thai: "\u0e25\u0e47\u0e2d\u0e04\u0e1b\u0e38\u0e48\u0e21\u0e2b\u0e21\u0e38\u0e19",
          vn: "KH\xd3A N\xdaT QUAY",
          zh: "\u65cb\u8f49\u6309\u9375\u9396"
        },
        "label_mobile.SPINBUTTONLOCK_2": {
          en: "SPIN BUTTON LOCK",
          kh: "SPIN BUTTON LOCK",
          mm: "SPIN BUTTON LOCK",
          es: "BLOQUEO DE BOT\xd3N DE TIRADA",
          pt: "BLOQUEIO DO BOT\xc3O DE RODAR",
          thai: "\u0e25\u0e47\u0e2d\u0e04\u0e1b\u0e38\u0e48\u0e21\u0e2b\u0e21\u0e38\u0e19",
          vn: "KH\xd3A N\xdaT QUAY",
          zh: "\u65cb\u8f49\u6309\u9375\u9396"
        },
        "label_web.SPINTOWIN": {
          en: "SPIN TO WIN!",
          kh: "SPIN TO WIN!",
          mm: "SPIN TO WIN!",
          es: "\xa1TIRE PARA GANAR!",
          pt: "RODE PARA GANHAR!",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "QUAY \u0110\u1ec2 TH\u1eaeNG!",
          zh: "\u65cb\u8f49\u4ee5\u7372\u52dd\uff01"
        },
        "label_mobile.SPINTOWIN": {
          en: "SPIN TO WIN!",
          kh: "SPIN TO WIN!",
          mm: "SPIN TO WIN!",
          es: "\xa1TIRE PARA GANAR!",
          pt: "RODE PARA GANHAR!",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "QUAY \u0110\u1ec2 TH\u1eaeNG!",
          zh: "\u65cb\u8f49\u4ee5\u7372\u52dd\uff01"
        },
        "label_mobile.SPINTOWIN_2": {
          en: "SPIN TO WIN!",
          kh: "SPIN TO WIN!",
          mm: "SPIN TO WIN!",
          es: "\xa1TIRE PARA GANAR!",
          pt: "RODE PARA GANHAR!",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "QUAY \u0110\u1ec2 TH\u1eaeNG!",
          zh: "\u65cb\u8f49\u4ee5\u7372\u52dd\uff01"
        },
        "label_mobile.SPINTOWIN_3": {
          en: "SPIN TO WIN!",
          kh: "SPIN TO WIN!",
          mm: "SPIN TO WIN!",
          es: "\xa1TIRE PARA GANAR!",
          pt: "RODE PARA GANHAR!",
          thai: "\u0e2b\u0e21\u0e38\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "QUAY \u0110\u1ec2 TH\u1eaeNG!",
          zh: "\u65cb\u8f49\u4ee5\u7372\u52dd\uff01"
        },
        "label_web.STARTAUTOPLAY": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STARTAUTOPLAY_2": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STARTAUTOPLAY_3": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STARTAUTOPLAY_4": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STARTAUTOPLAY": {
          en: "START AUTOPLAY ({0})",
          kh: "START AUTOPLAY ({0})",
          mm: "START AUTOPLAY ({0})",
          es: "INICIAR TIR. AUTO. ({0})",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO ({0})",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 ({0})",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG ({0})",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8 ({0})"
        },
        "label_mobile.STARTAUTOPLAY_2": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STARTAUTOPLAY_3": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STARTAUTOPLAY_4": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STARTAUTOPLAY_5": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STARTAUTOPLAY_6": {
          en: "START AUTOPLAY",
          kh: "START AUTOPLAY",
          mm: "START AUTOPLAY",
          es: "INICIAR TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STARTAUTOPLAYstarts": {
          en: "START AUTOPLAY \u2013 starts the Autoplay function",
          kh: "START AUTOPLAY \u2013 starts the Autoplay function",
          mm: "START AUTOPLAY \u2013 starts the Autoplay function",
          es: "INICIAR TIR. AUTO. \u2013 Inicia la funci\xf3n TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO \u2013 inicia a fun\xe7\xe3o de Jogo Autom\xe1tico",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u2013 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG \u2013 b\u1eaft \u0111\u1ea7u t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8 \u2013 \u958b\u59cb\u300c\u81ea\u52d5\u4e0b\u6ce8\u300d\u529f\u80fd"
        },
        "label_mobile.STARTAUTOPLAYstarts": {
          en: "START AUTOPLAY \u2013 starts the Autoplay function",
          kh: "START AUTOPLAY \u2013 starts the Autoplay function",
          mm: "START AUTOPLAY \u2013 starts the Autoplay function",
          es: "INICIAR TIR. AUTO. \u2013 Inicia la funci\xf3n TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO \u2013 inicia a fun\xe7\xe3o de Jogo Autom\xe1tico",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u2013 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG \u2013 b\u1eaft \u0111\u1ea7u t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8 \u2013 \u958b\u59cb\u300c\u81ea\u52d5\u4e0b\u6ce8\u300d\u529f\u80fd"
        },
        "label_mobile.STARTAUTOPLAYstarts_2": {
          en: "START AUTOPLAY \u2013 starts the Autoplay function",
          kh: "START AUTOPLAY \u2013 starts the Autoplay function",
          mm: "START AUTOPLAY \u2013 starts the Autoplay function",
          es: "INICIAR TIR. AUTO. \u2013 Inicia la funci\xf3n TIR. AUTO.",
          pt: "COME\xc7AR O JOGO AUTOM\xc1TICO \u2013 inicia a fun\xe7\xe3o de Jogo Autom\xe1tico",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u2013 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Autoplay)",
          vn: "B\u1eaeT \u0110\u1ea6U CH\u01a0I T\u1ef0 \u0110\u1ed8NG \u2013 b\u1eaft \u0111\u1ea7u t\xednh n\u0103ng Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u958b\u59cb\u81ea\u52d5\u4e0b\u6ce8 \u2013 \u958b\u59cb\u300c\u81ea\u52d5\u4e0b\u6ce8\u300d\u529f\u80fd"
        },
        "label_web.STOPAUTOPLAY": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR TIR. AUTO.",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STOPAUTOPLAY_2": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR AUTO",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STOPAUTOPLAY": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR TIR. AUTO.",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STOPAUTOPLAY_2": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR TIR. AUTO.",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STOPAUTOPLAY_3": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR AUTO",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_mobile.STOPAUTOPLAY_4": {
          en: "STOP AUTOPLAY",
          kh: "STOP AUTOPLAY",
          mm: "STOP AUTOPLAY",
          es: "PARAR AUTO",
          pt: "PARAR JOGO AUTOM\xc1TICO",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "D\u1eeaNG PH\xc1T T\u1ef0 \u0110\u1ed8NG",
          zh: "\u505c\u6b62\u81ea\u52d5\u4e0b\u6ce8"
        },
        "label_web.STOPIFFEATUREISWON": {
          en: "STOP IF\nFEATURE IS WON",
          kh: "STOP IF\nFEATURE IS WON",
          mm: "STOP IF\nFEATURE IS WON",
          es: "PARAR SI SE \nGANA LA FUNCI\xd3N",
          pt: "PARAR SE\nGANHAR \nO EXTRA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e0a\u0e19\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "D\u1eeaNG N\u1ebeU\nGI\xc0NH \u0110\u01af\u1ee2C \nT\xcdNH N\u0102NG",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\n\u8d0f\u5f97\u529f\u80fd"
        },
        "label_mobile.STOPIFFEATUREISWON": {
          en: "STOP IF\nFEATURE IS WON",
          kh: "STOP IF\nFEATURE IS WON",
          mm: "STOP IF\nFEATURE IS WON",
          es: "PARAR SI SE \nGANA LA \nFUNCI\xd3N",
          pt: "PARAR SE\nGANHAR \nO EXTRA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e44\u0e14\u0e49\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "D\u1eeaNG N\u1ebeU\nGI\xc0NH \u0110\u01af\u1ee2C \nT\xcdNH N\u0102NG",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\n\u8d0f\u5f97\u529f\u80fd"
        },
        "label_mobile.STOPIFFEATUREISWON_2": {
          en: "STOP IF\nFEATURE IS WON",
          kh: "STOP IF\nFEATURE IS WON",
          mm: "STOP IF\nFEATURE IS WON",
          es: "PARAR SI SE \nGANA LA FUNCI\xd3N",
          pt: "PARAR SE\nGANHAR \nO EXTRA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e44\u0e14\u0e49\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c",
          vn: "D\u1eeaNG N\u1ebeU\nGI\xc0NH \u0110\u01af\u1ee2C \nT\xcdNH N\u0102NG",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\n\u8d0f\u5f97\u529f\u80fd"
        },
        "label_web.STOPIFCASHDECREASES": {
          en: "STOP IF CASH DECREASES BY",
          kh: "STOP IF CASH DECREASES BY",
          mm: "STOP IF CASH DECREASES BY",
          es: "PARAR SI EL EFECTIVO DESCIENDE EN",
          pt: "PARAR SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e25\u0e14\u0e25\u0e07",
          vn: "D\u1eeaNG N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_mobile.STOPIFCASHDECREASES": {
          en: "STOP IF CASH DECREASES BY",
          kh: "STOP IF CASH DECREASES BY",
          mm: "STOP IF CASH DECREASES BY",
          es: "PARAR SI EL EFECTIVO DESCIENDE EN",
          pt: "PARAR SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e25\u0e14\u0e25\u0e07",
          vn: "D\u1eeaNG N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_mobile.STOPIFCASHDECREASES_2": {
          en: "STOP IF CASH DECREASES BY",
          kh: "STOP IF CASH DECREASES BY",
          mm: "STOP IF CASH DECREASES BY",
          es: "PARAR SI EL EFECTIVO DESCIENDE EN",
          pt: "PARAR SE O DINHEIRO DIMINUIR EM",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e25\u0e14\u0e25\u0e07",
          vn: "D\u1eeaNG N\u1ebeU TI\u1ec0N M\u1eb6T GI\u1ea2M",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\u73fe\u91d1\u6e1b\u5c11"
        },
        "label_web.STOPIFCASHINCREASES": {
          en: "STOP IF CASH INCREASES BY",
          kh: "STOP IF CASH INCREASES BY",
          mm: "STOP IF CASH INCREASES BY",
          es: "PARAR SI EL EFECTIVO AUMENTA EN",
          pt: "PARAR SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19",
          vn: "D\u1eeaNG N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\u73fe\u91d1\u589e\u52a0"
        },
        "label_mobile.STOPIFCASHINCREASES": {
          en: "STOP IF CASH INCREASES BY",
          kh: "STOP IF CASH INCREASES BY",
          mm: "STOP IF CASH INCREASES BY",
          es: "PARAR SI EL EFECTIVO AUMENTA EN",
          pt: "PARAR SE O DINHEIRO AUMENTAR EM",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19",
          vn: "D\u1eeaNG N\u1ebeU TI\u1ec0N M\u1eb6T T\u0102NG",
          zh: "\u505c\u6b62\u689d\u4ef6\uff1a\u73fe\u91d1\u589e\u52a0"
        },
        "label_web.STOPIFSINGLEWIN": {
          en: "STOP IF SINGLE WIN EXCEEDS",
          kh: "STOP IF SINGLE WIN EXCEEDS",
          mm: "STOP IF SINGLE WIN EXCEEDS",
          es: "PARAR SI UN SOLO PREMIO SOBREPASA DE",
          pt: "PARAR SE VIT\xd3RIA SIMPLES EXCEDER",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e01\u0e34\u0e19",
          vn: "D\u1eeaNG N\u1ebeU M\u1ed8T L\u1ea6N TH\u1eaeNG V\u01af\u1ee2T QU\xc1",
          zh: "\u505c \u6b62\u689d\u4ef6\uff1a\u55ae\u6b21\u8d0f\u734e \u8d85\u904e"
        },
        "label_mobile.STOPIFSINGLEWIN": {
          en: "STOP IF SINGLE WIN EXCEEDS",
          kh: "STOP IF SINGLE WIN EXCEEDS",
          mm: "STOP IF SINGLE WIN EXCEEDS",
          es: "PARAR SI UN SOLO PREMIO SOBREPASA DE",
          pt: "PARAR SE VIT\xd3RIA SIMPLES EXCEDER",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e01\u0e34\u0e19",
          vn: "D\u1eeaNG N\u1ebeU M\u1ed8T L\u1ea6N TH\u1eaeNG V\u01af\u1ee2T QU\xc1",
          zh: "\u505c \u6b62\u689d\u4ef6\uff1a\u55ae\u6b21\u8d0f\u734e \u8d85\u904e"
        },
        "label_web.STOPONANYWIN": {
          en: "STOP ON\nANY WIN",
          kh: "STOP ON\nANY WIN",
          mm: "STOP ON\nANY WIN",
          es: "PARAR EN \nCUALQUIER PREMIO",
          pt: "PARAR AP\xd3S\nQUALQUER \nVIT\xd3RIA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\u0e43\u0e14\u0e01\u0e47\u0e0a\u0e19\u0e30",
          vn: "D\u1eeaNG KHI\nC\xd3 CHI\u1ebeN \nTH\u1eaeNG",
          zh: "\u4efb\u4f55\u8d0f\u734e\n\u5747\u505c\u6b62"
        },
        "label_mobile.STOPONANYWIN": {
          en: "STOP ON\nANY WIN",
          kh: "STOP ON\nANY WIN",
          mm: "STOP ON\nANY WIN",
          es: "PARAR EN \nCUALQUIER \nPREMIO",
          pt: "PARAR AP\xd3S\nQUALQUER \nVIT\xd3RIA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\n\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49",
          vn: "D\u1eeaNG KHI\nC\xd3 CHI\u1ebeN \nTH\u1eaeNG",
          zh: "\u4efb\u4f55\u8d0f\u734e\n\u5747\u505c\u6b62"
        },
        "label_mobile.STOPONANYWIN_2": {
          en: "STOP ON\nANY WIN",
          kh: "STOP ON\nANY WIN",
          mm: "STOP ON\nANY WIN",
          es: "PARAR EN \nCUALQUIER PREMIO",
          pt: "PARAR AP\xd3S\nQUALQUER \nVIT\xd3RIA",
          thai: "\u0e2b\u0e22\u0e38\u0e14\u0e16\u0e49\u0e32\n\u0e0a\u0e19\u0e30\u0e41\u0e1a\u0e1a\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49",
          vn: "D\u1eeaNG KHI\nC\xd3 CHI\u1ebeN \nTH\u1eaeNG",
          zh: "\u4efb\u4f55\u8d0f\u734e\n\u5747\u505c\u6b62"
        },
        "label_web.SUPERBWIN": {
          en: "SUPERB WIN",
          kh: "SUPERB WIN",
          mm: "SUPERB WIN",
          es: "VICTORIA SOBERBIA",
          pt: "PR\xc9MIO SOBERBO",
          thai: "\u0e21\u0e31\u0e19\u0e22\u0e2d\u0e14\u0e21\u0e32\u0e01",
          vn: "SI\xcaU TH\u1eaeNG",
          zh: "\u8d85\u7d1a\u7372\u52dd"
        },
        "label_mobile.SUPERBWIN": {
          en: "SUPERB WIN",
          kh: "SUPERB WIN",
          mm: "SUPERB WIN",
          es: "VICTORIA SOBERBIA",
          pt: "PR\xc9MIO SOBERBO",
          thai: "\u0e21\u0e31\u0e19\u0e22\u0e2d\u0e14\u0e21\u0e32\u0e01",
          vn: "SI\xcaU TH\u1eaeNG",
          zh: "\u8d85\u7d1a\u7372\u52dd"
        },
        "label_mobile.SUPERBWIN_2": {
          en: "SUPERB WIN",
          kh: "SUPERB WIN",
          mm: "SUPERB WIN",
          es: "VICTORIA SOBERBIA",
          pt: "PR\xc9MIO SOBERBO",
          thai: "\u0e21\u0e31\u0e19\u0e22\u0e2d\u0e14\u0e21\u0e32\u0e01",
          vn: "SI\xcaU TH\u1eaeNG",
          zh: "\u8d85\u7d1a\u7372\u52dd"
        },
        "label_mobile.SUPERBWIN_3": {
          en: "SUPERB WIN",
          kh: "SUPERB WIN",
          mm: "SUPERB WIN",
          es: "VICTORIA SOBERBIA",
          pt: "PR\xc9MIO SOBERBO",
          thai: "\u0e21\u0e31\u0e19\u0e22\u0e2d\u0e14\u0e21\u0e32\u0e01",
          vn: "SI\xcaU TH\u1eaeNG",
          zh: "\u8d85\u7d1a\u7372\u52dd"
        },
        "label_web.SYMBOLSPAYANYWHEREON": {
          en: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_web.SYMBOLSPAYANYWHEREON_2": {
          en: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_mobile.SYMBOLSPAYANYWHEREON": {
          en: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_mobile.SYMBOLSPAYANYWHEREON_2": {
          en: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE \nON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_web.SYMBOLSPAYANYWHEREON_3": {
          en: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_web.SYMBOLSPAYANYWHEREON_4": {
          en: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN\nCUALQUIER POSICI\xd3N DE LA\nPANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_mobile.SYMBOLSPAYANYWHEREON_3": {
          en: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27 \u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_mobile.SYMBOLSPAYANYWHEREON_4": {
          en: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          kh: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          mm: "SYMBOLS PAY ANYWHERE ON THE SCREEN",
          es: "LOS S\xcdMBOLOS PAGAN EN\nCUALQUIER POSICI\xd3N DE LA\nPANTALLA",
          pt: "OS S\xcdMBOLOS PAGAM EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e17\u0e35\u0e48\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "C\xc1C BI\u1ec2U T\u01af\u1ee2NG TR\u1ea2 TH\u01af\u1edeNG \u1ede B\u1ea4T K\u1ef2 \u0110\xc2U TR\xcaN M\xc0N H\xccNH",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8"
        },
        "label_web.SYSTEMSETTINGS": {
          en: "SYSTEM SETTINGS",
          kh: "SYSTEM SETTINGS",
          mm: "SYSTEM SETTINGS",
          es: "AJUSTES DE SISTEMA",
          pt: "DEFINI\xc7\xd5ES DO SISTEMA",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a",
          vn: "C\xc0I \u0110\u1eb6T H\u1ec6 TH\u1ed0NG",
          zh: "\u7cfb\u7d71\u8a2d\u5b9a"
        },
        "label_mobile.SYSTEMSETTINGS": {
          en: "SYSTEM SETTINGS",
          kh: "SYSTEM SETTINGS",
          mm: "SYSTEM SETTINGS",
          es: "AJUSTES DE SISTEMA",
          pt: "DEFINI\xc7\xd5ES DO SISTEMA",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a",
          vn: "C\xc0I \u0110\u1eb6T H\u1ec6 TH\u1ed0NG",
          zh: "\u7cfb\u7d71\u8a2d\u5b9a"
        },
        "label_mobile.SYSTEMSETTINGS_2": {
          en: "SYSTEM SETTINGS",
          kh: "SYSTEM SETTINGS",
          mm: "SYSTEM SETTINGS",
          es: "AJUSTES DE SISTEMA",
          pt: "DEFINI\xc7\xd5ES DO SISTEMA",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a",
          vn: "C\xc0I \u0110\u1eb6T H\u1ec6 TH\u1ed0NG",
          zh: "\u7cfb\u7d71\u8a2d\u5b9a"
        },
        "label_web.Score": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_web.Score_2": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_web.Score_3": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_2": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_3": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_4": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Puntuaci\xf3n",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_5": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_6": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_7": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_8": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_9": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_mobile.Score_10": {
          en: "Score",
          kh: "Score",
          mm: "Score",
          es: "Resultado",
          pt: "Pontua\xe7\xe3o",
          thai: "\u0e04\u0e30\u0e41\u0e19\u0e19",
          vn: "\u0110i\u1ec3m",
          zh: "\u6bd4\u5206"
        },
        "label_web.Search": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Pesquisar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_web.Search_2": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Procurar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_web.Search_3": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Procurar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_mobile.Search": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Pesquisar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_mobile.Search_2": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Procurar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_mobile.Search_3": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Procurar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_mobile.Search_4": {
          en: "Search",
          kh: "Search",
          mm: "Search",
          es: "Buscar",
          pt: "Procurar",
          thai: "\u0e04\u0e49\u0e19\u0e2b\u0e32",
          vn: "T\xecm ki\u1ebfm",
          zh: "\u641c\u5c0b"
        },
        "label_web.Slots": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_web.Slots_2": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_mobile.Slots": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_mobile.Slots_2": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_mobile.Slots_3": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_mobile.Slots_4": {
          en: "Slots",
          kh: "Slots",
          mm: "Slots",
          es: "Slots",
          pt: "Slots",
          thai: "\u0e2a\u0e25\u0e47\u0e2d\u0e15",
          vn: "Tr\xf2 ch\u01a1i m\xe1y \u0111\xe1nh b\u1ea1c",
          zh: "\u8001\u864e\u6a5f"
        },
        "label_web.Specialreelsarein": {
          en: "Special reels are in play during the FREE SPINS ROUND.",
          kh: "Special reels are in play during the FREE SPINS ROUND.",
          mm: "Special reels are in play during the FREE SPINS ROUND.",
          es: "Durante la ronda de tiradas gratuitas, se juega con rodillos especiales.",
          pt: "Rolos especiais entram em jogo durante ambos a Ronda de Rodadas Gr\xe1tis.",
          thai: "\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1e\u0e34\u0e40\u0e28\u0e29",
          vn: "Trong khi v\xf2ng quay mi\u1ec5n ph\xed, gu\u1ed3ng \u0111\u1eb7c bi\u1ec7t xu\u1ea5t hi\u1ec7n.",
          zh: "\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\uff0c\u7279\u6b8a\u6372\u8ef8\u5728\u9032\u884c\u4e4b\u4e2d\u3002"
        },
        "label_mobile.Specialreelsarein": {
          en: "Special reels are in play during the FREE SPINS ROUND.",
          kh: "Special reels are in play during the FREE SPINS ROUND.",
          mm: "Special reels are in play during the FREE SPINS ROUND.",
          es: "Durante la ronda de tiradas gratuitas, se juega con rodillos especiales.",
          pt: "Rolos especiais entram em jogo durante ambos a Ronda de Rodadas Gr\xe1tis.",
          thai: "\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1e\u0e34\u0e40\u0e28\u0e29",
          vn: "Trong khi v\xf2ng quay mi\u1ec5n ph\xed, gu\u1ed3ng \u0111\u1eb7c bi\u1ec7t xu\u1ea5t hi\u1ec7n.",
          zh: "\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\uff0c\u7279\u6b8a\u6372\u8ef8\u5728\u9032\u884c\u4e4b\u4e2d\u3002"
        },
        "label_mobile.Specialreelsarein_2": {
          en: "Special reels are in play during the FREE SPINS ROUND.",
          kh: "Special reels are in play during the FREE SPINS ROUND.",
          mm: "Special reels are in play during the FREE SPINS ROUND.",
          es: "Durante la ronda de tiradas gratuitas, se juega con rodillos especiales.",
          pt: "Rolos especiais entram em jogo durante ambos a Ronda de Rodadas Gr\xe1tis.",
          thai: "\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1f\u0e23\u0e35\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e2b\u0e21\u0e38\u0e19\u0e1e\u0e34\u0e40\u0e28\u0e29",
          vn: "Trong khi v\xf2ng quay mi\u1ec5n ph\xed, gu\u1ed3ng \u0111\u1eb7c bi\u1ec7t xu\u1ea5t hi\u1ec7n.",
          zh: "\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\uff0c\u7279\u6b8a\u6372\u8ef8\u5728\u9032\u884c\u4e4b\u4e2d\u3002"
        },
        "label_web.Startsin": {
          en: "Starts in ",
          kh: "Starts in ",
          mm: "Starts in ",
          es: "Comienza en ",
          pt: "Come\xe7a dentro de ",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e19 ",
          vn: "B\u1eaft \u0111\u1ea7u sau ",
          zh: ""
        },
        "label_web.Startsin_2": {
          en: "Starts in ",
          kh: "Starts in ",
          mm: "Starts in ",
          es: "Comienza en ",
          pt: "Come\xe7a dentro de ",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e19 ",
          vn: "B\u1eaft \u0111\u1ea7u sau ",
          zh: ""
        },
        "label_mobile.Startsin": {
          en: "Starts in ",
          kh: "Starts in ",
          mm: "Starts in ",
          es: "Comienza en ",
          pt: " Come\xe7a dentro de ",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e19 ",
          vn: "B\u1eaft \u0111\u1ea7u sau ",
          zh: ""
        },
        "label_mobile.Startsin_2": {
          en: "Starts in ",
          kh: "Starts in ",
          mm: "Starts in ",
          es: "Comienza en ",
          pt: "Come\xe7a dentro de ",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e19 ",
          vn: "B\u1eaft \u0111\u1ea7u sau ",
          zh: ""
        },
        "label_web.Symbolspayanywhereon": {
          en: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          kh: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          mm: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          es: "Los s\xedmbolos pagan en cualquier lugar de la pantalla. El n\xfamero total del mismo s\xedmbolo en la pantalla al final de una partida determina el valor del premio.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o no ecr\xe3. O n\xfamero total do mesmo s\xedmbolo no ecr\xe3 no final de uma rodada determina o valor do pr\xe9mio.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\n\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e04\u0e33\u0e19\u0e27\u0e13\u0e08\u0e32\u0e01\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e0b\u0e36\u0e48\u0e07\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh. T\u1ed5ng s\u1ed1 bi\u1ec3u t\u01b0\u1ee3ng gi\u1ed1ng nhau tr\xean m\xe0n h\xecnh khi k\u1ebft th\xfac v\xf2ng quay x\xe1c \u0111\u1ecbnh gi\xe1 tr\u1ecb ti\u1ec1n th\u1eafng.",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\u65cb\u8f49\u7d50\u675f\u6642\u756b\u9762\u4e0a\u76f8\u540c\u7b26\u865f\u7684\u7e3d\u6578\u76ee\u6c7a\u5b9a\u4e86\u8d0f\u734e\u91d1\u984d\u3002"
        },
        "label_mobile.Symbolspayanywhereon": {
          en: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          kh: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          mm: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          es: "Los s\xedmbolos pagan en cualquier lugar de la pantalla. El n\xfamero total del mismo s\xedmbolo en la pantalla al final de una partida determina el valor del premio.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o no ecr\xe3. O n\xfamero total do mesmo s\xedmbolo no ecr\xe3 no final de uma rodada determina o valor do pr\xe9mio.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d \u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e04\u0e33\u0e19\u0e27\u0e13\u0e08\u0e32\u0e01\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e0b\u0e36\u0e48\u0e07\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh. T\u1ed5ng s\u1ed1 bi\u1ec3u t\u01b0\u1ee3ng gi\u1ed1ng nhau tr\xean m\xe0n h\xecnh khi k\u1ebft th\xfac v\xf2ng quay x\xe1c \u0111\u1ecbnh gi\xe1 tr\u1ecb ti\u1ec1n th\u1eafng.",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\u65cb\u8f49\u7d50\u675f\u6642\u756b\u9762\u4e0a\u76f8\u540c\u7b26\u865f\u7684\u7e3d\u6578\u76ee\u6c7a\u5b9a\u4e86\u8d0f\u734e\u91d1\u984d\u3002"
        },
        "label_mobile.Symbolspayanywhereon_2": {
          en: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          kh: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          mm: "Symbols pay anywhere on the screen. The total number of the same symbol on the screen at the end of a spin determines the value of the win.",
          es: "Los s\xedmbolos pagan en cualquier lugar de la pantalla. El n\xfamero total del mismo s\xedmbolo en la pantalla al final de una partida determina el valor del premio.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o no ecr\xe3. O n\xfamero total do mesmo s\xedmbolo no ecr\xe3 no final de uma rodada determina o valor do pr\xe9mio.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d \u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e04\u0e33\u0e19\u0e27\u0e13\u0e08\u0e32\u0e01\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b \u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e0b\u0e36\u0e48\u0e07\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh. T\u1ed5ng s\u1ed1 bi\u1ec3u t\u01b0\u1ee3ng gi\u1ed1ng nhau tr\xean m\xe0n h\xecnh khi k\u1ebft th\xfac v\xf2ng quay x\xe1c \u0111\u1ecbnh gi\xe1 tr\u1ecb ti\u1ec1n th\u1eafng.",
          zh: "\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\u65cb\u8f49\u7d50\u675f\n\u6642\u756b\u9762\u4e0a\u76f8\u540c\u7b26\u865f\u7684\u7e3d\u6578\u76ee\u6c7a\u5b9a\u4e86\u8d0f\u734e\u91d1\u984d\u3002"
        },
        "label_web.SymbolspayanywhereAllwins": {
          en: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          kh: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          mm: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          es: "Los s\xedmbolos pagan en cualquier lugar.\n Todos los premios se multiplican por la apuesta base.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o. Todos os pr\xe9mios s\xe3o multiplicados pela aposta base.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\n \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e41\u0e23\u0e01",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u.\n T\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi c\u01b0\u1ee3c c\u01a1 s\u1edf.",
          zh: "\u4efb\u4f55\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\n \u6240\u6709\u734e\u91d1\u90fd\u5c07\u4e58\u4ee5\u57fa\u672c\u8ced\u6ce8\u3002"
        },
        "label_mobile.SymbolspayanywhereAllwins": {
          en: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          kh: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          mm: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          es: "Los s\xedmbolos pagan en cualquier lugar.\n Todos los premios se multiplican por la apuesta base.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o. Todos os pr\xe9mios s\xe3o multiplicados pela aposta base.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\n \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e41\u0e23\u0e01",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u.\n T\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi c\u01b0\u1ee3c c\u01a1 s\u1edf.",
          zh: "\u4efb\u4f55\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\n \u6240\u6709\u734e\u91d1\u90fd\u5c07\u4e58\u4ee5\u57fa\u672c\u8ced\u6ce8\u3002"
        },
        "label_mobile.SymbolspayanywhereAllwins_2": {
          en: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          kh: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          mm: "Symbols pay anywhere.\nAll wins are multiplied by base bet.",
          es: "Los s\xedmbolos pagan en cualquier lugar.\n Todos los premios se multiplican por la apuesta base.",
          pt: "Os s\xedmbolos pagam em qualquer posi\xe7\xe3o. Todos os pr\xe9mios s\xe3o multiplicados pela aposta base.",
          thai: "\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2a\u0e21\u0e2d\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e43\u0e14\n \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e08\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e41\u0e23\u0e01",
          vn: "C\xe1c bi\u1ec3u t\u01b0\u1ee3ng tr\u1ea3 th\u01b0\u1edfng \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u.\n T\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi c\u01b0\u1ee3c c\u01a1 s\u1edf.",
          zh: "\u4efb\u4f55\u4f4d\u7f6e\u7684\u7b26\u865f\u5747\u8ce0\u4ed8\u3002\n \u6240\u6709\u734e\u91d1\u90fd\u5c07\u4e58\u4ee5\u57fa\u672c\u8ced\u6ce8\u3002"
        },
        "label_mobile.TAPTOSTOPREELS": {
          en: "TAP TO STOP REELS!",
          kh: "TAP TO STOP REELS!",
          mm: "TAP TO STOP REELS!",
          es: "\xa1PULSA PARA DETENER LOS TAMBORES!",
          pt: "TOQUE PARA PARAR OS ROLOS!",
          thai: "\u0e41\u0e15\u0e30\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e22\u0e38\u0e14\u0e27\u0e07\u0e25\u0e49\u0e2d!",
          vn: "CH\u1ea0M \u0110\u1ec2 D\u1eeaNG C\xc1C GU\u1ed2NG QUAY!",
          zh: "\u9ede\u9078\u505c\u6b62\u6372\u8ef8\uff01"
        },
        "label_mobile.TAPTOSTOPREELS_2": {
          en: "TAP TO STOP REELS!",
          kh: "TAP TO STOP REELS!",
          mm: "TAP TO STOP REELS!",
          es: "\xa1PULSA PARA DETENER LOS TAMBORES!",
          pt: "TOQUE PARA PARAR OS ROLOS!",
          thai: "\u0e41\u0e15\u0e30\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e22\u0e38\u0e14\u0e27\u0e07\u0e25\u0e49\u0e2d!",
          vn: "CH\u1ea0M \u0110\u1ec2 D\u1eeaNG C\xc1C GU\u1ed2NG QUAY!",
          zh: "\u9ede\u9078\u505c\u6b62\u6372\u8ef8\uff01"
        },
        "label_mobile.TAPTOSTOPREELS_3": {
          en: "TAP TO STOP REELS!",
          kh: "TAP TO STOP REELS!",
          mm: "TAP TO STOP REELS!",
          es: "\xa1PULSA PARA DETENER LOS TAMBORES!",
          pt: "TOQUE PARA PARAR OS ROLOS!",
          thai: "\u0e41\u0e15\u0e30\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e22\u0e38\u0e14\u0e27\u0e07\u0e25\u0e49\u0e2d!",
          vn: "CH\u1ea0M \u0110\u1ec2 D\u1eeaNG C\xc1C GU\u1ed2NG QUAY!",
          zh: "\u9ede\u9078\u505c\u6b62\u6372\u8ef8\uff01"
        },
        "label_web.THETIMERSTARTSWHEN": {
          en: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          kh: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          mm: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          es: "EL TEMPORIZADOR COMIENZA CUANDO USTED REALIZA LA PRIMERA TIRADA Y SE VA ACABANDO CONTINUAMENTE. POR FAVOR, JUEGUE TODA LA RONDA SIN CERRAR EL JUEGO.",
          pt: "O TEMPORIZADOR COME\xc7A QUANDO O JOGADOR FAZ A PRIMEIRA RODADA E VAI ESGOTANDO-SE CONTINUAMENTE. JOGUE A RONDA COMPLETA SEM FECHAR O JOGO.",
          thai: "\u0e15\u0e31\u0e27\u0e08\u0e31\u0e1a\u0e40\u0e27\u0e25\u0e32\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e19\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e2a\u0e1b\u0e34\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e19\u0e31\u0e1a\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e19\u0e46 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e08\u0e1a\u0e23\u0e2d\u0e1a\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21",
          vn: "B\u1ed8 H\u1eb8N GI\u1edc B\u1eaeT \u0110\u1ea6U KHI B\u1ea0N TH\u1ef0C HI\u1ec6N V\xd2NG QUAY \u0110\u1ea6U TI\xcaN V\xc0 LI\xcaN T\u1ee4C CH\u1ea0Y. H\xc3Y CH\u01a0I TO\xc0N B\u1ed8 V\xc1N CH\u01a0I M\xc0 KH\xd4NG \u0110\xd3NG TR\xd2 CH\u01a0I.",
          zh: "\u8a08\u6642\u5668\u5728\u9996\u6b21\u65cb\u8f49 \u6642\u958b\u59cb\u8a08\u6642\u4e26\u6703\u4e0d\u65b7\u8017\u76e1\u3002 \u8acb\u5b8c\u6210\u6574\u500b\u56de\u5408\u800c\u4e0d\u8981\u95dc\u9589\u904a\u6232\u3002"
        },
        "label_mobile.THETIMERSTARTSWHEN": {
          en: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          kh: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          mm: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          es: "EL TEMPORIZADOR COMIENZA CUANDO USTED REALIZA LA PRIMERA TIRADA Y SE VA ACABANDO CONTINUAMENTE. POR FAVOR, JUEGUE TODA LA RONDA SIN CERRAR EL JUEGO.",
          pt: "O TEMPORIZADOR COME\xc7A QUANDO O JOGADOR FAZ A PRIMEIRA RODADA E VAI ESGOTANDO-SE CONTINUAMENTE. JOGUE A RONDA COMPLETA SEM FECHAR O JOGO.",
          thai: "\u0e15\u0e31\u0e27\u0e08\u0e31\u0e1a\u0e40\u0e27\u0e25\u0e32\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e19\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e2a\u0e1b\u0e34\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e19\u0e31\u0e1a\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e19\u0e46 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e08\u0e1a\u0e23\u0e2d\u0e1a\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21",
          vn: "B\u1ed8 H\u1eb8N GI\u1edc B\u1eaeT \u0110\u1ea6U KHI B\u1ea0N TH\u1ef0C HI\u1ec6N V\xd2NG QUAY \u0110\u1ea6U TI\xcaN V\xc0 LI\xcaN T\u1ee4C CH\u1ea0Y. H\xc3Y CH\u01a0I TO\xc0N B\u1ed8 V\xc1N CH\u01a0I M\xc0 KH\xd4NG \u0110\xd3NG TR\xd2 CH\u01a0I.",
          zh: "\u8a08\u6642\u5668\u5728\u9996\u6b21\u65cb\u8f49 \u6642\u958b\u59cb\u8a08\u6642\u4e26\u6703\u4e0d\u65b7\u8017\u76e1\u3002 \u8acb\u5b8c\u6210\u6574\u500b\u56de\u5408\u800c\u4e0d\u8981\u95dc\u9589\u904a\u6232\u3002"
        },
        "label_mobile.THETIMERSTARTSWHEN_2": {
          en: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          kh: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          mm: "THE TIMER STARTS WHEN YOU DO THE FIRST SPIN AND RUNS OUT CONTINUOUSLY. PLEASE PLAY THE WHOLE ROUND WITHOUT CLOSING THE GAME.",
          es: "EL TEMPORIZADOR COMIENZA CUANDO USTED REALIZA LA PRIMERA TIRADA Y SE VA ACABANDO CONTINUAMENTE. POR FAVOR, JUEGUE TODA LA RONDA SIN CERRAR EL JUEGO.",
          pt: "O TEMPORIZADOR COME\xc7A QUANDO O JOGADOR FAZ A PRIMEIRA RODADA E VAI ESGOTANDO-SE CONTINUAMENTE. JOGUE A RONDA COMPLETA SEM FECHAR O JOGO.",
          thai: "\u0e15\u0e31\u0e27\u0e08\u0e31\u0e1a\u0e40\u0e27\u0e25\u0e32\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e19\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e2a\u0e1b\u0e34\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e19\u0e31\u0e1a\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e19\u0e46 \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e25\u0e48\u0e19\u0e43\u0e2b\u0e49\u0e08\u0e1a\u0e23\u0e2d\u0e1a\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e1b\u0e34\u0e14\u0e40\u0e01\u0e21",
          vn: "B\u1ed8 H\u1eb8N GI\u1edc B\u1eaeT \u0110\u1ea6U KHI B\u1ea0N TH\u1ef0C HI\u1ec6N V\xd2NG QUAY \u0110\u1ea6U TI\xcaN V\xc0 LI\xcaN T\u1ee4C CH\u1ea0Y. H\xc3Y CH\u01a0I TO\xc0N B\u1ed8 V\xc1N CH\u01a0I M\xc0 KH\xd4NG \u0110\xd3NG TR\xd2 CH\u01a0I.",
          zh: "\u8a08\u6642\u5668\u5728\u9996\u6b21\u65cb\u8f49 \u6642\u958b\u59cb\u8a08\u6642\u4e26\u6703\u4e0d\u65b7\u8017\u76e1\u3002 \u8acb\u5b8c\u6210\u6574\u500b\u56de\u5408\u800c\u4e0d\u8981\u95dc\u9589\u904a\u6232\u3002"
        },
        "label_web.THEREARENOMORE": {
          en: "THERE ARE NO MORE PRIZES LEFT",
          kh: "THERE ARE NO MORE PRIZES LEFT",
          mm: "THERE ARE NO MORE PRIZES LEFT",
          es: "No quedan m\xe1s premios",
          pt: "N\xe3o h\xe1 mais pr\xe9mios em dinheiro",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf3 th\xeam gi\u1ea3i th\u01b0\u1edfng n\xe0o c\xf2n l\u1ea1i",
          zh: "\u6c92\u6709\u66f4\u591a\u734e\u54c1\u4e86"
        },
        "label_mobile.THEREARENOMORE": {
          en: "THERE ARE NO MORE PRIZES LEFT",
          kh: "THERE ARE NO MORE PRIZES LEFT",
          mm: "THERE ARE NO MORE PRIZES LEFT",
          es: "No quedan m\xe1s premios",
          pt: "N\xe3o h\xe1 mais pr\xe9mios em dinheiro",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf3 th\xeam gi\u1ea3i th\u01b0\u1edfng n\xe0o c\xf2n l\u1ea1i",
          zh: "\u6c92\u6709\u66f4\u591a\u734e\u54c1\u4e86"
        },
        "label_web.THEREISNOADDITIONAL": {
          en: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          kh: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          mm: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          es: "NO HAY COSTE ADICIONAL POR PARTICIPAR Y NO HAY OPCI\xd3N DE INSCRIBIRSE M\xc1S ADELANTE.\n\n\xbfEST\xc1 SEGURO DE QUE QUIERE SALIRSE?",
          pt: "N\xc3O H\xc1 CUSTOS ADICIONAIS PARA PARTICIPAR E N\xc3O H\xc1 OP\xc7\xc3O DE INSCRI\xc7\xc3O MAIS TARDE.\n\nTEM A CERTEZA DE QUE N\xc3O SE QUER INSCREVER?",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e0a\u0e19\u0e30\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e43\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07\n\n\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21",
          vn: "KH\xd4NG C\xd3 TH\xcaM B\u1ea4T K\u1ef2 KHO\u1ea2N PH\xcd N\xc0O \u0110\u1ec2 THAM GIA V\xc0 SAU N\xc0Y S\u1ebc KH\xd4NG TH\u1ec2 CH\u1eccN THAM GIA \u0110\u01af\u1ee2C N\u1eeeA. \n\nB\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N CH\u1eccN KH\xd4NG THAM GIA?",
          zh: "\u514d\u8cbb\u63a8\u5ee3\uff0c\u7121\u9700\u984d\u5916\u8cbb\u7528\u5373\u53ef\u53c3\u52a0\uff0c\u932f\u904e\u5c07\u7121\u6cd5\u518d\u52a0\u5165\u3002 \n\n\u60a8\u78ba\u5b9a\u8981\u9000\u51fa\u55ce\uff1f\n"
        },
        "label_mobile.THEREISNOADDITIONAL": {
          en: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          kh: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          mm: "THERE IS NO ADDITIONAL COST TO PARTICIPATE AND NO OPTION TO OPT-IN LATER.\n\nARE YOU SURE YOU WANT TO OPT OUT?",
          es: "NO HAY COSTE ADICIONAL POR PARTICIPAR Y NO HAY OPCI\xd3N DE INSCRIBIRSE M\xc1S ADELANTE.\n\n\xbfEST\xc1 SEGURO DE QUE QUIERE SALIRSE?",
          pt: "N\xc3O H\xc1 CUSTOS ADICIONAIS PARA PARTICIPAR E N\xc3O H\xc1 OP\xc7\xc3O DE INSCRI\xc7\xc3O MAIS TARDE.\n\nTEM A CERTEZA DE QUE N\xc3O SE QUER INSCREVER?",
          thai: "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e43\u0e19\u0e20\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07\n\n\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e44\u0e2b\u0e21\u0e27\u0e48\u0e32\u0e08\u0e30\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21",
          vn: "KH\xd4NG C\xd3 TH\xcaM B\u1ea4T K\u1ef2 KHO\u1ea2N PH\xcd N\xc0O \u0110\u1ec2 THAM GIA V\xc0 SAU N\xc0Y S\u1ebc KH\xd4NG TH\u1ec2 CH\u1eccN THAM GIA \u0110\u01af\u1ee2C N\u1eeeA. \n\nB\u1ea0N C\xd3 CH\u1eaeC CH\u1eaeN MU\u1ed0N CH\u1eccN KH\xd4NG THAM GIA?",
          zh: "\u514d\u8cbb\u63a8\u5ee3\uff0c\u7121\u9700\u984d\u5916\u8cbb\u7528\u5373\u53ef\u53c3\u52a0\uff0c\u932f\u904e\u5c07\u7121\u6cd5\u518d\u52a0\u5165\u3002 \n\n\u60a8\u78ba\u5b9a\u8981\u9000\u51fa\u55ce\uff1f\n"
        },
        "label_web.THISBONUSISAVAILABLE": {
          en: "THIS BONUS IS AVAILABLE FOR",
          kh: "THIS BONUS IS AVAILABLE FOR",
          mm: "THIS BONUS IS AVAILABLE FOR",
          es: "ESTE BONUS EST\xc1 DISPONIBLE DURANTE",
          pt: "ESTE B\xd3NUS EST\xc1 DISPON\xcdVEL POR",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e19\u0e35\u0e49\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N C\xd3 TH\u1ec2 S\u1eec D\u1ee4NG PH\u1ea6N TH\u01af\u1edeNG N\xc0Y TRONG",
          zh: "\u8a72\u734e\u52f5\u5728"
        },
        "label_mobile.THISBONUSISAVAILABLE": {
          en: "THIS BONUS IS AVAILABLE FOR",
          kh: "THIS BONUS IS AVAILABLE FOR",
          mm: "THIS BONUS IS AVAILABLE FOR",
          es: "ESTE BONUS EST\xc1 DISPONIBLE DURANTE",
          pt: "ESTE B\xd3NUS EST\xc1 DISPON\xcdVEL POR",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e19\u0e35\u0e49\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N C\xd3 TH\u1ec2 S\u1eec D\u1ee4NG PH\u1ea6N TH\u01af\u1edeNG N\xc0Y TRONG",
          zh: "\u8a72\u734e\u52f5\u5728 \u9069\u7528"
        },
        "label_mobile.THISBONUSISAVAILABLE_2": {
          en: "THIS BONUS IS AVAILABLE FOR",
          kh: "THIS BONUS IS AVAILABLE FOR",
          mm: "THIS BONUS IS AVAILABLE FOR",
          es: "ESTE BONUS EST\xc1 DISPONIBLE DURANTE",
          pt: "ESTE B\xd3NUS EST\xc1 DISPON\xcdVEL POR",
          thai: "\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e19\u0e35\u0e49\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N C\xd3 TH\u1ec2 S\u1eec D\u1ee4NG PH\u1ea6N TH\u01af\u1edeNG N\xc0Y TRONG",
          zh: "\u8a72\u734e\u52f5\u5728 \u9069\u7528"
        },
        "label_web.TIME": {
          en: "TIME",
          kh: "TIME",
          mm: "TIME",
          es: "HORA",
          pt: "TEMPO",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "TH\u1edcI GIAN",
          zh: "\u6642\u9593"
        },
        "label_mobile.TIME": {
          en: "TIME",
          kh: "TIME",
          mm: "TIME",
          es: "HORA",
          pt: "TEMPO",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "TH\u1edcI GIAN",
          zh: "\u6642\u9593"
        },
        "label_mobile.TIME_2": {
          en: "TIME",
          kh: "TIME",
          mm: "TIME",
          es: "HORA",
          pt: "TEMPO",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "TH\u1edcI GIAN",
          zh: "\u6642\u9593"
        },
        "label_web.TIMELEFT": {
          en: "TIME LEFT",
          kh: "TIME LEFT",
          mm: "TIME LEFT",
          es: "TIEMPO RESTANTE",
          pt: "TEMPO RESTANTE",
          thai: "\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d",
          vn: "TH\u1edcI GIAN C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u6642\u9593"
        },
        "label_mobile.TIMELEFT": {
          en: "TIME LEFT",
          kh: "TIME LEFT",
          mm: "TIME LEFT",
          es: "TIEMPO RESTANTE",
          pt: "TEMPO RESTANTE",
          thai: "\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d",
          vn: "TH\u1edcI GIAN C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u6642\u9593"
        },
        "label_mobile.TIMELEFT_2": {
          en: "TIME LEFT",
          kh: "TIME LEFT",
          mm: "TIME LEFT",
          es: "TIEMPO RESTANTE",
          pt: "TEMPO RESTANTE",
          thai: "\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d",
          vn: "TH\u1edcI GIAN C\xd2N L\u1ea0I",
          zh: "\u5269\u9918\u6642\u9593"
        },
        "label_mobile.TIME_3": {
          en: "TIME:",
          kh: "TIME:",
          mm: "TIME:",
          es: "HORA:",
          pt: "TEMPO:",
          thai: "\u0e40\u0e27\u0e25\u0e32:",
          vn: "TH\u1edcI GIAN:",
          zh: "\u6642\u9593\uff1a"
        },
        "label_mobile.TIME_4": {
          en: "TIME:",
          kh: "TIME:",
          mm: "TIME:",
          es: "HORA:",
          pt: "TEMPO:",
          thai: "\u0e40\u0e27\u0e25\u0e32:",
          vn: "TH\u1edcI GIAN:",
          zh: "\u6642\u9593\uff1a"
        },
        "label_mobile.TITLEGOESHERE": {
          en: "TITLE GOES HERE",
          kh: "TITLE GOES HERE",
          mm: "TITLE GOES HERE",
          es: "<<<<<<TITLE GOES HERE",
          pt: "<<<<<<TITLE GOES HERE",
          thai: "<<<<<<TITLE GOES HERE",
          vn: "<<<<<<TITLE GOES HERE",
          zh: "<<<<<<TITLE GOES HERE"
        },
        "label_mobile.TITLEGOESHERE_2": {
          en: "TITLE GOES HERE",
          kh: "TITLE GOES HERE",
          mm: "TITLE GOES HERE",
          es: "<<<<<<TITLE GOES HERE",
          pt: "<<<<<<TITLE GOES HERE",
          thai: "<<<<<<TITLE GOES HERE",
          vn: "<<<<<<TITLE GOES HERE",
          zh: "<<<<<<TITLE GOES HERE"
        },
        "label_web.TOBEPLAYEDIN": {
          en: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          kh: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          mm: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          es: "PARA JUGARSE EN UNO DE ESTOS JUEGOS:\n{0}",
          pt: "PARA JOGAR NUM DESTES JOGOS:\n{0}",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e43\u0e14\u0e40\u0e01\u0e21\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:\n{0}",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede M\u1ed8T TRONG C\xc1C TR\xd2 CH\u01a0I SAU:\n{0}",
          zh: "\u5728\u9019\u4e9b\u904a\u6232\u4e4b\u4e00\u4e2d\u9032\u884c\uff1a{0}"
        },
        "label_mobile.TOBEPLAYEDIN": {
          en: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          kh: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          mm: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          es: "PARA JUGARSE EN UNO DE ESTOS JUEGOS:\n{0}",
          pt: "PARA JOGAR NUM DESTES JOGOS:\n{0}",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e43\u0e14\u0e40\u0e01\u0e21\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:\n{0}",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede M\u1ed8T TRONG C\xc1C TR\xd2 CH\u01a0I SAU:\n{0}",
          zh: "\u5728\u9019\u4e9b\u904a\u6232\u4e4b\u4e00\u4e2d\u9032\u884c\uff1a{0}"
        },
        "label_mobile.TOBEPLAYEDIN_2": {
          en: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          kh: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          mm: "TO BE PLAYED IN ONE OF THESE GAMES:\n{0}",
          es: "PARA JUGARSE EN UNO DE ESTOS JUEGOS:\n{0}",
          pt: "PARA JOGAR NUM DESTES JOGOS:\n{0}",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e43\u0e14\u0e40\u0e01\u0e21\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:\n{0}",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede M\u1ed8T TRONG C\xc1C TR\xd2 CH\u01a0I SAU:\n{0}",
          zh: "\u5728\u9019\u4e9b\u904a\u6232\u4e4b\u4e00\u4e2d\u9032\u884c\uff1a{0}"
        },
        "label_web.TOBEPLAYEDIN_2": {
          en: "TO BE PLAYED IN THIS GAME",
          kh: "TO BE PLAYED IN THIS GAME",
          mm: "TO BE PLAYED IN THIS GAME",
          es: "PARA SER JUGADO EN ESTE JUEGO",
          pt: "PARA JOGAR NESTE JOGO",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede TR\xd2 CH\u01a0I N\xc0Y",
          zh: "\u5728\u6b64\u904a\u6232\u4e2d\u9032\u884c"
        },
        "label_mobile.TOBEPLAYEDIN_3": {
          en: "TO BE PLAYED IN THIS GAME",
          kh: "TO BE PLAYED IN THIS GAME",
          mm: "TO BE PLAYED IN THIS GAME",
          es: "PARA SER JUGADO EN ESTE JUEGO",
          pt: "PARA JOGAR NESTE JOGO",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede TR\xd2 CH\u01a0I N\xc0Y",
          zh: "\u5728\u6b64\u904a\u6232\u4e2d\u9032\u884c"
        },
        "label_mobile.TOBEPLAYEDIN_4": {
          en: "TO BE PLAYED IN THIS GAME",
          kh: "TO BE PLAYED IN THIS GAME",
          mm: "TO BE PLAYED IN THIS GAME",
          es: "PARA SER JUGADO EN ESTE JUEGO",
          pt: "PARA JOGAR NESTE JOGO",
          thai: "\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49",
          vn: "S\u1ebc \u0110\u01af\u1ee2C S\u1eec D\u1ee4NG \u1ede TR\xd2 CH\u01a0I N\xc0Y",
          zh: "\u5728\u6b64\u904a\u6232\u4e2d\u9032\u884c"
        },
        "label_web.TODOASMANY": {
          en: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          es: "PARA HACER TANTAS RONDAS DE BONUS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RONDAS DE B\xd3NUS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e43\u0e2b\u0e49\u0e0a\u0e19\u0e30\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e0a\u0e19\u0e30!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG CH\u01a0I TH\u01af\u1edeNG MI\u1ec4N PH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.TODOASMANY": {
          en: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          es: "PARA HACER TANTAS RONDAS\nDE BONUS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RONDAS DE B\xd3NUS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e43\u0e2b\u0e49\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e44\u0e14\u0e49!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG CH\u01a0I TH\u01af\u1edeNG MI\u1ec4N\nPH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_mobile.TODOASMANY_2": {
          en: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS ROUNDS AS YOU CAN!",
          es: "PARA HACER TANTAS RONDAS DE BONUS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RONDAS DE B\xd3NUS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e43\u0e2b\u0e49\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e44\u0e14\u0e49!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG CH\u01a0I TH\u01af\u1edeNG MI\u1ec4N PH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408\uff01"
        },
        "label_web.TODOASMANY_2": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_web.TODOASMANY_3": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_3": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_4": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_5": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_6": {
          en: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE BONUS SPINS AS YOU CAN!",
          es: "\xa1PARA HACER TANTAS TIRADAS BONUS GRATIS COMO PUEDA!",
          pt: "PARA FAZER O M\xc1XIMO DE RODADAS B\xd3NUS GR\xc1TIS QUE CONSEGUIR!",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N NHI\u1ec0U V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\uff01"
        },
        "label_web.TODOASMANY_4": {
          en: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          es: "PARA HACER TANTAS TIRADAS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RODADAS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e0a\u0e19\u0e30\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e0a\u0e19\u0e30!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG QUAY MI\u1ec4N PH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_7": {
          en: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          es: "PARA HACER TANTAS TIRADAS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RODADAS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e44\u0e14\u0e49!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG QUAY MI\u1ec4N PH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u65cb\u8f49\uff01"
        },
        "label_mobile.TODOASMANY_8": {
          en: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          kh: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          mm: "TO DO AS MANY FREE SPINS AS YOU CAN!",
          es: "PARA HACER TANTAS TIRADAS GRATIS COMO PUEDA!",
          pt: "PARA JOGAR O M\xc1XIMO POSS\xcdVEL DE RODADAS GR\xc1TIS!",
          thai: "\u0e17\u0e33\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e17\u0e33\u0e44\u0e14\u0e49!",
          vn: "\u0110\u1ec2 TH\u1ef0C HI\u1ec6N S\u1ed0 V\xd2NG QUAY MI\u1ec4N PH\xcd NHI\u1ec0U NH\u1ea4T C\xd3 TH\u1ec2!",
          zh: "\u5b8c\u6210\u5118\u91cf\u591a\u7684\u514d\u8cbb\u65cb\u8f49\uff01"
        },
        "label_web.TOPGAMES": {
          en: "TOP GAMES",
          kh: "TOP GAMES",
          mm: "TOP GAMES",
          es: "MEJORES JUEGOS",
          pt: "MELHORES JOGOS",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "TR\xd2 CH\u01a0I H\xc0NG \u0110\u1ea6U",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_web.TOPGAMES_2": {
          en: "TOP GAMES",
          kh: "TOP GAMES",
          mm: "TOP GAMES",
          es: "MEJORES JUEGOS",
          pt: "MELHORES JOGOS",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "TR\xd2 CH\u01a0I H\xc0NG \u0110\u1ea6U",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TOPGAMES": {
          en: "TOP GAMES",
          kh: "TOP GAMES",
          mm: "TOP GAMES",
          es: "MEJORES JUEGOS",
          pt: "MELHORES JOGOS",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "TR\xd2 CH\u01a0I H\xc0NG \u0110\u1ea6U",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TOPGAMES_2": {
          en: "TOP GAMES",
          kh: "TOP GAMES",
          mm: "TOP GAMES",
          es: "MEJORES JUEGOS",
          pt: "MELHORES JOGOS",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "TR\xd2 CH\u01a0I H\xc0NG \u0110\u1ea6U",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_web.TOTALBET": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_web.TOTALBET_2": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_web.TOTALBET_3": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_web.TOTALBET_4": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_web.TOTALBET_5": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_2": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_3": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_4": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_5": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_6": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_7": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_8": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_9": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_mobile.TOTALBET_10": {
          en: "TOTAL BET",
          kh: "TOTAL BET",
          mm: "TOTAL BET",
          es: "TOTAL APOSTADO",
          pt: "APOSTA TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19",
          vn: "T\u1ed4NG C\u01af\u1ee2C",
          zh: "\u7e3d\u8ced\u6ce8"
        },
        "label_web.TOTALWIN": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA\nTOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_web.TOTALWIN_2": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA\nTOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_web.TOTALWIN_3": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA TOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_web.TOTALWIN_4": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA\nTOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_mobile.TOTALWIN": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA TOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_mobile.TOTALWIN_2": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA TOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_mobile.TOTALWIN_3": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA\nTOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_mobile.TOTALWIN_4": {
          en: "TOTAL WIN",
          kh: "TOTAL WIN",
          mm: "TOTAL WIN",
          es: "GANANCIA\nTOTAL",
          pt: "PR\xc9MIO TOTAL",
          thai: "\u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21\n\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30",
          vn: "T\u1ed4NG TH\u1eaeNG",
          zh: "\u7e3d\u734e\u91d1"
        },
        "label_web.TOURNAMENT": {
          en: "TOURNAMENT",
          kh: "TOURNAMENT",
          mm: "TOURNAMENT",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_web.TOURNAMENT_2": {
          en: "TOURNAMENT",
          kh: "TOURNAMENT",
          mm: "TOURNAMENT",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.TOURNAMENT": {
          en: "TOURNAMENT",
          kh: "TOURNAMENT",
          mm: "TOURNAMENT",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.TOURNAMENT_2": {
          en: "TOURNAMENT",
          kh: "TOURNAMENT",
          mm: "TOURNAMENT",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.TOURNAMENT_3": {
          en: "TOURNAMENT",
          kh: "TOURNAMENT",
          mm: "TOURNAMENT",
          es: "TORNEO",
          pt: "TORNEIO",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_web.TOURNAMENTS": {
          en: "TOURNAMENTS",
          kh: "TOURNAMENTS",
          mm: "TOURNAMENTS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_web.TOURNAMENTS_2": {
          en: "TOURNAMENTS",
          kh: "TOURNAMENTS",
          mm: "TOURNAMENTS",
          es: "TORNEOS",
          pt: "TORNEIOS",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_mobile.TOURNAMENTS": {
          en: "TOURNAMENTS",
          kh: "TOURNAMENTS",
          mm: "TOURNAMENTS",
          es: "ENTREGA DE PREMIOS",
          pt: "QUEDA DE PR\xc9MIOS",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49",
          vn: "TH\u1ea2 T\xccM GI\u1ea2I TH\u01af\u1edeNG",
          zh: "\u5929\u964d\u734e\u52f5"
        },
        "label_mobile.TOURNAMENTS_2": {
          en: "TOURNAMENTS",
          kh: "TOURNAMENTS",
          mm: "TOURNAMENTS",
          es: "TORNEOS",
          pt: "TORNEIOS",
          thai: "\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c",
          vn: "GI\u1ea2I \u0110\u1ea4U",
          zh: "\u9326\u6a19\u8cfd"
        },
        "label_web.TUMBLEFEATURE": {
          en: "TUMBLE FEATURE",
          kh: "TUMBLE FEATURE",
          mm: "TUMBLE FEATURE",
          es: "FUNCI\xd3N DE SUSTITUCI\xd3N",
          pt: "EXTRA DE QUEDA ",
          thai: "\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30 TUMBLE ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 ",
          zh: "\u7ffb\u8f49\u529f\u80fd "
        },
        "label_mobile.TUMBLEFEATURE": {
          en: "TUMBLE FEATURE",
          kh: "TUMBLE FEATURE",
          mm: "TUMBLE FEATURE",
          es: "FUNCI\xd3N DE SUSTITUCI\xd3N",
          pt: "EXTRA DE QUEDA ",
          thai: "\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30 TUMBLE ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 ",
          zh: "\u7ffb\u8f49\u529f\u80fd "
        },
        "label_mobile.TUMBLEFEATURE_2": {
          en: "TUMBLE FEATURE",
          kh: "TUMBLE FEATURE",
          mm: "TUMBLE FEATURE",
          es: "FUNCI\xd3N DE SUSTITUCI\xd3N",
          pt: "EXTRA DE QUEDA ",
          thai: "\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30 TUMBLE ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 ",
          zh: "\u7ffb\u8f49\u529f\u80fd "
        },
        "label_web.TUMBLEWIN": {
          en: "TUMBLE WIN",
          kh: "TUMBLE WIN",
          mm: "TUMBLE WIN",
          es: "PREMIO DE SUSTITUCI\xd3N",
          pt: "GANHO DE QUEDA",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "TH\u1eaeNG S\u1ee4P \u0110\u1ed4",
          zh: "\u7ffb\u8f49\u734e\u91d1"
        },
        "label_web.TUMBLEWIN_2": {
          en: "TUMBLE WIN",
          kh: "TUMBLE WIN",
          mm: "TUMBLE WIN",
          es: "PREMIO DE SUSTITUCI\xd3N",
          pt: "GANHO DE QUEDA",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "TH\u1eaeNG S\u1ee4P \u0110\u1ed4",
          zh: "\u7ffb\u8f49\u734e\u91d1"
        },
        "label_mobile.TUMBLEWIN": {
          en: "TUMBLE WIN",
          kh: "TUMBLE WIN",
          mm: "TUMBLE WIN",
          es: "PREMIO DE SUSTITUCI\xd3N",
          pt: "GANHO DE QUEDA",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "TH\u1eaeNG S\u1ee4P \u0110\u1ed4",
          zh: "\u7ffb\u8f49\u734e\u91d1"
        },
        "label_mobile.TUMBLEWIN_2": {
          en: "TUMBLE WIN",
          kh: "TUMBLE WIN",
          mm: "TUMBLE WIN",
          es: "PREMIO DE SUSTITUCI\xd3N",
          pt: "GANHO DE QUEDA",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "TH\u1eaeNG S\u1ee4P \u0110\u1ed4",
          zh: "\u7ffb\u8f49\u734e\u91d1"
        },
        "label_web.TURBOSPIN": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA \nTURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG \nQUAY\nT\u0102NG \nC\u01af\u1edcNG ",
          zh: "\u6975\u901f \u65cb\u8f49 "
        },
        "label_web.TURBOSPIN_2": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA TURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA \nTURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG \nC\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_2": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA \nTURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG \nQUAY\nT\u0102NG \nC\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_3": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA \nTURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG \nC\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_4": {
          en: "TURBO\nSPIN",
          kh: "TURBO\nSPIN",
          mm: "TURBO\nSPIN",
          es: "TIRADA \nTURBO",
          pt: "RODADA \nTURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG \nC\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.TURBOSPIN_3": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.TURBOSPIN_4": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.TURBOSPIN_5": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.TURBOSPIN_6": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY\nT\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_5": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_6": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_7": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_8": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_9": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_10": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_11": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_mobile.TURBOSPIN_12": {
          en: "TURBO SPIN",
          kh: "TURBO SPIN",
          mm: "TURBO SPIN",
          es: "TIRADA TURBO",
          pt: "RODADA TURBO ",
          thai: "\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e42\u0e1a\u0e2a\u0e1b\u0e34\u0e19 ",
          vn: "V\xd2NG QUAY T\u0102NG C\u01af\u1edcNG ",
          zh: "\u6975\u901f\u65cb\u8f49 "
        },
        "label_web.TURNONOROFF": {
          en: "TURN ON OR OFF THE GAME MUSIC",
          kh: "TURN ON OR OFF THE GAME MUSIC",
          mm: "TURN ON OR OFF THE GAME MUSIC",
          es: "ACTIVAR O DESACTIVAR LA M\xdaSICA DEL JUEGO",
          pt: "LIGAR OU DESLIGAR A M\xdaSICA DO JOGO",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e34\u0e14\u0e40\u0e1e\u0e25\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "B\u1eacT HO\u1eb6C T\u1eaeT NH\u1ea0C N\u1ec0N TR\xd2 CH\u01a0I",
          zh: "\u6253\u958b\u6216\u95dc\u9589\u904a\u6232\u97f3\u6a02"
        },
        "label_web.TURNONOROFF_2": {
          en: "TURN ON OR OFF THE GAME SOUNDS",
          kh: "TURN ON OR OFF THE GAME SOUNDS",
          mm: "TURN ON OR OFF THE GAME SOUNDS",
          es: "ACTIVAR O DESACTIVAR LOS SONIDOS DEL JUEGO",
          pt: "LIGAR OU DESLIGAR OS SONS DO JOGO",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "B\u1eacT HO\u1eb6C T\u1eaeT \xc2M THANH TR\xd2 CH\u01a0I",
          zh: "\u6253\u958b\u6216\u95dc\u9589\u904a\u6232\u8072\u97f3"
        },
        "label_web.TURNSOUNDOFFOR": {
          en: "TURN SOUND OFF OR ON",
          kh: "TURN SOUND OFF OR ON",
          mm: "TURN SOUND OFF OR ON",
          es: "ACTIVAR O DESACTIVAR SONIDO",
          pt: "LIGAR / DESLIGAR O SOM",
          thai: "\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "B\u1eacT HO\u1eb6C T\u1eaeT \xc2M THANH",
          zh: "\u95dc\u9589\u6216\u958b\u555f\u8072\u97f3"
        },
        "label_mobile.TURNSOUNDOFFOR": {
          en: "TURN SOUND OFF OR ON",
          kh: "TURN SOUND OFF OR ON",
          mm: "TURN SOUND OFF OR ON",
          es: "ACTIVAR O DESACTIVAR SONIDO",
          pt: "LIGAR / DESLIGAR O SOM",
          thai: "\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "B\u1eacT HO\u1eb6C T\u1eaeT \xc2M THANH",
          zh: "\u95dc\u9589\u6216\u958b\u555f\u8072\u97f3"
        },
        "label_mobile.TURNSOUNDOFFOR_2": {
          en: "TURN SOUND OFF OR ON",
          kh: "TURN SOUND OFF OR ON",
          mm: "TURN SOUND OFF OR ON",
          es: "ACTIVAR O DESACTIVAR SONIDO",
          pt: "LIGAR / DESLIGAR O SOM",
          thai: "\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07",
          vn: "B\u1eacT HO\u1eb6C T\u1eaeT \xc2M THANH",
          zh: "\u95dc\u9589\u6216\u958b\u555f\u8072\u97f3"
        },
        "label_web.TheDailyWinspromotion": {
          en: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n Daily Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Daily Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Daily Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e0a\u0e19\u0e30\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e0a\u0e19\u0e30\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Daily Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Daily Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\n\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_mobile.TheDailyWinspromotion": {
          en: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n Daily Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Daily Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Daily Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Daily Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Daily Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_mobile.TheDailyWinspromotion_2": {
          en: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Daily Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n Daily Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Daily Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Daily Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Daily Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Daily Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_web.TheDropsandWins": {
          en: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n de Drops & Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Drops & Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Drops & Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e0a\u0e19\u0e30\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15 \u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e0a\u0e19\u0e30\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19 \u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Drops & Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Drops & Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\n\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_mobile.TheDropsandWins": {
          en: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n de Drops & Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Drops & Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Drops & Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Drops & Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Drops & Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_mobile.TheDropsandWins_2": {
          en: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          kh: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          mm: "The Drops and Wins promotion consists of two parts - Tournament and Prize Drops. By pressing JOIN ALL, you will be opted in both Tournament and Prize Drops. By pressing NO THANKS, you will be opted out from both Tournament and Prize Drops.",
          es: "La promoci\xf3n de Drops & Wins consta de dos partes - Torneo y Entrega de Premio. Al pulsar en UNIRSE A TODO, usted ser\xe1 inscrito tanto en los Torneos como en las Entregas de Premios. Al pulsar en NO GRACIAS, ser\xe1 borrado tanto de los Torneos como de las Entregas de Premios.",
          pt: "A promo\xe7\xe3o Drops & Wins consiste em duas partes - Torneio e Quedas de Pr\xe9mios. Ao premir ENTRAR EM TUDO, o jogador participar\xe1 tanto no Torneio como nas Quedas de Pr\xe9mios. Ao premir N\xc3O OBRIGADO, o jogador n\xe3o participar\xe1 nem no Torneio nem nas Quedas de Pr\xe9mios.",
          thai: '\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19 Drops & Wins \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e2d\u0e07\u0e2a\u0e48\u0e27\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 - \u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14 "\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e01\u0e14 "\u0e44\u0e21\u0e48\u0e25\u0e48\u0e30 \u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13" \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e19\u0e14\u0e23\u0e47\u0e2d\u0e1b\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25',
          vn: "Ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i Drops & Wins g\u1ed3m hai ph\u1ea7n - Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. Khi nh\u1ea5n v\xe0o THAM GIA T\u1ea4T C\u1ea2, b\u1ea1n s\u1ebd \u0111\u0103ng k\xfd c\u1ea3 hai ph\u1ea7n Gi\u1ea3i \u0111\u1ea5u v\xe0 Gi\u1ea3i th\u01b0\u1edfng. N\u1ebfu nh\u1ea5n v\xe0o KH\xd4NG C\u1ea2M \u01a0N, b\u1ea1n s\u1ebd kh\xf4ng tham gia b\u1ea5t k\u1ef3 ph\u1ea7n n\xe0o c\u1ee7a ch\u01b0\u01a1ng tr\xecnh khuy\u1ebfn m\xe3i.",
          zh: "Drops & Wins\u4fc3\u92b7\u5305\u62ec\u5169\u500b\u90e8\u5206 - \n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u52a0\u5165\u5168\u90e8\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u52a0\u5165\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002\u6309\u300c\u4e0d\uff0c\u8b1d\u8b1d\u300d\uff0c\u60a8\u5c31\u6703\u9078\u64c7\u9000\u51fa\n\u9326\u6a19\u8cfd\u548c\u734e\u52f5\u6389\u843d\u3002"
        },
        "label_web.TheFREESPINSFEATURE": {
          en: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          kh: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          mm: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          es: "La FUNCI\xd3N DE TIRADAS GRATIS se otorga cuando 4 o m\xe1s s\xedmbolos SCATTER aparecen en cualquier lugar de la pantalla o cuando se ha comprado una RONDA DE TIRADAS GRATIS.",
          pt: "O MODO DE RODADAS GR\xc1TIS \xe9 atribu\xeddo quando aparecem 4 ou mais s\xedmbolos SCATTER em qualquer posi\xe7\xe3o no ecr\xe3 ou tiver sido comprada uma RONDA DE RODADAS GR\xc1TIS.",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 4 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e1a\u0e19\u0e08\u0e2d \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "T\xcdNH N\u0102NG V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c th\u01b0\u1edfng khi 4 bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1edf l\xean xu\u1ea5t hi\u1ec7n \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh ho\u1eb7c m\u1ed9t V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\xe3 \u0111\u01b0\u1ee3c mua.",
          zh: "\u7576\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u51fa\u73fe4\u500b\u6216\u4ee5\u4e0a\u7684SCATTER\u7b26\u865f\uff0c\u6216\u8005\u8cfc\u8cb7\u4e86\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u6642\uff0c\u5373\u53ef\u7372\u5f97\u514d\u8cbb\u65cb\u8f49\u529f\u80fd\u3002"
        },
        "label_mobile.TheFREESPINSFEATURE": {
          en: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          kh: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          mm: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          es: "La FUNCI\xd3N DE TIRADAS GRATIS se otorga cuando 4 o m\xe1s s\xedmbolos SCATTER aparecen en cualquier lugar de la pantalla o cuando se ha comprado una RONDA DE TIRADAS GRATIS.",
          pt: "O MODO DE RODADAS GR\xc1TIS \xe9 atribu\xeddo quando aparecem 4 ou mais s\xedmbolos SCATTER em qualquer posi\xe7\xe3o no ecr\xe3 ou tiver sido comprada uma RONDA DE RODADAS GR\xc1TIS.",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 4 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e1a\u0e19\u0e08\u0e2d \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "T\xcdNH N\u0102NG V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c th\u01b0\u1edfng khi 4 bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1edf l\xean xu\u1ea5t hi\u1ec7n \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh ho\u1eb7c m\u1ed9t V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\xe3 \u0111\u01b0\u1ee3c mua.",
          zh: "\u7576\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u51fa\u73fe4\u500b\u6216\u4ee5\u4e0a\u7684SCATTER\u7b26\u865f\uff0c\u6216\u8005\u8cfc\u8cb7\u4e86\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u6642\uff0c\u5373\u53ef\u7372\u5f97\u514d\u8cbb\u65cb\u8f49\u529f\u80fd\u3002"
        },
        "label_mobile.TheFREESPINSFEATURE_2": {
          en: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          kh: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          mm: "The FREE SPINS FEATURE is awarded when 4 or more SCATTER symbols hit anywhere on the screen or a FREE SPINS ROUND has been purchased.",
          es: "La FUNCI\xd3N DE TIRADAS GRATIS se otorga cuando 4 o m\xe1s s\xedmbolos SCATTER aparecen en cualquier lugar de la pantalla o cuando se ha comprado una RONDA DE TIRADAS GRATIS.",
          pt: "O MODO DE RODADAS GR\xc1TIS \xe9 atribu\xeddo quando aparecem 4 ou mais s\xedmbolos SCATTER em qualquer posi\xe7\xe3o no ecr\xe3 ou tiver sido comprada uma RONDA DE RODADAS GR\xc1TIS.",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 4 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e1a\u0e19\u0e08\u0e2d \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e0b\u0e37\u0e49\u0e2d\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19",
          vn: "T\xcdNH N\u0102NG V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\u01b0\u1ee3c th\u01b0\u1edfng khi 4 bi\u1ec3u t\u01b0\u1ee3ng SCATTER tr\u1edf l\xean xu\u1ea5t hi\u1ec7n \u1edf b\u1ea5t k\u1ef3 \u0111\xe2u tr\xean m\xe0n h\xecnh ho\u1eb7c m\u1ed9t V\xd2NG QUAY MI\u1ec4N PH\xcd \u0111\xe3 \u0111\u01b0\u1ee3c mua.",
          zh: "\u7576\u756b\u9762\u4efb\u610f\u4f4d\u7f6e\u51fa\u73fe4\u500b\u6216\u4ee5\u4e0a\u7684SCATTER\u7b26\u865f\uff0c\n\u6216\u8005\u8cfc\u8cb7\u4e86\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u6642\uff0c\u5373\u53ef\u7372\u5f97\u514d\u8cbb\u65cb\u8f49\u529f\u80fd\u3002"
        },
        "label_web.TheGRANDJackpotgrows": {
          en: "The GRAND Jackpot grows with {0}% of each bet",
          kh: "The GRAND Jackpot grows with {0}% of each bet",
          mm: "The GRAND Jackpot grows with {0}% of each bet",
          es: "El Jackpot GRAND crece con un {0}% de cada apuesta",
          pt: "O Jackpot GRAND aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot GRAND t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cGRAND\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_web.TheGRANDJackpotgrows_2": {
          en: "The GRAND Jackpot grows with {0}% of each bet",
          kh: "The GRAND Jackpot grows with {0}% of each bet",
          mm: "The GRAND Jackpot grows with {0}% of each bet",
          es: "El Jackpot GRAND crece con un {0}% de cada apuesta",
          pt: "O Jackpot GRAND aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot GRAND t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cGRAND\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_mobile.TheGRANDJackpotgrows": {
          en: "The GRAND Jackpot grows with {0}% of each bet",
          kh: "The GRAND Jackpot grows with {0}% of each bet",
          mm: "The GRAND Jackpot grows with {0}% of each bet",
          es: "El Jackpot GRAND crece con un {0}% de cada apuesta",
          pt: "O Jackpot GRAND aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot GRAND t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cGRAND\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_mobile.TheGRANDJackpotgrows_2": {
          en: "The GRAND Jackpot grows with {0}% of each bet",
          kh: "The GRAND Jackpot grows with {0}% of each bet",
          mm: "The GRAND Jackpot grows with {0}% of each bet",
          es: "El Jackpot GRAND crece con un {0}% de cada apuesta",
          pt: "O Jackpot GRAND aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot GRAND t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cGRAND\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_web.TheJackpotamountsgo": {
          en: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          kh: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          mm: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          es: "Los importes de Jackpot suben en base a las contribuciones tomadas de todas las apuestas participantes del jugador, de la siguiente manera:",
          pt: "Os valores dos Jackpots aumentam com base nas contribui\xe7\xf5es recebidas de todas as apostas dos jogadores a participar, como se segue:",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e2a\u0e48\u0e27\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e17\u0e38\u0e01\u0e04\u0e19\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "S\u1ed1 ti\u1ec1n c\u1ee7a Jackpot t\u0103ng th\xeam d\u1ef1a tr\xean ph\u1ea7n \u0111\xf3ng g\xf3p t\u1eeb t\u1ea5t c\u1ea3 c\xe1c kho\u1ea3n ti\u1ec1n c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i tham gia, c\u1ee5 th\u1ec3 nh\u01b0 sau:",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u91d1\u984d\u6703\u96a8\u6240\u6709\u53c3\u8207\u7684\u73a9\u5bb6\u8ced\u6ce8\u7684\u8ca2\u737b\u60c5\u6cc1\u800c\u589e\u52a0\uff0c\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_mobile.TheJackpotamountsgo": {
          en: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          kh: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          mm: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          es: "Los importes de Jackpot suben en base a las contribuciones tomadas de todas las apuestas participantes del jugador, de la siguiente manera:",
          pt: "Os valores dos Jackpots aumentam com base nas contribui\xe7\xf5es recebidas de todas as apostas dos jogadores a participar, como se segue:",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e2a\u0e48\u0e27\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e17\u0e38\u0e01\u0e04\u0e19\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "S\u1ed1 ti\u1ec1n c\u1ee7a Jackpot t\u0103ng th\xeam d\u1ef1a tr\xean ph\u1ea7n \u0111\xf3ng g\xf3p t\u1eeb t\u1ea5t c\u1ea3 c\xe1c kho\u1ea3n ti\u1ec1n c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i tham gia, c\u1ee5 th\u1ec3 nh\u01b0 sau:",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u91d1\u984d\u6703\u96a8\u6240\u6709\u53c3\u8207\u7684\u73a9\u5bb6\u8ced\u6ce8\u7684\u8ca2\u737b\u60c5\u6cc1\u800c\u589e\u52a0\uff0c\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_mobile.TheJackpotamountsgo_2": {
          en: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          kh: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          mm: "The Jackpot amounts go up based  on contributions taken from all participating player bets, as follows:",
          es: "Los importes de Jackpot suben en base a las contribuciones tomadas de todas las apuestas participantes del jugador, de la siguiente manera:",
          pt: "Os valores dos Jackpots aumentam com base nas contribui\xe7\xf5es recebidas de todas as apostas dos jogadores a participar, como se segue:",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e2a\u0e48\u0e27\u0e19\u0e40\u0e14\u0e34\u0e21\n\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e17\u0e38\u0e01\u0e04\u0e19\u0e15\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "S\u1ed1 ti\u1ec1n c\u1ee7a Jackpot t\u0103ng th\xeam d\u1ef1a tr\xean ph\u1ea7n \u0111\xf3ng g\xf3p t\u1eeb t\u1ea5t c\u1ea3 c\xe1c kho\u1ea3n ti\u1ec1n c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i tham gia, c\u1ee5 th\u1ec3 nh\u01b0 sau:",
          zh: "\u7d2f\u7a4d\u734e\u91d1\u91d1\u984d\u6703\u96a8\u6240\u6709\u53c3\u8207\u7684\u73a9\u5bb6\u8ced\u6ce8\n\u7684\u8ca2\u737b\u60c5\u6cc1\u800c\u589e\u52a0\uff0c\u5982\u4e0b\u6240\u793a\uff1a"
        },
        "label_web.TheJackpotscanbe": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          es: "Los Jackpots pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Jackpots no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e0a\u0e19\u0e30  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_mobile.TheJackpotscanbe": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          es: "Los Jackpots pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Jackpots no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e44\u0e14\u0e49  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef \u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_web.TheJackpotscanbe_2": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          es: "Los Premios pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Premios no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e44\u0e14\u0e49  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_mobile.TheJackpotscanbe_2": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.",
          es: "Los Premios pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Premios no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e44\u0e14\u0e49  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_mobile.TheJackpotscanbe_3": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          es: "Los Jackpots pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Jackpots no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e44\u0e14\u0e49  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_mobile.TheJackpotscanbe_4": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during any of the Free Spins features.\n",
          es: "Los Premios pueden ganarse aleatoriamente al final de cada partida en el juego principal. Los Premios no pueden ganarse durante ninguna de las Funciones de Free Spins. ",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de cada rodada do jogo de base. Os Jackpots n\xe3o podem ser ganhos durante qualquer um dos extras de Rodadas Gr\xe1tis. ",
          thai: "\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2b\u0e21\u0e38\u0e19\u0e43\u0e14\u0e46 \u0e43\u0e19\u0e40\u0e01\u0e21\u0e10\u0e32\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e4a\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e04\u0e38\u0e13\u0e25\u0e31\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e44\u0e14\u0e49  ",
          vn: "Jackpot c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c ng\u1eabu nhi\xean v\xe0o cu\u1ed1i v\xf2ng quay b\u1ea5t k\u1ef3 trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. Jackpot kh\xf4ng th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c trong b\u1ea5t k\u1ef3 trong t\xednh n\u0103ng c\xe1c V\xf2ng quay Mi\u1ec5n ph\xed n\xe0o. ",
          zh: "\u5728\u57fa\u790e\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u4efb\u4f55\u514d\u8cbb\u65cb\u8f49\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002 "
        },
        "label_web.TheJackpotscanbe_3": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          es: "Los Jackpots pueden ser ganados aleatoriamente al final de cualquier tirada en el juego base. Los Jackpots no pueden ganarse durante las TIRADAS GRATIS o la funci\xf3n RESPIN DINERO.",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de qualquer rodada no jogo base. Os Jackpots n\xe3o podem ser ganhos durante RODADA GR\xc1TIS ou o modo NOVA RODADA DINHEIRO.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e14\u0e46 \u0e01\u0e47\u0e15\u0e32\u0e21\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2b\u0e25\u0e31\u0e01 \u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e42\u0e1b\u0e23\u0e14\u0e17\u0e23\u0e32\u0e1a\u0e27\u0e48\u0e32\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e41\u0e25\u0e30\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot ng\u1eabu nhi\xean khi k\u1ebft th\xfac v\xf2ng quay trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. C\xe1c Jackpot kh\xf4ng ho\u1ea1t \u0111\u1ed9ng trong t\xednh n\u0103ng V\xd2NG QUAY MI\u1ec4N PH\xcd ho\u1eb7c V\xd2NG QUAY L\u1ea0I TI\u1ec0N.",
          zh: "\u5728\u57fa\u672c\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\n\u7d2f\u7a4d\u734e\u91d1\u3002\u5728\u514d\u8cbb\u65cb\u8f49\u6216\u73fe\u91d1\u91cd\u65b0\u65cb\u8f49\u529f\u80fd\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.TheJackpotscanbe_5": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          es: "Los Jackpots pueden ser ganados aleatoriamente al final de cualquier tirada en el juego base. Los Jackpots no pueden ganarse durante las TIRADAS GRATIS o la funci\xf3n RESPIN DINERO.",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de qualquer rodada no jogo base. Os Jackpots n\xe3o podem ser ganhos durante RODADA GR\xc1TIS ou o modo NOVA RODADA DINHEIRO.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e14\u0e46 \u0e01\u0e47\u0e15\u0e32\u0e21\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2b\u0e25\u0e31\u0e01 \u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e42\u0e1b\u0e23\u0e14\u0e17\u0e23\u0e32\u0e1a\u0e27\u0e48\u0e32\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e41\u0e25\u0e30\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot ng\u1eabu nhi\xean khi k\u1ebft th\xfac v\xf2ng quay trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. C\xe1c Jackpot kh\xf4ng ho\u1ea1t \u0111\u1ed9ng trong t\xednh n\u0103ng V\xd2NG QUAY MI\u1ec4N PH\xcd ho\u1eb7c V\xd2NG QUAY L\u1ea0I TI\u1ec0N.",
          zh: "\u5728\u57fa\u672c\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\n\u7d2f\u7a4d\u734e\u91d1\u3002\u5728\u514d\u8cbb\u65cb\u8f49\u6216\u73fe\u91d1\u91cd\u65b0\u65cb\u8f49\u529f\u80fd\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.TheJackpotscanbe_6": {
          en: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          kh: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          mm: "The Jackpots can be won at random at the end of any spin in the base game. Jackpots cannot be won during the FREE SPINS or MONEY RESPIN feature.",
          es: "Los Jackpots pueden ser ganados aleatoriamente al final de cualquier tirada en el juego base. Los Jackpots no pueden ganarse durante las TIRADAS GRATIS o la funci\xf3n RESPIN DINERO.",
          pt: "Os Jackpots podem ser ganhos aleatoriamente no final de qualquer rodada no jogo base. Os Jackpots n\xe3o podem ser ganhos durante RODADA GR\xc1TIS ou o modo NOVA RODADA DINHEIRO.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e14\u0e46 \u0e01\u0e47\u0e15\u0e32\u0e21\u0e43\u0e19\u0e40\u0e01\u0e21\u0e2b\u0e25\u0e31\u0e01 \u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e42\u0e1b\u0e23\u0e14\u0e17\u0e23\u0e32\u0e1a\u0e27\u0e48\u0e32\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e41\u0e25\u0e30\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c Jackpot ng\u1eabu nhi\xean khi k\u1ebft th\xfac v\xf2ng quay trong tr\xf2 ch\u01a1i c\u01a1 s\u1edf. C\xe1c Jackpot kh\xf4ng ho\u1ea1t \u0111\u1ed9ng trong t\xednh n\u0103ng V\xd2NG QUAY MI\u1ec4N PH\xcd ho\u1eb7c V\xd2NG QUAY L\u1ea0I TI\u1ec0N.",
          zh: "\u5728\u57fa\u672c\u904a\u6232\u4e2d\uff0c\u4efb\u4f55\u65cb\u8f49\u5728\u7d50\u675f\n\u6642\u90fd\u6709\u53ef\u80fd\u96a8\u6a5f\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u3002\u5728\u514d\u8cbb\u65cb\u8f49\u6216\u73fe\u91d1\n\u91cd\u65b0\u65cb\u8f49\u529f\u80fd\u671f\u9593\u7121\u6cd5\u8d0f\u53d6\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_web.TheMAJORJackpotgrows": {
          en: "The MAJOR Jackpot grows with {0}% of each bet",
          kh: "The MAJOR Jackpot grows with {0}% of each bet",
          mm: "The MAJOR Jackpot grows with {0}% of each bet",
          es: "El Jackpot MAJOR crece con un {0}% de cada apuesta",
          pt: "O Jackpot MAJOR aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MAJOR \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MAJOR t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMAJOR\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_mobile.TheMAJORJackpotgrows": {
          en: "The MAJOR Jackpot grows with {0}% of each bet",
          kh: "The MAJOR Jackpot grows with {0}% of each bet",
          mm: "The MAJOR Jackpot grows with {0}% of each bet",
          es: "El JACKPOT MAJOR crece con un {0}% de cada apuesta",
          pt: "O Jackpot MAJOR aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MAJOR \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MAJOR t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMAJOR\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_web.TheMEGAJackpotgrows": {
          en: "The MEGA Jackpot grows with {0}% of each bet",
          kh: "The MEGA Jackpot grows with {0}% of each bet",
          mm: "The MEGA Jackpot grows with {0}% of each bet",
          es: "El Jackpot MEGA crece con un {0}% de cada apuesta",
          pt: "O Jackpot MEGA aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MEGA \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MEGA t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMEGA\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_mobile.TheMEGAJackpotgrows": {
          en: "The MEGA Jackpot grows with {0}% of each bet",
          kh: "The MEGA Jackpot grows with {0}% of each bet",
          mm: "The MEGA Jackpot grows with {0}% of each bet",
          es: "El Jackpot MEGA crece con un {0}% de cada apuesta",
          pt: "O Jackpot MEGA aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MEGA \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MEGA t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMEGA\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_web.TheMINORJackpotgrows": {
          en: "The MINOR Jackpot grows with {0}% of each bet",
          kh: "The MINOR Jackpot grows with {0}% of each bet",
          mm: "The MINOR Jackpot grows with {0}% of each bet",
          es: "El Jackpot MINOR crece con un {0}% de cada apuesta",
          pt: "O Jackpot MINOR aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MINOR \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MINOR t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMINOR\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_mobile.TheMINORJackpotgrows": {
          en: "The MINOR Jackpot grows with {0}% of each bet",
          kh: "The MINOR Jackpot grows with {0}% of each bet",
          mm: "The MINOR Jackpot grows with {0}% of each bet",
          es: "El Jackpot MINOR crece con un {0}% de cada apuesta",
          pt: "O Jackpot MINOR aumenta com {0}% de cada aposta",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MINOR \u0e40\u0e15\u0e34\u0e1a\u0e42\u0e15\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e15\u0e23\u0e32 {0}% \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Jackpot MINOR t\u0103ng v\u1edbi {0}% c\u1ee7a m\u1ed7i c\u01b0\u1ee3c",
          zh: "\u6bcf\u6b21\u4e0b\u6ce8\uff0cMINOR\u7d2f\u7a4d\u734e\u91d1\u90fd\u6703\u589e\u52a0{0}%"
        },
        "label_web.TheTUMBLEFEATUREmeans": {
          en: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          kh: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          mm: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          es: "La sustituci\xf3n funciona de la siguiente forma: despu\xe9s de cada giro, las combinaciones ganadoras se\npagan y todos los s\xedmbolos ganadores desaparecen. Los s\xedmbolos restantes caen a la parte inferior de la\npantalla y las posiciones vac\xedas son reemplazadas por s\xedmbolos que vienen de arriba. ",
          pt: "O EXTRA DE QUEDA significa que ap\xf3s cada rodada, as combina\xe7\xf5es premiadas s\xe3o pagas e todos os s\xedmbolos premiados desaparecem. Os s\xedmbolos remanescentes caem para a base do ecr\xe3 e as posi\xe7\xf5es vazias s\xe3o substitu\xeddas por s\xedmbolos ca\xeddos de cima.\xa0 ",
          thai: "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e40\u0e14\u0e48\u0e19\u0e02\u0e2d\u0e07 TUMBLE \u0e2b\u0e21\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e27\u0e48\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e30\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e2b\u0e32\u0e22\u0e44\u0e1b \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e25\u0e30\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e27\u0e48\u0e32\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e32\u0e08\u0e32\u0e01\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19 ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 c\xf3 ngh\u0129a l\xe0 sau m\u1ed7i v\xf2ng quay, c\xe1c k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng v\xe0 m\u1ecdi bi\u1ec3u t\u01b0\u1ee3ng chi\u1ebfn th\u1eafng bi\u1ebfn m\u1ea5t. C\xe1c bi\u1ec3u t\u01b0\u1ee3ng c\xf2n l\u1ea1i r\u01a1i xu\u1ed1ng cu\u1ed1i m\xe0n h\xecnh v\xe0 v\u1ecb tr\xed tr\u1ed1ng \u0111\u01b0\u1ee3c thay th\u1ebf b\u1edfi bi\u1ec3u t\u01b0\u1ee3ng xu\u1ea5t hi\u1ec7n t\u1eeb ph\xeda tr\xean.\xa0 ",
          zh: "\u7ffb\u8f49\u529f\u80fd\u662f\u6307\u6bcf\u6b21\u65cb\u8f49\u5f8c\uff0c\u90fd\u5c07\u8ce0\u4ed8\u8d0f\u734e\u7d44\u5408\u4e14\u6240\u6709\u8d0f\u734e\u7b26\u865f\u90fd\u5c07\u6d88\u5931\u3002 \u5269\u9918\u7b26\u865f\u5c07\u843d\u5230\u756b\u9762\u5e95\u90e8\uff0c\u800c\u7a7a\u4f4d\u7f6e\u5c07\u66ff\u63db\u70ba\u4f86\u81ea\u4e0a\u9762\u7684\u7b26\u865f\u3002 "
        },
        "label_mobile.TheTUMBLEFEATUREmeans": {
          en: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          kh: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          mm: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          es: "La sustituci\xf3n funciona de la siguiente forma: despu\xe9s de cada giro, las combinaciones ganadoras se\npagan y todos los s\xedmbolos ganadores desaparecen. Los s\xedmbolos restantes caen a la parte inferior de la\npantalla y las posiciones vac\xedas son reemplazadas por s\xedmbolos que vienen de arriba. ",
          pt: "O EXTRA DE QUEDA significa que ap\xf3s cada rodada, as combina\xe7\xf5es premiadas s\xe3o pagas e todos os s\xedmbolos premiados desaparecem. Os s\xedmbolos remanescentes caem para a base do ecr\xe3 e as posi\xe7\xf5es vazias s\xe3o substitu\xeddas por s\xedmbolos ca\xeddos de cima.\xa0 ",
          thai: "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e40\u0e14\u0e48\u0e19\u0e02\u0e2d\u0e07 TUMBLE \u0e2b\u0e21\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e27\u0e48\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e30\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e2b\u0e32\u0e22\u0e44\u0e1b \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e25\u0e30\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e27\u0e48\u0e32\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e32\u0e08\u0e32\u0e01\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19 ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 c\xf3 ngh\u0129a l\xe0 sau m\u1ed7i v\xf2ng quay, c\xe1c k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng v\xe0 m\u1ecdi bi\u1ec3u t\u01b0\u1ee3ng chi\u1ebfn th\u1eafng bi\u1ebfn m\u1ea5t. C\xe1c bi\u1ec3u t\u01b0\u1ee3ng c\xf2n l\u1ea1i r\u01a1i xu\u1ed1ng cu\u1ed1i m\xe0n h\xecnh v\xe0 v\u1ecb tr\xed tr\u1ed1ng \u0111\u01b0\u1ee3c thay th\u1ebf b\u1edfi bi\u1ec3u t\u01b0\u1ee3ng xu\u1ea5t hi\u1ec7n t\u1eeb ph\xeda tr\xean.\xa0 ",
          zh: "\u7ffb\u8f49\u529f\u80fd\u662f\u6307\u6bcf\u6b21\u65cb\u8f49\u5f8c\uff0c\u90fd\u5c07\u8ce0\u4ed8\u8d0f\u734e\u7d44\u5408\u4e14\u6240\u6709\u8d0f\u734e\u7b26\u865f\u90fd\u5c07\u6d88\u5931\u3002 \u5269\u9918\u7b26\u865f\u5c07\u843d\u5230\u756b\u9762\u5e95\u90e8\uff0c\u800c\u7a7a\u4f4d\u7f6e\u5c07\u66ff\u63db\u70ba\u4f86\u81ea\u4e0a\u9762\u7684\u7b26\u865f\u3002 "
        },
        "label_mobile.TheTUMBLEFEATUREmeans_2": {
          en: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          kh: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          mm: "The TUMBLE FEATURE means that after every spin, winning combinations are paid and all winning symbols disappear. The remaining symbols fall to the bottom of the screen and the empty positions are replaced with symbols coming from above.\xa0",
          es: "La sustituci\xf3n funciona de la siguiente forma: despu\xe9s de cada giro, las combinaciones ganadoras se\npagan y todos los s\xedmbolos ganadores desaparecen. Los s\xedmbolos restantes caen a la parte inferior de la\npantalla y las posiciones vac\xedas son reemplazadas por s\xedmbolos que vienen de arriba. ",
          pt: "O EXTRA DE QUEDA significa que ap\xf3s cada rodada, as combina\xe7\xf5es premiadas s\xe3o pagas e todos os s\xedmbolos premiados desaparecem. Os s\xedmbolos remanescentes caem para a base do ecr\xe3 e as posi\xe7\xf5es vazias s\xe3o substitu\xeddas por s\xedmbolos ca\xeddos de cima.\xa0 ",
          thai: "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e40\u0e14\u0e48\u0e19\u0e02\u0e2d\u0e07 TUMBLE \u0e2b\u0e21\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e27\u0e48\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e25\u0e30\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e2b\u0e32\u0e22\u0e44\u0e1b \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e25\u0e30\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\n\u0e27\u0e48\u0e32\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e32\u0e08\u0e32\u0e01\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19 ",
          vn: "T\xcdNH N\u0102NG S\u1ee4P \u0110\u1ed4 c\xf3 ngh\u0129a l\xe0 sau m\u1ed7i v\xf2ng quay, c\xe1c k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng v\xe0 m\u1ecdi bi\u1ec3u t\u01b0\u1ee3ng chi\u1ebfn th\u1eafng bi\u1ebfn m\u1ea5t. C\xe1c bi\u1ec3u t\u01b0\u1ee3ng c\xf2n l\u1ea1i r\u01a1i xu\u1ed1ng cu\u1ed1i m\xe0n h\xecnh v\xe0 v\u1ecb tr\xed tr\u1ed1ng \u0111\u01b0\u1ee3c thay th\u1ebf b\u1edfi bi\u1ec3u t\u01b0\u1ee3ng xu\u1ea5t hi\u1ec7n t\u1eeb ph\xeda tr\xean.\xa0 ",
          zh: "\u7ffb\u8f49\u529f\u80fd\u662f\u6307\u6bcf\u6b21\u65cb\u8f49\u5f8c\uff0c\u90fd\u5c07\u8ce0\u4ed8\u8d0f\u734e\u7d44\u5408\u4e14\u6240\u6709\u8d0f\n\u734e\u7b26\u865f\u90fd\u5c07\u6d88\u5931\u3002 \u5269\u9918\u7b26\u865f\u5c07\u843d\u5230\u756b\u9762\u5e95\u90e8\uff0c\n\u800c\u7a7a\u4f4d\u7f6e\u5c07\u66ff\u63db\u70ba\u4f86\u81ea\u4e0a\u9762\u7684\u7b26\u865f\u3002 "
        },
        "label_mobile.Thebetmenushows": {
          en: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          kh: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          mm: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          es: "El men\xfa de apuesta muestra el multiplicador de apuesta disponible en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo.",
          pt: "O menu de aposta indica o multiplicador de aposta dispon\xedvel no jogo e a aposta total atual, tanto em moedas como em numer\xe1rio.",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 nh\xe2n c\u01b0\u1ee3c c\xf3 trong tr\xf2 ch\u01a1i v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i theo c\u1ea3 \u0111\u01a1n v\u1ecb xu v\xe0 ti\u1ec1n m\u1eb7t.",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u53ef\u80fd\u51fa\u73fe\u7684\u8ced\u6ce8\u500d\u589e\u6307\u6578\uff0c\n\u4ee5\u53ca\u7576\u524d\u7684\u786c\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_mobile.Thebetmenushows_2": {
          en: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          kh: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          mm: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.",
          es: "El men\xfa de apuesta muestra el multiplicador de apuesta disponible en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo.",
          pt: "O menu de aposta indica o multiplicador de aposta dispon\xedvel no jogo e a aposta total atual, tanto em moedas como em numer\xe1rio.",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 nh\xe2n c\u01b0\u1ee3c c\xf3 trong tr\xf2 ch\u01a1i v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i theo c\u1ea3 \u0111\u01a1n v\u1ecb xu v\xe0 ti\u1ec1n m\u1eb7t.",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u53ef\u80fd\u51fa\u73fe\u7684\u8ced\u6ce8\u500d\u589e\u6307\u6578\uff0c\u4ee5\u53ca\u7576\u524d\u7684\u786c\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_web.Thebetmenushows": {
          en: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.  ",
          kh: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.  ",
          mm: "The bet menu shows the bet multiplier available in the game, and the current total bet in both coins and cash.  ",
          es: "El men\xfa de apuesta muestra el multiplicador de apuesta disponible en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo.",
          pt: "O menu de aposta indica o multiplicador de aposta dispon\xedvel no jogo e a aposta total atual, tanto em moedas como em numer\xe1rio.",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e23\u0e27\u0e21\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 nh\xe2n c\u01b0\u1ee3c c\xf3 trong tr\xf2 ch\u01a1i v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i theo c\u1ea3 \u0111\u01a1n v\u1ecb xu v\xe0 ti\u1ec1n m\u1eb7t.",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u53ef\u80fd\u51fa\u73fe\u7684\u8ced\u6ce8\u500d\u589e\u6307\u6578\uff0c\u4ee5\u53ca\u7576\u524d\u7684\u786c\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_mobile.Thebetmenushows_3": {
          en: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          kh: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          mm: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          es: "El men\xfa de apuesta muestra el n\xfamero de l\xedneas disponibles en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo. ",
          pt: "O menu de aposta mostra o n\xfamero de linhas dispon\xedveis no jogo e a aposta total atual, tanto em moedas como em dinheiro. ",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e41\u0e16\u0e27\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 h\xe0ng s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i, v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i b\u1eb1ng c\u1ea3 \u0111\u1ed3ng xu v\xe0 ti\u1ec1n m\u1eb7t. ",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u7684\u53ef\u9078\u7dda\u6578\uff0c\u4ee5\u53ca\u76ee\u524d\u7684\u91d1\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_mobile.Thebetmenushows_4": {
          en: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          kh: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          mm: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.",
          es: "El men\xfa de apuesta muestra el n\xfamero de l\xedneas disponibles en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo. ",
          pt: "O menu de aposta mostra o n\xfamero de linhas dispon\xedveis no jogo e a aposta total atual, tanto em moedas como em dinheiro. ",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e41\u0e16\u0e27\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 h\xe0ng s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i, v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i b\u1eb1ng c\u1ea3 \u0111\u1ed3ng xu v\xe0 ti\u1ec1n m\u1eb7t. ",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u7684\u53ef\u9078\u7dda\u6578\uff0c\n\u4ee5\u53ca\u76ee\u524d\u7684\u91d1\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_web.Thebetmenushows_2": {
          en: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.  ",
          kh: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.  ",
          mm: "The bet menu shows the number of lines available in the game, and the current total bet in both coins and cash.  ",
          es: "El men\xfa de apuesta muestra el n\xfamero de l\xedneas disponibles en el juego y la apuesta total actual tanto en cr\xe9ditos como en efectivo.",
          pt: "O menu de aposta mostra o n\xfamero de linhas dispon\xedveis no jogo e a aposta total atual, tanto em moedas como em dinheiro. ",
          thai: "\u0e40\u0e21\u0e19\u0e39\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e41\u0e16\u0e27\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e40\u0e01\u0e21 \u0e41\u0e25\u0e30\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e17\u0e31\u0e49\u0e07\u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e41\u0e25\u0e30\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14 ",
          vn: "Menu c\u01b0\u1ee3c hi\u1ec3n th\u1ecb s\u1ed1 h\xe0ng s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i, v\xe0 t\u1ed5ng c\u01b0\u1ee3c hi\u1ec7n t\u1ea1i b\u1eb1ng c\u1ea3 \u0111\u1ed3ng xu v\xe0 ti\u1ec1n m\u1eb7t. ",
          zh: "\u8ced\u6ce8\u529f\u80fd\u8868\u6703\u986f\u793a\u904a\u6232\u4e2d\u7684\u53ef\u9078\u7dda\u6578\uff0c\u4ee5\u53ca\u76ee\u524d\u7684\u91d1\u5e63\u548c\u73fe\u91d1\u7e3d\u8ced\u6ce8\u3002"
        },
        "label_web.ThecalculatedRTPof": {
          en: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          kh: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          mm: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          es: "El RTP calculado del juego, incluyendo el juego Jackpot BONUS, es:{0}%",
          pt: "O RTP calculado do jogo, incluindo o jogo de B\xd3NUS Jackpot \xe9: {0}%",
          thai: "\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e04\u0e37\u0e19\u0e41\u0e01\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 (RTP) \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e27\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49 \u0e23\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48:{0}%",
          vn: "T\u1ef7 l\u1ec7 RTP \u0111\u01b0\u1ee3c t\xednh to\xe1n c\u1ee7a tr\xf2 ch\u01a1i, bao g\u1ed3m c\u1ea3 tr\xf2 ch\u01a1i TH\u01af\u1edeNG Jackpot, l\xe0:{0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)\uff08\u5305\u62ec\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232\uff09\u70ba\uff1a{0}%"
        },
        "label_mobile.ThecalculatedRTPof": {
          en: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          kh: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          mm: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          es: "El RTP calculado del juego, incluyendo el juego Jackpot BONUS, es:{0}%",
          pt: "O RTP calculado do jogo, incluindo o jogo de B\xd3NUS Jackpot \xe9: {0}%",
          thai: "\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e04\u0e37\u0e19\u0e41\u0e01\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 (RTP) \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e27\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49 \u0e23\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48:{0}%",
          vn: "T\u1ef7 l\u1ec7 RTP \u0111\u01b0\u1ee3c t\xednh to\xe1n c\u1ee7a tr\xf2 ch\u01a1i, bao g\u1ed3m c\u1ea3 tr\xf2 ch\u01a1i TH\u01af\u1edeNG Jackpot, l\xe0:{0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)\uff08\u5305\u62ec\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232\uff09\u70ba\uff1a{0}%"
        },
        "label_mobile.ThecalculatedRTPof_2": {
          en: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          kh: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          mm: "The calculated RTP of the game, including Jackpot BONUS game is:{0}%",
          es: "El RTP calculado del juego, incluyendo el juego Jackpot BONUS, es:{0}%",
          pt: "O RTP calculado do jogo, incluindo o jogo de B\xd3NUS Jackpot \xe9: {0}%",
          thai: "\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e04\u0e37\u0e19\u0e41\u0e01\u0e48\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 (RTP) \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e27\u0e49\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49 \u0e23\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e01\u0e21\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48:{0}%",
          vn: "T\u1ef7 l\u1ec7 RTP \u0111\u01b0\u1ee3c t\xednh to\xe1n c\u1ee7a tr\xf2 ch\u01a1i, bao g\u1ed3m c\u1ea3 tr\xf2 ch\u01a1i TH\u01af\u1edeNG Jackpot, l\xe0:{0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232\u73a9\u5bb6\u56de\u5831\u7387(RTP)\n\uff08\u5305\u62ec\u7d2f\u7a4d\u734e\u91d1\u734e\u52f5\u904a\u6232\uff09\u70ba\uff1a{0}%"
        },
        "label_mobile.ThecalculatedRTPof_3": {
          en: "The calculated RTP of the game, including jackpots, is: {0}%",
          kh: "The calculated RTP of the game, including jackpots, is: {0}%",
          mm: "The calculated RTP of the game, including jackpots, is: {0}%",
          es: "El retorno al jugador (RTP) calculado del juego, incluyendo los premios, es de: {0}%",
          pt: "O RTP calculado do jogo, incluindo jackpots, \xe9: {0}%",
          thai: "RTP \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e14\u0e49\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e04\u0e37\u0e2d: {0}%",
          vn: "RTP c\u1ee7a tr\xf2 ch\u01a1i \u0111\xe3 t\xedch l\u0169y, bao g\u1ed3m jackpot, l\xe0: {0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232 RTP\uff08\u5305\u542b\u7d2f\u7a4d\u734e\u91d1\uff09\u70ba {0}%"
        },
        "label_mobile.ThecalculatedRTPof_4": {
          en: "The calculated RTP of the game, including jackpots, is: {0}%",
          kh: "The calculated RTP of the game, including jackpots, is: {0}%",
          mm: "The calculated RTP of the game, including jackpots, is: {0}%",
          es: "El retorno al jugador (RTP) calculado del juego, incluyendo los premios, es de: {0}%",
          pt: "O RTP calculado do jogo, incluindo jackpots, \xe9: {0}%",
          thai: "RTP \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e14\u0e49\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e04\u0e37\u0e2d: {0}%",
          vn: "RTP c\u1ee7a tr\xf2 ch\u01a1i \u0111\xe3 t\xedch l\u0169y, bao g\u1ed3m jackpot, l\xe0: {0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232 RTP\uff08\u5305\u542b\u7d2f\u7a4d\u734e\u91d1\uff09\u70ba {0}%"
        },
        "label_web.ThecalculatedRTPof_2": {
          en: "The calculated RTP of the game, including jackpots, is:{0}%",
          kh: "The calculated RTP of the game, including jackpots, is:{0}%",
          mm: "The calculated RTP of the game, including jackpots, is:{0}%",
          es: "El retorno al jugador (RTP) calculado del juego, incluyendo los premios, es de: {0}%",
          pt: "O RTP calculado do jogo, incluindo jackpots, \xe9: {0}%",
          thai: "RTP \u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e14\u0e49\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e04\u0e37\u0e2d: {0}%",
          vn: "RTP c\u1ee7a tr\xf2 ch\u01a1i \u0111\xe3 t\xedch l\u0169y, bao g\u1ed3m jackpot, l\xe0: {0}%",
          zh: "\u8a08\u7b97\u5f97\u51fa\u7684\u904a\u6232 RTP\uff08\u5305\u542b\u7d2f\u7a4d\u734e\u91d1\uff09\u70ba {0}%"
        },
        "label_web.ThemaximumRTPof": {
          en: "The maximum RTP of this game is {0}%",
          kh: "The maximum RTP of this game is {0}%",
          mm: "The maximum RTP of this game is {0}%",
          es: "El RTP m\xe1ximo de este juego es del  {0}%",
          pt: "O RTP m\xe1ximo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}% ",
          vn: "RTP t\u1ed1i \u0111a c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0  {0}% ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u9ad8\u56de\u5831\u7387\u7232 {0}%  "
        },
        "label_mobile.ThemaximumRTPof": {
          en: "The maximum RTP of this game is {0}%",
          kh: "The maximum RTP of this game is {0}%",
          mm: "The maximum RTP of this game is {0}%",
          es: "El RTP m\xe1ximo de este juego es del  {0}%",
          pt: "O RTP m\xe1ximo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}% ",
          vn: "RTP t\u1ed1i \u0111a c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0  {0}% ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u9ad8\u56de\u5831\u7387\u7232 {0}%  "
        },
        "label_mobile.ThemaximumRTPof_2": {
          en: "The maximum RTP of this game is {0}%",
          kh: "The maximum RTP of this game is {0}%",
          mm: "The maximum RTP of this game is {0}%",
          es: "El RTP m\xe1ximo de este juego es del  {0}%",
          pt: "O RTP m\xe1ximo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}% ",
          vn: "RTP t\u1ed1i \u0111a c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0  {0}% ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u9ad8\u56de\u5831\u7387\u7232 {0}%  "
        },
        "label_web.Themaximumtheoreticalwin": {
          en: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          kh: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          mm: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          es: "El m\xe1ximo premio te\xf3rico en este juego es {0} con una probabilidad de aparecer de 1 en {1} tiradas ",
          pt: "O retorno te\xf3rico m\xe1ximo neste jogo \xe9 de {0} com uma possibilidade de pr\xe9mio de 1 em {1} rodadas",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e32\u0e07\u0e17\u0e24\u0e29\u0e0e\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0} \u0e42\u0e14\u0e22\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e0a\u0e19\u0e30 1 \u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19 {1} \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0} v\u1edbi c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0 1 trong {1} v\xf2ng quay ",
          zh: "\u904a\u6232\u6700\u9ad8\u7406\u8ad6\u734e\u91d1\u70ba{0}\u4e26\u6709\u6a5f\u6703\u5728{1}\u6b21\u65cb\u8f49\u4e2d\u51fa\u73fe1"
        },
        "label_mobile.Themaximumtheoreticalwin": {
          en: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          kh: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          mm: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          es: "El m\xe1ximo premio te\xf3rico en este juego es {0} con una probabilidad de aparecer de 1 en {1} tiradas ",
          pt: "O retorno te\xf3rico m\xe1ximo neste jogo \xe9 de {0} com uma possibilidade de pr\xe9mio de 1 em {1} rodadas",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e32\u0e07\u0e17\u0e24\u0e29\u0e0e\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0} \u0e42\u0e14\u0e22\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 1 \u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19 {1} \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0} v\u1edbi c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0 1 trong {1} v\xf2ng quay ",
          zh: "\u904a\u6232\u6700\u9ad8\u7406\u8ad6\u734e\u91d1\u70ba{0}\u4e26\u6709\u6a5f\u6703\u5728{1}\u6b21\u65cb\u8f49\u4e2d\u51fa\u73fe1"
        },
        "label_mobile.Themaximumtheoreticalwin_2": {
          en: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          kh: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          mm: "The maximum theoretical win in this game is {0} with a chance to hit of 1 in {1} spins",
          es: "El m\xe1ximo premio te\xf3rico en este juego es {0} con una probabilidad de aparecer de 1 en {1} tiradas ",
          pt: "O retorno te\xf3rico m\xe1ximo neste jogo \xe9 de {0} com uma possibilidade de pr\xe9mio de 1 em {1} rodadas",
          thai: "\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e32\u0e07\u0e17\u0e24\u0e29\u0e0e\u0e35\u0e43\u0e19\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0} \u0e42\u0e14\u0e22\u0e21\u0e35\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e44\u0e14\u0e49 1 \u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e1b\u0e34\u0e19 {1} \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Ti\u1ec1n th\u1eafng t\u1ed1i \u0111a theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0} v\u1edbi c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0 1 trong {1} v\xf2ng quay ",
          zh: "\u904a\u6232\u6700\u9ad8\u7406\u8ad6\u734e\u91d1\u70ba{0}\u4e26\u6709\u6a5f\u6703\u5728{1}\u6b21\u65cb\u8f49\u4e2d\u51fa\u73fe1"
        },
        "label_web.Themaximumwinamount": {
          en: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "La cantidad m\xe1xima de premio est\xe1 limitado a {0}X apuesta. Si el premio total de una ronda alcanza {1}X la apuesta, la ronda finaliza inmediatamente, el premio se otorga hasta el l\xedmite y todas las restantes funciones se anulan.",
          pt: "O valor m\xe1ximo de pr\xe9mio \xe9 limitado a {0}X a aposta. Se o pr\xe9mio total de uma ronda atingir {1}X a aposta a ronda termina imediatamente, o pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o perdidos.",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e19\u0e31\u0e49\u0e19\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40 \u0e25\u0e48\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e2d\u0e1a\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e01\u0e34\u0e19 {1}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e41\u0e25\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e17\u0e31\u0e49\u0e07\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e1f\u0e35\u0e40\u0e08 \u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}X c\u01b0\u1ee3c. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a m\u1ed9t v\xe1n ch\u01a1i \u0111\u1ea1t {1}X c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 c\xe1c t\xednh n\u0103ng c\xf2n l\u1ea1i b\u1ecb thu h\u1ed3i.",
          zh: "\u6700\u9ad8\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}X\u8ced\u6ce8\u3002\u5982\u679c\u56de\u5408\u7684\u7e3d\u734e\u91d1\u9054\u5230{1}X\u8ced\u6ce8\uff0c\n\u56de\u5408\u7acb\u5373\u7d50\u675f\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\u6240\u6709\u5269\u9918\u529f\u80fd\u4f5c\u5ee2\u3002"
        },
        "label_mobile.Themaximumwinamount": {
          en: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "La cantidad m\xe1xima de premio est\xe1 limitado a {0}X apuesta. Si el premio total de una ronda alcanza {1}X la apuesta, la ronda finaliza inmediatamente, el premio se otorga hasta el l\xedmite y todas las restantes funciones se anulan.",
          pt: "O valor m\xe1ximo de pr\xe9mio \xe9 limitado a {0}X a aposta. Se o pr\xe9mio total de uma ronda atingir {1}X a aposta a ronda termina imediatamente, o pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o perdidos.",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e19\u0e31\u0e49\u0e19\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e2d\u0e1a\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e01\u0e34\u0e19 {1}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e41\u0e25\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e17\u0e31\u0e49\u0e07\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\n",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}X c\u01b0\u1ee3c. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a m\u1ed9t v\xe1n ch\u01a1i \u0111\u1ea1t {1}X c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 c\xe1c t\xednh n\u0103ng c\xf2n l\u1ea1i b\u1ecb thu h\u1ed3i.",
          zh: "\u6700\u9ad8\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}X\u8ced\u6ce8\u3002\u5982\u679c\u56de\u5408\u7684\u7e3d\u734e\u91d1\u9054\u5230{1}X\u8ced\u6ce8\uff0c \u56de\u5408\u7acb\u5373\u7d50\u675f\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\u6240\u6709\u5269\u9918\u529f\u80fd\u4f5c\u5ee2\u3002"
        },
        "label_mobile.Themaximumwinamount_2": {
          en: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}X bet. If the total win of a round reaches {1}X bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "La cantidad m\xe1xima de premio est\xe1 limitado a {0}X apuesta. Si el premio total de una ronda alcanza {1}X la apuesta, la ronda finaliza inmediatamente, el premio se otorga hasta el l\xedmite y todas las restantes funciones se anulan.",
          pt: "O valor m\xe1ximo de pr\xe9mio \xe9 limitado a {0}X a aposta. Se o pr\xe9mio total de uma ronda atingir {1}X a aposta a ronda termina imediatamente, o pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o perdidos.",
          thai: "\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e19\u0e31\u0e49\u0e19\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e2b\u0e32\u0e01\u0e40\u0e07\u0e34\u0e19\n\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e2d\u0e1a\u0e21\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e01\u0e34\u0e19 {1}X \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\n \u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e41\u0e25\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\n\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e17\u0e31\u0e49\u0e07\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}X c\u01b0\u1ee3c. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a m\u1ed9t v\xe1n ch\u01a1i \u0111\u1ea1t {1}X c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 c\xe1c t\xednh n\u0103ng c\xf2n l\u1ea1i b\u1ecb thu h\u1ed3i.",
          zh: "\u6700\u9ad8\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}X\u8ced\u6ce8\u3002 \u5982\u679c\u56de\u5408\u7684\u7e3d\u734e\u91d1\u9054\u5230{1}X\u8ced\u6ce8\uff0c\u56de\u5408\u7acb\u5373\u7d50 \u675f\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\u6240\u6709\u5269\u9918\u529f \u80fd\u4f5c\u5ee2\u3002"
        },
        "label_web.Themaximumwinamount_2": {
          en: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "El importe m\xe1ximo est\xe1 limitado a {0}x la apuesta excepto en el Jackpot. Si el jackpot total de una ronda alcanza {1}x la apuesta, la ronda termina inmediatamente, se otorga el jackpot hasta el l\xedmite y todas las funciones restantes se confiscan.",
          pt: "O montante m\xe1ximo de pr\xe9mio est\xe1 limitado a {0}x a aposta, exceto para o Jackpot. Se o pr\xe9mio total de uma ronda atingir {1}x a aposta a ronda termina imediatamente, pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o retirados.",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e16\u0e39\u0e01\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e16\u0e49\u0e32\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07 {1}x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e01\u0e21\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e08\u0e19\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}x c\u01b0\u1ee3c, ngo\u1ea1i tr\u1eeb Jackpot. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a v\xe1n ch\u01a1i \u0111\u1ea1t m\u1ee9c {1}x c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c gi\u1edbi h\u1ea1n t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 t\xednh n\u0103ng c\xf2n l\u1ea1i \u0111\u01b0\u1ee3c thu h\u1ed3i.",
          zh: "\u6700\u5927\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}x\u8ced\u6ce8\uff0c\u4f46\u7d2f\u7a4d\u734e\u91d1\u9664\u5916\u3002\u5982\u679c\u56de\u5408\u7684\n\u7e3d\u734e\u91d1\u9054\u5230{1}x\u8ced\u6ce8\uff0c\u56de\u5408\u7acb\u5373\u7d50\u675f\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\n\u6240\u6709\u5269\u9918\u529f\u80fd\u4f5c\u5ee2\u3002"
        },
        "label_mobile.Themaximumwinamount_3": {
          en: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "El importe m\xe1ximo est\xe1 limitado a {0}x la apuesta excepto en el Jackpot. Si el jackpot total de una ronda alcanza {1}x la apuesta, la ronda termina inmediatamente, se otorga el jackpot hasta el l\xedmite y todas las funciones restantes se confiscan.",
          pt: "O montante m\xe1ximo de pr\xe9mio est\xe1 limitado a {0}x a aposta, exceto para o Jackpot. Se o pr\xe9mio total de uma ronda atingir {1}x a aposta a ronda termina imediatamente, pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o retirados.",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e16\u0e39\u0e01\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e16\u0e49\u0e32\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07 {1}x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e01\u0e21\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e08\u0e19\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}x c\u01b0\u1ee3c, ngo\u1ea1i tr\u1eeb Jackpot. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a v\xe1n ch\u01a1i \u0111\u1ea1t m\u1ee9c {1}x c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c gi\u1edbi h\u1ea1n t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 t\xednh n\u0103ng c\xf2n l\u1ea1i \u0111\u01b0\u1ee3c thu h\u1ed3i.",
          zh: "\u6700\u5927\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}x\u8ced\u6ce8\uff0c\u4f46\u7d2f\u7a4d\u734e\u91d1\u9664\u5916\u3002\u5982\u679c\u56de\u5408\u7684\u7e3d\u734e\u91d1\u9054\u5230{1}x\u8ced\u6ce8\uff0c\n\u56de\u5408\u7acb\u5373\u7d50\u675f\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\u6240\u6709\u5269\u9918\u529f\u80fd\u4f5c\u5ee2\u3002"
        },
        "label_mobile.Themaximumwinamount_4": {
          en: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          kh: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          mm: "The maximum win amount is limited to {0}x bet except Jackpot. If the total win of a round reaches {1}x bet the round immediately ends, win is awarded up to the cap and all remaining features are forfeited.",
          es: "El importe m\xe1ximo est\xe1 limitado a {0}x la apuesta excepto en el Jackpot. Si el jackpot total de una ronda alcanza {1}x la apuesta, la ronda termina inmediatamente, se otorga el jackpot hasta el l\xedmite y todas las funciones restantes se confiscan.",
          pt: "O montante m\xe1ximo de pr\xe9mio est\xe1 limitado a {0}x a aposta, exceto para o Jackpot. Se o pr\xe9mio total de uma ronda atingir {1}x a aposta a ronda termina imediatamente, pr\xe9mio \xe9 atribu\xeddo at\xe9 ao limite e todos os modos restantes s\xe3o retirados.",
          thai: "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e16\u0e39\u0e01\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48 {0}x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e16\u0e49\u0e32\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e16\u0e36\u0e07 {1}x \n\u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 \u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e08\u0e1a\u0e25\u0e07\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e01\u0e21\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e49\u0e08\u0e19\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 \u0e41\u0e25\u0e30\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",
          vn: "S\u1ed1 ti\u1ec1n th\u1eafng t\u1ed1i \u0111a \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n \u1edf m\u1ee9c {0}x c\u01b0\u1ee3c, ngo\u1ea1i tr\u1eeb Jackpot. N\u1ebfu t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a v\xe1n ch\u01a1i \u0111\u1ea1t m\u1ee9c {1}x c\u01b0\u1ee3c, v\xe1n ch\u01a1i s\u1ebd k\u1ebft th\xfac ngay l\u1eadp t\u1ee9c, ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c thanh to\xe1n \u0111\u1ebfn m\u1ee9c gi\u1edbi h\u1ea1n t\u1ed1i \u0111a v\xe0 t\u1ea5t c\u1ea3 t\xednh n\u0103ng c\xf2n l\u1ea1i \u0111\u01b0\u1ee3c thu h\u1ed3i.",
          zh: "\u6700\u5927\u734e\u91d1\u91d1\u984d\u9650\u5236\u70ba{0}x\u8ced\u6ce8\uff0c\u4f46\u7d2f\u7a4d\u734e\u91d1\u9664\u5916\u3002\n\u5982\u679c\u56de\u5408\u7684\u7e3d\u734e\u91d1\u9054\u5230{1}x\u8ced\u6ce8\uff0c\u56de\u5408\u7acb\u5373\u7d50\u675f\n\u4e26\u6d3e\u767c\u5168\u90e8\u734e\u91d1\uff0c\u6240\u6709\u5269\u9918\u529f\u80fd\u4f5c\u5ee2\u3002"
        },
        "label_web.TheminimumRTPof": {
          en: "The minimum RTP of this game is {0}%",
          kh: "The minimum RTP of this game is {0}%",
          mm: "The minimum RTP of this game is {0}%",
          es: "El RTP m\xednimo de este juego es del {0}%",
          pt: "O RTP m\xednimo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}%  ",
          vn: "RTP t\u1ed1i thi\u1ec3u c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%  ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u4f4e\u56de\u5831\u7387\u70ba {0}%  "
        },
        "label_mobile.TheminimumRTPof": {
          en: "The minimum RTP of this game is {0}%",
          kh: "The minimum RTP of this game is {0}%",
          mm: "The minimum RTP of this game is {0}%",
          es: "El RTP m\xednimo de este juego es del {0}%",
          pt: "O RTP m\xednimo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}%  ",
          vn: "RTP t\u1ed1i thi\u1ec3u c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%  ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u4f4e\u56de\u5831\u7387\u70ba {0}%  "
        },
        "label_mobile.TheminimumRTPof_2": {
          en: "The minimum RTP of this game is {0}%",
          kh: "The minimum RTP of this game is {0}%",
          mm: "The minimum RTP of this game is {0}%",
          es: "El RTP m\xednimo de este juego es del {0}%",
          pt: "O RTP m\xednimo deste jogo \xe9 {0}% ",
          thai: "RTP \u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d {0}%  ",
          vn: "RTP t\u1ed1i thi\u1ec3u c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%  ",
          zh: "\u672c\u904a\u6232\u7684\u6700\u4f4e\u56de\u5831\u7387\u70ba {0}%  "
        },
        "label_web.Theplayerhasthe": {
          en: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          kh: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          mm: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          es: "El jugador tiene la opci\xf3n de incrementar el multiplicador de apuesta en un 25 %, a 25x apuesta por l\xednea.\nAl jugar con la ante apuesta activa, la posibilidad de conseguir s\xedmbolos Scatter aumenta.",
          pt: "O jogador tem a op\xe7\xe3o de aumentar o multiplicador de aposta em 25%, para 25x a aposta por linha. Ao jogar com a aposta ante ativa, a possibilidade de obter s\xedmbolos Scatter aumenta.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25% \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 25x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e1a\u0e1a\u0e25\u0e07\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21 \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e01\u0e47\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn t\u0103ng s\u1ed1 nh\xe2n c\u01b0\u1ee3c th\xeam 25%, l\xean \u0111\u1ebfn 25x c\u01b0\u1ee3c m\u1ed7i d\xf2ng. Khi t\xednh n\u0103ng c\u01b0\u1ee3c tr\u01b0\u1edbc \u0111\u01b0\u1ee3c k\xedch ho\u1ea1t, c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng SCATTER s\u1ebd t\u0103ng th\xeam.",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u5c07\u8ced\u6ce8\u500d\u589e\u6307\u6578\u589e\u592725%\uff0c\u9054\u5230\u6bcf\u689d\u7dda25x\u8ced\u6ce8\u3002\u5728\u904a\u6232\u4e2d\u6295\u653e\u5e95\u6ce8\u5f8c\uff0c\u51fa\u73feSCATTER\u7b26\u865f\u7684\u5e7e\u7387\u6703\u8b8a\u5927\u3002"
        },
        "label_mobile.Theplayerhasthe": {
          en: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          kh: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          mm: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          es: "El jugador tiene la opci\xf3n de incrementar el multiplicador de apuesta en un 25 %, a 25x apuesta por l\xednea.\nAl jugar con la ante apuesta activa, la posibilidad de conseguir s\xedmbolos Scatter aumenta.",
          pt: "O jogador tem a op\xe7\xe3o de aumentar o multiplicador de aposta em 25%, para 25x a aposta por linha. Ao jogar com a aposta ante ativa, a possibilidade de obter s\xedmbolos Scatter aumenta.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25% \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 25x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e1a\u0e1a\u0e25\u0e07\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21 \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c Scatter \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e01\u0e47\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn t\u0103ng s\u1ed1 nh\xe2n c\u01b0\u1ee3c th\xeam 25%, l\xean \u0111\u1ebfn 25x c\u01b0\u1ee3c m\u1ed7i d\xf2ng. Khi t\xednh n\u0103ng c\u01b0\u1ee3c tr\u01b0\u1edbc \u0111\u01b0\u1ee3c k\xedch ho\u1ea1t, c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng Scatter s\u1ebd t\u0103ng th\xeam.",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u5c07\u8ced\u6ce8\u500d\u589e\u6307\u6578\u589e\u592725%\uff0c\u9054\u5230\u6bcf\u689d\u7dda25x\u8ced\u6ce8\u3002\u5728\u904a\u6232\u4e2d\u6295\u653e\u5e95\u6ce8\u5f8c\uff0c\u51fa\u73feScatter\u7b26\u865f\u7684\u5e7e\u7387\u6703\u8b8a\u5927\u3002"
        },
        "label_mobile.Theplayerhasthe_2": {
          en: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          kh: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          mm: "The player has the option to increase the bet multiplier by 25%, to 25x bet per line. When playing with ante bet active, the chance to hit SCATTER symbols increases.",
          es: "El jugador tiene la opci\xf3n de incrementar el multiplicador de apuesta en un 25 %, a 25x apuesta por l\xednea.\nAl jugar con la ante apuesta activa, la posibilidad de conseguir s\xedmbolos Scatter aumenta.",
          pt: "O jogador tem a op\xe7\xe3o de aumentar o multiplicador de aposta em 25%, para 25x a aposta por linha. Ao jogar com a aposta ante ativa, a possibilidade de obter s\xedmbolos Scatter aumenta.",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e21\u0e35\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 25% \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 25x \u0e02\u0e2d\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e41\u0e1a\u0e1a\u0e25\u0e07\u0e40\u0e07\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21 \u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c Scatter \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e01\u0e47\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn t\u0103ng s\u1ed1 nh\xe2n c\u01b0\u1ee3c th\xeam 25%, l\xean \u0111\u1ebfn 25x c\u01b0\u1ee3c m\u1ed7i d\xf2ng. Khi t\xednh n\u0103ng c\u01b0\u1ee3c tr\u01b0\u1edbc \u0111\u01b0\u1ee3c k\xedch ho\u1ea1t, c\u01a1 h\u1ed9i \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng Scatter s\u1ebd t\u0103ng th\xeam.",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u5c07\u8ced\u6ce8\u500d\u589e\u6307\u6578\u589e\u592725%\uff0c\u9054\u5230\u6bcf\u689d\u7dda25x\u8ced\u6ce8\u3002 \u5728\u904a\u6232\u4e2d\u6295\u653e\u5e95\u6ce8\u5f8c\uff0c\u51fa\u73feSCATTER\u7b26\u865f\u7684\u5e7e\u7387\u6703\u8b8a\u5927\u3002"
        },
        "label_web.Theplayerhasthe_2": {
          en: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          kh: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          mm: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          es: "El jugador tiene la opcion de seleccionar un multiplicador de apuesta. Dependiendo de la apuesta seleccionada, el juego se comporta de forma distinta. Los valores posibles son:",
          pt: "O jogador tem a op\xe7\xe3o de selecionar o multiplicador de aposta. O jogo comporta-se de forma diferente dependendo da aposta selecionada. Os valores poss\xedveis s\xe3o:",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e30\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e08\u0e30\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn s\u1ed1 nh\xe2n c\u01b0\u1ee3c. Tr\xf2 ch\u01a1i s\u1ebd ho\u1ea1t \u0111\u1ed9ng kh\xe1c t\xf9y theo c\u01b0\u1ee3c \u0111\u01b0\u1ee3c ch\u1ecdn. C\xe1c gi\xe1 tr\u1ecb c\xf3 th\u1ec3 \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0:",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u8ced\u6ce8\u500d\u589e\u6307\u6578\u3002\u904a\u6232\u53ef\u80fd\u6703\u56e0\u6240\u9078\u7684\u8ced\u6ce8\u800c\u6709\u6240\u4e0d\u540c\u3002\u53ef\u80fd\u7684\u91d1\u984d\u5305\u62ec\uff1a"
        },
        "label_mobile.Theplayerhasthe_3": {
          en: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          kh: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          mm: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          es: "El jugador tiene la opcion de seleccionar un multiplicador de apuesta. Dependiendo de la apuesta seleccionada, el juego se comporta de forma distinta. Los valores posibles son:",
          pt: "O jogador tem a op\xe7\xe3o de selecionar o multiplicador de aposta. O jogo comporta-se de forma diferente dependendo da aposta selecionada. Os valores poss\xedveis s\xe3o:",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e30\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e08\u0e30\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn s\u1ed1 nh\xe2n c\u01b0\u1ee3c. Tr\xf2 ch\u01a1i s\u1ebd ho\u1ea1t \u0111\u1ed9ng kh\xe1c t\xf9y theo c\u01b0\u1ee3c \u0111\u01b0\u1ee3c ch\u1ecdn. C\xe1c gi\xe1 tr\u1ecb c\xf3 th\u1ec3 \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0:",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u8ced\u6ce8\u500d\u589e\u6307\u6578\u3002\u904a\u6232\u53ef\u80fd\u6703\u56e0\u6240\u9078\u7684\u8ced\u6ce8\u800c\u6709\u6240\u4e0d\u540c\u3002\u53ef\u80fd\u7684\u91d1\u984d\u5305\u62ec\uff1a"
        },
        "label_mobile.Theplayerhasthe_4": {
          en: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          kh: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          mm: "The player has the option to select the bet multiplier. Depending on the selected bet, the game behaves differently. The possible values are:",
          es: "El jugador tiene la opcion de seleccionar un multiplicador de apuesta. Dependiendo de la apuesta seleccionada, el juego se comporta de forma distinta. Los valores posibles son:",
          pt: "O jogador tem a op\xe7\xe3o de selecionar o multiplicador de aposta. O jogo comporta-se de forma diferente dependendo da aposta selecionada. Os valores poss\xedveis s\xe3o:",
          thai: "\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e30\u0e01\u0e15\u0e34\u0e01\u0e32\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e08\u0e30\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:",
          vn: "Ng\u01b0\u1eddi ch\u01a1i c\xf3 th\u1ec3 l\u1ef1a ch\u1ecdn s\u1ed1 nh\xe2n c\u01b0\u1ee3c. Tr\xf2 ch\u01a1i s\u1ebd ho\u1ea1t \u0111\u1ed9ng kh\xe1c t\xf9y theo c\u01b0\u1ee3c \u0111\u01b0\u1ee3c ch\u1ecdn. C\xe1c gi\xe1 tr\u1ecb c\xf3 th\u1ec3 \u0111\u1ea1t \u0111\u01b0\u1ee3c l\xe0:",
          zh: "\u73a9\u5bb6\u53ef\u4ee5\u9078\u64c7\u8ced\u6ce8\u500d\u589e\u6307\u6578\u3002\u904a\u6232\u53ef\u80fd\u6703\u56e0\u6240\n\u9078\u7684\u8ced\u6ce8\u800c\u6709\u6240\u4e0d\u540c\u3002\u53ef\u80fd\u7684\u91d1\u984d\u5305\u62ec\uff1a"
        },
        "label_web.Thereplayservicehas": {
          en: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          kh: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          mm: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          es: "El servicio de repetici\xf3n ha encontrado un problema. Por favor, reinicie el juego para ver la lista de repeticiones",
          pt: "O servi\xe7o de repeti\xe7\xe3o encontrou um problema. Reinicie o jogo para ver a lista de repeti\xe7\xf5es",
          thai: "\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e40\u0e01\u0e34\u0e14\u0e1b\u0e31\u0e0d\u0e2b\u0e32 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "D\u1ecbch v\u1ee5 ch\u01a1i l\u1ea1i \u0111\xe3 g\u1eb7p s\u1ef1 c\u1ed1. Vui l\xf2ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i tr\xf2 ch\u01a1i \u0111\u1ec3 xem danh s\xe1ch ch\u01a1i l\u1ea1i",
          zh: "\u91cd\u64ad\u670d\u52d9\u9047\u5230\u4e86\u554f\u984c\u3002\u8acb\u91cd\u65b0\u958b\u59cb\u904a\u6232\uff0c\u4ee5\u4fbf\u67e5\u770b\u91cd\u64ad\u5217\u8868"
        },
        "label_mobile.Thereplayservicehas": {
          en: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          kh: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          mm: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          es: "El servicio de repetici\xf3n ha encontrado un problema. Por favor, reinicie el juego para ver la lista de repeticiones",
          pt: "O servi\xe7o de repeti\xe7\xe3o encontrou um problema. Reinicie o jogo para ver a lista de repeti\xe7\xf5es",
          thai: "\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e40\u0e01\u0e34\u0e14\u0e1b\u0e31\u0e0d\u0e2b\u0e32 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "D\u1ecbch v\u1ee5 ch\u01a1i l\u1ea1i \u0111\xe3 g\u1eb7p s\u1ef1 c\u1ed1. Vui l\xf2ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i tr\xf2 ch\u01a1i \u0111\u1ec3 xem danh s\xe1ch ch\u01a1i l\u1ea1i",
          zh: "\u91cd\u64ad\u670d\u52d9\u9047\u5230\u4e86\u554f\u984c\u3002\u8acb\u91cd\u65b0\u958b\u59cb\u904a\u6232\uff0c\u4ee5\u4fbf\u67e5\u770b\u91cd\u64ad\u5217\u8868"
        },
        "label_mobile.Thereplayservicehas_2": {
          en: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          kh: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          mm: "The replay service has encountered an issue. Please restart the game to see the list of replays",
          es: "El servicio de repetici\xf3n ha encontrado un problema. Por favor, reinicie el juego para ver la lista de repeticiones",
          pt: "O servi\xe7o de repeti\xe7\xe3o encontrou um problema. Reinicie o jogo para ver a lista de repeti\xe7\xf5es",
          thai: "\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c\u0e40\u0e01\u0e34\u0e14\u0e1b\u0e31\u0e0d\u0e2b\u0e32 \u0e42\u0e1b\u0e23\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "D\u1ecbch v\u1ee5 ch\u01a1i l\u1ea1i \u0111\xe3 g\u1eb7p s\u1ef1 c\u1ed1. Vui l\xf2ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i tr\xf2 ch\u01a1i \u0111\u1ec3 xem danh s\xe1ch ch\u01a1i l\u1ea1i",
          zh: "\u91cd\u64ad\u670d\u52d9\u9047\u5230\u4e86\u554f\u984c\u3002\u8acb\u91cd\u65b0\u958b\u59cb\u904a\u6232\uff0c\u4ee5\u4fbf\u67e5\u770b\u91cd\u64ad\u5217\u8868"
        },
        "label_web.Theroundstartswith": {
          en: "The round starts with 10 free spins.",
          kh: "The round starts with 10 free spins.",
          mm: "The round starts with 10 free spins.",
          es: "La ronda comienza con 10 tiradas gratis.",
          pt: "A ronda come\xe7a com 10 rodadas gr\xe1tis.",
          thai: "\u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 10 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "V\xf2ng ch\u01a1i b\u1eaft \u0111\u1ea7u v\u1edbi 10 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u56de\u5408\u5c07\u5f9e10\u6b21\u514d\u8cbb\u65cb\u8f49\u958b\u59cb\u3002"
        },
        "label_mobile.Theroundstartswith": {
          en: "The round starts with 10 free spins.",
          kh: "The round starts with 10 free spins.",
          mm: "The round starts with 10 free spins.",
          es: "La ronda comienza con 10 tiradas gratis.",
          pt: "A ronda come\xe7a com 10 rodadas gr\xe1tis.",
          thai: "\u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 10 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "V\xf2ng ch\u01a1i b\u1eaft \u0111\u1ea7u v\u1edbi 10 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u56de\u5408\u5c07\u5f9e10\u6b21\u514d\u8cbb\u65cb\u8f49\u958b\u59cb\u3002"
        },
        "label_mobile.Theroundstartswith_2": {
          en: "The round starts with 10 free spins.",
          kh: "The round starts with 10 free spins.",
          mm: "The round starts with 10 free spins.",
          es: "La ronda comienza con 10 tiradas gratis.",
          pt: "A ronda come\xe7a com 10 rodadas gr\xe1tis.",
          thai: "\u0e23\u0e2d\u0e1a\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 10 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "V\xf2ng ch\u01a1i b\u1eaft \u0111\u1ea7u v\u1edbi 10 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u56de\u5408\u5c07\u5f9e10\u6b21\u514d\u8cbb\u65cb\u8f49\u958b\u59cb\u3002"
        },
        "label_web.ThetheoreticalRTPof": {
          en: "The theoretical RTP of this game is {0}%",
          kh: "The theoretical RTP of this game is {0}%",
          mm: "The theoretical RTP of this game is {0}%",
          es: "El RTP te\xf3rico de este juego es del {0}%",
          pt: "O RTP te\xf3rico deste jogo \xe9 {0}%",
          thai: "\u0e17\u0e24\u0e29\u0e0e\u0e35 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d  {0}%",
          vn: "T\u1ef7 L\u1ec7 Ho\xe0n Tr\u1ea3 cho Ng\u01b0\u1eddi Ch\u01a1i (RTP) theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%",
          zh: "\u7406\u8ad6\u4e0a\uff0c\u672c\u904a\u6232\u7684\u73a9\u5bb6\u56de\u5831\u7387 (RTP) \u70ba {0}%"
        },
        "label_mobile.ThetheoreticalRTPof": {
          en: "The theoretical RTP of this game is {0}%",
          kh: "The theoretical RTP of this game is {0}%",
          mm: "The theoretical RTP of this game is {0}%",
          es: "El RTP te\xf3rico de este juego es del {0}%",
          pt: "O RTP te\xf3rico deste jogo \xe9 {0}%",
          thai: "\u0e17\u0e24\u0e29\u0e0e\u0e35 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d  {0}%",
          vn: "T\u1ef7 L\u1ec7 Ho\xe0n Tr\u1ea3 cho Ng\u01b0\u1eddi Ch\u01a1i (RTP) theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%",
          zh: "\u7406\u8ad6\u4e0a\uff0c\u672c\u904a\u6232\u7684\u73a9\u5bb6\u56de\u5831\u7387 (RTP) \u70ba {0}%"
        },
        "label_mobile.ThetheoreticalRTPof_2": {
          en: "The theoretical RTP of this game is {0}%",
          kh: "The theoretical RTP of this game is {0}%",
          mm: "The theoretical RTP of this game is {0}%",
          es: "El RTP te\xf3rico de este juego es del {0}%",
          pt: "O RTP te\xf3rico deste jogo \xe9 {0}%",
          thai: "\u0e17\u0e24\u0e29\u0e0e\u0e35 RTP \u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d  {0}%",
          vn: "T\u1ef7 L\u1ec7 Ho\xe0n Tr\u1ea3 cho Ng\u01b0\u1eddi Ch\u01a1i (RTP) theo l\xfd thuy\u1ebft c\u1ee7a tr\xf2 ch\u01a1i n\xe0y l\xe0 {0}%",
          zh: "\u7406\u8ad6\u4e0a\uff0c\u672c\u904a\u6232\u7684\u73a9\u5bb6\u56de\u5831\u7387 (RTP) \u70ba {0}%"
        },
        "label_web.ThewinningJACKPOTis": {
          en: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          kh: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          mm: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          es: "El JACKPOT ganador se revela al abrir elementos en una pantalla de bonus hasta que revelen 3 con el mismo nombre.",
          pt: "O JACKPOT vencedor \xe9 revelado abrindo itens num ecr\xe3 de b\xf3nus at\xe9 revelar 3 com o mesmo nome.",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e34\u0e14\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21 3 \u0e0a\u0e34\u0e49\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19",
          vn: "JACKPOT tr\xfang th\u01b0\u1edfng \u0111\u01b0\u1ee3c m\u1edf ra b\u1eb1ng c\xe1ch m\u1edf c\xe1c m\u1ee5c trong m\xe0n h\xecnh th\u01b0\u1edfng cho \u0111\u1ebfn khi b\u1ea1n m\u1edf \u0111\u01b0\u1ee3c 3 m\u1ee5c c\xf3 c\xf9ng t\xean.",
          zh: "\u900f\u904e\u63ed\u958b\u734e\u52f5\u756b\u9762\u4e2d\u7684\u7269\u54c1\uff0c\u76f4\u81f3\u627e\u52303\u500b\u76f8\u540c\u540d\u5b57\u5373\u53ef\u51fa\u73fe\u8d0f\u734e\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.ThewinningJACKPOTis": {
          en: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          kh: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          mm: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          es: "El JACKPOT ganador se revela al abrir elementos en una pantalla de bonus hasta que revelen 3 con el mismo nombre.",
          pt: "O JACKPOT vencedor \xe9 revelado abrindo itens num ecr\xe3 de b\xf3nus at\xe9 revelar 3 com o mesmo nome.",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e34\u0e14\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21 3 \u0e0a\u0e34\u0e49\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19",
          vn: "JACKPOT tr\xfang th\u01b0\u1edfng \u0111\u01b0\u1ee3c m\u1edf ra b\u1eb1ng c\xe1ch m\u1edf c\xe1c m\u1ee5c trong m\xe0n h\xecnh th\u01b0\u1edfng cho \u0111\u1ebfn khi b\u1ea1n m\u1edf \u0111\u01b0\u1ee3c 3 m\u1ee5c c\xf3 c\xf9ng t\xean.",
          zh: "\u900f\u904e\u63ed\u958b\u734e\u52f5\u756b\u9762\u4e2d\u7684\u7269\u54c1\uff0c\u76f4\u81f3\u627e\u52303\u500b\u76f8\u540c\u540d\u5b57\u5373\u53ef\u51fa\u73fe\u8d0f\u734e\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_mobile.ThewinningJACKPOTis_2": {
          en: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          kh: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          mm: "The winning JACKPOT is revealed by opening items in a bonus screen until you reveal 3 with the same name. ",
          es: "El JACKPOT ganador se revela al abrir elementos en una pantalla de bonus hasta que revelen 3 con el mismo nombre.",
          pt: "O JACKPOT vencedor \xe9 revelado abrindo itens num ecr\xe3 de b\xf3nus at\xe9 revelar 3 com o mesmo nome.",
          thai: "\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e34\u0e14\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21\u0e43\u0e19\u0e2b\u0e19\u0e49\n\u0e32\u0e08\u0e2d\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1c\u0e22\u0e44\u0e2d\u0e40\u0e17\u0e47\u0e21 3 \u0e0a\u0e34\u0e49\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19",
          vn: "JACKPOT tr\xfang th\u01b0\u1edfng \u0111\u01b0\u1ee3c m\u1edf ra b\u1eb1ng c\xe1ch m\u1edf c\xe1c m\u1ee5c trong m\xe0n h\xecnh th\u01b0\u1edfng cho \u0111\u1ebfn khi b\u1ea1n m\u1edf \u0111\u01b0\u1ee3c 3 m\u1ee5c c\xf3 c\xf9ng t\xean.",
          zh: "\u900f\u904e\u63ed\u958b\u734e\u52f5\u756b\u9762\u4e2d\u7684\u7269\u54c1\uff0c\u76f4\u81f3\u627e\u52303\u500b\u76f8\n\u540c\u540d\u5b57\u5373\u53ef\u51fa\u73fe\u8d0f\u734e\u7d2f\u7a4d\u734e\u91d1\u3002"
        },
        "label_web.Therearenomore": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No quedan m\xe1s premios",
          pt: "N\xe3o h\xe1 mais pr\xe9mios em dinheiro",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf3 th\xeam gi\u1ea3i th\u01b0\u1edfng n\xe0o c\xf2n l\u1ea1i",
          zh: "\u6c92\u6709\u66f4\u591a\u734e\u54c1\u4e86"
        },
        "label_web.Therearenomore_2": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_web.Therearenomore_3": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No quedan m\xe1s premios",
          pt: "N\xe3o h\xe1 mais pr\xe9mios em dinheiro",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf3 th\xeam gi\u1ea3i th\u01b0\u1edfng n\xe0o c\xf2n l\u1ea1i",
          zh: "\u6c92\u6709\u66f4\u591a\u734e\u54c1\u4e86"
        },
        "label_mobile.Therearenomore_2": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No quedan m\xe1s premios",
          pt: "N\xe3o h\xe1 mais pr\xe9mios em dinheiro",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf3 th\xeam gi\u1ea3i th\u01b0\u1edfng n\xe0o c\xf2n l\u1ea1i",
          zh: "\u6c92\u6709\u66f4\u591a\u734e\u54c1\u4e86"
        },
        "label_mobile.Therearenomore_3": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore_4": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore_5": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore_6": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore_7": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_mobile.Therearenomore_8": {
          en: "There are no more prizes left",
          kh: "There are no more prizes left",
          mm: "There are no more prizes left",
          es: "No hay m\xe1s premios restantes",
          pt: "N\xe3o existem mais pr\xe9mios restantes",
          thai: "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e2d\u0e35\u0e01\u0e41\u0e25\u0e49\u0e27",
          vn: "Kh\xf4ng c\xf2n gi\u1ea3i th\u01b0\u1edfng n\xe0o",
          zh: "\u5df2\u6c92\u6709\u5269\u9918\u7684\u734e\u52f5"
        },
        "label_web.Therecanbeup": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e0a\u0e19\u0e30\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup_2": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously.",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \n\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\n\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \n\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\n\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \n\u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup_3": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684 \u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup_4": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.",
          es: "Puede haber hasta 4 premios progresivos disponibles en el juego simult\xe1neamente. El importe total de cada premio aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los premios es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_web.Therecanbeup_2": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e0a\u0e19\u0e30\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup_5": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          es: "Puede haber hasta 4 jackpots progresivos disponibles en el juego simult\xe1neamente. El importe total de cada jackpot aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los jackpots es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_web.Therecanbeup_3": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          es: "Puede haber hasta 4 premios progresivos disponibles en el juego simult\xe1neamente. El importe total de cada premio aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los premios es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.Therecanbeup_6": {
          en: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          kh: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          mm: "There can be up to 4 progressive jackpots available in the game simultaneously. The total amount of each jackpot goes up by a percentage taken from the player's bet. When one of the Jackpots is won by a player, the total resets and begins to build again.\n",
          es: "Puede haber hasta 4 premios progresivos disponibles en el juego simult\xe1neamente. El importe total de cada premio aumenta con un porcentaje de la apuesta de cada jugador. Cuando uno de los premios es ganado por un jugador, el total se reinicia y comienza a crecer de nuevo. ",
          pt: "Pode haver at\xe9 4 jackpots progressivos dispon\xedveis no jogo em simult\xe2neo. O montante tota de cada jackpot vai subindo como percentagem retirada das apostas do jogadores. Quando um dos Jackpots \xe9 ganho por um jogador, o total \xe9 reposto e come\xe7a a subir novamente. ",
          thai: "\u0e21\u0e35\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e1a\u0e1a\u0e01\u0e49\u0e32\u0e27\u0e2b\u0e19\u0e49\u0e32\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 4 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e19\u0e40\u0e01\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e0a\u0e19\u0e30\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e43\u0e19\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07  ",
          vn: "C\xf3 th\u1ec3 c\xf3 t\u1ed1i \u0111a 4 jackpot l\u0169y ti\u1ebfn s\u1eb5n c\xf3 trong tr\xf2 ch\u01a1i c\xf9ng l\xfac. T\u1ed5ng s\u1ed1 ti\u1ec1n c\u1ee7a m\u1ed7i jackpot t\u0103ng l\xean theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb c\u01b0\u1ee3c c\u1ee7a ng\u01b0\u1eddi ch\u01a1i. Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c m\u1ed9t trong nh\u1eefng Jackpot, t\u1ed5ng jackpot \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\xe0 b\u1eaft \u0111\u1ea7u \u0111\u1ec3 x\xe2y d\u1ef1ng l\u1ea1i. ",
          zh: "\u904a\u6232\u4e2d\u6700\u591a\u6703\u51fa\u73fe\u56db\u7a2e\u7d2f\u7a4d\u734e\u91d1\u3002\u6bcf\u7a2e\u7d2f\u7a4d\u734e\u91d1\u7684\u7e3d\u91d1\u984d\u6703\u6309\u4e00\u5b9a\u767e\u5206\u6bd4\u96a8\u73a9\u5bb6\u8ced\u6ce8\u589e\u52a0\u3002 \u7576\u73a9\u5bb6\u8d0f\u5f97\u7d2f\u7a4d\u734e\u91d1\u5f8c\uff0c\u734e\u91d1\u7e3d\u984d\u5c07\u6b78\u96f6\u4e26\u91cd\u65b0\u958b\u59cb\u7d2f\u7a4d\u3002 "
        },
        "label_mobile.ThisistheMULTIPLIER": {
          en: "This is the MULTIPLIER symbol.        is present on\nthe reels only during the FREE SPINS ROUND and it\nstays on the screen until the end of the tumbling sequence.",
          kh: "This is the MULTIPLIER symbol.        is present on\nthe reels only during the FREE SPINS ROUND and it\nstays on the screen until the end of the tumbling sequence.",
          mm: "This is the MULTIPLIER symbol.        is present on\nthe reels only during the FREE SPINS ROUND and it\nstays on the screen until the end of the tumbling sequence.",
          es: "Este es el s\xedmbolo MULTIPLICADOR.          est\xe1 presente en los rodillos solo durante la RONDA DE TIRADAS GRATIS y permanece en la pantalla hasta el final de la secuencia sustituci\xf3n.",
          pt: "Este \xe9 o s\xedmbolo de MULTIPLICADOR.          aparece nos rolos apenas durante a RONDA DE RODADAS GR\xc1TIS e permanece no ecr\xe3 at\xe9 ao final da sequ\xeancia de quedas.",
          thai: "\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c MULTIPLIER \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e41\u0e25\u0e30\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e19\u0e08\u0e1a",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng S\u1ed0 NH\xc2N.        ch\u1ec9 xu\u1ea5t hi\u1ec7n tr\xean c\xe1c cu\u1ed9n trong V\xd2NG QUAY MI\u1ec4N PH\xcd v\xe0 \u0111\u01b0\u1ee3c gi\u1eef l\u1ea1i tr\xean m\xe0n h\xecnh \u0111\u1ebfn khi k\u1ebft th\xfac chu\u1ed7i s\u1ee5p \u0111\u1ed5.",
          zh: "\u9019\u662f\u500d\u589e\u6307\u6578\u7b26\u865f\u3002\u53ea\u6709\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u624d\u6703\u5728\u6372\u8ef8\u4e0a\u51fa\u73fe          \uff0c\u4e26\u4e14\u5b83\u6703\u4e00\u76f4\u7559\u5728\u756b\u9762\u4e0a\u76f4\u81f3\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u3002"
        },
        "label_web.ThisistheMULTIPLIER": {
          en: "This is the MULTIPLIER symbol. <img src = '{0}' width=48 height=48  align=center/> is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          kh: "This is the MULTIPLIER symbol. <img src = '{0}' width=48 height=48  align=center/> is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          mm: "This is the MULTIPLIER symbol. <img src = '{0}' width=48 height=48  align=center/> is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          es: "Este es el s\xedmbolo MULTIPLICADOR. <img src = '{0}' width=48 height=48  align=center/> est\xe1 presente en los rodillos solo durante la RONDA DE TIRADAS GRATIS y permanece en la pantalla hasta el final de la secuencia sustituci\xf3n.",
          pt: "Este \xe9 o s\xedmbolo de MULTIPLICADOR. <img src = '{0}' width=48 height=48  align=center/> aparece nos rolos apenas durante a RONDA DE\nRODADAS GR\xc1TIS e permanece no ecr\xe3 at\xe9 ao final da sequ\xeancia de quedas.",
          thai: "\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c MULTIPLIER \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c <img src = '{0}' width=48 height=48  align=center/> \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\n\u0e41\u0e25\u0e30\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e19\u0e08\u0e1a",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng S\u1ed0 NH\xc2N. <img src = '{0}' width=48 height=48  align=center/> ch\u1ec9 xu\u1ea5t hi\u1ec7n tr\xean c\xe1c cu\u1ed9n trong V\xd2NG QUAY MI\u1ec4N PH\xcd v\xe0 \u0111\u01b0\u1ee3c gi\u1eef l\u1ea1i tr\xean m\xe0n h\xecnh\n\u0111\u1ebfn khi k\u1ebft th\xfac chu\u1ed7i s\u1ee5p \u0111\u1ed5.",
          zh: "\u9019\u662f\u500d\u589e\u6307\u6578\u7b26\u865f\u3002\u53ea\u6709\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u624d\u6703\u5728\u6372\u8ef8\u4e0a\u51fa\u73fe <img src = '{0}' width=48 height=48  align=center/> \uff0c\u4e26\u4e14\u5b83\u6703\u4e00\u76f4\u7559\u5728\u756b\u9762\u4e0a\u76f4\u81f3\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u3002"
        },
        "label_mobile.ThisistheMULTIPLIER_2": {
          en: "This is the MULTIPLIER symbol.        is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          kh: "This is the MULTIPLIER symbol.        is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          mm: "This is the MULTIPLIER symbol.        is present on the reels only during the FREE SPINS ROUND and it stays on the screen until the end of the tumbling sequence.",
          es: "Este es el s\xedmbolo MULTIPLICADOR.          est\xe1 presente en los rodillos solo durante la RONDA DE TIRADAS GRATIS y permanece en la pantalla hasta el final de la secuencia sustituci\xf3n.",
          pt: "Este \xe9 o s\xedmbolo de MULTIPLICADOR.          aparece nos rolos apenas durante a RONDA DE RODADAS GR\xc1TIS e permanece no ecr\xe3 at\xe9 ao final da sequ\xeancia de quedas.",
          thai: "\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c MULTIPLIER \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e23\u0e35\u0e25\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e40\u0e25\u0e48\u0e19\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\n\u0e41\u0e25\u0e30\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e19\u0e08\u0e1a",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng S\u1ed0 NH\xc2N.          ch\u1ec9 xu\u1ea5t hi\u1ec7n tr\xean c\xe1c cu\u1ed9n trong V\xd2NG QUAY MI\u1ec4N PH\xcd v\xe0\n\u0111\u01b0\u1ee3c gi\u1eef l\u1ea1i tr\xean m\xe0n h\xecnh \u0111\u1ebfn khi k\u1ebft th\xfac chu\u1ed7i s\u1ee5p \u0111\u1ed5.",
          zh: "\u9019\u662f\u500d\u589e\u6307\u6578\u7b26\u865f\u3002\u53ea\u6709\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u624d\u6703\u5728\u6372\u8ef8\u4e0a\u51fa\u73fe          \uff0c\u4e26\u4e14\u5b83\u6703\u4e00\u76f4\u7559\u5728\u756b\u9762\u4e0a\u76f4\u81f3\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u3002"
        },
        "label_web.ThisistheSCATTER": {
          en: "This is the SCATTER symbol.",
          kh: "This is the SCATTER symbol.",
          mm: "This is the SCATTER symbol.",
          es: "Este es el s\xedmbolo SCATTER. ",
          pt: "Este \xe9 o s\xedmbolo de SCATTER. ",
          thai: "\u0e19\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER ",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng SCATTER. ",
          zh: "\u9019\u662fSCATTER\u7b26\u865f\u3002 "
        },
        "label_mobile.ThisistheSCATTER": {
          en: "This is the SCATTER symbol.",
          kh: "This is the SCATTER symbol.",
          mm: "This is the SCATTER symbol.",
          es: "Este es el s\xedmbolo SCATTER. ",
          pt: "Este \xe9 o s\xedmbolo de SCATTER. ",
          thai: "\u0e19\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER ",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng SCATTER. ",
          zh: "\u9019\u662fSCATTER\u7b26\u865f\u3002 "
        },
        "label_mobile.ThisistheSCATTER_2": {
          en: "This is the SCATTER symbol.",
          kh: "This is the SCATTER symbol.",
          mm: "This is the SCATTER symbol.",
          es: "Este es el s\xedmbolo SCATTER. ",
          pt: "Este \xe9 o s\xedmbolo de SCATTER. ",
          thai: "\u0e19\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER ",
          vn: "\u0110\xe2y l\xe0 bi\u1ec3u t\u01b0\u1ee3ng SCATTER. ",
          zh: "\u9019\u662fSCATTER\u7b26\u865f\u3002 "
        },
        "label_web.Time": {
          en: "Time",
          kh: "Time",
          mm: "Time",
          es: "Hora",
          pt: "Tempo",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "Th\u1eddi gian",
          zh: "\u6642\u9593"
        },
        "label_mobile.Time": {
          en: "Time",
          kh: "Time",
          mm: "Time",
          es: "Hora",
          pt: "Tempo",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "Th\u1eddi gian",
          zh: "\u6642\u9593"
        },
        "label_mobile.Time_2": {
          en: "Time",
          kh: "Time",
          mm: "Time",
          es: "Hora",
          pt: "Tempo",
          thai: "\u0e40\u0e27\u0e25\u0e32",
          vn: "Th\u1eddi gian",
          zh: "\u6642\u9593"
        },
        "label_web.Tobeeligiblefor": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          es: "Para ser apta para ganar cualquier de los Jackpots, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e0a\u0e19\u0e30 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_mobile.Tobeeligiblefor": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          es: "Para ser apta para ganar cualquier de los Jackpots, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_web.Tobeeligiblefor_2": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          es: "Para ser apta para ganar cualquier de los Premios, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_mobile.Tobeeligiblefor_2": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:",
          es: "Para ser apta para ganar cualquier de los Premios, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_mobile.Tobeeligiblefor_3": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          es: "Para ser apta para ganar cualquier de los Jackpots, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:          ",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_mobile.Tobeeligiblefor_4": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is:           ",
          es: "Para ser apta para ganar cualquier de los Premios, la apuesta m\xednima es de:",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos jackpots, a aposta m\xednima \xe9 de:",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e14 \u0e46 \u0e02\u0e2d\u0e07\u0e41\u0e08\u0e47\u0e04\u0e1e\u0e47\u0e2d\u0e15\u0e44\u0e14\u0e49 \u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d:",
          vn: "\u0110\u1ec3 h\u1ed9i \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh chi\u1ebfn th\u1eafng b\u1ea5t k\u1ef3 Jackpot n\xe0o, c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0:",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a"
        },
        "label_web.Tobeeligiblefor_3": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          es: "Para ser elegible para ganar cualquiera de los Jackpots, la apuesta m\xednima es: {0}",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos Jackpots, a aposta m\xednima \xe9: {0}",
          thai: "\u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e49\u0e2d\u0e22: {0}",
          vn: "\u0110\u1ec3 \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, m\u1ee9c c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0: {0}",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a{0}"
        },
        "label_mobile.Tobeeligiblefor_5": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          es: "Para ser elegible para ganar cualquiera de los Jackpots, la apuesta m\xednima es: {0}",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos Jackpots, a aposta m\xednima \xe9: {0}",
          thai: "\u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e49\u0e2d\u0e22: {0}",
          vn: "\u0110\u1ec3 \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, m\u1ee9c c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0: {0}",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a{0}"
        },
        "label_mobile.Tobeeligiblefor_6": {
          en: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          kh: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          mm: "To be eligible for winning any of the Jackpots, the minimum bet is: {0}",
          es: "Para ser elegible para ganar cualquiera de los Jackpots, la apuesta m\xednima es: {0}",
          pt: "Para ser eleg\xedvel para ganhar qualquer um dos Jackpots, a aposta m\xednima \xe9: {0}",
          thai: "\u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e47\u0e2d\u0e15\u0e43\u0e14\u0e46 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e27\u0e32\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e49\u0e2d\u0e22: {0}",
          vn: "\u0110\u1ec3 \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, m\u1ee9c c\u01b0\u1ee3c t\u1ed1i thi\u1ec3u l\xe0: {0}",
          zh: "\u8981\u5177\u5099\u8d0f\u53d6\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u7684\u8cc7\u683c\uff0c\n\u6700\u4f4e\u8ced\u6ce8\u5fc5\u9808\u9054\u5230\uff1a{0}"
        },
        "label_web.TopGames": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_web.TopGames_2": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TopGames": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TopGames_2": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TopGames_3": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_mobile.TopGames_4": {
          en: "Top Games",
          kh: "Top Games",
          mm: "Top Games",
          es: "Mejores Juegos",
          pt: "Melhores jogos",
          thai: "\u0e40\u0e01\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14",
          vn: "Tr\xf2 ch\u01a1i h\xe0ng \u0111\u1ea7u",
          zh: "\u71b1\u9580\u904a\u6232"
        },
        "label_web.Tumblingwillcontinueuntil": {
          en: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          kh: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          mm: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          es: "La Sustituci\xf3n continuar\xe1 hasta que no aparezcan m\xe1s combinaciones ganadoras como resultado de un sustituci\xf3n. No hay l\xedmite al n\xfamero de posibles sustituci\xf3nes.",
          pt: "As quedas continuar\xe3o at\xe9 que n\xe3o apare\xe7am mais combina\xe7\xf5es premiadas em resultado de uma queda. N\xe3o h\xe1 limite para o n\xfamero de quedas poss\xedveis.",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e0a\u0e38\u0e14\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e44\u0e21\u0e48\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32 \u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e44\u0e21\u0e48\u0e08\u0e33\u0e01\u0e31\u0e14\u0e08\u0e33\u0e19\u0e27\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Vi\u1ec7c s\u1ee5p \u0111\u1ed5 s\u1ebd ti\u1ebfp t\u1ee5c cho \u0111\u1ebfn khi kh\xf4ng c\xf3 th\xeam k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng n\xe0o xu\u1ea5t hi\u1ec7n do s\u1ee5p \u0111\u1ed5. Kh\xf4ng c\xf3 gi\u1edbi h\u1ea1n n\xe0o \u0111\u1ed1i v\u1edbi s\u1ed1 l\u1ea7n s\u1ee5p \u0111\u1ed5 c\xf3 th\u1ec3.",
          zh: "\u7ffb\u8f49\u5c07\u7e7c\u7e8c\uff0c\u76f4\u81f3\u4e0d\u518d\u51fa\u73fe\u8d0f\u734e\u7d44\u5408\u3002\u53ef\u80fd\u7684\u7ffb\u8f49\u6b21\u6578\u6c92\u6709\u9650\u5236\u3002"
        },
        "label_mobile.Tumblingwillcontinueuntil": {
          en: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          kh: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          mm: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          es: "La Sustituci\xf3n continuar\xe1 hasta que no aparezcan m\xe1s combinaciones ganadoras como resultado de un sustituci\xf3n. No hay l\xedmite al n\xfamero de posibles sustituci\xf3nes.",
          pt: "As quedas continuar\xe3o at\xe9 que n\xe3o apare\xe7am mais combina\xe7\xf5es premiadas em resultado de uma queda. N\xe3o h\xe1 limite para o n\xfamero de quedas poss\xedveis.",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e0a\u0e38\u0e14\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e44\u0e21\u0e48\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32 \u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e44\u0e21\u0e48\u0e08\u0e33\u0e01\u0e31\u0e14\u0e08\u0e33\u0e19\u0e27\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Vi\u1ec7c s\u1ee5p \u0111\u1ed5 s\u1ebd ti\u1ebfp t\u1ee5c cho \u0111\u1ebfn khi kh\xf4ng c\xf3 th\xeam k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng n\xe0o xu\u1ea5t hi\u1ec7n do s\u1ee5p \u0111\u1ed5. Kh\xf4ng c\xf3 gi\u1edbi h\u1ea1n n\xe0o \u0111\u1ed1i v\u1edbi s\u1ed1 l\u1ea7n s\u1ee5p \u0111\u1ed5 c\xf3 th\u1ec3.",
          zh: "\u7ffb\u8f49\u5c07\u7e7c\u7e8c\uff0c\u76f4\u81f3\u4e0d\u518d\u51fa\u73fe\u8d0f\u734e\u7d44\u5408\u3002\u53ef\u80fd\u7684\u7ffb\u8f49\u6b21\u6578\u6c92\u6709\u9650\u5236\u3002"
        },
        "label_mobile.Tumblingwillcontinueuntil_2": {
          en: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          kh: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          mm: "Tumbling will continue until no more winning combinations appear as a result of a tumble. There's no limit to the number of possible tumbles.",
          es: "La Sustituci\xf3n continuar\xe1 hasta que no aparezcan m\xe1s combinaciones ganadoras como resultado de un sustituci\xf3n. No hay l\xedmite al n\xfamero de posibles sustituci\xf3nes.",
          pt: "As quedas continuar\xe3o at\xe9 que n\xe3o apare\xe7am mais combina\xe7\xf5es premiadas em resultado de uma queda. N\xe3o h\xe1 limite para o n\xfamero de quedas poss\xedveis.",
          thai: "\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e08\u0e30\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e0a\u0e38\u0e14\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e08\u0e30\u0e44\u0e21\u0e48\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32 \u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46 \u0e44\u0e21\u0e48\u0e08\u0e33\u0e01\u0e31\u0e14\u0e08\u0e33\u0e19\u0e27\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "Vi\u1ec7c s\u1ee5p \u0111\u1ed5 s\u1ebd ti\u1ebfp t\u1ee5c cho \u0111\u1ebfn khi kh\xf4ng c\xf3 th\xeam k\u1ebft h\u1ee3p chi\u1ebfn th\u1eafng n\xe0o xu\u1ea5t hi\u1ec7n do s\u1ee5p \u0111\u1ed5. Kh\xf4ng c\xf3 gi\u1edbi h\u1ea1n n\xe0o \u0111\u1ed1i v\u1edbi s\u1ed1 l\u1ea7n s\u1ee5p \u0111\u1ed5 c\xf3 th\u1ec3.",
          zh: "\u7ffb\u8f49\u5c07\u7e7c\u7e8c\uff0c\u76f4\u81f3\u4e0d\u518d\u51fa\u73fe\u8d0f\u734e\u7d44\u5408\u3002\u53ef\u80fd\u7684\u7ffb\u8f49\u6b21\u6578\u6c92\u6709\u9650\u5236\u3002"
        },
        "label_mobile.UNLOCKTOPLACETHE": {
          en: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          kh: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          mm: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          es: "DESBLOQUEE PARA UBICAR EL BOT\xd3N DE TIRADA EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "DESBLOQUEIA PARA COLOCAR O BOT\xc3O DE RODAR EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e04\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e07\u0e1b\u0e38\u0e48\u0e21\u0e2b \u0e21\u0e38\u0e19\u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "M\u1ede KH\xd3A \u0110\u1ec2 \u0110\u1eb6T N\xdaT QUAY \u1ede B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O TR\xcaN M\xc0N H\xccNH",
          zh: "\u89e3\u9396\u4e26\u5c07\u65cb\u8f49\u6309 \u9375\u653e\u5728\u756b\u9762\u4e0a\u7684\u4efb\u610f\u4f4d\u7f6e"
        },
        "label_mobile.UNLOCKTOPLACETHE_2": {
          en: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          kh: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          mm: "UNLOCK TO PLACE THE SPIN BUTTON ANYWHERE ON THE SCREEN",
          es: "DESBLOQUEE PARA UBICAR EL BOT\xd3N DE TIRADA EN CUALQUIER POSICI\xd3N DE LA PANTALLA",
          pt: "DESBLOQUEIA PARA COLOCAR O BOT\xc3O DE RODAR EM QUALQUER POSI\xc7\xc3O NO ECR\xc3",
          thai: "\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e04\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e07\u0e1b\u0e38\u0e48\u0e21\u0e2b\u0e21\u0e38\u0e19 \u0e17\u0e35\u0e48\u0e43\u0e14\u0e01\u0e47\u0e44\u0e14\u0e49\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d",
          vn: "M\u1ede KH\xd3A \u0110\u1ec2 \u0110\u1eb6T N\xdaT QUAY \u1ede B\u1ea4T K\u1ef2 V\u1eca TR\xcd N\xc0O TR\xcaN M\xc0N H\xccNH",
          zh: "\u89e3\u9396\u4e26\u5c07\u65cb\u8f49\u6309 \u9375\u653e\u5728\u756b\u9762\u4e0a\u7684\u4efb\u610f\u4f4d\u7f6e"
        },
        "label_web.Uponclosureofan": {
          en: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          kh: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          mm: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          es: "Al cierre de un jackpot no pagado, las contribuciones del jugador se transferir\xe1n a otro jackpot.",
          pt: "Ap\xf3s o encerramento de um jackpot n\xe3o pago, as contribui\xe7\xf5es dos jogadores ser\xe3o transferidas para outro jackpot.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e43\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e37\u0e48\u0e19",
          vn: "Khi \u0111\xf3ng jackpot ch\u01b0a \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng, c\xe1c kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n sang jackpot kh\xe1c.",
          zh: "\u5728\u672a\u8ce0\u4ed8\u7684\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u73a9\u5bb6\u7684\u8ca2\u737b\u5c07\u88ab\u8f49\u79fb\u5230\u53e6\u4e00\u500b\u7d2f\u7a4d\u734e\u91d1\u4e2d\u3002"
        },
        "label_mobile.Uponclosureofan": {
          en: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          kh: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          mm: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          es: "Al cierre de un jackpot no pagado, las contribuciones del jugador se transferir\xe1n a otro jackpot.",
          pt: "Ap\xf3s o encerramento de um jackpot n\xe3o pago, as contribui\xe7\xf5es dos jogadores ser\xe3o transferidas para outro jackpot.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e43\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e37\u0e48\u0e19",
          vn: "Khi \u0111\xf3ng jackpot ch\u01b0a \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng, c\xe1c kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n sang jackpot kh\xe1c.",
          zh: "\u5728\u672a\u8ce0\u4ed8\u7684\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u73a9\u5bb6\u7684\u8ca2\u737b\u5c07\u88ab\u8f49\u79fb\u5230\u53e6\u4e00\u500b\u7d2f\u7a4d\u734e\u91d1\u4e2d\u3002"
        },
        "label_mobile.Uponclosureofan_2": {
          en: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          kh: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          mm: "Upon closure of an unpaid jackpot, player contributions will be transferred to another jackpot.",
          es: "Al cierre de un jackpot no pagado, las contribuciones del jugador se transferir\xe1n a otro jackpot.",
          pt: "Ap\xf3s o encerramento de um jackpot n\xe3o pago, as contribui\xe7\xf5es dos jogadores ser\xe3o transferidas para outro jackpot.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e1b\u0e34\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19 \u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e43\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e40\u0e25\u0e48\u0e19\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e37\u0e48\u0e19",
          vn: "Khi \u0111\xf3ng jackpot ch\u01b0a \u0111\u01b0\u1ee3c tr\u1ea3 th\u01b0\u1edfng, c\xe1c kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n sang jackpot kh\xe1c.",
          zh: "\u5728\u672a\u8ce0\u4ed8\u7684\u7d2f\u7a4d\u734e\u91d1\u95dc\u9589\u6642\uff0c\u73a9\u5bb6\n\u7684\u8ca2\u737b\u5c07\u88ab\u8f49\u79fb\u5230\u53e6\u4e00\u500b\u7d2f\u7a4d\u734e\u91d1\u4e2d\u3002"
        },
        "label_mobile.Usethe": {
          en: "Use the          and          buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          kh: "Use the          and          buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          mm: "Use the          and          buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          es: "Use los botones          y          de los campos MONEDAS POR L\xcdNEA y VALOR DE MONEDAS para cambiar los valores.",
          pt: "Use os bot\xf5es         e         nos campos MOEDAS POR LINHA e VALOR DE MOEDA para alterar os valores.",
          thai: "\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21         \u0e41\u0e25\u0e30         \u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c \u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e41\u0e25\u0e30 \u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32",
          vn: "S\u1eed d\u1ee5ng n\xfat           v\xe0           trong tr\u01b0\u1eddng \u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG v\xe0 TI\u1ec0N XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63\u300d\u548c\u300c\u91d1\u5e63\u503c\u300d\u6b04\u4f4d\u4e2d\u7684          \u548c          \u6309\u9215\u53ef\u66f4\u6539\u6578\u503c\u3002"
        },
        "label_web.Usethe": {
          en: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          kh: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          mm: "Use the <img src = '{0}' width=48 height=48  align=center/> and <img src = '{1}' width=48 height=48  align=center/>  buttons in the BET and COIN VALUE fields to change the values.",
          es: "Use los botones <img src = '{0}' width=48 height=48  align=center/> y <img src = '{1}' width=48 height=48  align=center/> en los campos APUESTA y VALOR DE CR\xc9DITO para cambiar los valores.",
          pt: "Use os bot\xf5es <img src = '{0}' width=48 height=48  align=center/> e <img src = '{1}' width=48 height=48  align=center/> nos campos APOSTA e VALOR DA MOEDA para alterar os valores.",
          thai: "\u0e43\u0e0a\u0e49 <img src = '{0}' width=48 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=48 height=48  align=center/> \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 \"\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\" \u0e41\u0e25\u0e30 \"\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\" \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32",
          vn: "S\u1eed d\u1ee5ng c\xe1c n\xfat <img src = '{0}' width=48 height=48  align=center/> v\xe0 <img src = '{1}' width=48 height=48  align=center/> trong c\xe1c tr\u01b0\u1eddng C\u01af\u1ee2C v\xe0 GI\xc1 TR\u1eca XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u8ced\u6ce8\u300d\u548c\u300c\u786c\u5e63\u6578\u503c\u300d\u6b04\u4f4d\u4e2d\u7684 <img src = '{0}' width=48 height=48  align=center/> \u548c <img src = '{1}' width=48 height=48  align=center/> \u6309\u9215\u53ef\u4ee5\u8b8a\u66f4\u6578\u503c\u3002"
        },
        "label_mobile.Usethe_2": {
          en: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          kh: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          mm: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          es: "Use los botones          y          en los campos APUESTA y VALOR DE CR\xc9DITO para cambiar los valores.",
          pt: "Use os bot\xf5es          e          nos campos APOSTA e VALOR DA MOEDA para alterar os valores.",
          thai: '\u0e43\u0e0a\u0e49          \u0e41\u0e25\u0e30          \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19" \u0e41\u0e25\u0e30 "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d" \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32',
          vn: "S\u1eed d\u1ee5ng c\xe1c n\xfat          v\xe0          trong c\xe1c tr\u01b0\u1eddng C\u01af\u1ee2C v\xe0 GI\xc1 TR\u1eca XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u8ced\u6ce8\u300d\u548c\u300c\u786c\u5e63\u6578\u503c\u300d\u6b04\u4f4d\u4e2d\u7684          \u548c          \u6309\u9215\u53ef\u4ee5\u8b8a\u66f4\u6578\u503c\u3002"
        },
        "label_mobile.Usethe_3": {
          en: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          kh: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          mm: "Use the         and         buttons in the BET and COIN VALUE fields to change the values.",
          es: "Use los botones          y          en los campos APUESTA y VALOR DE CR\xc9DITO para cambiar los valores.",
          pt: "Use os bot\xf5es          e          nos campos APOSTA e VALOR DA MOEDA para alterar os valores.",
          thai: '\u0e43\u0e0a\u0e49          \u0e41\u0e25\u0e30          \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19" \u0e41\u0e25\u0e30 "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d" \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32',
          vn: "S\u1eed d\u1ee5ng c\xe1c n\xfat          v\xe0          trong c\xe1c tr\u01b0\u1eddng C\u01af\u1ee2C v\xe0 GI\xc1 TR\u1eca XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u8ced\u6ce8\u300d\u548c\u300c\u786c\u5e63\u6578\u503c\u300d\u6b04\u4f4d\u4e2d\u7684          \u548c          \u6309\u9215\u53ef\u4ee5\u8b8a\u66f4\u6578\u503c\u3002"
        },
        "label_web.Usethe_2": {
          en: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          kh: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          mm: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          es: "Use los botones          y          de los campos MONEDAS POR L\xcdNEA y VALOR DE MONEDAS para cambiar los valores.",
          pt: "Use os bot\xf5es         e         nos campos MOEDAS POR LINHA e VALOR DE MOEDA para alterar os valores.",
          thai: "\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21         \u0e41\u0e25\u0e30         \u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c \u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e41\u0e25\u0e30 \u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32",
          vn: "S\u1eed d\u1ee5ng n\xfat           v\xe0           trong tr\u01b0\u1eddng \u0110\u1ed2NG TI\u1ec0N M\u1ed6I H\xc0NG v\xe0 TI\u1ec0N XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63\u300d\u548c\u300c\u91d1\u5e63\u503c\u300d\u6b04\u4f4d\u4e2d\u7684         \u548c         \u6309\u9215\u53ef\u66f4\u6539\u6578\u503c\u3002"
        },
        "label_mobile.Usethe_4": {
          en: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          kh: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          mm: "Use the         and         buttons in the COINS PER LINE and COIN VALUE fields to change the values.",
          es: "Use los botones          y          de los campos\nMONEDAS POR L\xcdNEA y VALOR DE MONEDAS para\ncambiar los valores.",
          pt: "Use os bot\xf5es         e         nos campos MOEDAS\nPOR LINHA e VALOR DE MOEDA para alterar os\nvalores.",
          thai: "\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21         \u0e41\u0e25\u0e30         \u0e43\u0e19\u0e1f\u0e34\u0e25\u0e14\u0e4c \u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d\u0e15\u0e48\u0e2d\u0e41\u0e16\u0e27 \u0e41\u0e25\u0e30\n\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e23\u0e35\u0e22\u0e0d \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32",
          vn: "S\u1eed d\u1ee5ng n\xfat           v\xe0           trong tr\u01b0\u1eddng \u0110\u1ed2NG TI\u1ec0N\nM\u1ed6I H\xc0NG v\xe0 TI\u1ec0N XU \u0111\u1ec3 thay \u0111\u1ed5i gi\xe1 tr\u1ecb.",
          zh: "\u4f7f\u7528\u300c\u6bcf\u689d\u8ce0\u4ed8\u7dda\u7684\u91d1\u5e63\u300d\u548c\u300c\u91d1\u5e63\u503c\u300d\n\u6b04\u4f4d\u4e2d\u7684         \u548c         \u6309\u9215\u53ef\u66f4\u6539\u6578\u503c\u3002"
        },
        "label_web.VERIFYGAMEAUTHENTICITY": {
          en: "VERIFY GAME AUTHENTICITY",
          kh: "VERIFY GAME AUTHENTICITY",
          mm: "VERIFY GAME AUTHENTICITY",
          es: "VERIFICAR AUTENTICIDAD DEL JUEGO",
          pt: "VERIFICAR AUTENTICIDADE DO JOGO",
          thai: "\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "X\xc1C MINH T\xcdNH X\xc1C TH\u1ef0C C\u1ee6A TR\xd2 CH\u01a0I",
          zh: "\u9a57\u8b49\u904a\u6232\u771f\u507d"
        },
        "label_mobile.VERIFYGAMEAUTHENTICITY": {
          en: "VERIFY GAME AUTHENTICITY",
          kh: "VERIFY GAME AUTHENTICITY",
          mm: "VERIFY GAME AUTHENTICITY",
          es: "VERIFICAR AUTENTICIDAD DEL JUEGO",
          pt: "VERIFICAR AUTENTICIDADE DO JOGO",
          thai: "\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "X\xc1C MINH T\xcdNH X\xc1C TH\u1ef0C C\u1ee6A TR\xd2 CH\u01a0I",
          zh: "\u9a57\u8b49\u904a\u6232\u771f\u507d"
        },
        "label_mobile.VERIFYGAMEAUTHENTICITY_2": {
          en: "VERIFY GAME AUTHENTICITY",
          kh: "VERIFY GAME AUTHENTICITY",
          mm: "VERIFY GAME AUTHENTICITY",
          es: "VERIFICAR AUTENTICIDAD DEL JUEGO",
          pt: "VERIFICAR AUTENTICIDADE DO JOGO",
          thai: "\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e01\u0e21",
          vn: "X\xc1C MINH T\xcdNH X\xc1C TH\u1ef0C C\u1ee6A TR\xd2 CH\u01a0I",
          zh: "\u9a57\u8b49\u904a\u6232\u771f\u507d"
        },
        "label_web.VOLATILITY": {
          en: "VOLATILITY",
          kh: "VOLATILITY",
          mm: "VOLATILITY",
          es: "VOLATILIDAD",
          pt: "VOLATILIDADE",
          thai: "\u0e04\u0e27\u0e32\u0e21\u0e44\u0e21\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19",
          vn: "KH\u1ea2 N\u0102NG BI\u1ebeN \u0110\u1ed8NG",
          zh: "\u6ce2\u52d5"
        },
        "label_web.VOLATILITY_2": {
          en: "VOLATILITY",
          kh: "VOLATILITY",
          mm: "VOLATILITY",
          es: "VOLATILIDAD",
          pt: "VOLATILIDADE",
          thai: "\u0e04\u0e27\u0e32\u0e21\u0e44\u0e21\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19",
          vn: "KH\u1ea2 N\u0102NG BI\u1ebeN \u0110\u1ed8NG",
          zh: "\u6ce2\u52d5"
        },
        "label_mobile.VOLATILITY": {
          en: "VOLATILITY",
          kh: "VOLATILITY",
          mm: "VOLATILITY",
          es: "VOLATILIDAD",
          pt: "VOLATILIDADE",
          thai: "\u0e04\u0e27\u0e32\u0e21\u0e44\u0e21\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19",
          vn: "KH\u1ea2 N\u0102NG BI\u1ebeN \u0110\u1ed8NG",
          zh: "\u6ce2\u52d5"
        },
        "label_mobile.VOLATILITY_2": {
          en: "VOLATILITY",
          kh: "VOLATILITY",
          mm: "VOLATILITY",
          es: "VOLATILIDAD",
          pt: "VOLATILIDADE",
          thai: "\u0e04\u0e27\u0e32\u0e21\u0e44\u0e21\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19",
          vn: "KH\u1ea2 N\u0102NG BI\u1ebeN \u0110\u1ed8NG",
          zh: "\u6ce2\u52d5"
        },
        "label_mobile.VOLATILITY_3": {
          en: "VOLATILITY",
          kh: "VOLATILITY",
          mm: "VOLATILITY",
          es: "VOLATILIDAD",
          pt: "VOLATILIDADE",
          thai: "\u0e04\u0e27\u0e32\u0e21\u0e44\u0e21\u0e48\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19",
          vn: "KH\u1ea2 N\u0102NG BI\u1ebeN \u0110\u1ed8NG",
          zh: "\u6ce2\u52d5"
        },
        "label_web.WATCHAGAIN": {
          en: "WATCH AGAIN",
          kh: "WATCH AGAIN",
          mm: "WATCH AGAIN",
          es: "VER OTRA VEZ",
          pt: "VER DE NOVO",
          thai: "\u0e14\u0e39\u0e39\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "XEM L\u1ea0I",
          zh: "\u518d\u6b21\u89c0\u770b"
        },
        "label_mobile.WATCHAGAIN": {
          en: "WATCH AGAIN",
          kh: "WATCH AGAIN",
          mm: "WATCH AGAIN",
          es: "VER OTRA VEZ",
          pt: "VER DE NOVO",
          thai: "\u0e14\u0e39\u0e39\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "XEM L\u1ea0I",
          zh: "\u518d\u6b21\u89c0\u770b"
        },
        "label_mobile.WATCHAGAIN_2": {
          en: "WATCH AGAIN",
          kh: "WATCH AGAIN",
          mm: "WATCH AGAIN",
          es: "VER OTRA VEZ",
          pt: "VER DE NOVO",
          thai: "\u0e14\u0e39\u0e39\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "XEM L\u1ea0I",
          zh: "\u518d\u6b21\u89c0\u770b"
        },
        "label_mobile.WATCHREPLAY": {
          en: "WATCH REPLAY",
          kh: "WATCH REPLAY",
          mm: "WATCH REPLAY",
          es: "VER REPETICI\xd3N",
          pt: "VER REPETI\xc7\xc3O",
          thai: "\u0e14\u0e39\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "XEM PH\xc1T L\u1ea0I",
          zh: "\u89c0\u770b\u91cd\u64ad"
        },
        "label_mobile.WATCHREPLAY_2": {
          en: "WATCH REPLAY",
          kh: "WATCH REPLAY",
          mm: "WATCH REPLAY",
          es: "VER REPETICI\xd3N",
          pt: "VER REPETI\xc7\xc3O",
          thai: "\u0e14\u0e39\u0e23\u0e35\u0e40\u0e1e\u0e25\u0e22\u0e4c",
          vn: "XEM PH\xc1T L\u1ea0I",
          zh: "\u89c0\u770b\u91cd\u64ad"
        },
        "label_web.WAYS": {
          en: "WAYS",
          kh: "WAYS",
          mm: "WAYS",
          es: "FORMAS",
          pt: "FORMAS",
          thai: "\u0e27\u0e34\u0e18\u0e35",
          vn: "\u0110\u01af\u1edcNG",
          zh: "\u4e0a\u8def\u7dda"
        },
        "label_mobile.WAYS": {
          en: "WAYS",
          kh: "WAYS",
          mm: "WAYS",
          es: "FORMAS",
          pt: "FORMAS",
          thai: "\u0e27\u0e34\u0e18\u0e35",
          vn: "\u0110\u01af\u1edcNG",
          zh: "\u4e0a\u8def\u7dda"
        },
        "label_mobile.WAYS_2": {
          en: "WAYS",
          kh: "WAYS",
          mm: "WAYS",
          es: "FORMAS",
          pt: "FORMAS",
          thai: "\u0e27\u0e34\u0e18\u0e35",
          vn: "\u0110\u01af\u1edcNG",
          zh: "\u4e0a\u8def\u7dda"
        },
        "label_web.WIN": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_2": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_3": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_4": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_5": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_6": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_7": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_8": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_9": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_10": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WIN_11": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_2": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_3": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_4": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_5": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_6": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_7": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_8": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_9": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_10": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_11": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_12": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_13": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_14": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_15": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_16": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_17": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_18": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_19": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_20": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_21": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_22": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_23": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_24": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_25": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_26": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_27": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_28": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e44\u0e14\u0e49",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_29": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_30": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_31": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_32": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_33": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_mobile.WIN_34": {
          en: "WIN",
          kh: "WIN",
          mm: "WIN",
          es: "GANANCIA",
          pt: "PR\xc9MIO",
          thai: "\u0e0a\u0e19\u0e30",
          vn: "TH\u1eaeNG",
          zh: "\u7372\u52dd"
        },
        "label_web.WINOVER": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_web.WINOVER_2": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_web.WINOVER_3": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_web.WINOVER_4": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_mobile.WINOVER": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_mobile.WINOVER_2": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_mobile.WINOVER_3": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_mobile.WINOVER_4": {
          en: "WIN OVER",
          kh: "WIN OVER",
          mm: "WIN OVER",
          es: "GANE SOBRE",
          pt: "GANHE MAIS DE",
          thai: "\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
          vn: "GI\xc0NH \u0110\u01af\u1ee2C H\u01a0N",
          zh: "\u8d0f\u5f97\u8d85\u904e"
        },
        "label_mobile.WIN_35": {
          en: "WIN:",
          kh: "WIN:",
          mm: "WIN:",
          es: "GANAR:",
          pt: "PR\xc9MIO:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25:",
          vn: "TI\u1ec0N TH\u1eaeNG:",
          zh: "\u734e\u91d1\uff1a"
        },
        "label_mobile.WIN_36": {
          en: "WIN:",
          kh: "WIN:",
          mm: "WIN:",
          es: "GANAR:",
          pt: "PR\xc9MIO:",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25:",
          vn: "TI\u1ec0N TH\u1eaeNG:",
          zh: "\u734e\u91d1\uff1a"
        },
        "label_web.WINNER": {
          en: "WINNER",
          kh: "WINNER",
          mm: "WINNER",
          es: "GANADOR",
          pt: "VENCEDOR",
          thai: "\u0e0a\u0e19\u0e30\u0e41\u0e25\u0e49\u0e27",
          vn: "NG\u01af\u1edcI TH\u1eaeNG CU\u1ed8C",
          zh: "\u7372\u52dd\u8005"
        },
        "label_mobile.WINNER": {
          en: "WINNER",
          kh: "WINNER",
          mm: "WINNER",
          es: "GANADOR",
          pt: "VENCEDOR",
          thai: "\u0e0a\u0e19\u0e30\u0e41\u0e25\u0e49\u0e27",
          vn: "NG\u01af\u1edcI TH\u1eaeNG CU\u1ed8C",
          zh: "\u7372\u52dd\u8005"
        },
        "label_mobile.WINNER_2": {
          en: "WINNER",
          kh: "WINNER",
          mm: "WINNER",
          es: "GANADOR",
          pt: "VENCEDOR",
          thai: "\u0e0a\u0e19\u0e30\u0e41\u0e25\u0e49\u0e27",
          vn: "NG\u01af\u1edcI TH\u1eaeNG CU\u1ed8C",
          zh: "\u7372\u52dd\u8005"
        },
        "label_mobile.WINNER_3": {
          en: "WINNER",
          kh: "WINNER",
          mm: "WINNER",
          es: "GANADOR",
          pt: "VENCEDOR",
          thai: "\u0e0a\u0e19\u0e30\u0e41\u0e25\u0e49\u0e27",
          vn: "NG\u01af\u1edcI TH\u1eaeNG CU\u1ed8C",
          zh: "\u7372\u52dd\u8005"
        },
        "label_web.WINNERS": {
          en: "WINNERS",
          kh: "WINNERS",
          mm: "WINNERS",
          es: "GANADORES",
          pt: "VENCEDORES",
          thai: "\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30",
          vn: "NG\u01af\u1edcI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u7372\u52dd\u8005"
        },
        "label_web.WINNERS_2": {
          en: "WINNERS",
          kh: "WINNERS",
          mm: "WINNERS",
          es: "GANADORES",
          pt: "VENCEDORES",
          thai: "\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30",
          vn: "NG\u01af\u1edcI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u7372\u52dd\u8005"
        },
        "label_mobile.WINNERS": {
          en: "WINNERS",
          kh: "WINNERS",
          mm: "WINNERS",
          es: "GANADORES",
          pt: "VENCEDORES",
          thai: "\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30",
          vn: "NG\u01af\u1edcI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u7372\u52dd\u8005"
        },
        "label_mobile.WINNERS_2": {
          en: "WINNERS",
          kh: "WINNERS",
          mm: "WINNERS",
          es: "GANADORES",
          pt: "VENCEDORES",
          thai: "\u0e1c\u0e39\u0e49\u0e0a\u0e19\u0e30",
          vn: "NG\u01af\u1edcI CHI\u1ebeN TH\u1eaeNG",
          zh: "\u7372\u52dd\u8005"
        },
        "label_web.WWWWW": {
          en: "WWWWW",
          kh: "WWWWW",
          mm: "WWWWW",
          es: "WWWWW",
          pt: "WWWWW",
          thai: "WWWWW",
          vn: "WWWWW",
          zh: "WWWWW"
        },
        "label_web.WWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWW.",
          kh: "WWWWWWWWWWWWW.",
          mm: "WWWWWWWWWWWWW.",
          es: "WWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWW_2": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWW_3": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWW_4": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWW_2": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWW_3": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWW_4": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW": {
          en: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          kh: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          mm: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          es: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          pt: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          thai: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          vn: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
          zh: "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
        },
        "label_web.Watch": {
          en: "Watch",
          kh: "Watch",
          mm: "Watch",
          es: "Ver",
          pt: "Ver",
          thai: "\u0e14\u0e39",
          vn: "Xem",
          zh: "\u89c0\u770b"
        },
        "label_web.Whenanyofthe": {
          en: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          kh: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          mm: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          es: "Cuando se gana cualquiera de los Jackpots, se refundar\xe1 con un importe separado para este prop\xf3sito de las contribuciones de cada participante y comenzar\xe1 a crecer desde esa base.",
          pt: "Quando \xe9 ganho qualquer um dos Jackpots, este ser\xe1 reiniciado com um montante colocado de parte para este fim por cada uma contribui\xe7\xf5es participantes e come\xe7ar\xe1 a acumular novamente a partir desse valor.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0b\u0e35\u0e49\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e14\u0e49\u0e27\u0e22\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e0b\u0e35\u0e49\u0e14\u0e14\u0e31\u0e07\u0e01\u0e25\u0e48\u0e32\u0e27",
          vn: "Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, n\xf3 s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\u1edbi s\u1ed1 ti\u1ec1n thi\u1ebft l\u1eadp ri\xeang cho m\u1ee5c \u0111\xedch n\xe0y t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi tham gia v\xe0 b\u1eaft \u0111\u1ea7u t\xedch l\u0169y l\u1ea1i.",
          zh: "\u5728\u8d0f\u5f97\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u6642\uff0c\u5b83\u5c07\u91cd\u65b0\u88dc\u5145\u5f9e\u6bcf\u500b\u53c3\u8207\u7684\u8ca2\u737b \u4e2d\u70ba\u6b64\u76ee\u7684\u9810\u7559\u7684\u91d1\u984d\uff0c\u4e26\u5728\u6b64\u5f9e\u8a72\u7a2e\u5b50\u958b\u59cb\u91cd\u65b0\u7d2f\u7a4d\u3002"
        },
        "label_mobile.Whenanyofthe": {
          en: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          kh: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          mm: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          es: "Cuando se gana cualquiera de los Jackpots, se refundar\xe1 con un importe separado para este prop\xf3sito de las contribuciones de cada participante y comenzar\xe1 a crecer desde esa base.",
          pt: "Quando \xe9 ganho qualquer um dos Jackpots, este ser\xe1 reiniciado com um montante colocado de parte para este fim por cada uma contribui\xe7\xf5es participantes e come\xe7ar\xe1 a acumular novamente a partir desse valor.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0b\u0e35\u0e49\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e14\u0e49\u0e27\u0e22\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e0b\u0e35\u0e49\u0e14\u0e14\u0e31\u0e07\u0e01\u0e25\u0e48\u0e32\u0e27",
          vn: "Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, n\xf3 s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\u1edbi s\u1ed1 ti\u1ec1n thi\u1ebft l\u1eadp ri\xeang cho m\u1ee5c \u0111\xedch n\xe0y t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi tham gia v\xe0 b\u1eaft \u0111\u1ea7u t\xedch l\u0169y l\u1ea1i.",
          zh: "\u5728\u8d0f\u5f97\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u6642\uff0c\u5b83\u5c07\u91cd\u65b0\u88dc\u5145\u5f9e\u6bcf\u500b\u53c3\u8207\u7684\u8ca2\u737b\u4e2d\u70ba\u6b64\u76ee\u7684\u9810\u7559\u7684\u91d1\u984d\uff0c\u4e26\u5728\u6b64\u5f9e\u8a72\u7a2e\u5b50\u958b\u59cb\u91cd\u65b0\u7d2f\u7a4d\u3002"
        },
        "label_mobile.Whenanyofthe_2": {
          en: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          kh: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          mm: "When any of the Jackpots is won, it will be reseeded with an amount set aside for this purpose from each participating contributions and start again to build from that seed.",
          es: "Cuando se gana cualquiera de los Jackpots, se refundar\xe1 con un importe separado para este prop\xf3sito de las contribuciones de cada participante y comenzar\xe1 a crecer desde esa base.",
          pt: "Quando \xe9 ganho qualquer um dos Jackpots, este ser\xe1 reiniciado com um montante colocado de parte para este fim por cada uma contribui\xe7\xf5es participantes e come\xe7ar\xe1 a acumular novamente a partir desse valor.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 \u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e0b\u0e35\u0e49\u0e14\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15\u0e2d\u0e35\u0e01\u0e04\n\u0e23\u0e31\u0e49\u0e07\u0e14\u0e49\u0e27\u0e22\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e17\u0e35\u0e48\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\n\u0e30\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e48\u0e27\u0e19\u0e23\u0e48\u0e27\u0e21\u0e41\u0e15\u0e48\u0e25\u0e30\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01\u0e0b\u0e35\u0e49\u0e14\u0e14\u0e31\u0e07\u0e01\u0e25\u0e48\u0e32\u0e27",
          vn: "Khi ng\u01b0\u1eddi ch\u01a1i gi\xe0nh \u0111\u01b0\u1ee3c Jackpot b\u1ea5t k\u1ef3, n\xf3 s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u1ea1i v\u1edbi s\u1ed1 ti\u1ec1n thi\u1ebft l\u1eadp ri\xeang cho m\u1ee5c \u0111\xedch n\xe0y t\u1eeb m\u1ed7i kho\u1ea3n \u0111\xf3ng g\xf3p c\u1ee7a ng\u01b0\u1eddi tham gia v\xe0 b\u1eaft \u0111\u1ea7u t\xedch l\u0169y l\u1ea1i.",
          zh: "\u5728\u8d0f\u5f97\u4efb\u4f55\u7d2f\u7a4d\u734e\u91d1\u6642\uff0c\u5b83\u5c07\u91cd\u65b0\u88dc\u5145\u5f9e\u6bcf\u500b\u53c3\u8207\u7684\n\u8ca2\u737b\u4e2d\u70ba\u6b64\u76ee\u7684\u9810\u7559\u7684\u91d1\u984d\uff0c\u4e26\u5728\u6b64\u5f9e\u8a72\u7a2e\u5b50\u958b\u59cb\u91cd\u65b0\u7d2f\u7a4d\u3002"
        },
        "label_web.Whenthetumblingsequence": {
          en: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          kh: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          mm: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          es: "Cuando una secuencia de sustituci\xf3n termina, el valor de todos los s\xedmbolos          en pantalla se suma y el premio total de la secuencia se multiplica por el valor final.",
          pt: "Quando a sequ\xeancia de quedas termina, os valores de todos os s\xedmbolos de           no ecr\xe3 s\xe3o\nsomados e o pr\xe9mio total da sequ\xeancia \xe9 multiplicado pelo valor final.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e08\u0e19\u0e08\u0e1a \u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e21\u0e32\u0e1a\u0e27\u0e01\u0e23\u0e27\u0e21\u0e01\u0e31\u0e19\n\u0e41\u0e25\u0e49\u0e27\u0e04\u0e48\u0e2d\u0e22\u0e19\u0e33\u0e1c\u0e25\u0e23\u0e27\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "Khi chu\u1ed7i s\u1ee5p \u0111\u1ed5 k\u1ebft th\xfac, gi\xe1 tr\u1ecb c\u1ee7a t\u1ea5t c\u1ea3 bi\u1ec3u t\u01b0\u1ee3ng          tr\xean m\xe0n h\xecnh \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i v\u1edbi nhau v\xe0 t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a\nchu\u1ed7i \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi gi\xe1 tr\u1ecb cu\u1ed1i c\xf9ng.",
          zh: "\u7576\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u6642\uff0c\u756b\u9762\u4e0a\u6240\u6709          \u7b26\u865f\u7684\u503c\u6703\u76f8\u52a0\uff0c\u7136\u5f8c\u5c07\u4e00\u7cfb\u5217\u7ffb\u8f49\u7684\u7e3d\u734e\u91d1\u4e58\u4ee5\u6700\u7d42\u6578\u503c\u3002"
        },
        "label_mobile.Whenthetumblingsequence": {
          en: "When the tumbling sequence ends, the values of all <img src = '{0}' width=48 height=48  align=center/> symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          kh: "When the tumbling sequence ends, the values of all <img src = '{0}' width=48 height=48  align=center/> symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          mm: "When the tumbling sequence ends, the values of all <img src = '{0}' width=48 height=48  align=center/> symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          es: "Cuando una secuencia de sustituci\xf3n termina, el valor de todos los s\xedmbolos <img src = '{0}' width=48 height=48  align=center/> en pantalla se suma y el premio total de la secuencia se multiplica por el valor final.",
          pt: "Quando a sequ\xeancia de quedas termina, os valores de todos os s\xedmbolos de <img src = '{0}' width=48 height=48  align=center/> no ecr\xe3 s\xe3o somados\ne o pr\xe9mio total da sequ\xeancia \xe9 multiplicado pelo valor final.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e08\u0e19\u0e08\u0e1a \u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c <img src = '{0}' width=48 height=48  align=center/> \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e21\u0e32\u0e1a\u0e27\u0e01\u0e23\u0e27\u0e21\u0e01\u0e31\u0e19\n\u0e41\u0e25\u0e49\u0e27\u0e04\u0e48\u0e2d\u0e22\u0e19\u0e33\u0e1c\u0e25\u0e23\u0e27\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "Khi chu\u1ed7i s\u1ee5p \u0111\u1ed5 k\u1ebft th\xfac, gi\xe1 tr\u1ecb c\u1ee7a t\u1ea5t c\u1ea3 bi\u1ec3u t\u01b0\u1ee3ng <img src = '{0}' width=48 height=48  align=center/> tr\xean m\xe0n h\xecnh \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i v\u1edbi nhau v\xe0 t\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a\nchu\u1ed7i \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi gi\xe1 tr\u1ecb cu\u1ed1i c\xf9ng.",
          zh: "\u7576\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u6642\uff0c\u756b\u9762\u4e0a\u6240\u6709 <img src = '{0}' width=48 height=48  align=center/> \u7b26\u865f\u7684\u503c\u6703\u76f8\u52a0\uff0c\u7136\u5f8c\u5c07\u4e00\u7cfb\u5217\u7ffb\u8f49\u7684\u7e3d\u734e\u91d1\u4e58\u4ee5\u6700\u7d42\u6578\u503c\u3002"
        },
        "label_mobile.Whenthetumblingsequence_2": {
          en: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          kh: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          mm: "When the tumbling sequence ends, the values of all        symbols on the screen are added together and the total win of the sequence is multiplied by the final value.",
          es: "Cuando una secuencia de sustituci\xf3n termina, el valor de todos los s\xedmbolos          en pantalla se suma y el premio total de la secuencia se multiplica por el valor final.",
          pt: "Quando a sequ\xeancia de quedas termina, os\nvalores de todos os s\xedmbolos de           no ecr\xe3\ns\xe3o somados e o pr\xe9mio total da sequ\xeancia \xe9\nmultiplicado pelo valor final.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e44\u0e1b\u0e08\u0e19\u0e08\u0e1a \u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e21\u0e32\u0e1a\u0e27\u0e01\u0e23\u0e27\u0e21\u0e01\u0e31\u0e19\n\u0e41\u0e25\u0e49\u0e27\u0e04\u0e48\u0e2d\u0e22\u0e19\u0e33\u0e1c\u0e25\u0e23\u0e27\u0e21\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e44\u0e1b\u0e04\u0e39\u0e13\u0e01\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e35\u0e25\u0e31\u0e07\u0e01\u0e32",
          vn: "Khi chu\u1ed7i s\u1ee5p \u0111\u1ed5 k\u1ebft th\xfac, gi\xe1 tr\u1ecb c\u1ee7a t\u1ea5t c\u1ea3 bi\u1ec3u\nt\u01b0\u1ee3ng          tr\xean m\xe0n h\xecnh \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i v\u1edbi nhau v\xe0\nt\u1ed5ng ti\u1ec1n th\u1eafng c\u1ee7a chu\u1ed7i \u0111\u01b0\u1ee3c nh\xe2n v\u1edbi gi\xe1 tr\u1ecb cu\u1ed1i\nc\xf9ng.",
          zh: "\u7576\u4e00\u7cfb\u5217\u7ffb\u8f49\u7d50\u675f\u6642\uff0c\u756b\u9762\u4e0a\u6240\u6709          \u7b26\u865f\u7684\u503c\u6703\u76f8\u52a0\uff0c\u7136\u5f8c\u5c07\u4e00\u7cfb\u5217\u7ffb\u8f49\u7684\u7e3d\u734e\u91d1\u4e58\u4ee5\u6700\u7d42\u6578\u503c\u3002"
        },
        "label_web.Whenwinningwithmultiple": {
          en: "When winning with multiple symbols, all wins are added to the total win.",
          kh: "When winning with multiple symbols, all wins are added to the total win.",
          mm: "When winning with multiple symbols, all wins are added to the total win.",
          es: "Cuando se gana con m\xfaltiples s\xedmbolos, todos los premios se a\xf1aden al premio total.",
          pt: "Em caso de combina\xe7\xe3o vencedora com m\xfaltiplos s\xedmbolos, todos os ganhos s\xe3o adicionados ao pr\xe9mio total.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e25\u0e32\u0e22\u0e15\u0e31\u0e27 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e44\u0e1b\u0e1a\u0e27\u0e01\u0e01\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "Khi tr\xfang th\u01b0\u1edfng v\u1edbi nhi\u1ec1u bi\u1ec3u t\u01b0\u1ee3ng, t\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i th\xe0nh t\u1ed5ng ti\u1ec1n th\u1eafng.",
          zh: "\u5982\u679c\u8d0f\u734e\u5305\u542b\u591a\u500b\u7b26\u865f\uff0c\u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u88ab\u6dfb\u52a0\u5230\u7e3d\u734e\u91d1\u4e2d\u3002"
        },
        "label_mobile.Whenwinningwithmultiple": {
          en: "When winning with multiple symbols, all wins are added to the total win.",
          kh: "When winning with multiple symbols, all wins are added to the total win.",
          mm: "When winning with multiple symbols, all wins are added to the total win.",
          es: "Cuando se gana con m\xfaltiples s\xedmbolos, todos los premios se a\xf1aden al premio total.",
          pt: "Em caso de combina\xe7\xe3o vencedora com m\xfaltiplos s\xedmbolos, todos os ganhos s\xe3o adicionados ao pr\xe9mio total.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e25\u0e32\u0e22\u0e15\u0e31\u0e27 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e44\u0e1b\u0e1a\u0e27\u0e01\u0e01\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "Khi tr\xfang th\u01b0\u1edfng v\u1edbi nhi\u1ec1u bi\u1ec3u t\u01b0\u1ee3ng, t\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i th\xe0nh t\u1ed5ng ti\u1ec1n th\u1eafng.",
          zh: "\u5982\u679c\u8d0f\u734e\u5305\u542b\u591a\u500b\u7b26\u865f\uff0c\u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u88ab\u6dfb\u52a0\u5230\u7e3d\u734e\u91d1\u4e2d\u3002"
        },
        "label_mobile.Whenwinningwithmultiple_2": {
          en: "When winning with multiple symbols, all wins are added to the total win.",
          kh: "When winning with multiple symbols, all wins are added to the total win.",
          mm: "When winning with multiple symbols, all wins are added to the total win.",
          es: "Cuando se gana con m\xfaltiples s\xedmbolos, todos los premios se a\xf1aden al premio total.",
          pt: "Em caso de combina\xe7\xe3o vencedora com m\xfaltiplos s\xedmbolos, todos os ganhos s\xe3o adicionados ao pr\xe9mio total.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e25\u0e32\u0e22\u0e15\u0e31\u0e27 \u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e19\u0e33\u0e44\u0e1b\u0e1a\u0e27\u0e01\u0e01\u0e31\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e23\u0e27\u0e21",
          vn: "Khi tr\xfang th\u01b0\u1edfng v\u1edbi nhi\u1ec1u bi\u1ec3u t\u01b0\u1ee3ng, t\u1ea5t c\u1ea3 ti\u1ec1n th\u1eafng \u0111\u01b0\u1ee3c c\u1ed9ng l\u1ea1i th\xe0nh t\u1ed5ng ti\u1ec1n th\u1eafng.",
          zh: "\u5982\u679c\u8d0f\u734e\u5305\u542b\u591a\u500b\u7b26\u865f\uff0c\u5247\u6240\u6709\u734e\u91d1\u90fd\u5c07\u88ab\u6dfb\u52a0\u5230\u7e3d\u734e\u91d1\u4e2d\u3002"
        },
        "label_web.Whenever3ormore": {
          en: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          kh: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          mm: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          es: "Cuando aparezcan 3 o m\xe1s s\xedmbolos SCATTER durante la RONDA DE TIRADAS GRATIS, se otorgan 5 tiradas gratis adicionales.",
          pt: "Sempre que apare\xe7am 3 ou mais s\xedmbolos SCATTER durante a RONDA DE RODADAS GR\xc1TIS, s\xe3o atribu\xeddas 5 rodadas gr\xe1tis adicionais.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 3 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2d\u0e35\u0e01 5 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c 3 bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n trong V\xd2NG QUAY MI\u1ec4N PH\xcd, ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c th\u01b0\u1edfng th\xeam 5 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u53ea\u8981\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u51fa\u73fe3\u500b\u6216\u4ee5\u4e0a\u7684SCATTER\u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f975\u6b21\u984d\u5916\u7684\u514d\u8cbb\u65cb\u8f49\u3002"
        },
        "label_mobile.Whenever3ormore": {
          en: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          kh: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          mm: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          es: "Cuando aparezcan 3 o m\xe1s s\xedmbolos SCATTER durante la RONDA DE TIRADAS GRATIS, se otorgan 5 tiradas gratis adicionales.",
          pt: "Sempre que apare\xe7am 3 ou mais s\xedmbolos SCATTER durante a RONDA DE RODADAS GR\xc1TIS, s\xe3o atribu\xeddas 5 rodadas gr\xe1tis adicionais.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 3 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2d\u0e35\u0e01 5 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c 3 bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n trong V\xd2NG QUAY MI\u1ec4N PH\xcd, ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c th\u01b0\u1edfng th\xeam 5 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u53ea\u8981\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u51fa\u73fe3\u500b\u6216\u4ee5\u4e0a\u7684SCATTER\u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f975\u6b21\u984d\u5916\u7684\u514d\u8cbb\u65cb\u8f49\u3002"
        },
        "label_mobile.Whenever3ormore_2": {
          en: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          kh: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          mm: "Whenever 3 or more SCATTER symbols hit during the FREE SPINS ROUND, 5 additional free spins are awarded.",
          es: "Cuando aparezcan 3 o m\xe1s s\xedmbolos SCATTER durante la RONDA DE TIRADAS GRATIS, se otorgan 5 tiradas gratis adicionales.",
          pt: "Sempre que apare\xe7am 3 ou mais s\xedmbolos SCATTER durante a RONDA DE RODADAS GR\xc1TIS, s\xe3o atribu\xeddas 5 rodadas gr\xe1tis adicionais.",
          thai: "\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c SCATTER 3 \u0e15\u0e31\u0e27\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19 \u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2d\u0e35\u0e01 5 \u0e04\u0e23\u0e31\u0e49\u0e07",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c 3 bi\u1ec3u t\u01b0\u1ee3ng SCATTER xu\u1ea5t hi\u1ec7n trong V\xd2NG QUAY MI\u1ec4N PH\xcd, ng\u01b0\u1eddi ch\u01a1i s\u1ebd \u0111\u01b0\u1ee3c th\u01b0\u1edfng th\xeam 5 v\xf2ng quay mi\u1ec5n ph\xed.",
          zh: "\u53ea\u8981\u5728\u514d\u8cbb\u65cb\u8f49\u56de\u5408\u671f\u9593\u51fa\u73fe3\u500b\u6216\u4ee5\u4e0a\u7684\nSCATTER\u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f975\u6b21\u984d\u5916\u7684\u514d\u8cbb\u65cb\u8f49\u3002"
        },
        "label_web.Whenevera": {
          en: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          kh: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          mm: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          es: "Cuando aparezca un s\xedmbolo         , toma un valor aleatorio de multiplicador de entre 2x a 100x.",
          pt: "Sempre que aparece um s\xedmbolo de          , recebe um valor multiplicador aleat\xf3rio de 2x a 100x.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 2x \u0e16\u0e36\u0e07 100x",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng          , n\xf3 s\u1ebd nh\u1eadn gi\xe1 tr\u1ecb s\u1ed1 nh\xe2n ng\u1eabu nhi\xean t\u1eeb 2x \u0111\u1ebfn 100x.",
          zh: "\u53ea\u8981\u51fa\u73fe          \u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f972x\u5230100x\u7684\u96a8\u6a5f\u500d\u589e\u6307\u6578\u503c\u3002"
        },
        "label_mobile.Whenevera": {
          en: "Whenever a <img src = '{0}' width=48 height=48  align=center/> symbol hits, it takes a random multiplier value from 2x to 100x.",
          kh: "Whenever a <img src = '{0}' width=48 height=48  align=center/> symbol hits, it takes a random multiplier value from 2x to 100x.",
          mm: "Whenever a <img src = '{0}' width=48 height=48  align=center/> symbol hits, it takes a random multiplier value from 2x to 100x.",
          es: "Cuando aparezca un s\xedmbolo <img src = '{0}' width=48 height=48  align=center/> , toma un valor aleatorio de multiplicador de entre 2x a 100x.",
          pt: "Sempre que aparece um s\xedmbolo de <img src = '{0}' width=48 height=48  align=center/> , recebe um valor multiplicador aleat\xf3rio de 2x a 100x.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c <img src = '{0}' width=48 height=48  align=center/> \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 2x \u0e16\u0e36\u0e07 100x",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng <img src = '{0}' width=48 height=48  align=center/> , n\xf3 s\u1ebd nh\u1eadn gi\xe1 tr\u1ecb s\u1ed1 nh\xe2n ng\u1eabu nhi\xean t\u1eeb 2x \u0111\u1ebfn 100x.",
          zh: "\u53ea\u8981\u51fa\u73fe <img src = '{0}' width=48 height=48  align=center/> \u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f972x\u5230100x\u7684\u96a8\u6a5f\u500d\u589e\u6307\u6578\u503c\u3002"
        },
        "label_mobile.Whenevera_2": {
          en: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          kh: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          mm: "Whenever a        symbol hits, it takes a random multiplier value from 2x to 100x.",
          es: "Cuando aparezca un s\xedmbolo         , toma un valor aleatorio de multiplicador de entre 2x a 100x.",
          pt: "Sempre que aparece um s\xedmbolo de          , recebe um valor multiplicador aleat\xf3rio de 2x a 100x.",
          thai: "\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c          \u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19 \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e04\u0e39\u0e13\u0e41\u0e1a\u0e1a\u0e2a\u0e38\u0e48\u0e21 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 2x \u0e16\u0e36\u0e07 100x",
          vn: "M\u1ed7i khi \u0111\u1ea1t \u0111\u01b0\u1ee3c bi\u1ec3u t\u01b0\u1ee3ng          , n\xf3 s\u1ebd nh\u1eadn gi\xe1 tr\u1ecb s\u1ed1 nh\xe2n ng\u1eabu nhi\xean t\u1eeb 2x \u0111\u1ebfn 100x.",
          zh: "\u53ea\u8981\u51fa\u73fe          \u7b26\u865f\uff0c\u5373\u53ef\u7372\u5f972x\u5230100x\u7684\u96a8\u6a5f\u500d\u589e\u6307\u6578\u503c\u3002"
        },
        "label_web.Win": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_web.Win_2": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_mobile.Win": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_mobile.Win_2": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_mobile.Win_3": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_mobile.Win_4": {
          en: "Win",
          kh: "Win",
          mm: "Win",
          es: "Premio",
          pt: "Ganhos",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "Ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1"
        },
        "label_web.WinX": {
          en: "WinX",
          kh: "WinX",
          mm: "WinX",
          es: "PremioX",
          pt: "GanhosX",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25X",
          vn: "S\u1ed1 nh\xe2n ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1X"
        },
        "label_mobile.WinX": {
          en: "WinX",
          kh: "WinX",
          mm: "WinX",
          es: "PremioX",
          pt: "GanhosX",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25X",
          vn: "S\u1ed1 nh\xe2n ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1X"
        },
        "label_mobile.WinX_2": {
          en: "WinX",
          kh: "WinX",
          mm: "WinX",
          es: "PremioX",
          pt: "GanhosX",
          thai: "\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25X",
          vn: "S\u1ed1 nh\xe2n ti\u1ec1n th\u1eafng",
          zh: "\u734e\u91d1X"
        },
        "label_web.YES": {
          en: "YES",
          kh: "YES",
          mm: "YES",
          es: "S\xcd",
          pt: "SIM",
          thai: "\u0e43\u0e0a\u0e48",
          vn: "C\xd3",
          zh: "\u662f"
        },
        "label_mobile.YES": {
          en: "YES",
          kh: "YES",
          mm: "YES",
          es: "S\xcd",
          pt: "SIM",
          thai: "\u0e43\u0e0a\u0e48",
          vn: "C\xd3",
          zh: "\u662f"
        },
        "label_mobile.YES_2": {
          en: "YES",
          kh: "YES",
          mm: "YES",
          es: "S\xcd",
          pt: "SIM",
          thai: "\u0e43\u0e0a\u0e48",
          vn: "C\xd3",
          zh: "\u662f"
        },
        "label_web.YES_2": {
          en: "YES",
          kh: "YES",
          mm: "YES",
          es: "S\xcd",
          pt: "SIM",
          thai: "\u0e43\u0e0a\u0e48",
          vn: "C\xd3",
          zh: "\u662f"
        },
        "label_mobile.YES_3": {
          en: "YES",
          kh: "YES",
          mm: "YES",
          es: "S\xcd",
          pt: "SIM",
          thai: "\u0e43\u0e0a\u0e48",
          vn: "C\xd3",
          zh: "\u662f"
        },
        "label_web.YOUARELUCKY": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "\xa1ES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_web.YOUARELUCKY_2": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "IES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_web.YOUARELUCKY_3": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "\xa1ES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_mobile.YOUARELUCKY": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "\xa1ES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_mobile.YOUARELUCKY_2": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "\xa1ES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_mobile.YOUARELUCKY_3": {
          en: "YOU ARE LUCKY!",
          kh: "YOU ARE LUCKY!",
          mm: "YOU ARE LUCKY!",
          es: "IES USTED AFORTUNADO!",
          pt: "QUE SORTE!",
          thai: "\u0e04\u0e38\u0e13\u0e04\u0e37\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e0a\u0e04\u0e14\u0e35!",
          vn: "B\u1ea0N R\u1ea4T MAY M\u1eaeN!",
          zh: "\u60a8\u5f88\u5e78\u904b\uff01"
        },
        "label_mobile.YOUGUESSEDALLTHE": {
          en: "YOU GUESSED ALL THE CARDS\nAND YOU WON",
          kh: "YOU GUESSED ALL THE CARDS\nAND YOU WON",
          mm: "YOU GUESSED ALL THE CARDS\nAND YOU WON",
          es: "USTED ADIVIN\xd3 TODAS LAS CARTAS Y HA GANADO",
          pt: "ADIVINHOU TODAS AS CARTAS E GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e14\u0e32\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "B\u1ea0N \u0110\xc3 \u0110O\xc1N \u0110\xdaNG T\u1ea4T C\u1ea2 C\xc1C L\xc1 B\xc0I V\xc0 GI\xc0NH CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u731c\u5c0d\u4e86\u6240\u6709\u7684\u724c\u4e26\u7372\u52dd"
        },
        "label_web.YOUGUESSEDALLTHE": {
          en: "YOU GUESSED ALL THE CARDS AND YOU WON",
          kh: "YOU GUESSED ALL THE CARDS AND YOU WON",
          mm: "YOU GUESSED ALL THE CARDS AND YOU WON",
          es: "USTED ADIVIN\xd3 TODAS LAS CARTAS Y HA GANADO",
          pt: "ADIVINHOU TODAS AS CARTAS E GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e14\u0e32\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30",
          vn: "B\u1ea0N \u0110\xc3 \u0110O\xc1N \u0110\xdaNG T\u1ea4T C\u1ea2 C\xc1C L\xc1 B\xc0I V\xc0 GI\xc0NH CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u731c\u5c0d\u4e86\u6240\u6709\u7684\u724c\u4e26\u7372\u52dd"
        },
        "label_web.YOUHAVECOMPLETED": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_web.YOUHAVECOMPLETED_2": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_mobile.YOUHAVECOMPLETED": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_mobile.YOUHAVECOMPLETED_2": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_mobile.YOUHAVECOMPLETED_3": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_mobile.YOUHAVECOMPLETED_4": {
          en: "YOU HAVE COMPLETED",
          kh: "YOU HAVE COMPLETED",
          mm: "YOU HAVE COMPLETED",
          es: "HA DISFRUTADO DE",
          pt: "COMPLETOU",
          thai: "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH",
          zh: "\u60a8\u5df2\u5b8c\u6210"
        },
        "label_web.YOUHAVECOMPLETEDYOURFREE": {
          en: "YOU HAVE COMPLETED\nYOUR FREE BONUS SPINS",
          kh: "YOU HAVE COMPLETED\nYOUR FREE BONUS SPINS",
          mm: "YOU HAVE COMPLETED\nYOUR FREE BONUS SPINS",
          es: "HA COMPLETADO\nSUS TIRADAS BONUS GRATIS",
          pt: "CONCLUIU AS SUAS\n RODADAS B\xd3NUS GR\xc1TIS",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\n\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH C\xc1C\nV\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd C\u1ee6A M\xccNH",
          zh: "\u60a8\u5df2\u5b8c\u6210\n \u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_web.YOUHAVECOMPLETEDYOURFREE_2": {
          en: "YOU HAVE COMPLETED\nYOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          kh: "YOU HAVE COMPLETED\nYOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          mm: "YOU HAVE COMPLETED\nYOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          es: "HA COMPLETADO\nSUS TIRADAS GRATIS\nLAS FUTURAS RONDAS SE JUGAR\xc1N\nUSANDO SU SALDO EN EFECTIVO",
          pt: "CONCLUIU AS \nSUAS RODADAS GR\xc1TIS\nAS RODADAS FUTURAS SER\xc3O JOGADAS\nUSANDO O SEU SALDO EM DINHEIRO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\n\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27\n\u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e2d\u0e19\u0e32\u0e04\u0e15\u0e08\u0e30\n\u0e43\u0e0a\u0e49\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH\nC\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd C\u1ee6A M\xccNH\nC\xc1C V\xd2NG QUAY SAU N\xc0Y S\u1ebc \u0110\u01af\u1ee2C\nCH\u01a0I B\u1eb0NG S\u1ed0 D\u01af TI\u1ec0N M\u1eb6T C\u1ee6A B\u1ea0N",
          zh: "\u60a8\u5df2\u5b8c\u6210 \n\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\n\u5f8c\u7e8c\u56de\u5408\u5c07\u4f7f\u7528\u60a8\u7684\u73fe\u91d1\u9918\u984d"
        },
        "label_web.YOUHAVECOMPLETEDTHE": {
          en: "YOU HAVE COMPLETED THE INSTANT BONUS",
          kh: "YOU HAVE COMPLETED THE INSTANT BONUS",
          mm: "YOU HAVE COMPLETED THE INSTANT BONUS",
          es: "HA COMPLETADO EL BONUS INSTANT\xc1NEO",
          pt: "CONCLUIU O B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u60a8\u5df2\u5b8c\u6210\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.YOUHAVECOMPLETEDTHE": {
          en: "YOU HAVE COMPLETED THE INSTANT BONUS",
          kh: "YOU HAVE COMPLETED THE INSTANT BONUS",
          mm: "YOU HAVE COMPLETED THE INSTANT BONUS",
          es: "HA COMPLETADO EL BONUS INSTANT\xc1NEO",
          pt: "CONCLUIU O B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u60a8\u5df2\u5b8c\u6210\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.YOUHAVECOMPLETEDTHE_2": {
          en: "YOU HAVE COMPLETED THE INSTANT BONUS",
          kh: "YOU HAVE COMPLETED THE INSTANT BONUS",
          mm: "YOU HAVE COMPLETED THE INSTANT BONUS",
          es: "HA COMPLETADO EL BONUS INSTANT\xc1NEO",
          pt: "CONCLUIU O B\xd3NUS INSTANT\xc2NEO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH TH\u01af\u1edeNG T\u1ee8C TH\xcc",
          zh: "\u60a8\u5df2\u5b8c\u6210\u5373\u6642\u734e\u52f5"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR": {
          en: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          kh: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          mm: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          es: "HA COMPLETADO SUS RONDAS BONUS GRATUITAS",
          pt: "COMPLETOU AS SUAS RONDAS DE B\xd3NUS GR\xc1TIS ",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH V\xd2NG BONUS MI\u1ec4N PH\xcd",
          zh: "\u60a8\u5df2\u5b8c\u6210\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR_2": {
          en: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          kh: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          mm: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS",
          es: "HA COMPLETADO SUS RONDAS BONUS GRATUITAS",
          pt: "COMPLETOU AS SUAS RONDAS DE B\xd3NUS GR\xc1TIS",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH V\xd2NG BONUS MI\u1ec4N PH\xcd",
          zh: "\u60a8\u5df2\u5b8c\u6210\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408"
        },
        "label_web.YOUHAVECOMPLETEDYOUR": {
          en: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS ",
          kh: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS ",
          mm: "YOU HAVE COMPLETED YOUR FREE BONUS ROUNDS ",
          es: "HA COMPLETADO SUS RONDAS BONUS GRATUITAS",
          pt: "COMPLETOU AS SUAS RONDAS DE B\xd3NUS GR\xc1TIS ",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e1a\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH V\xd2NG BONUS MI\u1ec4N PH\xcd",
          zh: "\u60a8\u5df2\u5b8c\u6210\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u56de\u5408"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR_3": {
          en: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          kh: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          mm: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          es: "HA COMPLETADO\nSUS TIRADAS BONUS GRATIS",
          pt: "CONCLUIU AS SUAS\n RODADAS B\xd3NUS GR\xc1TIS",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\n\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH C\xc1C\nV\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd C\u1ee6A M\xccNH",
          zh: "\u60a8\u5df2\u5b8c\u6210\n \u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR_4": {
          en: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          kh: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          mm: "YOU HAVE COMPLETED YOUR FREE BONUS SPINS",
          es: "HA COMPLETADO\nSUS TIRADAS BONUS GRATIS",
          pt: "CONCLUIU AS SUAS\n RODADAS B\xd3NUS GR\xc1TIS",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\n\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH C\xc1C\nV\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd C\u1ee6A M\xccNH",
          zh: "\u60a8\u5df2\u5b8c\u6210\n \u514d\u8cbb\u734e\u52f5\u65cb\u8f49"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR_5": {
          en: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          kh: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          mm: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          es: "HA COMPLETADO\nSUS TIRADAS GRATIS\nLAS FUTURAS RONDAS SE JUGAR\xc1N\nUSANDO SU SALDO EN EFECTIVO",
          pt: "CONCLUIU AS \nSUAS RODADAS GR\xc1TIS\nAS RODADAS FUTURAS SER\xc3O JOGADAS\nUSANDO O SEU SALDO EM DINHEIRO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\n\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27\n\u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e2d\u0e19\u0e32\u0e04\u0e15\u0e08\u0e30\n\u0e43\u0e0a\u0e49\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH\nC\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd C\u1ee6A M\xccNH\nC\xc1C V\xd2NG QUAY SAU N\xc0Y S\u1ebc \u0110\u01af\u1ee2C\nCH\u01a0I B\u1eb0NG S\u1ed0 D\u01af TI\u1ec0N M\u1eb6T C\u1ee6A B\u1ea0N",
          zh: "\u60a8\u5df2\u5b8c\u6210 \n\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\n\u5f8c\u7e8c\u56de\u5408\u5c07\u4f7f\u7528\u60a8\u7684\u73fe\u91d1\u9918\u984d"
        },
        "label_mobile.YOUHAVECOMPLETEDYOUR_6": {
          en: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          kh: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          mm: "YOU HAVE COMPLETED YOUR FREE SPINS\nFUTURE ROUNDS WILL BE PLAYED\nUSING YOUR CASH BALANCE",
          es: "HA COMPLETADO\nSUS TIRADAS GRATIS\nLAS FUTURAS RONDAS SE JUGAR\xc1N\nUSANDO SU SALDO EN EFECTIVO",
          pt: "CONCLUIU AS \nSUAS RODADAS GR\xc1TIS\nAS RODADAS FUTURAS SER\xc3O JOGADAS\nUSANDO O SEU SALDO EM DINHEIRO",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\n\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27\n\u0e23\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e43\u0e19\u0e2d\u0e19\u0e32\u0e04\u0e15\u0e08\u0e30\n\u0e43\u0e0a\u0e49\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19\u0e2a\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13",
          vn: "B\u1ea0N \u0110\xc3 HO\xc0N TH\xc0NH\nC\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd C\u1ee6A M\xccNH\nC\xc1C V\xd2NG QUAY SAU N\xc0Y S\u1ebc \u0110\u01af\u1ee2C\nCH\u01a0I B\u1eb0NG S\u1ed0 D\u01af TI\u1ec0N M\u1eb6T C\u1ee6A B\u1ea0N",
          zh: "\u60a8\u5df2\u5b8c\u6210 \n\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\n\u5f8c\u7e8c\u56de\u5408\u5c07\u4f7f\u7528\u60a8\u7684\u73fe\u91d1\u9918\u984d"
        },
        "label_web.YOUHAVEPLAYEDFREE": {
          en: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          kh: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          mm: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          es: "HA JUGADO TIRADAS BONUS GRATIS DURANTE",
          pt: "JOGOU RODADAS B\xd3NUS GR\xc1TIS DURANTE",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N \u0110\xc3 CH\u01a0I C\xc1C V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_mobile.YOUHAVEPLAYEDFREE": {
          en: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          kh: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          mm: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          es: "HA JUGADO TIRADAS BONUS GRATIS DURANTE",
          pt: "JOGOU RODADAS B\xd3NUS GR\xc1TIS DURANTE",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N \u0110\xc3 CH\u01a0I C\xc1C V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_mobile.YOUHAVEPLAYEDFREE_2": {
          en: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          kh: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          mm: "YOU HAVE PLAYED FREE BONUS SPINS FOR",
          es: "HA JUGADO TIRADAS BONUS GRATIS DURANTE",
          pt: "JOGOU RODADAS B\xd3NUS GR\xc1TIS DURANTE",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e1b\u0e34\u0e19\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e27\u0e25\u0e32",
          vn: "B\u1ea0N \u0110\xc3 CH\u01a0I C\xc1C V\xd2NG QUAY TH\u01af\u1edeNG MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u734e\u52f5\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_web.YOUHAVEPLAYEDFREE_2": {
          en: "YOU HAVE PLAYED FREE SPINS FOR",
          kh: "YOU HAVE PLAYED FREE SPINS FOR",
          mm: "YOU HAVE PLAYED FREE SPINS FOR",
          es: "HA JUGADO TIRADAS GRATUS DURANTE",
          pt: "JOGOU RODADAS GR\xc1TIS POR",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e32\u0e19",
          vn: "B\u1ea0N \u0110\xc3 TH\u1ef0C HI\u1ec6N C\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_mobile.YOUHAVEPLAYEDFREE_3": {
          en: "YOU HAVE PLAYED FREE SPINS FOR",
          kh: "YOU HAVE PLAYED FREE SPINS FOR",
          mm: "YOU HAVE PLAYED FREE SPINS FOR",
          es: "HA JUGADO TIRADAS GRATUS DURANTE",
          pt: "JOGOU RODADAS GR\xc1TIS POR",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e32\u0e19",
          vn: "B\u1ea0N \u0110\xc3 TH\u1ef0C HI\u1ec6N C\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_mobile.YOUHAVEPLAYEDFREE_4": {
          en: "YOU HAVE PLAYED FREE SPINS FOR",
          kh: "YOU HAVE PLAYED FREE SPINS FOR",
          mm: "YOU HAVE PLAYED FREE SPINS FOR",
          es: "HA JUGADO TIRADAS GRATUS DURANTE",
          pt: "JOGOU RODADAS GR\xc1TIS POR",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e32\u0e19",
          vn: "B\u1ea0N \u0110\xc3 TH\u1ef0C HI\u1ec6N C\xc1C V\xd2NG QUAY MI\u1ec4N PH\xcd TRONG",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u6301\u7e8c\u4e86"
        },
        "label_web.YOUHAVERECEIVED": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_web.YOUHAVERECEIVED_2": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_web.YOUHAVERECEIVED_3": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_web.YOUHAVERECEIVED_4": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "HA RECIBIDO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 \u0110\u01af\u1ee2C PH\xc9P",
          zh: "\u60a8\u5df2\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_2": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_3": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_4": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_5": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_6": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "\xa1HA RECIBIDO",
          pt: "RECEBEU",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 NH\u1eacN",
          zh: "\u60a8\u5df2\u7d93\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_7": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "HA RECIBIDO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 \u0110\u01af\u1ee2C PH\xc9P",
          zh: "\u60a8\u5df2\u6536\u5230"
        },
        "label_mobile.YOUHAVERECEIVED_8": {
          en: "YOU HAVE RECEIVED",
          kh: "YOU HAVE RECEIVED",
          mm: "YOU HAVE RECEIVED",
          es: "HA RECIBIDO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 \u0110\u01af\u1ee2C PH\xc9P",
          zh: "\u60a8\u5df2\u6536\u5230"
        },
        "label_web.YOUHAVEWON": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_web.YOUHAVEWON_2": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_web.YOUHAVEWON_3": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_web.YOUHAVEWON_4": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_mobile.YOUHAVEWON": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_mobile.YOUHAVEWON_2": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_mobile.YOUHAVEWON_3": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_mobile.YOUHAVEWON_4": {
          en: "YOU HAVE WON",
          kh: "YOU HAVE WON",
          mm: "YOU HAVE WON",
          es: "USTED HA GANADO",
          pt: "GANHOU",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25",
          vn: "B\u1ea0N \u0110\xc3 CHI\u1ebeN TH\u1eaeNG",
          zh: "\u60a8\u8d0f\u4e86"
        },
        "label_web.YOUHAVEWONA": {
          en: "YOU HAVE WON A",
          kh: "YOU HAVE WON A",
          mm: "YOU HAVE WON A",
          es: "HA GANADO UN",
          pt: "GANHOU UM",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u4e00\u500b"
        },
        "label_mobile.YOUHAVEWONA": {
          en: "YOU HAVE WON A",
          kh: "YOU HAVE WON A",
          mm: "YOU HAVE WON A",
          es: "HA GANADO UN",
          pt: "GANHOU UM",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u4e00\u500b"
        },
        "label_web.YOUHAVEWONA_2": {
          en: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          kh: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          mm: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          es: "\xa1HA GANADO UN MULTIPLICADOR DE PRIZE DROP!",
          pt: "GANHOU UM PRIZE DROP MULTIPLICADOR!",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C GI\u1ea2I TH\u01af\u1edeNG S\u1ed0 NH\xc2N!",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u4e00\u500b\u500d\u589e\u6307\u6578\u734e\u52f5\u6389\u843d\uff01"
        },
        "label_mobile.YOUHAVEWONA_2": {
          en: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          kh: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          mm: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          es: "\xa1HA GANADO UN MULTIPLICADOR DE PRIZE DROP!",
          pt: "GANHOU UM PRIZE DROP MULTIPLICADOR!",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C GI\u1ea2I TH\u01af\u1edeNG S\u1ed0 NH\xc2N!",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u4e00\u500b\u500d\u589e\u6307\u6578\u734e\u52f5\u6389\u843d\uff01"
        },
        "label_mobile.YOUHAVEWONA_3": {
          en: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          kh: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          mm: "YOU HAVE WON A MULTIPLIER PRIZE DROP!",
          es: "\xa1HA GANADO UN MULTIPLICADOR DE PRIZE DROP!",
          pt: "GANHOU UM PRIZE DROP MULTIPLICADOR!",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2b\u0e25\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25!",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C GI\u1ea2I TH\u01af\u1edeNG S\u1ed0 NH\xc2N!",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u4e00\u500b\u500d\u589e\u6307\u6578\u734e\u52f5\u6389\u843d\uff01"
        },
        "label_web.YOUHAVEWONA_3": {
          en: "YOU HAVE WON A PRIZE DROP",
          kh: "YOU HAVE WON A PRIZE DROP",
          mm: "YOU HAVE WON A PRIZE DROP",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_mobile.YOUHAVEWONA_4": {
          en: "YOU HAVE WON A PRIZE DROP",
          kh: "YOU HAVE WON A PRIZE DROP",
          mm: "YOU HAVE WON A PRIZE DROP",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_mobile.YOUHAVEWONA_5": {
          en: "YOU HAVE WON A PRIZE DROP",
          kh: "YOU HAVE WON A PRIZE DROP",
          mm: "YOU HAVE WON A PRIZE DROP",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_mobile.YOUHAVEWONA_6": {
          en: "YOU HAVE WON A PRIZE DROP",
          kh: "YOU HAVE WON A PRIZE DROP",
          mm: "YOU HAVE WON A PRIZE DROP",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_web.YOUHAVEWONA_4": {
          en: "YOU HAVE WON A PRIZE DROP:",
          kh: "YOU HAVE WON A PRIZE DROP:",
          mm: "YOU HAVE WON A PRIZE DROP:",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_web.YOUHAVEWONA_5": {
          en: "YOU HAVE WON A PRIZE DROP:",
          kh: "YOU HAVE WON A PRIZE DROP:",
          mm: "YOU HAVE WON A PRIZE DROP:",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_mobile.YOUHAVEWONA_7": {
          en: "YOU HAVE WON A PRIZE DROP:",
          kh: "YOU HAVE WON A PRIZE DROP:",
          mm: "YOU HAVE WON A PRIZE DROP:",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_mobile.YOUHAVEWONA_8": {
          en: "YOU HAVE WON A PRIZE DROP:",
          kh: "YOU HAVE WON A PRIZE DROP:",
          mm: "YOU HAVE WON A PRIZE DROP:",
          es: "HA GANADO UN PREMIO EXTRA:",
          pt: "GANHOU UM PR\xc9MIO ESPECIAL:",
          thai: "\u0e40\u0e23\u0e32\u0e02\u0e2d\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13:",
          vn: "B\u1ea0N \u0110\xc3 GI\xc0NH \u0110\u01af\u1ee2C M\u1ed8T PH\u1ea6N TH\u01af\u1edeNG B\u1ed4 SUNG:",
          zh: "\u60a8\u8d0f\u5f97\u4e86\u843d\u4e0b\u7684\u734e\u54c1\uff1a"
        },
        "label_web.YOUWONTHEBIG": {
          en: "YOU WON THE BIG JACKPOT!",
          kh: "YOU WON THE BIG JACKPOT!",
          mm: "YOU WON THE BIG JACKPOT!",
          es: "\xa1HA GANADO EL GRAN BOTE!",
          pt: "GANHOU O GRANDE JACKPOT",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48!",
          vn: "B\u1ea0N \u0110\xc3 TH\u1eaeNG JACKPOT L\u1edaN",
          zh: "\u60a8\u8d0f\u5f97\u7d2f\u7a4d\u5927\u734e\uff01"
        },
        "label_mobile.YOUWONTHEBIG": {
          en: "YOU WON THE BIG JACKPOT!",
          kh: "YOU WON THE BIG JACKPOT!",
          mm: "YOU WON THE BIG JACKPOT!",
          es: "\xa1HA GANADO EL GRAN BOTE!",
          pt: "GANHOU O GRANDE JACKPOT",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48!",
          vn: "B\u1ea0N \u0110\xc3 TH\u1eaeNG JACKPOT L\u1edaN",
          zh: "\u60a8\u8d0f\u5f97\u7d2f\u7a4d\u5927\u734e\uff01"
        },
        "label_mobile.YOUWONTHEBIG_2": {
          en: "YOU WON THE BIG JACKPOT!",
          kh: "YOU WON THE BIG JACKPOT!",
          mm: "YOU WON THE BIG JACKPOT!",
          es: "\xa1HA GANADO EL GRAN BOTE!",
          pt: "GANHOU O GRANDE JACKPOT",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48!",
          vn: "B\u1ea0N \u0110\xc3 TH\u1eaeNG JACKPOT L\u1edaN",
          zh: "\u60a8\u8d0f\u5f97\u7d2f\u7a4d\u5927\u734e\uff01"
        },
        "label_web.You": {
          en: "You",
          kh: "You",
          mm: "You",
          es: "usted",
          pt: "voc\xea",
          thai: "\u0e04\u0e38\u0e13",
          vn: "b\u1ea1n",
          zh: "\u60a8"
        },
        "label_web.Youarebetting0": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_web.Youarebetting0_2": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_web.Youarebetting0_3": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_web.Youarebetting0_4": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_web.Youarebetting0_5": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_mobile.Youarebetting0": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_mobile.Youarebetting0_2": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_mobile.Youarebetting0_3": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_mobile.Youarebetting0_4": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_mobile.Youarebetting0_5": {
          en: "You are betting {0}",
          kh: "You are betting {0}",
          mm: "You are betting {0}",
          es: "Est\xe1 apostando {0}",
          pt: "Est\xe1 a apostar {0}",
          thai: "\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19 {0}",
          vn: "B\u1ea1n \u0111ang c\u01b0\u1ee3c {0}",
          zh: "\u60a8\u7576\u524d\u4e0b\u6ce8{0}"
        },
        "label_web.Yougained0points": {
          en: "You gained {0} points for a big win",
          kh: "You gained {0} points for a big win",
          mm: "You gained {0} points for a big win",
          es: "Ha ganado {0} puntos por un gran premio",
          pt: "Ganhou {0} pontos por um grande pr\xe9mio",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chi\u1ebfn th\u1eafng l\u1edbn",
          zh: "\u60a8\u56e0\u70ba\u5927\u734e\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_mobile.Yougained0points": {
          en: "You gained {0} points for a big win",
          kh: "You gained {0} points for a big win",
          mm: "You gained {0} points for a big win",
          es: "Ha ganado {0} puntos por un gran premio",
          pt: "Ganhou {0} pontos por um grande pr\xe9mio",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e43\u0e2b\u0e0d\u0e48",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chi\u1ebfn th\u1eafng l\u1edbn",
          zh: "\u60a8\u56e0\u70ba\u5927\u734e\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_web.Yougained0points_2": {
          en: "You gained {0} points for a lose streak",
          kh: "You gained {0} points for a lose streak",
          mm: "You gained {0} points for a lose streak",
          es: "Ha ganado {0} puntos por un sucesi\xf3n de p\xe9rdidas",
          pt: "Ganhou {0} pontos por uma s\xe9rie de derrotas",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e49\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chu\u1ed7i th\u1ea5t b\u1ea1i",
          zh: "\u60a8\u56e0\u70ba\u8f38\u6389\u9023\u52dd\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_mobile.Yougained0points_2": {
          en: "You gained {0} points for a lose streak",
          kh: "You gained {0} points for a lose streak",
          mm: "You gained {0} points for a lose streak",
          es: "Ha ganado {0} puntos por un sucesi\xf3n de p\xe9rdidas",
          pt: "Ganhou {0} pontos por uma s\xe9rie de derrotas",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e49\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chu\u1ed7i th\u1ea5t b\u1ea1i",
          zh: "\u60a8\u56e0\u70ba\u8f38\u6389\u9023\u52dd\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_web.Yougained0points_3": {
          en: "You gained {0} points for a win streak",
          kh: "You gained {0} points for a win streak",
          mm: "You gained {0} points for a win streak",
          es: "Ha ganado {0} puntos por una sucesi\xf3n de premios",
          pt: "Ganhou {0} pontos por uma s\xe9rie de vit\xf3rias",
          thai: "\u0e04\u0e38\u0e13\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chu\u1ed7i chi\u1ebfn th\u1eafng",
          zh: "\u60a8\u56e0\u70ba\u9023\u52dd\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_mobile.Yougained0points_3": {
          en: "You gained {0} points for a win streak",
          kh: "You gained {0} points for a win streak",
          mm: "You gained {0} points for a win streak",
          es: "Ha ganado {0} puntos por una sucesi\xf3n de premios",
          pt: "Ganhou {0} pontos por uma s\xe9rie de vit\xf3rias",
          thai: "\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a {0} \u0e04\u0e30\u0e41\u0e19\u0e19\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e0a\u0e19\u0e30\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07",
          vn: "B\u1ea1n \u0111\xe3 gi\xe0nh \u0111\u01b0\u1ee3c {0} \u0111i\u1ec3m cho chu\u1ed7i chi\u1ebfn th\u1eafng",
          zh: "\u60a8\u56e0\u70ba\u9023\u52dd\u800c\u7372\u5f97\u4e86{0}\u7a4d\u5206"
        },
        "label_web.Youhavereachedthe": {
          en: "You have reached the daily limit of rounds for this tournament",
          kh: "You have reached the daily limit of rounds for this tournament",
          mm: "You have reached the daily limit of rounds for this tournament",
          es: "Ha alcanzado el l\xedmite diario de rondas para este torneo",
          pt: "Atingiu o limite di\xe1rio de rondas para este torneio",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e2d\u0e1a\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e15\u0e48\u0e2d\u0e27\u0e31\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e19\u0e35\u0e49\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea1n \u0111\xe3 \u0111\u1ea1t gi\u1edbi h\u1ea1n h\xe0ng ng\xe0y v\u1ec1 s\u1ed1 v\xe1n ch\u01a1i \u0111\u1ed1i v\u1edbi gi\u1ea3i \u0111\u1ea5u n\xe0y",
          zh: "\u60a8\u5df2\u9054\u5230\u672c\u6b21\u9326\u6a19\u8cfd\u7684\u6bcf\u65e5\u56de\u5408\u9650\u5236"
        },
        "label_mobile.Youhavereachedthe": {
          en: "You have reached the daily limit of rounds for this tournament",
          kh: "You have reached the daily limit of rounds for this tournament",
          mm: "You have reached the daily limit of rounds for this tournament",
          es: "Ha alcanzado el l\xedmite diario de rondas para este torneo",
          pt: "Atingiu o limite di\xe1rio de rondas para este torneio",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e2d\u0e1a\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e15\u0e48\u0e2d\u0e27\u0e31\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e19\u0e35\u0e49\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea1n \u0111\xe3 \u0111\u1ea1t gi\u1edbi h\u1ea1n h\xe0ng ng\xe0y v\u1ec1 s\u1ed1 v\xe1n ch\u01a1i \u0111\u1ed1i v\u1edbi gi\u1ea3i \u0111\u1ea5u n\xe0y",
          zh: "\u60a8\u5df2\u9054\u5230\u672c\u6b21\u9326\u6a19\u8cfd\u7684\u6bcf\u65e5\u56de\u5408\u9650\u5236"
        },
        "label_web.Youhavereachedthe_2": {
          en: "You have reached the total limit of rounds for this tournament",
          kh: "You have reached the total limit of rounds for this tournament",
          mm: "You have reached the total limit of rounds for this tournament",
          es: "Ha alcanzado el l\xedmite total de rondas de este torneo",
          pt: "Atingiu o limite m\xe1ximo de rondas para este torneio",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e2d\u0e1a\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e23\u0e27\u0e21\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e19\u0e35\u0e49\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea1n \u0111\xe3 \u0111\u1ea1t gi\u1edbi h\u1ea1n v\u1ec1 t\u1ed5ng s\u1ed1 v\xe1n ch\u01a1i \u0111\u1ed1i v\u1edbi gi\u1ea3i \u0111\u1ea5u n\xe0y",
          zh: "\u60a8\u5df2\u9054\u5230\u672c\u6b21\u9326\u6a19\u8cfd\u7684\u7e3d\u56de\u5408\u9650\u5236"
        },
        "label_mobile.Youhavereachedthe_2": {
          en: "You have reached the total limit of rounds for this tournament",
          kh: "You have reached the total limit of rounds for this tournament",
          mm: "You have reached the total limit of rounds for this tournament",
          es: "Ha alcanzado el l\xedmite total de rondas de este torneo",
          pt: "Atingiu o limite m\xe1ximo de rondas para este torneio",
          thai: "\u0e04\u0e38\u0e13\u0e40\u0e25\u0e48\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e23\u0e2d\u0e1a\u0e16\u0e36\u0e07\u0e02\u0e35\u0e14\u0e08\u0e33\u0e01\u0e31\u0e14\u0e23\u0e27\u0e21\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e31\u0e27\u0e23\u0e4c\u0e19\u0e32\u0e40\u0e21\u0e19\u0e15\u0e4c\u0e19\u0e35\u0e49\u0e41\u0e25\u0e49\u0e27",
          vn: "B\u1ea1n \u0111\xe3 \u0111\u1ea1t gi\u1edbi h\u1ea1n v\u1ec1 t\u1ed5ng s\u1ed1 v\xe1n ch\u01a1i \u0111\u1ed1i v\u1edbi gi\u1ea3i \u0111\u1ea5u n\xe0y",
          zh: "\u60a8\u5df2\u9054\u5230\u672c\u6b21\u9326\u6a19\u8cfd\u7684\u7e3d\u56de\u5408\u9650\u5236"
        },
        "label_web.Youwillbecredited": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_web.Youwillbecredited_2": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e0a\u0e19\u0e30\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_mobile.Youwillbecredited": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_mobile.Youwillbecredited_2": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_mobile.Youwillbecredited_3": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_mobile.Youwillbecredited_4": {
          en: "You will be credited on the next business day",
          kh: "You will be credited on the next business day",
          mm: "You will be credited on the next business day",
          es: "Recibir\xe1 el abono en el siguiente d\xeda laborable.",
          pt: "O jogador ser\xe1 creditado no pr\xf3ximo dia \xfatil",
          thai: "\u0e04\u0e38\u0e13\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "B\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo",
          zh: "\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33"
        },
        "label_web.YourCountdownFreeSpins": {
          en: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          kh: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          mm: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          es: "Su Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1 en un par de minutos.",
          pt: "O seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe1 creditado dentro de alguns minutos.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35",
          vn: "Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng v\xe0i ph\xfat.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourCountdownFreeSpins": {
          en: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          kh: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          mm: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          es: "Su Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1 en un par de minutos.",
          pt: "O seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe1 creditado dentro de alguns minutos.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35",
          vn: "Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng v\xe0i ph\xfat.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourCountdownFreeSpins_2": {
          en: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          kh: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          mm: "Your Countdown Free Spins Bonus will be credited within a couple of minutes.",
          es: "Su Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1 en un par de minutos.",
          pt: "O seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe1 creditado dentro de alguns minutos.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35",
          vn: "Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng v\xe0i ph\xfat.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u5e33\u3002"
        },
        "label_web.YourCountdownFreeSpins_2": {
          en: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourCountdownFreeSpins_3": {
          en: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourCountdownFreeSpins_4": {
          en: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Countdown Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis Cuenta Atr\xe1s se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis com Contagem Decrescente ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e19\u0e31\u0e1a\u0e16\u0e2d\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed \u0110\u1ebfm ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5012\u8a08\u6642\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourFreeSpinsBonus": {
          en: "Your Free Spins Bonus will be credited within a couple of minutes.",
          kh: "Your Free Spins Bonus will be credited within a couple of minutes.",
          mm: "Your Free Spins Bonus will be credited within a couple of minutes.",
          es: "Su Bonus de Tiradas Gratis se abonar\xe1 en un par de minutos.",
          pt: "O seu B\xf3nus de Rodadas Gr\xe1tis ser\xe1 creditado dentro de alguns minutos.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35",
          vn: "Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng v\xe0i ph\xfat.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourFreeSpinsBonus_2": {
          en: "Your Free Spins Bonus will be credited within a couple of minutes.",
          kh: "Your Free Spins Bonus will be credited within a couple of minutes.",
          mm: "Your Free Spins Bonus will be credited within a couple of minutes.",
          es: "Su Bonus de Tiradas Gratis se abonar\xe1 en un par de minutos.",
          pt: "O seu B\xf3nus de Rodadas Gr\xe1tis ser\xe1 creditado dentro de alguns minutos.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35",
          vn: "Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng v\xe0i ph\xfat.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u5e33\u3002"
        },
        "label_web.YourFreeSpinsBonus": {
          en: "Your Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourFreeSpinsBonus_3": {
          en: "Your Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourFreeSpinsBonus_4": {
          en: "Your Free Spins Bonus winnings will be credited on the next business day.",
          kh: "Your Free Spins Bonus winnings will be credited on the next business day.",
          mm: "Your Free Spins Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_web.YourFreeSpinsBonus_2": {
          en: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          kh: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          mm: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourFreeSpinsBonus_5": {
          en: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          kh: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          mm: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourFreeSpinsBonus_6": {
          en: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          kh: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          mm: "Your Free Spins Bonus winnings will be credited within 2 hours.",
          es: "Sus ganancias del Bonus de Tiradas Gratis se abonar\xe1n en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus de Rodadas Gr\xe1tis ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_web.YourFreeSpinswill": {
          en: "Your Free Spins will be credited within a couple of minutes",
          kh: "Your Free Spins will be credited within a couple of minutes",
          mm: "Your Free Spins will be credited within a couple of minutes",
          es: "Sus Tiradas Gratis se otorgar\xe1n en un par de minutos",
          pt: "As suas Rodadas Gr\xe1tis v\xe3o ser creditadas daqui a alguns minutos",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49",
          vn: "V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o trong v\xe0i ph\xfat",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u8cec\u3002"
        },
        "label_mobile.YourFreeSpinswill": {
          en: "Your Free Spins will be credited within a couple of minutes",
          kh: "Your Free Spins will be credited within a couple of minutes",
          mm: "Your Free Spins will be credited within a couple of minutes",
          es: "Sus Tiradas Gratis se otorgar\xe1n en un par de minutos",
          pt: "As suas Rodadas Gr\xe1tis v\xe3o ser creditadas daqui a alguns minutos",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49",
          vn: "V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o trong v\xe0i ph\xfat",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u8cec\u3002"
        },
        "label_mobile.YourFreeSpinswill_2": {
          en: "Your Free Spins will be credited within a couple of minutes",
          kh: "Your Free Spins will be credited within a couple of minutes",
          mm: "Your Free Spins will be credited within a couple of minutes",
          es: "Sus Tiradas Gratis se otorgar\xe1n en un par de minutos",
          pt: "As suas Rodadas Gr\xe1tis v\xe3o ser creditadas daqui a alguns minutos",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e43\u0e19\u0e2d\u0e35\u0e01\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49",
          vn: "V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o trong v\xe0i ph\xfat",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u5c07\u5728\u5e7e\u5206\u9418\u5167\u5230\u8cec\u3002"
        },
        "label_web.YourFreeSpinswinnings": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_web.YourFreeSpinswinnings_2": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_mobile.YourFreeSpinswinnings": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_mobile.YourFreeSpinswinnings_2": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_mobile.YourFreeSpinswinnings_3": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_mobile.YourFreeSpinswinnings_4": {
          en: "Your Free Spins winnings will be credited on the next business day",
          kh: "Your Free Spins winnings will be credited on the next business day",
          mm: "Your Free Spins winnings will be credited on the next business day",
          es: "Sus ganancias de Tiradas Gratis se otorgar\xe1n el siguiente d\xeda laborable",
          pt: "Os seus ganhos de Rodadas Gr\xe1tis v\xe3o ser creditadas no pr\xf3ximo dia \xfatil",
          thai: "\u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e2d\u0e1a\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e1f\u0e23\u0e35\u0e2a\u0e1b\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng V\xf2ng quay Mi\u1ec5n ph\xed c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c c\u1ed9ng v\xe0o \u1edf ng\xe0y l\xe0m vi\u1ec7c k\u1ebf ti\u1ebfp",
          zh: "\u60a8\u7684\u514d\u8cbb\u65cb\u8f49\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec"
        },
        "label_web.YourInstantBonuswinnings": {
          en: "Your Instant Bonus winnings will be credited on the next business day.",
          kh: "Your Instant Bonus winnings will be credited on the next business day.",
          mm: "Your Instant Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e17\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourInstantBonuswinnings": {
          en: "Your Instant Bonus winnings will be credited on the next business day.",
          kh: "Your Instant Bonus winnings will be credited on the next business day.",
          mm: "Your Instant Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e17\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_mobile.YourInstantBonuswinnings_2": {
          en: "Your Instant Bonus winnings will be credited on the next business day.",
          kh: "Your Instant Bonus winnings will be credited on the next business day.",
          mm: "Your Instant Bonus winnings will be credited on the next business day.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1n el siguiente d\xeda laborable.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados no dia \xfatil seguinte.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e08\u0e48\u0e32\u0e22\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e17\u0e35\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u5728\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u8cec\u3002"
        },
        "label_web.YourInstantBonuswinnings_2": {
          en: "Your Instant Bonus winnings will be credited within within 2 hours.",
          kh: "Your Instant Bonus winnings will be credited within within 2 hours.",
          mm: "Your Instant Bonus winnings will be credited within within 2 hours.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1 en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourInstantBonuswinnings_3": {
          en: "Your Instant Bonus winnings will be credited within within 2 hours.",
          kh: "Your Instant Bonus winnings will be credited within within 2 hours.",
          mm: "Your Instant Bonus winnings will be credited within within 2 hours.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1 en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.YourInstantBonuswinnings_4": {
          en: "Your Instant Bonus winnings will be credited within within 2 hours.",
          kh: "Your Instant Bonus winnings will be credited within within 2 hours.",
          mm: "Your Instant Bonus winnings will be credited within within 2 hours.",
          es: "Sus ganancias del Bonus Instant\xe1neo se abonar\xe1 en 2 horas.",
          pt: "Os ganhos do seu B\xf3nus Instant\xe2neo ser\xe3o creditados nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e42\u0e1a\u0e19\u0e31\u0e2a\u0e17\u0e31\u0e19\u0e43\u0e08\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Ti\u1ec1n th\u1eafng Th\u01b0\u1edfng T\u1ee9c th\xec c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u5373\u6642\u734e\u52f5\u8d0f\u734e\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_web.Yourbetiseligible": {
          en: "Your bet is eligible to win the GRAND JACKPOT",
          kh: "Your bet is eligible to win the GRAND JACKPOT",
          mm: "Your bet is eligible to win the GRAND JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT GRAND",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT GRAND.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT GRAND",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.Yourbetiseligible_2": {
          en: "Your bet is eligible to win the GRAND JACKPOT",
          kh: "Your bet is eligible to win the GRAND JACKPOT",
          mm: "Your bet is eligible to win the GRAND JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT GRAND",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT GRAND.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT GRAND",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.Yourbetiseligible": {
          en: "Your bet is eligible to win the GRAND JACKPOT",
          kh: "Your bet is eligible to win the GRAND JACKPOT",
          mm: "Your bet is eligible to win the GRAND JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT GRAND",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT GRAND.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT GRAND",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.Yourbetiseligible_2": {
          en: "Your bet is eligible to win the GRAND JACKPOT",
          kh: "Your bet is eligible to win the GRAND JACKPOT",
          mm: "Your bet is eligible to win the GRAND JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT GRAND",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT GRAND.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 GRAND",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT GRAND",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6GRAND\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.Yourbetiseligible_3": {
          en: "Your bet is eligible to win the MAJOR JACKPOT",
          kh: "Your bet is eligible to win the MAJOR JACKPOT",
          mm: "Your bet is eligible to win the MAJOR JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MAJOR",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MAJOR.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MAJOR",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MAJOR",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MAJOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.Yourbetiseligible_3": {
          en: "Your bet is eligible to win the MAJOR JACKPOT",
          kh: "Your bet is eligible to win the MAJOR JACKPOT",
          mm: "Your bet is eligible to win the MAJOR JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MAJOR",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MAJOR.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MAJOR",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MAJOR",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MAJOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.Yourbetiseligible_4": {
          en: "Your bet is eligible to win the MEGA JACKPOT",
          kh: "Your bet is eligible to win the MEGA JACKPOT",
          mm: "Your bet is eligible to win the MEGA JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MEGA",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MEGA.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MEGA",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MEGA",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MEGA\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.Yourbetiseligible_4": {
          en: "Your bet is eligible to win the MEGA JACKPOT",
          kh: "Your bet is eligible to win the MEGA JACKPOT",
          mm: "Your bet is eligible to win the MEGA JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MEGA",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MEGA.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MEGA",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MEGA",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MEGA\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.Yourbetiseligible_5": {
          en: "Your bet is eligible to win the MINOR JACKPOT",
          kh: "Your bet is eligible to win the MINOR JACKPOT",
          mm: "Your bet is eligible to win the MINOR JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MINOR",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MINOR.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MINOR",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MINOR",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MINOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_mobile.Yourbetiseligible_5": {
          en: "Your bet is eligible to win the MINOR JACKPOT",
          kh: "Your bet is eligible to win the MINOR JACKPOT",
          mm: "Your bet is eligible to win the MINOR JACKPOT",
          es: "Su apuesta es elegible para ganar el JACKPOT MINOR",
          pt: "A sua aposta \xe9 eleg\xedvel para ganhar o JACKPOT MINOR.",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e0a\u0e19\u0e30\u0e41\u0e08\u0e47\u0e01\u0e1e\u0e2d\u0e15 MINOR",
          vn: "C\u01b0\u1ee3c c\u1ee7a b\u1ea1n \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 gi\xe0nh \u0111\u01b0\u1ee3c JACKPOT MINOR",
          zh: "\u60a8\u7684\u8ced\u6ce8\u6709\u8cc7\u683c\u8d0f\u53d6MINOR\u7d2f\u7a4d\u734e\u91d1"
        },
        "label_web.Yourcurrentbetis": {
          en: "Your current bet is below the promo qualifying bet amount of {0}",
          kh: "Your current bet is below the promo qualifying bet amount of {0}",
          mm: "Your current bet is below the promo qualifying bet amount of {0}",
          es: "La apuesta actual est\xe1 por debajo del importe de apuesta clasificatorio para la promo de {0}",
          pt: "A aposta atual \xe9 inferior ao montante de aposta de {0} necess\xe1rio para a promo ",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\n\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 {0}",
          vn: "C\u01b0\u1ee3c hi\u1ec7n t\u1ea1i th\u1ea5p h\u01a1n s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n nh\u1eadn khuy\u1ebfn m\xe3i l\xe0 {0}",
          zh: "\u76ee\u524d\u8ced\u6ce8\u4f4e\u65bc\u7b26\u5408\u4fc3 \u92b7\u689d\u4ef6\u7684\u8ced\u6ce8\u91d1\u984d{0}"
        },
        "label_mobile.Yourcurrentbetis": {
          en: "Your current bet is below the promo qualifying bet amount of {0}",
          kh: "Your current bet is below the promo qualifying bet amount of {0}",
          mm: "Your current bet is below the promo qualifying bet amount of {0}",
          es: "La apuesta actual est\xe1 por debajo del importe de apuesta clasificatorio para la promo de {0}",
          pt: "A aposta atual \xe9 inferior ao montante de aposta de {0} necess\xe1rio para a promo ",
          thai: "\u0e40\u0e14\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e40\u0e14\n\u0e34\u0e21\u0e1e\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e40\u0e02\u0e49\u0e32\u0e23\u0e48\u0e27\u0e21\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 {0}",
          vn: "C\u01b0\u1ee3c hi\u1ec7n t\u1ea1i th\u1ea5p h\u01a1n s\u1ed1 ti\u1ec1n c\u01b0\u1ee3c \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n nh\u1eadn khuy\u1ebfn m\xe3i l\xe0 {0}",
          zh: "\u76ee\u524d\u8ced\u6ce8\u4f4e\u65bc\u7b26\u5408\u4fc3\u92b7 \u689d\u4ef6\u7684\u8ced\u6ce8\u91d1\u984d{0}"
        },
        "label_web.Yourprizewillbe": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_web.Yourprizewillbe_2": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_2": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_3": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_4": {
          en: "Your prize will be credited on the next business day.",
          kh: "Your prize will be credited on the next business day.",
          mm: "Your prize will be credited on the next business day.",
          es: "Su premio se abonar\xe1 en el siguiente d\xeda laborable.",
          pt: "O seu pr\xe9mio ser\xe1 creditado no pr\xf3ximo dia \xfatil.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e16\u0e31\u0e14\u0e44\u0e1b",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 v\xe0o ng\xe0y l\xe0m vi\u1ec7c ti\u1ebfp theo.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u65bc\u4e0b\u4e00\u500b\u5de5\u4f5c\u65e5\u5230\u5e33\u3002"
        },
        "label_web.Yourprizewillbe_3": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_web.Yourprizewillbe_4": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_5": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_6": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_7": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_mobile.Yourprizewillbe_8": {
          en: "Your prize will be credited within 2 hours.",
          kh: "Your prize will be credited within 2 hours.",
          mm: "Your prize will be credited within 2 hours.",
          es: "Su premio se abonar\xe1 en las siguientets 2 horas.",
          pt: "O seu pr\xe9mio ser\xe1 creditado nas pr\xf3ximas 2 horas.",
          thai: "\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e20\u0e32\u0e22\u0e43\u0e19 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",
          vn: "Gi\u1ea3i th\u01b0\u1edfng c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c ghi c\xf3 trong v\xf2ng 2 gi\u1edd.",
          zh: "\u60a8\u7684\u734e\u52f5\u5c07\u57282\u5c0f\u6642\u5167\u5230\u5e33\u3002"
        },
        "label_web.and": {
          en: "and",
          kh: "and",
          mm: "and",
          es: "y",
          pt: "e",
          thai: "\u0e41\u0e25\u0e30",
          vn: "v\xe0",
          zh: "\u548c"
        },
        "label_mobile.buttontoopenthe": {
          en: "button to open the Autoplay menu",
          kh: "button to open the Autoplay menu",
          mm: "button to open the Autoplay menu",
          es: "para abrir el men\xfa de TIR. AUTO..",
          pt: "para abrir o menu de Jogo Autom\xe1tico",
          thai: "\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "\u0111\u1ec3 m\u1edf menu Ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u6309\u9215\u53ef\u6253\u958b\u300c\u81ea\u52d5\u4e0b\u6ce8\u300d\u529f\u80fd\u8868"
        },
        "label_web.closestheinformationscreen": {
          en: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          kh: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          mm: "<img src = '{0}' width=48 height=48  align=center/> closes the information screen",
          es: "<img src = '{0}' width=48 height=48  align=center/> cierra la pantalla de informaci\xf3n.",
          pt: "<img src = '{0}' width=48 height=48  align=center/> fecha o ecr\xe3 de informa\xe7\xf5es",
          thai: "<img src = '{0}' width=48 height=48  align=center/> \u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}' width=48 height=48  align=center/> \u0111\xf3ng trang th\xf4ng tin",
          zh: "<img src = '{0}' width=48 height=48  align=center/> \u53ef\u95dc\u9589\u8cc7\u8a0a\u756b\u9762"
        },
        "label_mobile.closestheinformationscreen": {
          en: "closes the information screen",
          kh: "closes the information screen",
          mm: "closes the information screen",
          es: "cierra la pantalla de informaci\xf3n.",
          pt: "fecha o ecr\xe3 de informa\xe7\xf5es",
          thai: "\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "\u0111\xf3ng trang th\xf4ng tin",
          zh: "\u53ef\u95dc\u9589\u8cc7\u8a0a\u756b\u9762"
        },
        "label_mobile.closestheinformationscreen_2": {
          en: "closes the information screen",
          kh: "closes the information screen",
          mm: "closes the information screen",
          es: "cierra la pantalla de informaci\xf3n.",
          pt: "fecha o ecr\xe3 de informa\xe7\xf5es",
          thai: "\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "\u0111\xf3ng trang th\xf4ng tin",
          zh: "\u53ef\u95dc\u9589\u8cc7\u8a0a\u756b\u9762"
        },
        "label_web.d": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_web.d_2": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_web.d_3": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_web.d_4": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_mobile.d": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_mobile.d_2": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_mobile.d_3": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_mobile.d_4": {
          en: "d ",
          kh: "d ",
          mm: "d ",
          es: "d ",
          pt: "d ",
          thai: "\u0e27\u0e31\u0e19 ",
          vn: "ng\xe0y ",
          zh: "\u5929"
        },
        "label_web.h": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_web.h_2": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_web.h_3": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_web.h_4": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.h": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.h_2": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.h_3": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_mobile.h_4": {
          en: "h ",
          kh: "h ",
          mm: "h ",
          es: "h ",
          pt: "h ",
          thai: "\u0e0a\u0e21. ",
          vn: "gi\u1edd ",
          zh: "\u5c0f\u6642"
        },
        "label_web.m": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_web.m_2": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_web.m_3": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_web.m_4": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_mobile.m": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_mobile.m_2": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_mobile.m_3": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_mobile.m_4": {
          en: "m ",
          kh: "m ",
          mm: "m ",
          es: "m ",
          pt: "m ",
          thai: "\u0e19\u0e32\u0e17\u0e35 ",
          vn: "ph\xfat ",
          zh: "\u5206\u937e"
        },
        "label_web.openstheInformationpage": {
          en: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          kh: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          mm: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          es: "<img src = '{0}'  width=54 height=54 align=center/> abre la p\xe1gina de Informaci\xf3n.",
          pt: "<img src = '{0}'  width=54 height=54 align=center/> abre a p\xe1gina de informa\xe7\xf5es",
          thai: "<img src = '{0}'  width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}'  width=54 height=54 align=center/> m\u1edf trang Th\xf4ng tin",
          zh: "<img src = '{0}'  width=54 height=54 align=center/> \u53ef\u6253\u958b\u300c\u8cc7\u8a0a\u300d\u9801\u9762"
        },
        "label_mobile.openstheInformationpage": {
          en: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          kh: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          mm: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          es: "<img src = '{0}'  width=54 height=54 align=center/> abre la p\xe1gina de Informaci\xf3n.",
          pt: "<img src = '{0}'  width=54 height=54 align=center/> abre a p\xe1gina de informa\xe7\xf5es",
          thai: "<img src = '{0}'  width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}'  width=54 height=54 align=center/> m\u1edf trang Th\xf4ng tin",
          zh: "<img src = '{0}'  width=54 height=54 align=center/> \u53ef\u6253\u958b\u300c\u8cc7\u8a0a\u300d\u9801\u9762"
        },
        "label_mobile.openstheInformationpage_2": {
          en: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          kh: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          mm: "<img src = '{0}'  width=54 height=54 align=center/> opens the Information page",
          es: "<img src = '{0}'  width=54 height=54 align=center/> abre la p\xe1gina de Informaci\xf3n.",
          pt: "<img src = '{0}'  width=54 height=54 align=center/> abre a p\xe1gina de informa\xe7\xf5es",
          thai: "<img src = '{0}'  width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}'  width=54 height=54 align=center/> m\u1edf trang Th\xf4ng tin",
          zh: "<img src = '{0}'  width=54 height=54 align=center/> \u53ef\u6253\u958b\u300c\u8cc7\u8a0a\u300d\u9801\u9762"
        },
        "label_web.openstheSETTINGSmenu": {
          en: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          kh: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          mm: "<img src = '{0}' width=58 height=58 align=center/> opens the SETTINGS menu that contains settings which affect the way the game is being played.",
          es: "<img src = '{0}' width=58 height=58 align=center/> abre el men\xfa de CONFIGURACI\xd3N que contiene los ajustes que afectan al modo en que se muestra el juego.",
          pt: "abre o menu que cont\xe9m as defini\xe7\xf5es que afetam o modo como o jogo est\xe1 a ser jogado.",
          thai: "<img src = '{0}' width=58 height=58 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=58 height=58 align=center/> m\u1edf menu C\xc0I \u0110\u1eb6T c\xf3 ch\u1ee9a nh\u1eefng c\xe0i \u0111\u1eb7t \u1ea3nh h\u01b0\u1edfng t\u1edbi c\xe1ch tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i.",
          zh: "<img src = '{0}' width=58 height=58 align=center/> \u53ef\u6253\u958b\u5305\u542b\u8a2d\u5b9a\u7684\u529f\u80fd\u8868\uff0c\u800c\u9019\u4e9b\u8a2d\u5b9a\u6703\u5f71\u97ff\u904a\u6232\u7684\u73a9\u6cd5\u3002"
        },
        "label_web.openstheautomaticplay": {
          en: "opens the automatic play menu",
          kh: "opens the automatic play menu",
          mm: "opens the automatic play menu",
          es: "abre el men\xfa de tirada autom\xe1tica.",
          pt: "abre o menu de Jogo Autom\xe1tico",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
          vn: "m\u1edf menu ch\u01a1i t\u1ef1 \u0111\u1ed9ng",
          zh: "\u53ef\u6253\u958b\u81ea\u52d5\u4e0b\u6ce8\u904a\u6232\u529f\u80fd\u8868"
        },
        "label_mobile.opensthegamehistory": {
          en: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          kh: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          mm: "<img src = '{0}' width=54 height=54 align=center/> opens the game history page",
          es: "<img src = '{0}' width=54 height=54 align=center/> abre la p\xe1gina de historial del juego.",
          pt: "<img src = '{0}' width=54 height=54 align=center/> abre a p\xe1gina de hist\xf3rico do jogo",
          thai: "<img src = '{0}' width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=54 height=54 align=center/> m\u1edf trang l\u1ecbch s\u1eed tr\xf2 ch\u01a1i",
          zh: "<img src = '{0}' width=54 height=54 align=center/> \u53ef\u6253\u958b\u904a\u6232\u6b77\u53f2\u8a18\u9304\u9801\u9762"
        },
        "label_mobile.opensthegamehistory_2": {
          en: "opens the game history page",
          kh: "opens the game history page",
          mm: "opens the game history page",
          es: "abre la p\xe1gina de historial del juego.",
          pt: "abre a p\xe1gina de hist\xf3rico do jogo",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e21",
          vn: "m\u1edf trang l\u1ecbch s\u1eed tr\xf2 ch\u01a1i",
          zh: "\u53ef\u6253\u958b\u904a\u6232\u6b77\u53f2\u8a18\u9304\u9801\u9762"
        },
        "label_mobile.opensthemenuthat": {
          en: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          kh: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          mm: "<img src = '{0}' width=54 height=54 align=center/> opens the menu that contains the settings which affect the way the game is being played.",
          es: "<img src = '{0}' width=54 height=54 align=center/>aabre el men\xfa que contiene los ajustes que afectan al modo en que se muestra el juego.",
          pt: "<img src = '{0}' width=54 height=54 align=center/> abre o menu que cont\xe9m as defini\xe7\xf5es que afetam o modo como o jogo est\xe1 a ser jogado.",
          thai: "<img src = '{0}' width=54 height=54 align=center/> \u0e40\u0e1b\u0e34\u0e14\u0e40\u0e21\u0e19\u0e39\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e25\u0e48\u0e19\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}' width=54 height=54 align=center/> m\u1edf menu c\xf3 ch\u1ee9a nh\u1eefng c\xe0i \u0111\u1eb7t \u1ea3nh h\u01b0\u1edfng t\u1edbi c\xe1ch tr\xf2 ch\u01a1i \u0111\u01b0\u1ee3c ch\u01a1i.",
          zh: "<img src = '{0}' width=54 height=54 align=center/> \u53ef\u6253\u958b\u5305\u542b\u8a2d\u5b9a\u7684\u529f\u80fd\u8868\uff0c\u800c\u9019\u4e9b\u8a2d\u5b9a\u6703\u5f71\u97ff\u904a\u6232\u7684\u73a9\u6cd5\u3002"
        },
        "label_web.s": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_web.s_2": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_web.s_3": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_web.s_4": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_mobile.s": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_mobile.s_2": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_mobile.s_3": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_mobile.s_4": {
          en: "s",
          kh: "s",
          mm: "s",
          es: "s ",
          pt: "s ",
          thai: "\u0e27\u0e34 ",
          vn: "gi\xe2y ",
          zh: "\u79d2"
        },
        "label_web.scrollbetweeninformationpages": {
          en: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          kh: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          mm: "<img src = '{0}' width=44 height=48  align=center/> and <img src = '{1}' width=44 height=48  align=center/> scroll between information pages",
          es: "<img src = '{0}' width=44 height=48  align=center/> y <img src = '{1}' width=44 height=48  align=center/> sirven para moverse entre las p\xe1ginas de informaci\xf3n.",
          pt: "<img src = '{0}' width=44 height=48  align=center/> e <img src = '{1}' width=44 height=48  align=center/> percorrem p\xe1ginas de informa\xe7\xe3o",
          thai: "<img src = '{0}' width=44 height=48  align=center/> \u0e41\u0e25\u0e30 <img src = '{1}' width=44 height=48  align=center/> \u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1b\u0e21\u0e32\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e08\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25",
          vn: "<img src = '{0}' width=44 height=48  align=center/> v\xe0 <img src = '{1}' width=44 height=48  align=center/> cu\u1ed9n gi\u1eefa c\xe1c trang th\xf4ng tin",
          zh: "<img src = '{0}' width=44 height=48  align=center/> \u548c <img src = '{1}' width=44 height=48  align=center/> \u53ef\u5728\u8cc7\u8a0a\u9801\u9762\u9593\u6efe\u52d5"
        },
        "label_web.startsthegame": {
          en: "starts the game",
          kh: "starts the game",
          mm: "starts the game",
          es: "inicia el juego.",
          pt: "inicia o jogo",
          thai: "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21",
          vn: "b\u1eaft \u0111\u1ea7u tr\xf2 ch\u01a1i",
          zh: "\u53ef\u958b\u59cb\u904a\u6232"
        },
        "label_mobile.startsthegame": {
          en: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          kh: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          mm: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          es: "<img src = '{0}'  width=64 height=64 align=center/> inicia el juego.",
          pt: "<img src = '{0}'  width=64 height=64 align=center/> inicia o jogo",
          thai: "<img src = '{0}'  width=64 height=64 align=center/> \u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}'  width=64 height=64 align=center/> b\u1eaft \u0111\u1ea7u tr\xf2 ch\u01a1i",
          zh: "<img src = '{0}'  width=64 height=64 align=center/> \u53ef\u958b\u59cb\u904a\u6232"
        },
        "label_mobile.startsthegame_2": {
          en: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          kh: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          mm: "<img src = '{0}'  width=64 height=64 align=center/> starts the game",
          es: "<img src = '{0}'  width=64 height=64 align=center/> inicia el juego.",
          pt: "<img src = '{0}'  width=64 height=64 align=center/> inicia o jogo",
          thai: "<img src = '{0}'  width=64 height=64 align=center/> \u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e01\u0e21",
          vn: "<img src = '{0}'  width=64 height=64 align=center/> b\u1eaft \u0111\u1ea7u tr\xf2 ch\u01a1i",
          zh: "<img src = '{0}'  width=64 height=64 align=center/> \u53ef\u958b\u59cb\u904a\u6232"
        },
        "label_mobile.takesyoutothe": {
          en: "takes you to the casino lobby",
          kh: "takes you to the casino lobby",
          mm: "takes you to the casino lobby",
          es: "le lleva al lobby del casino.",
          pt: "leva-o ao lobby do casino",
          thai: "\u0e08\u0e30\u0e1e\u0e32\u0e04\u0e38\u0e13\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e25\u0e47\u0e2d\u0e1a\u0e1a\u0e35\u0e49\u0e02\u0e2d\u0e07\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19",
          vn: "mang b\u1ea1n t\u1edbi s\u1ea3nh casino",
          zh: "\u6703\u5e36\u60a8\u524d\u5f80\u8ced\u5834\u5927\u5ef3"
        },
        "label_mobile.takesyoutothe_2": {
          en: "takes you to the casino lobby",
          kh: "takes you to the casino lobby",
          mm: "takes you to the casino lobby",
          es: "le lleva al lobby del casino.",
          pt: "leva-o ao lobby do casino",
          thai: "\u0e08\u0e30\u0e1e\u0e32\u0e04\u0e38\u0e13\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e25\u0e47\u0e2d\u0e1a\u0e1a\u0e35\u0e49\u0e02\u0e2d\u0e07\u0e04\u0e32\u0e2a\u0e34\u0e42\u0e19",
          vn: "mang b\u1ea1n t\u1edbi s\u1ea3nh casino",
          zh: "\u6703\u5e36\u60a8\u524d\u5f80\u8ced\u5834\u5927\u5ef3"
        },
        "label_web.togglessoundandmusic": {
          en: "toggles sound and music on and off",
          kh: "toggles sound and music on and off",
          mm: "toggles sound and music on and off",
          es: "activa o desactiva el sonido y la m\xfasica.",
          pt: "liga e desliga sons e m\xfasica",
          thai: "\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e25\u0e07",
          vn: "b\u1eadt v\xe0 t\u1eaft \xe2m thanh v\xe0 nh\u1ea1c",
          zh: "\u53ef\u958b\u555f\u6216\u95dc\u9589\u8072\u97f3\u53ca\u97f3\u6a02"
        },
        "label_web.x": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.x_2": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.x_3": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.x_4": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.x_5": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x_2": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x_3": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x_4": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x_5": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_mobile.x_6": {
          en: "x",
          kh: "x",
          mm: "x",
          es: "x",
          pt: "x",
          thai: "x",
          vn: "x",
          zh: "x"
        },
        "label_web.you": {
          en: "you",
          kh: "you",
          mm: "you",
          es: "usted",
          pt: "voc\xea",
          thai: "\u0e04\u0e38\u0e13",
          vn: "b\u1ea1n",
          zh: "\u60a8"
        },
        "label_mobile.you": {
          en: "you",
          kh: "you",
          mm: "you",
          es: "usted",
          pt: "voc\xea",
          thai: "\u0e04\u0e38\u0e13",
          vn: "b\u1ea1n",
          zh: "\u60a8"
        },
        "label_mobile.you_2": {
          en: "you",
          kh: "you",
          mm: "you",
          es: "usted",
          pt: "voc\xea",
          thai: "\u0e04\u0e38\u0e13",
          vn: "b\u1ea1n",
          zh: "\u60a8"
        }
      },
      img: {
        "test.1": {
          en: "Test1",
          zh: "Test2"
        }
      }
    };
    exports.languageData = _languageData;
    cc._RF.pop();
  }, {} ],
  "PPPB-language": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1a848tVXylB777D8WiV/LEH", "PPPB-language");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.language = void 0;
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_sys_1 = require("./PPPB-sys");
    var Language = function() {
      function Language() {}
      Language.init = function(config, type, dev, align, replaces) {
        void 0 === dev && (dev = "zh");
        void 0 === align && (align = {});
        void 0 === replaces && (replaces = {});
        this.type = type;
        this.dev = dev;
        this._aligns = align;
        this._replaces = replaces;
        this._aligns[type] || (this._aligns[type] = 0);
        this._aligns[dev] || (this._aligns[dev] = 0);
        if (Array.isArray(config)) for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {
          var c = config_1[_i];
          this._parseJson(c);
        } else this._parseJson(config);
      };
      Language.setAreaDefaultLanguage = function(area, type) {
        this.area[area] = type;
      };
      Language._parseJson = function(config) {
        return __awaiter(this, void 0, void 0, function() {
          var typeJson, _loop_1, k;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              typeJson = {};
              if (!("string" === typeof config)) return [ 3, 2 ];
              return [ 4, PPPB_sys_1.sys.loadConfig(config) ];

             case 1:
              typeJson = _a.sent();
              if (typeJson.err) return [ 2 ];
              return [ 3, 3 ];

             case 2:
              typeJson = config;
              _a.label = 3;

             case 3:
              if ("object" !== typeof typeJson) return [ 2 ];
              _loop_1 = function(k) {
                var v = typeJson[k];
                PPPB_lib_1._.each(v, function(txt, lang) {
                  var d = _this.data[lang] = _this.data[lang] || {};
                  d[k] = txt;
                });
              };
              for (k in typeJson) _loop_1(k);
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(Language, "align", {
        get: function() {
          return this._aligns[this.type];
        },
        enumerable: false,
        configurable: true
      });
      Language.getAlign = function(type) {
        return this._aligns[type] || 0;
      };
      Language.getText = function(textKey, textName, type) {
        var lang = type || this.type;
        var keyTexts = this.data[lang];
        if (keyTexts) {
          var text = keyTexts[textName ? textKey + "." + textName : textKey];
          if (text) return text;
        }
        return "";
      };
      Language.replaceText = function(text, type) {
        var lang = type || this.type;
        var rps = this._replaces[lang];
        if (rps) {
          if (rps[text]) return rps[text];
          var tx = "";
          "string" !== typeof text && (text = "" + text);
          for (var i = 0; i < text.length; i++) {
            var t = text[i];
            rps[t] ? tx += rps[t] : tx += t;
          }
          return tx;
        }
        return text;
      };
      Language.replaceRichText = function(str) {
        if (!str) return str;
        var reg = /<color=#[0-9a-fA-F]{6}>/;
        var s = "", tmp = "";
        for (var i = 0; i < str.length; i++) {
          if ("<" == str[i]) {
            var sub = str.substring(i, i + 15);
            if (reg.test(sub)) {
              s += this.replaceText(tmp);
              tmp = "";
              s += sub;
              i += 15;
            }
          }
          tmp += str[i];
        }
        s += this.replaceText(tmp);
        return s;
      };
      Language.formatText = function(textKey) {
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
        var lang = this.type;
        var keyTexts = this.data[lang];
        if (keyTexts) {
          var text = keyTexts[textKey];
          if (text) return PPPB_lib_1._.sprintf.apply(PPPB_lib_1._, __spreadArrays([ text ], args));
        }
        return "";
      };
      Language.matchText = function(pText, type) {
        var lang = type || this.type;
        var keyTexts = this.data[lang];
        var ret = [];
        for (var k in keyTexts) keyTexts[k].slice(0, pText.length) === pText && ret.push(k);
        return ret;
      };
      Language.setLanguage = function(lang, defaultLang) {
        if (!lang) {
          lang = defaultLang;
          if (!lang) return;
        }
        this.type = lang;
        this.updateTextWrapConf(lang);
        PPPB_event_1.Events.emit("setLanguage", lang);
        PPPB_event_1.Events.publish("refresh", "language", "");
      };
      Language.updateTextWrapConf = function(lang) {
        switch (lang) {
         case "vn":
          cc["textUtils"].label_wordRex = /[a-zA-Z0-9\u1ea2\u1ea0\u0102\u1eb0\u1eb2\u1eb4\u1eae\u1eb6\u1ea6\u1ea8\u1eaa\u1ea4\u1eac\u0110\u1eba\u1ebc\xc9\u1eb8\xca\u1ec0\u1ec2\u1ec4\u1ebe\u1ec6I\xcc\u1ec8\u0128\xcd\u1ecaO\xd2\u1ece\xd5\xd3\u1ecc\xd4\u1ed2\u1ed4\u1ed6\u1ed0\u1ed8\u01a0\u1edc\u1ede\u1ee0\u1eda\u1ee2\xd9\u1ee6\u0168\xda\u1ee4\u01af\u1eea\u1eec\u1eee\u1ee8\u1ef0\u1ef2\u1ef6\u1ef8\xdd\u1ef4\xe0\u1ea3\xe3\xe1\u1ea1\u0103\u1eb1\u1eb3\u1eb5\u1eaf\u1eb7\xe2\u1ea7\u1ea9\u1eab\u1ea5\u1ead\u0111\xe8\u1ebb\u1ebd\xe9\u1eb9\xea\u1ec1\u1ec3\u1ec5\u1ebf\u1ec7\u1ec9\u0129\xed\u1ecb\xf2\u1ecf\xf5\xf3\u1ecd\xf4\u1ed3\u1ed5\u1ed7\u1ed1\u1ed9\u01a1\u1edd\u1edf\u1ee1\u1edb\u1ee3\xf9\u1ee7\u0169\xfa\u1ee5\u01b0\u1eeb\u1eed\u1eef\u1ee9\u1ef1\u1ef3\u1ef7\u1ef9\xfd\u1ef5]+|\S/;
          cc["textUtils"].label_lastWordRex = /([a-zA-Z0-9\u1ea2\u1ea0\u0102\u1eb0\u1eb2\u1eb4\u1eae\u1eb6\u1ea6\u1ea8\u1eaa\u1ea4\u1eac\u0110\u1eba\u1ebc\xc9\u1eb8\xca\u1ec0\u1ec2\u1ec4\u1ebe\u1ec6I\xcc\u1ec8\u0128\xcd\u1ecaO\xd2\u1ece\xd5\xd3\u1ecc\xd4\u1ed2\u1ed4\u1ed6\u1ed0\u1ed8\u01a0\u1edc\u1ede\u1ee0\u1eda\u1ee2\xd9\u1ee6\u0168\xda\u1ee4\u01af\u1eea\u1eec\u1eee\u1ee8\u1ef0\u1ef2\u1ef6\u1ef8\xdd\u1ef4\xe0\u1ea3\xe3\xe1\u1ea1\u0103\u1eb1\u1eb3\u1eb5\u1eaf\u1eb7\xe2\u1ea7\u1ea9\u1eab\u1ea5\u1ead\u0111\xe8\u1ebb\u1ebd\xe9\u1eb9\xea\u1ec1\u1ec3\u1ec5\u1ebf\u1ec7\u1ec9\u0129\xed\u1ecb\xf2\u1ecf\xf5\xf3\u1ecd\xf4\u1ed3\u1ed5\u1ed7\u1ed1\u1ed9\u01a1\u1edd\u1edf\u1ee1\u1edb\u1ee3\xf9\u1ee7\u0169\xfa\u1ee5\u01b0\u1eeb\u1eed\u1eef\u1ee9\u1ef1\u1ef3\u1ef7\u1ef9\xfd\u1ef5]+|\S)$/;
          cc["textUtils"].label_lastEnglish = /[a-zA-Z0-9\u1ea2\u1ea0\u0102\u1eb0\u1eb2\u1eb4\u1eae\u1eb6\u1ea6\u1ea8\u1eaa\u1ea4\u1eac\u0110\u1eba\u1ebc\xc9\u1eb8\xca\u1ec0\u1ec2\u1ec4\u1ebe\u1ec6I\xcc\u1ec8\u0128\xcd\u1ecaO\xd2\u1ece\xd5\xd3\u1ecc\xd4\u1ed2\u1ed4\u1ed6\u1ed0\u1ed8\u01a0\u1edc\u1ede\u1ee0\u1eda\u1ee2\xd9\u1ee6\u0168\xda\u1ee4\u01af\u1eea\u1eec\u1eee\u1ee8\u1ef0\u1ef2\u1ef6\u1ef8\xdd\u1ef4\xe0\u1ea3\xe3\xe1\u1ea1\u0103\u1eb1\u1eb3\u1eb5\u1eaf\u1eb7\xe2\u1ea7\u1ea9\u1eab\u1ea5\u1ead\u0111\xe8\u1ebb\u1ebd\xe9\u1eb9\xea\u1ec1\u1ec3\u1ec5\u1ebf\u1ec7\u1ec9\u0129\xed\u1ecb\xf2\u1ecf\xf5\xf3\u1ecd\xf4\u1ed3\u1ed5\u1ed7\u1ed1\u1ed9\u01a1\u1edd\u1edf\u1ee1\u1edb\u1ee3\xf9\u1ee7\u0169\xfa\u1ee5\u01b0\u1eeb\u1eed\u1eef\u1ee9\u1ef1\u1ef3\u1ef7\u1ef9\xfd\u1ef5]+$/;
          cc["textUtils"].label_firstEnglish = /^[a-zA-Z0-9\u1ea2\u1ea0\u0102\u1eb0\u1eb2\u1eb4\u1eae\u1eb6\u1ea6\u1ea8\u1eaa\u1ea4\u1eac\u0110\u1eba\u1ebc\xc9\u1eb8\xca\u1ec0\u1ec2\u1ec4\u1ebe\u1ec6I\xcc\u1ec8\u0128\xcd\u1ecaO\xd2\u1ece\xd5\xd3\u1ecc\xd4\u1ed2\u1ed4\u1ed6\u1ed0\u1ed8\u01a0\u1edc\u1ede\u1ee0\u1eda\u1ee2\xd9\u1ee6\u0168\xda\u1ee4\u01af\u1eea\u1eec\u1eee\u1ee8\u1ef0\u1ef2\u1ef6\u1ef8\xdd\u1ef4\xe0\u1ea3\xe3\xe1\u1ea1\u0103\u1eb1\u1eb3\u1eb5\u1eaf\u1eb7\xe2\u1ea7\u1ea9\u1eab\u1ea5\u1ead\u0111\xe8\u1ebb\u1ebd\xe9\u1eb9\xea\u1ec1\u1ec3\u1ec5\u1ebf\u1ec7\u1ec9\u0129\xed\u1ecb\xf2\u1ecf\xf5\xf3\u1ecd\xf4\u1ed3\u1ed5\u1ed7\u1ed1\u1ed9\u01a1\u1edd\u1edf\u1ee1\u1edb\u1ee3\xf9\u1ee7\u0169\xfa\u1ee5\u01b0\u1eeb\u1eed\u1eef\u1ee9\u1ef1\u1ef3\u1ef7\u1ef9\xfd\u1ef5]/;
          break;

         case "thai":
         case "th":
          cc["textUtils"].label_wordRex = /([a-zA-Z0-9\u0E00-\u0E7F]+|\S)/;
          cc["textUtils"].label_lastWordRex = /([a-zA-Z0-9\u0E00-\u0E7F]+|\S)$/;
          cc["textUtils"].label_lastEnglish = /[\u0e40\u0e41\u0e42\u0e43\u0e44]?[a-zA-Z0-9\u0E00-\u0E2F\u0e40\u0e41\u0e42\u0e43\u0e44][\u0E31-\u0E3A\u0E45-\u0E4E]*[\u0e45\u0e30\u0e2d\u0e27\u0e22\u0e32]?$/;
          cc["textUtils"].label_firstEnglish = /^[a-zA-Z0-9\u0E31-\u0E3A\u0E45-\u0E4E]/;
          break;

         default:
          cc["textUtils"].label_wordRex = /([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/;
          cc["textUtils"].label_lastWordRex = /([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/;
          cc["textUtils"].label_lastEnglish = /[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/;
          cc["textUtils"].label_firstEnglish = /^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/;
        }
      };
      Language.addWork = function() {
        var wordList = [];
        for (var _i = 0; _i < arguments.length; _i++) wordList[_i] = arguments[_i];
        var count = wordList.length;
        for (var i = 0; i < count; ++i) {
          var map = this._checkWordMap;
          var word = wordList[i];
          var wordLength = word.length;
          for (var j = 0; j < wordLength; ++j) {
            var ch = word.charAt(j);
            var stateInfo = map[ch];
            if (null == stateInfo) {
              stateInfo = {};
              map[ch] = stateInfo;
            }
            j == wordLength - 1 ? stateInfo["isFinish"] = true : map = stateInfo;
          }
        }
      };
      Language.wordCheck = function(content, isGetWords) {
        var map = this._checkWordMap;
        var result = [];
        var count = content.length;
        var stack = [];
        var point = map;
        var isFound = false;
        var foundStack = null;
        for (var i = 0; i < count; ++i) {
          var ch = content.charAt(i);
          var item = point[ch.toLocaleLowerCase()];
          if (null == item) {
            if (isFound) {
              isFound = false;
              i -= stack.length - foundStack.length + 1;
              if (!isGetWords) return false;
              result.push(foundStack.join(""));
            } else i -= stack.length;
            stack = [];
            point = map;
          } else if (item["isFinish"]) {
            stack.push(ch);
            point = item;
            isFound = true;
            foundStack = stack.concat();
          } else {
            stack.push(ch);
            point = item;
          }
        }
        if (isGetWords) {
          isFound && result.push(foundStack.join(""));
          return result;
        }
        return !isFound;
      };
      Language.wordFilter = function(str, replaceStr, step) {
        void 0 === step && (step = 5);
        if (void 0 == str) return "";
        step > 5 ? step = 5 : step < 0 && (step = 0);
        for (var j = 0; j < step; j++) {
          var result = this.wordCheck(str, true);
          var len = result.length;
          if (0 == len) break;
          result.sort(function(a, b) {
            return b.length - a.length;
          });
          for (var i = 0; i < len; i++) str = str.replace(result[i], replaceStr);
        }
        return str;
      };
      Language.data = {};
      Language.type = "en";
      Language.dev = "zh";
      Language._aligns = {};
      Language.isReady = false;
      Language.area = {};
      Language._replaces = null;
      Language._checkWordMap = {};
      return Language;
    }();
    exports.language = Language;
    cc._RF.pop();
  }, {
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-sys": "PPPB-sys"
  } ],
  "PPPB-lib": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d9599FOx9BNcpbN4NCLKdzt", "PPPB-lib");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports._ = exports.cc1 = void 0;
    var _ = require("./PPPB-utils");
    exports._ = _;
    var cc1 = {
      sys: {
        isMobile: cc.sys.isMobile
      }
    };
    exports.cc1 = cc1;
    cc._RF.pop();
  }, {
    "./PPPB-utils": "PPPB-utils"
  } ],
  "PPPB-listEvents": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "eaac49gMb9Hl7tsEI+OuRCH", "PPPB-listEvents");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../framework-cocos/components/PPPB-UIList");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.idx = 0;
        _this.list = null;
        return _this;
      }
      NewClass.prototype.$ui_list__item_click = function(list, event, index) {
        var item = list.getItemNode(index);
        console.log({
          row: this.idx,
          col: index
        });
        PPPB_event_1.Events.publish("card", "select", "", {
          row: this.idx,
          col: index,
          item: item
        });
      };
      __decorate([ property ], NewClass.prototype, "idx", void 0);
      __decorate([ property(PPPB_UIList_1.UIList) ], NewClass.prototype, "list", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../framework/PPPB-event": "PPPB-event"
  } ],
  "PPPB-lobbyChan": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f6350HcI+VKIJintMLcyhkt", "PPPB-lobbyChan");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    cc._RF.pop();
  }, {} ],
  "PPPB-login": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "0ae33CteyBGTYu4FYJWe276", "PPPB-login");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_decorator_1 = require("../../../framework-cocos/PPPB-decorator");
    var PPPB_res_1 = require("../../../framework-cocos/PPPB-res");
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB__main_1 = require("../../../PPPB-_main");
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_rpc_1 = require("../../../framework-rpc/PPPB-rpc");
    var PPPB_auth_pb_1 = require("../../../proto/PPPB-auth_pb");
    var PPPB_user_1 = require("../controller/PPPB-user");
    var PPPB_config_1 = require("../../../PPPB-config");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_ResLoad_1 = require("../controller/PPPB-ResLoad");
    var PPPB_gameSettings_1 = require("../../../common/PPPB-gameSettings");
    var PPPB_BaseScene_1 = require("../controller/PPPB-BaseScene");
    var PPPB_net_1 = require("../../../framework/PPPB-net");
    var PPPB_gameLobbyChan_1 = require("../../../framework/gameLobbyChan/PPPB-gameLobbyChan");
    var PPPB_AliNet_1 = require("../PPPB-AliNet");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var CLogin = function(_super) {
      __extends(CLogin, _super);
      function CLogin() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.isFading = false;
        _this.bar = null;
        _this.baseScene = null;
        _this.baseSceneGameScaler = null;
        _this.loginNode = null;
        _this._langIdx = 0;
        return _this;
      }
      CLogin.prototype.onLoaded = function() {
        PPPB__main_1.CMain.init();
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
        PPPB__main_1.CMain.opsParams.Ops && PPPB_ui_1.ui.show([ this, "login/account" ], false);
      };
      CLogin.prototype.onKeyDown = function(event) {
        var _a;
        return __awaiter(this, void 0, void 0, function() {
          var islocal;
          return __generator(this, function(_b) {
            islocal = "localhost" == (null === (_a = null === window || void 0 === window ? void 0 : window.location) || void 0 === _a ? void 0 : _a.hostname);
            switch (event.keyCode) {
             case cc.macro.KEY.l:
            }
            return [ 2 ];
          });
        });
      };
      CLogin.prototype.onStart = function() {
        var _a, _b;
        return __awaiter(this, void 0, void 0, function() {
          var progBarNode, r;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              this.loginNode = cc.find("login") || cc.find("login2", this.node);
              this.loginNode.active = true;
              progBarNode = PPPB_ui_1.ui.getNode([ this.loginNode, "loadingscreen/bar/$progress" ]);
              this.bar = progBarNode.getComponent(cc.ProgressBar);
              this.loginNode.setParent(this.node);
              PPPB_gameSettings_1.default.LoadSettingsFromSaveData();
              this.preloadAssets();
              PPPB__main_1.CMain.inited();
              if (!!PPPB_sys_1.sys.debugMode) return [ 3, 2 ];
              return [ 4, this.login() ];

             case 1:
              r = _c.sent();
              r || (null === (_b = null === (_a = PPPB_gameLobbyChan_1.getGameLobbyChan()) || void 0 === _a ? void 0 : _a.lobbyChan) || void 0 === _b ? void 0 : _b.onGameLoginFail());
              _c.label = 2;

             case 2:
              PPPB_res_1.res.startGC();
              return [ 2 ];
            }
          });
        });
      };
      CLogin.prototype.UpdateProgressBar = function(progress, completeCount, progressFactor) {
        this.bar.progress = .5 + progress / completeCount * progressFactor;
      };
      CLogin.prototype.UpdateProgressBar2 = function(progress, completeCount, progressFactor, prePro) {
        void 0 === progressFactor && (progressFactor = 0);
        void 0 === prePro && (prePro = 0);
        if (completeCount <= 0) {
          var pro_1 = progress + prePro;
          PPPB_sys_1.sys.isFromLobby || (pro_1 = .5 + .5 * pro_1);
          this.bar.progress = PPPB_lib_1._.limit(pro_1, 0, 1);
          return;
        }
        var pro = prePro + progress / completeCount * progressFactor;
        PPPB_sys_1.sys.isFromLobby || (pro = .5 + .5 * pro);
        this.bar.progress = PPPB_lib_1._.limit(pro, 0, 1);
      };
      CLogin.prototype.preloadAssets = function() {
        return __awaiter(this, void 0, void 0, function() {
          var time;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.UpdateProgressBar2(0, 0, 0, 0);
              return [ 4, PPPB_ResLoad_1.default.LoadRes(function(progress, total) {
                _this.UpdateProgressBar2(progress, total, .5);
              }) ];

             case 1:
              _a.sent();
              return [ 4, this.baseScene.InitAllPrefabs(function(progress, total) {
                _this.UpdateProgressBar2(progress, total, .5, .5);
              }) ];

             case 2:
              _a.sent();
              this.UpdateProgressBar2(1, 0, 0, 0);
              time = .3;
              PPPB_ui_1.ui.setUIDataValueByPath(this, "login/loadingscreen/bar/loading", "Complete");
              return [ 4, PPPB_lib_1._.sleep(1e3 * time) ];

             case 3:
              _a.sent();
              PPPB_ui_1.ui.hide([ this, "login/loadingscreen" ]);
              this.launchGameScene();
              return [ 2 ];
            }
          });
        });
      };
      CLogin.prototype.$ui_login_account__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var authInfo;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.doModelUI("prefab/ui/login/changeLogin", {}) ];

             case 1:
              authInfo = _a.sent();
              console.log(authInfo);
              return [ 2 ];
            }
          });
        });
      };
      CLogin.prototype.$ui_login_introscreen_continue__click = function() {
        var _a, _b;
        return __awaiter(this, void 0, void 0, function() {
          var uid, token, r, fade;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              if (!!PPPB_sys_1.sys.debugMode) return [ 3, 2 ];
              uid = PPPB_rpc_1.RPC.userInfo.uid;
              token = (PPPB_rpc_1.RPC.userInfoMap[uid] || {}).token;
              if (!(!uid || !token)) return [ 3, 2 ];
              return [ 4, this.login() ];

             case 1:
              r = _c.sent();
              if (!r) {
                PPPB_ui_1.ui.tips("login failed");
                null === (_b = null === (_a = PPPB_gameLobbyChan_1.getGameLobbyChan()) || void 0 === _a ? void 0 : _a.lobbyChan) || void 0 === _b ? void 0 : _b.onGameLoginFail();
                return [ 2 ];
              }
              _c.label = 2;

             case 2:
              if (this.isFading) return [ 2 ];
              this.isFading = true;
              fade = PPPB_ui_1.ui.getNode([ PPPB_ui_1.ui.canvas, "login/introscreen/fade" ]);
              return [ 4, PPPB_action_1.ACT(fade).fadeIn(.4).act() ];

             case 3:
              _c.sent();
              PPPB_quick_1.ks.isInSceneLoad = true;
              return [ 4, this.launchGameScene() ];

             case 4:
              _c.sent();
              return [ 2 ];
            }
          });
        });
      };
      CLogin.prototype.launchGameScene = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.loginNode.active = false;
              this.loginNode.setPosition(cc.v2(this.loginNode.position.x, -5e3));
              this.baseSceneGameScaler.active = true;
              this.baseSceneGameScaler.setPosition(cc.v2(this.baseSceneGameScaler.position.x, 0));
              return [ 4, this.baseScene.BaseSceneInit() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      CLogin.prototype.handleShowAgainToggle = function(event) {
        PPPB_gameSettings_1.default.introScreenSkip = event.isChecked;
      };
      Object.defineProperty(CLogin.prototype, "page", {
        get: function() {
          return PPPB_ui_1.ui.getComponentByPath(this, "showPageView", cc.PageView);
        },
        enumerable: false,
        configurable: true
      });
      CLogin.prototype.refreshPageBtn = function() {
        var pg = this.page;
        if (!pg) return;
        var idx = pg.getCurrentPageIndex();
        PPPB_ui_1.ui.show([ pg, "left" ], 0 != idx);
        PPPB_ui_1.ui.show([ pg, "right" ], idx != pg.getPages().length - 1);
      };
      CLogin.prototype.$ui_showPageView_left__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var index;
          return __generator(this, function(_a) {
            index = this.page.getCurrentPageIndex();
            this.page.setCurrentPageIndex(--index);
            this.refreshPageBtn();
            return [ 2 ];
          });
        });
      };
      CLogin.prototype.$ui_showPageView_right__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          var index;
          return __generator(this, function(_a) {
            index = this.page.getCurrentPageIndex();
            this.page.setCurrentPageIndex(++index);
            this.refreshPageBtn();
            return [ 2 ];
          });
        });
      };
      CLogin.prototype.$ui_showPageView___scroll_ended = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.refreshPageBtn();
            return [ 2 ];
          });
        });
      };
      CLogin.prototype.login = function() {
        return __awaiter(this, void 0, void 0, function() {
          var req, logins, loginLast, Ops, Opstoken, r, password, authRet;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (PPPB_sys_1.sys.isRestoreMode) return [ 2 ];
              req = {
                opt: PPPB_auth_pb_1.OptType.REGISTER,
                platform: cc.sys.os + ":" + cc.sys.osVersion + ":" + cc.sys.platform,
                language: cc.sys.languageCode,
                gametype: PPPB_sys_1.sys.gameType
              };
              logins = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":logins", true) || {};
              loginLast = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":loginLast", true);
              Ops = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":Ops", true) || "";
              Opstoken = PPPB_quick_1.ks.getLocalSave(PPPB_config_1.mainConfig.serverName + ":Opstoken", true) || "";
              if (!PPPB_config_1.mainConfig.opstoken) return [ 3, 2 ];
              return [ 4, PPPB_net_1.Net.httpRequest("https://api.gl7s.com/cli/gen/token", {
                Ops: "testOpsdq",
                Opid: "robot-dq"
              }, "POST") ];

             case 1:
              r = _a.sent();
              console.log(r);
              req.ops = "testOpsdq";
              req.opstoken = r.data;
              return [ 3, 3 ];

             case 2:
              req.ops = PPPB__main_1.CMain.opsParams.Ops;
              req.opstoken = PPPB__main_1.CMain.opsParams.Opstoken;
              _a.label = 3;

             case 3:
              req.opsparams = PPPB__main_1.CMain.opsParams.Opsparams;
              req.nickname = PPPB__main_1.CMain.opsParams.Nickname;
              password = logins[loginLast];
              if (password) {
                req.account = loginLast;
                req.password = password;
                req.opt = PPPB_auth_pb_1.OptType.LOGIN;
              } else {
                req.account = "";
                req.password = PPPB_lib_1._.randString(8);
                req.opt = PPPB_auth_pb_1.OptType.REGISTER;
              }
              return [ 4, PPPB_AliNet_1.NetFactory.auth(req) ];

             case 4:
              authRet = _a.sent();
              if (!authRet) {
                console.log("user gave up on obtaining auth. Ending sequence.");
                return [ 2, null ];
              }
              if (logins) {
                req.opt == PPPB_auth_pb_1.OptType.LOGIN && authRet.user.account !== loginLast && logins[loginLast] && delete logins[loginLast];
                logins[authRet.user.account] = authRet.user.password;
                PPPB_quick_1.ks.localSave(PPPB_config_1.mainConfig.serverName + ":logins", logins);
                PPPB_quick_1.ks.localSave(PPPB_config_1.mainConfig.serverName + ":loginLast", authRet.user.account);
              }
              return [ 4, PPPB_user_1.user.login() ];

             case 5:
              _a.sent();
              return [ 2, authRet ];
            }
          });
        });
      };
      CLogin.prototype.tips = function(message) {
        PPPB_event_1.Events.publish("game", "tips", "", message);
      };
      __decorate([ property(cc.ProgressBar) ], CLogin.prototype, "bar", void 0);
      __decorate([ property(PPPB_BaseScene_1.default) ], CLogin.prototype, "baseScene", void 0);
      __decorate([ property(cc.Node) ], CLogin.prototype, "baseSceneGameScaler", void 0);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], CLogin.prototype, "$ui_login_account__click", null);
      __decorate([ PPPB_decorator_1.decorator.lock(true, 50) ], CLogin.prototype, "$ui_login_introscreen_continue__click", null);
      CLogin = __decorate([ ccclass ], CLogin);
      return CLogin;
    }(PPPB_UComponent_1.UComponent);
    exports.default = CLogin;
    cc._RF.pop();
  }, {
    "../../../PPPB-_main": "PPPB-_main",
    "../../../PPPB-config": "PPPB-config",
    "../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-decorator": "PPPB-decorator",
    "../../../framework-cocos/PPPB-res": "PPPB-res",
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-rpc/PPPB-rpc": "PPPB-rpc",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../../../framework/PPPB-net": "PPPB-net",
    "../../../framework/gameLobbyChan/PPPB-gameLobbyChan": "PPPB-gameLobbyChan",
    "../../../proto/PPPB-auth_pb": "PPPB-auth_pb",
    "../PPPB-AliNet": "PPPB-AliNet",
    "../controller/PPPB-BaseScene": "PPPB-BaseScene",
    "../controller/PPPB-ResLoad": "PPPB-ResLoad",
    "../controller/PPPB-user": "PPPB-user"
  } ],
  "PPPB-lzstr": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "68b253+S09MBZrVYsKPpRtm", "PPPB-lzstr");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.LZStr = void 0;
    var f = String.fromCharCode;
    var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
    var baseReverseDic = {};
    function getBaseValue(alphabet, character) {
      if (!baseReverseDic[alphabet]) {
        baseReverseDic[alphabet] = {};
        for (var i = 0; i < alphabet.length; i++) baseReverseDic[alphabet][alphabet.charAt(i)] = i;
      }
      return baseReverseDic[alphabet][character];
    }
    var LZStr = function() {
      function LZStr() {}
      LZStr.compressToBase64 = function(input) {
        if (null == input) return "";
        var res = this._compress(input, 6, function(a) {
          return keyStrBase64.charAt(a);
        });
        switch (res.length % 4) {
         default:
         case 0:
          return res;

         case 1:
          return res + "===";

         case 2:
          return res + "==";

         case 3:
          return res + "=";
        }
      };
      LZStr.base64Encode = function(input) {
        return this.compressToBase64(input);
      };
      LZStr.decompressFromBase64 = function(input) {
        if (null == input) return "";
        if ("" == input) return null;
        return this._decompress(input.length, 32, function(index) {
          return getBaseValue(keyStrBase64, input.charAt(index));
        });
      };
      LZStr.base64Decode = function(input) {
        return this.decompressFromBase64(input);
      };
      LZStr.compressToUTF16 = function(input) {
        if (null == input) return "";
        return this._compress(input, 15, function(a) {
          return f(a + 32);
        }) + " ";
      };
      LZStr.decompressFromUTF16 = function(compressed) {
        if (null == compressed) return "";
        if ("" == compressed) return null;
        return this._decompress(compressed.length, 16384, function(index) {
          return compressed.charCodeAt(index) - 32;
        });
      };
      LZStr.compressToUint8Array = function(uncompressed) {
        var compressed = this.compress(uncompressed);
        var buf = new Uint8Array(2 * compressed.length);
        for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) {
          var current_value = compressed.charCodeAt(i);
          buf[2 * i] = current_value >>> 8;
          buf[2 * i + 1] = current_value % 256;
        }
        return buf;
      };
      LZStr.decompressFromUint8Array = function(compressed) {
        if (null === compressed || void 0 === compressed) return this.decompress(compressed);
        var buf = new Array(compressed.length / 2);
        for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) buf[i] = 256 * compressed[2 * i] + compressed[2 * i + 1];
        var result = [];
        buf.forEach(function(c) {
          result.push(f(c));
        });
        return this.decompress(result.join(""));
      };
      LZStr.compressToEncodedURIComponent = function(input) {
        if (null == input) return "";
        return this._compress(input, 6, function(a) {
          return keyStrUriSafe.charAt(a);
        });
      };
      LZStr.utf8Encode = function(input) {
        return this.compressToEncodedURIComponent(input);
      };
      LZStr.decompressFromEncodedURIComponent = function(input) {
        if (null == input) return "";
        if ("" == input) return null;
        input = input.replace(/ /g, "+");
        return this._decompress(input.length, 32, function(index) {
          return getBaseValue(keyStrUriSafe, input.charAt(index));
        });
      };
      LZStr.utf8Decode = function(input) {
        return this.decompressFromEncodedURIComponent(input);
      };
      LZStr.compress = function(uncompressed) {
        return this._compress(uncompressed, 16, function(a) {
          return f(a);
        });
      };
      LZStr._compress = function(uncompressed, bitsPerChar, getCharFromInt) {
        if (null == uncompressed) return "";
        var i, value, context_dictionary = {}, context_dictionaryToCreate = {}, context_c = "", context_wc = "", context_w = "", context_enlargeIn = 2, context_dictSize = 3, context_numBits = 2, context_data = [], context_data_val = 0, context_data_position = 0, ii;
        for (ii = 0; ii < uncompressed.length; ii += 1) {
          context_c = uncompressed.charAt(ii);
          if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {
            context_dictionary[context_c] = context_dictSize++;
            context_dictionaryToCreate[context_c] = true;
          }
          context_wc = context_w + context_c;
          if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) context_w = context_wc; else {
            if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
              if (context_w.charCodeAt(0) < 256) {
                for (i = 0; i < context_numBits; i++) {
                  context_data_val <<= 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else context_data_position++;
                }
                value = context_w.charCodeAt(0);
                for (i = 0; i < 8; i++) {
                  context_data_val = context_data_val << 1 | 1 & value;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else context_data_position++;
                  value >>= 1;
                }
              } else {
                value = 1;
                for (i = 0; i < context_numBits; i++) {
                  context_data_val = context_data_val << 1 | value;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else context_data_position++;
                  value = 0;
                }
                value = context_w.charCodeAt(0);
                for (i = 0; i < 16; i++) {
                  context_data_val = context_data_val << 1 | 1 & value;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else context_data_position++;
                  value >>= 1;
                }
              }
              context_enlargeIn--;
              if (0 == context_enlargeIn) {
                context_enlargeIn = Math.pow(2, context_numBits);
                context_numBits++;
              }
              delete context_dictionaryToCreate[context_w];
            } else {
              value = context_dictionary[context_w];
              for (i = 0; i < context_numBits; i++) {
                context_data_val = context_data_val << 1 | 1 & value;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else context_data_position++;
                value >>= 1;
              }
            }
            context_enlargeIn--;
            if (0 == context_enlargeIn) {
              context_enlargeIn = Math.pow(2, context_numBits);
              context_numBits++;
            }
            context_dictionary[context_wc] = context_dictSize++;
            context_w = String(context_c);
          }
        }
        if ("" !== context_w) {
          if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
            if (context_w.charCodeAt(0) < 256) {
              for (i = 0; i < context_numBits; i++) {
                context_data_val <<= 1;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else context_data_position++;
              }
              value = context_w.charCodeAt(0);
              for (i = 0; i < 8; i++) {
                context_data_val = context_data_val << 1 | 1 & value;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else context_data_position++;
                value >>= 1;
              }
            } else {
              value = 1;
              for (i = 0; i < context_numBits; i++) {
                context_data_val = context_data_val << 1 | value;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else context_data_position++;
                value = 0;
              }
              value = context_w.charCodeAt(0);
              for (i = 0; i < 16; i++) {
                context_data_val = context_data_val << 1 | 1 & value;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else context_data_position++;
                value >>= 1;
              }
            }
            context_enlargeIn--;
            if (0 == context_enlargeIn) {
              context_enlargeIn = Math.pow(2, context_numBits);
              context_numBits++;
            }
            delete context_dictionaryToCreate[context_w];
          } else {
            value = context_dictionary[context_w];
            for (i = 0; i < context_numBits; i++) {
              context_data_val = context_data_val << 1 | 1 & value;
              if (context_data_position == bitsPerChar - 1) {
                context_data_position = 0;
                context_data.push(getCharFromInt(context_data_val));
                context_data_val = 0;
              } else context_data_position++;
              value >>= 1;
            }
          }
          context_enlargeIn--;
          if (0 == context_enlargeIn) {
            context_enlargeIn = Math.pow(2, context_numBits);
            context_numBits++;
          }
        }
        value = 2;
        for (i = 0; i < context_numBits; i++) {
          context_data_val = context_data_val << 1 | 1 & value;
          if (context_data_position == bitsPerChar - 1) {
            context_data_position = 0;
            context_data.push(getCharFromInt(context_data_val));
            context_data_val = 0;
          } else context_data_position++;
          value >>= 1;
        }
        while (true) {
          context_data_val <<= 1;
          if (context_data_position == bitsPerChar - 1) {
            context_data.push(getCharFromInt(context_data_val));
            break;
          }
          context_data_position++;
        }
        return context_data.join("");
      };
      LZStr.decompress = function(compressed) {
        if (null == compressed) return "";
        if ("" == compressed) return null;
        return this._decompress(compressed.length, 32768, function(index) {
          return compressed.charCodeAt(index);
        });
      };
      LZStr._decompress = function(length, resetValue, getNextValue) {
        var dictionary = [], next, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i, w, bits, resb, maxpower, power, c, data = {
          val: getNextValue(0),
          position: resetValue,
          index: 1
        };
        for (i = 0; i < 3; i += 1) dictionary[i] = i;
        bits = 0;
        maxpower = Math.pow(2, 2);
        power = 1;
        while (power != maxpower) {
          resb = data.val & data.position;
          data.position >>= 1;
          if (0 == data.position) {
            data.position = resetValue;
            data.val = getNextValue(data.index++);
          }
          bits |= (resb > 0 ? 1 : 0) * power;
          power <<= 1;
        }
        switch (next = bits) {
         case 0:
          bits = 0;
          maxpower = Math.pow(2, 8);
          power = 1;
          while (power != maxpower) {
            resb = data.val & data.position;
            data.position >>= 1;
            if (0 == data.position) {
              data.position = resetValue;
              data.val = getNextValue(data.index++);
            }
            bits |= (resb > 0 ? 1 : 0) * power;
            power <<= 1;
          }
          c = f(bits);
          break;

         case 1:
          bits = 0;
          maxpower = Math.pow(2, 16);
          power = 1;
          while (power != maxpower) {
            resb = data.val & data.position;
            data.position >>= 1;
            if (0 == data.position) {
              data.position = resetValue;
              data.val = getNextValue(data.index++);
            }
            bits |= (resb > 0 ? 1 : 0) * power;
            power <<= 1;
          }
          c = f(bits);
          break;

         case 2:
          return "";
        }
        if (!c) return "";
        dictionary[3] = c;
        w = c;
        result.push(c);
        while (true) {
          if (data.index > length) return "";
          bits = 0;
          maxpower = Math.pow(2, numBits);
          power = 1;
          while (power != maxpower) {
            resb = data.val & data.position;
            data.position >>= 1;
            if (0 == data.position) {
              data.position = resetValue;
              data.val = getNextValue(data.index++);
            }
            bits |= (resb > 0 ? 1 : 0) * power;
            power <<= 1;
          }
          switch (c = bits) {
           case 0:
            bits = 0;
            maxpower = Math.pow(2, 8);
            power = 1;
            while (power != maxpower) {
              resb = data.val & data.position;
              data.position >>= 1;
              if (0 == data.position) {
                data.position = resetValue;
                data.val = getNextValue(data.index++);
              }
              bits |= (resb > 0 ? 1 : 0) * power;
              power <<= 1;
            }
            dictionary[dictSize++] = f(bits);
            c = dictSize - 1;
            enlargeIn--;
            break;

           case 1:
            bits = 0;
            maxpower = Math.pow(2, 16);
            power = 1;
            while (power != maxpower) {
              resb = data.val & data.position;
              data.position >>= 1;
              if (0 == data.position) {
                data.position = resetValue;
                data.val = getNextValue(data.index++);
              }
              bits |= (resb > 0 ? 1 : 0) * power;
              power <<= 1;
            }
            dictionary[dictSize++] = f(bits);
            c = dictSize - 1;
            enlargeIn--;
            break;

           case 2:
            return result.join("");
          }
          if (0 == enlargeIn) {
            enlargeIn = Math.pow(2, numBits);
            numBits++;
          }
          if (dictionary[c]) entry = dictionary[c]; else {
            if (c !== dictSize) return null;
            entry = w + w.charAt(0);
          }
          result.push(entry);
          dictionary[dictSize++] = w + entry.charAt(0);
          enlargeIn--;
          w = entry;
          if (0 == enlargeIn) {
            enlargeIn = Math.pow(2, numBits);
            numBits++;
          }
        }
      };
      return LZStr;
    }();
    exports.LZStr = LZStr;
    cc._RF.pop();
  }, {} ],
  "PPPB-maxLimitConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b48186P1MxNBKTAwTXkGRbk", "PPPB-maxLimitConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.doubleChanceMaxLimit = exports.standardMaxLimit = void 0;
    exports.standardMaxLimit = 21175;
    exports.doubleChanceMaxLimit = 21175;
    cc._RF.pop();
  }, {} ],
  "PPPB-netAnalysis": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "23dadoCfS9Ihp4ZE3+yrR+s", "PPPB-netAnalysis");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CNetAnalysis = exports.AnalysisEventType = void 0;
    var PPPB_lib_1 = require("../PPPB-lib");
    var PPPB_slotNet_1 = require("../../framework-rpc/PPPB-slotNet");
    var AnalysisEventType;
    (function(AnalysisEventType) {
      AnalysisEventType[AnalysisEventType["default"] = 0] = "default";
      AnalysisEventType[AnalysisEventType["checkUpdateSsl"] = 1] = "checkUpdateSsl";
      AnalysisEventType[AnalysisEventType["queryHostsSsl"] = 2] = "queryHostsSsl";
      AnalysisEventType[AnalysisEventType["gameConnect"] = 3] = "gameConnect";
      AnalysisEventType[AnalysisEventType["checkUpdate"] = 4] = "checkUpdate";
      AnalysisEventType[AnalysisEventType["checkUpdateInGameSsl"] = 5] = "checkUpdateInGameSsl";
      AnalysisEventType[AnalysisEventType["checkUpdateInGame"] = 6] = "checkUpdateInGame";
      AnalysisEventType[AnalysisEventType["checkUpdateInGenxinSsl"] = 7] = "checkUpdateInGenxinSsl";
      AnalysisEventType[AnalysisEventType["checkUpdateInGenxin"] = 8] = "checkUpdateInGenxin";
      AnalysisEventType[AnalysisEventType["userFeeling"] = 100] = "userFeeling";
      AnalysisEventType[AnalysisEventType["httpTime"] = 101] = "httpTime";
      AnalysisEventType[AnalysisEventType["queryHosts"] = 102] = "queryHosts";
      AnalysisEventType[AnalysisEventType["gameConnectFail"] = 103] = "gameConnectFail";
      AnalysisEventType[AnalysisEventType["loginFail"] = 104] = "loginFail";
      AnalysisEventType[AnalysisEventType["createRoleFail"] = 105] = "createRoleFail";
      AnalysisEventType[AnalysisEventType["loginZsjFail"] = 106] = "loginZsjFail";
      AnalysisEventType[AnalysisEventType["waiteErrPop"] = 107] = "waiteErrPop";
      AnalysisEventType[AnalysisEventType["waitAlertReconFail"] = 108] = "waitAlertReconFail";
      AnalysisEventType[AnalysisEventType["hotupUpto30s"] = 109] = "hotupUpto30s";
      AnalysisEventType[AnalysisEventType["loadUpto30s"] = 110] = "loadUpto30s";
    })(AnalysisEventType = exports.AnalysisEventType || (exports.AnalysisEventType = {}));
    var CNetAnalysis = function() {
      function CNetAnalysis() {}
      CNetAnalysis.setDeviceModel = function(device) {
        this._device = device;
      };
      CNetAnalysis.setDeviceId = function(deviceID) {
        this._deviceID = deviceID;
      };
      CNetAnalysis.log = function(type, data) {
        if ("sslFailed" === type) this.sslFailedLog(data); else if ("heart" === type) {
          1 === data.value && this._lostCount++;
          data["avrDelay"] = this._avrDelay;
          data["heartcount"] = this._heartCount;
          data["lostcount"] = this._lostCount;
          this.heartTimeoutLog(data);
        } else if ("netStatus" === type) {
          this._heartCount++;
          this._heartCount >= 1 && this._heartCount <= 10 ? this._avrDelay = (this._avrDelay * (this._heartCount - 1) + data.delay) / this._heartCount : this._avrDelay = (90 * this._avrDelay + 10 * data.delay) / 100;
          this.netStatusLog();
        } else "rpcException" === type && this.rpcExceptionLog(data);
      };
      CNetAnalysis.netStatusLog = function() {
        if (20 === this._heartCount || this._heartCount > 20 && this._heartCount % 100 === 0) {
          var req = {};
          req.gameType = "";
          req.platform = cc.sys.os;
          req.device = this._device || "";
          req.userid = this._deviceID || cc.sys.localStorage.getItem("googleId") || "";
          req.avrDelay = this._avrDelay;
          req.heartcount = this._heartCount - this._lastheartCount;
          req.lostcount = this._lostCount - this._lastlostCount;
          req.totalhc = this._heartCount;
          req.totallc = this._lostCount;
          this._lastheartCount = this._heartCount;
          this._lastlostCount = this._lostCount;
          PPPB_slotNet_1.CNet.httpRpc(PPPB_slotNet_1.CNet.urlSrv, "", "netStatus", req);
          PPPB_slotNet_1.CNet.wsRpc("zsj", "netState", {
            delay: req.avrDelay,
            heart: req.totalhc,
            lostheart: req.totallc
          });
        }
      };
      CNetAnalysis.sslFailedLog = function(data) {
        var _this = this;
        try {
          var areasrv_1 = data.areasrv || PPPB_slotNet_1.CNet.areaSrv;
          this._logDetails[areasrv_1] || (this._logDetails[areasrv_1] = []);
          data.eventType >= AnalysisEventType.userFeeling && (this._logDetails[areasrv_1 + "_feeling"] = true);
          if (!(this._logDetails[areasrv_1].length < 20)) return;
          clearTimeout(this._timeout[areasrv_1]);
          this._timeout[areasrv_1] = void 0;
          var datetime = new Date();
          this._logDetails[areasrv_1].push({
            userid: data.userid || "",
            url: data.url,
            localCert: data.localCert,
            datetime: datetime.toTimeString(),
            eventType: data.eventType
          });
          this._logDetails[areasrv_1 + "_evSta"] || (this._logDetails[areasrv_1 + "_evSta"] = {});
          if (data.eventType) {
            this._logDetails[areasrv_1 + "_evSta"][String(data.eventType)] || (this._logDetails[areasrv_1 + "_evSta"][String(data.eventType)] = 0);
            this._logDetails[areasrv_1 + "_evSta"][String(data.eventType)]++;
          }
          var reqUrl_1 = data.reqUrl || "";
          this._timeout[areasrv_1] = setTimeout(function() {
            return __awaiter(_this, void 0, void 0, function() {
              var req, ret, ret2;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  req = {};
                  req.gameType = "";
                  req.platform = cc.sys.os;
                  req.detail = this._logDetails[areasrv_1];
                  req.device = this._device || "";
                  req.maybeID = cc.sys.localStorage.getItem("maybeID") || this._deviceID || cc.sys.localStorage.getItem("googleId") || "";
                  req.feeling = this._logDetails[areasrv_1 + "_feeling"] || false;
                  req.evSta = this._logDetails[areasrv_1 + "_evSta"] || {};
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(reqUrl_1 || PPPB_slotNet_1.CNet.urlSrv, "", "sslFailedLog", req) ];

                 case 1:
                  ret = _a.sent();
                  if (!(ret && !ret.err)) return [ 3, 2 ];
                  this._logDetails[areasrv_1] = [];
                  this._logDetails[areasrv_1 + "_feeling"] = false;
                  this._logDetails[areasrv_1 + "_evSta"] = {};
                  return [ 3, 5 ];

                 case 2:
                  return [ 4, PPPB_lib_1._.sleep(5e3) ];

                 case 3:
                  _a.sent();
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(reqUrl_1 || PPPB_slotNet_1.CNet.urlSrv, "", "sslFailedLog", req) ];

                 case 4:
                  ret2 = _a.sent();
                  if (ret2 && !ret2.err) {
                    this._logDetails[areasrv_1] = [];
                    this._logDetails[areasrv_1 + "_feeling"] = false;
                    this._logDetails[areasrv_1 + "_evSta"] = {};
                  }
                  _a.label = 5;

                 case 5:
                  clearTimeout(this._timeout[areasrv_1]);
                  this._timeout[areasrv_1] = void 0;
                  return [ 2 ];
                }
              });
            });
          }, true === this._logDetails[areasrv_1 + "_feeling"] ? 200 : 3e3);
        } catch (error) {
          console.log(error);
        }
      };
      CNetAnalysis.heartTimeoutLog = function(data) {
        var _this = this;
        try {
          var areasrv_2 = PPPB_slotNet_1.CNet.areaSrv;
          this._logDetails2[areasrv_2] || (this._logDetails2[areasrv_2] = []);
          if (!(this._logDetails2[areasrv_2].length < 10)) return;
          clearTimeout(this._timeout2[areasrv_2]);
          this._timeout2[areasrv_2] = void 0;
          this._logDetails2[areasrv_2].push(data);
          this._timeout2[areasrv_2] = setTimeout(function() {
            return __awaiter(_this, void 0, void 0, function() {
              var req, ret, ret2;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  req = {};
                  req.gameType = "";
                  req.platform = cc.sys.os;
                  req.detail = this._logDetails2[areasrv_2];
                  req.device = this._device || "";
                  req.maybeID = cc.sys.localStorage.getItem("maybeID") || this._deviceID || cc.sys.localStorage.getItem("googleId") || "";
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(PPPB_slotNet_1.CNet.urlSrv, "", "heartTimeoutLog", req) ];

                 case 1:
                  ret = _a.sent();
                  if (!(ret && !ret.err)) return [ 3, 2 ];
                  this._logDetails2[areasrv_2] = [];
                  return [ 3, 5 ];

                 case 2:
                  return [ 4, PPPB_lib_1._.sleep(5e3) ];

                 case 3:
                  _a.sent();
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(PPPB_slotNet_1.CNet.urlSrv, "", "heartTimeoutLog", req) ];

                 case 4:
                  ret2 = _a.sent();
                  ret2 && !ret2.err && (this._logDetails2[areasrv_2] = []);
                  _a.label = 5;

                 case 5:
                  clearTimeout(this._timeout2[areasrv_2]);
                  this._timeout2[areasrv_2] = void 0;
                  return [ 2 ];
                }
              });
            });
          }, 5e3);
        } catch (error) {
          console.log(error);
        }
      };
      CNetAnalysis.rpcExceptionLog = function(data) {
        var _this = this;
        try {
          var areasrv_3 = PPPB_slotNet_1.CNet.areaSrv;
          this._logDetails3[areasrv_3] || (this._logDetails3[areasrv_3] = []);
          if (!(this._logDetails3[areasrv_3].length < 100)) return;
          this._logDetails3[areasrv_3].push(data);
          clearTimeout(this._timeout3[areasrv_3]);
          this._timeout3[areasrv_3] = void 0;
          var feeling_1 = !!data.feeling;
          this._timeout3[areasrv_3] = setTimeout(function() {
            return __awaiter(_this, void 0, void 0, function() {
              var req, ret, ret2;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  req = {};
                  req.gameType = "";
                  req.platform = cc.sys.os;
                  req.detail = this._logDetails3[areasrv_3];
                  req.device = this._device || "";
                  req.userid = this._deviceID || cc.sys.localStorage.getItem("googleId") || "";
                  req.feeling = feeling_1;
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(PPPB_slotNet_1.CNet.urlSrv, "", "rpcException", req) ];

                 case 1:
                  ret = _a.sent();
                  if (!(ret && !ret.err)) return [ 3, 2 ];
                  this._logDetails3[areasrv_3] = [];
                  return [ 3, 5 ];

                 case 2:
                  return [ 4, PPPB_lib_1._.sleep(5e3) ];

                 case 3:
                  _a.sent();
                  return [ 4, PPPB_slotNet_1.CNet.httpRpc(PPPB_slotNet_1.CNet.urlSrv, "", "rpcException", req) ];

                 case 4:
                  ret2 = _a.sent();
                  ret2 && !ret2.err && (this._logDetails3[areasrv_3] = []);
                  _a.label = 5;

                 case 5:
                  clearTimeout(this._timeout3[areasrv_3]);
                  this._timeout3[areasrv_3] = void 0;
                  return [ 2 ];
                }
              });
            });
          }, feeling_1 ? 100 : 5e3);
        } catch (error) {
          console.log(error);
        }
      };
      CNetAnalysis._deviceID = "";
      CNetAnalysis._device = "";
      CNetAnalysis._avrDelay = 0;
      CNetAnalysis._heartCount = 0;
      CNetAnalysis._lostCount = 0;
      CNetAnalysis._lastheartCount = 0;
      CNetAnalysis._lastlostCount = 0;
      CNetAnalysis._logDetails = {};
      CNetAnalysis._timeout = {};
      CNetAnalysis._logDetails2 = {};
      CNetAnalysis._timeout2 = {};
      CNetAnalysis._logDetails3 = {};
      CNetAnalysis._timeout3 = {};
      return CNetAnalysis;
    }();
    exports.CNetAnalysis = CNetAnalysis;
    cc._RF.pop();
  }, {
    "../../framework-rpc/PPPB-slotNet": "PPPB-slotNet",
    "../PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-net": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "41bb1llKcJAKqm4lJgqEqG6", "PPPB-net");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Net = exports.GRpcMode = void 0;
    var PPPB_lib_1 = require("./PPPB-lib");
    var GRpcMode;
    (function(GRpcMode) {
      GRpcMode[GRpcMode["Remote"] = 0] = "Remote";
      GRpcMode[GRpcMode["Local"] = 1] = "Local";
    })(GRpcMode = exports.GRpcMode || (exports.GRpcMode = {}));
    var CNet = function() {
      function CNet() {
        this.options = {
          timeout: 12900,
          url: "",
          mode: GRpcMode.Local
        };
      }
      CNet.prototype.httpRequest = function(url, data, opt, timeoutMS) {
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var requestURL, sendData, xhr, str, k, isFinish, finish;
                  var _this = this;
                  return __generator(this, function(_a) {
                    requestURL = url;
                    xhr = new XMLHttpRequest();
                    xhr.timeout = timeoutMS || this.options.timeout;
                    opt = opt || "GET";
                    if ("GET" == opt) {
                      str = "?";
                      for (k in data) {
                        "?" != str && (str += "&");
                        "object" == typeof data[k] ? str += k + "=" + PPPB_lib_1._.serialize(data[k]) : str += k + "=" + data[k];
                      }
                      requestURL += encodeURI(str);
                    } else sendData = "string" == typeof data ? data : PPPB_lib_1._.serialize(data);
                    isFinish = false;
                    finish = function(recData, msg) {
                      return __awaiter(_this, void 0, void 0, function() {
                        return __generator(this, function(_a) {
                          isFinish = true;
                          resolve(recData);
                          return [ 2 ];
                        });
                      });
                    };
                    try {
                      xhr.open(opt, requestURL, true);
                    } catch (e) {
                      console.log(PPPB_lib_1._.logger(), "http request err:" + e);
                      resolve({
                        err: "" + e
                      });
                      return [ 2 ];
                    }
                    xhr.setRequestHeader("Content-Type", "application/json");
                    xhr.onreadystatechange = function() {
                      return __awaiter(this, void 0, void 0, function() {
                        var ret;
                        return __generator(this, function(_a) {
                          switch (_a.label) {
                           case 0:
                            if (!(4 === xhr.readyState && xhr.status >= 200 && xhr.status < 300)) return [ 3, 1 ];
                            try {
                              ret = PPPB_lib_1._.unserialize(xhr.responseText);
                            } catch (e) {
                              reject(e);
                            }
                            return [ 3, 4 ];

                           case 1:
                            if (!(4 === xhr.readyState && 0 == xhr.status)) return [ 3, 3 ];
                            ret = {
                              err: 999,
                              result: "http(" + requestURL + ") err: readyState:" + xhr.readyState + " status:" + xhr.status
                            };
                            return [ 4, PPPB_lib_1._.sleep(50) ];

                           case 2:
                            _a.sent();
                            return [ 3, 4 ];

                           case 3:
                            return [ 2 ];

                           case 4:
                            finish(ret, xhr.responseText);
                            return [ 2 ];
                          }
                        });
                      });
                    };
                    try {
                      xhr.send(sendData);
                    } catch (e) {
                      console.log(PPPB_lib_1._.logger(), "http request err:" + e);
                      reject(e);
                    }
                    setTimeout(function() {
                      if (!isFinish) {
                        xhr.abort();
                        var ret = {
                          err: 999,
                          result: "http(" + requestURL + ") err: readyState:" + xhr.readyState + " status:" + xhr.status
                        };
                        finish(ret, "");
                      }
                    }, xhr.timeout + 200);
                    return [ 2 ];
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      return CNet;
    }();
    exports.Net = new CNet();
    cc._RF.pop();
  }, {
    "./PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-nodePool": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "4c971vofjJC+bm20zREgHEg", "PPPB-nodePool");
    "use strict";
    var __assign = this && this.__assign || function() {
      __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
          s = arguments[i];
          for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
        }
        return t;
      };
      return __assign.apply(this, arguments);
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.nodePool = exports.CNodePool = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_res_1 = require("./PPPB-res");
    var PPPB_sys_1 = require("./PPPB-sys");
    var PPPB_ui_1 = require("./PPPB-ui");
    var PPPB_UISpriteID_1 = require("./components/PPPB-UISpriteID");
    var CNodePool = function() {
      function CNodePool() {}
      CNodePool.init = function() {
        this.reset();
      };
      CNodePool.reset = function() {
        this.clear();
      };
      CNodePool.create = function(obj, resObj) {
        return __awaiter(this, void 0, void 0, function() {
          var k, v, _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              false;
              k = this.getKey(obj);
              v = this._pool[k];
              v || (v = this._pool[k] = {
                p: new cc.NodePool()
              });
              if (v.resFab) {
                v.resFab.decRef();
                v.p.clear();
              }
              if (!("string" === typeof resObj)) return [ 3, 2 ];
              v.resPath = resObj;
              _a = v;
              return [ 4, PPPB_res_1.res.loadRes(v.resPath) ];

             case 1:
              _a.resFab = _b.sent();
              if (!v.resFab) return [ 2 ];
              return [ 3, 3 ];

             case 2:
              v.resFab = resObj;
              _b.label = 3;

             case 3:
              v.resFab.addRef();
              return [ 2, true ];
            }
          });
        });
      };
      CNodePool.isValid = function(obj, checkDefault) {
        void 0 === checkDefault && (checkDefault = false);
        var k = this.getKey(obj);
        var v = this._pool[k];
        if (!v) return false;
        if (v.resFab && v.resFab.isValid && v.p) {
          if (checkDefault && !v.default) return false;
          return true;
        }
        return false;
      };
      CNodePool.fill = function(obj, cfg, count, delayMS, fillCB) {
        void 0 === count && (count = 25);
        void 0 === delayMS && (delayMS = this.defaultDelayMS);
        return __awaiter(this, void 0, void 0, function() {
          var k, v, _a, r, _b;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              false;
              k = this.getKey(obj);
              PPPB_sys_1.sys.log && console.log("nodePool fill", k, cfg, count, delayMS);
              PPPB_sys_1.sys.log && console.time("fill_" + k);
              v = this._pool[k];
              v || (v = this._pool[k] = {});
              v.p || (v.p = new cc.NodePool());
              cfg.size && (v.size = cfg.size || this.defaultSize);
              cfg.resPath && (v.resPath = cfg.resPath);
              if (cfg.resFab) {
                if (v.resFab != cfg.resFab) {
                  cfg.resFab.addRef();
                  v.resFab && v.resFab.decRef();
                }
                v.resFab = cfg.resFab;
              }
              cfg.default && (v.default = cfg.default);
              if (!v.resPath && !v.resFab) return [ 2 ];
              if (!!v.resFab) return [ 3, 2 ];
              _a = v;
              return [ 4, PPPB_res_1.res.loadRes(v.resPath) ];

             case 1:
              _a.resFab = _c.sent();
              _c.label = 2;

             case 2:
              if (!(count-- > 0)) return [ 3, 7 ];
              if (this.isStop) return [ 3, 7 ];
              if (!v.resFab.isValid) return [ 2 ];
              if (!fillCB) return [ 3, 4 ];
              return [ 4, fillCB(v) ];

             case 3:
              _b = _c.sent();
              return [ 3, 5 ];

             case 4:
              _b = cc.instantiate(v.resFab);
              _c.label = 5;

             case 5:
              r = _b;
              if (this.isStop) return [ 3, 7 ];
              if (!r) return [ 3, 7 ];
              v.p.put(r);
              return [ 4, PPPB_lib_1._.sleep(delayMS) ];

             case 6:
              _c.sent();
              return [ 3, 2 ];

             case 7:
              PPPB_sys_1.sys.log && console.timeEnd("fill_" + k);
              return [ 2, true ];
            }
          });
        });
      };
      CNodePool.stop = function() {
        PPPB_sys_1.sys.log && console.log("nodePool stop");
        this.isStop = true;
      };
      CNodePool.put = function(obj, uiObj) {
        var _this = this;
        if (PPPB_lib_1._.isArray(uiObj)) {
          uiObj.forEach(function(uobj) {
            _this.put(obj, uobj);
          });
          return;
        }
        var node = PPPB_ui_1.ui.getNode(uiObj);
        if (!node) return;
        if (!node.isValid) {
          PPPB_sys_1.sys.log && console.error("put node isValid error", obj, node);
          return;
        }
        false;
        var k = this.getKey(obj);
        PPPB_sys_1.sys.log && console.log("nodePool put", k);
        var v = this._pool[k];
        v || (v = this._pool[k] = {});
        v.p || (v.p = new cc.NodePool());
        v.size || (v.size = this.defaultSize);
        if (v.p.size() >= v.size) {
          PPPB_sys_1.sys.log && console.log("nodePool put sizeMAX destroy", k);
          PPPB_sys_1.sys.log && console.log("\u5f53\u524d\u5927\u5c0f:", v.p.size());
          PPPB_ui_1.ui.destroy(node);
          return;
        }
        node && this.resetNode(node);
        v.p.put(node);
        PPPB_sys_1.sys.log && console.log("nodePool put ok", k);
        PPPB_sys_1.sys.log && console.log("\u5f53\u524d\u5927\u5c0f:", v.p.size());
      };
      CNodePool.get = function(obj, isCreate) {
        void 0 === isCreate && (isCreate = true);
        var params = [];
        for (var _i = 2; _i < arguments.length; _i++) params[_i - 2] = arguments[_i];
        false;
        var k = this.getKey(obj);
        var v = this._pool[k];
        if (!v) return null;
        var pool = v.p;
        var node = null;
        if (pool) while (pool.size() > 0) {
          PPPB_sys_1.sys.log && console.log("nodePool get from pool");
          var nd = pool.get.apply(pool, params);
          if (!nd.isValid) {
            PPPB_sys_1.sys.log && console.error("get node isValid error", obj, nd);
            continue;
          }
          node = nd;
          break;
        }
        if (!node && isCreate) {
          if (!v.resFab) {
            if (!v.resPath) return null;
            PPPB_res_1.res.loadRes(v.resPath).then(function(r) {
              if (!r) return null;
              v.resFab = r;
            });
          }
          if (v.resFab) {
            node = cc.instantiate(v.resFab);
            PPPB_sys_1.sys.log && console.log("nodePool get from \u65b0\u5efa", k);
          }
        }
        if (v.default && node) {
          PPPB_sys_1.sys.log && console.log("nodePool get default", k, v.default);
          this.default2Node(node, v.default);
        }
        PPPB_sys_1.sys.log && console.log("nodePool get ret", k, node);
        PPPB_sys_1.sys.log && console.log("\u5f53\u524d\u5927\u5c0f:", pool.size());
        return node;
      };
      CNodePool.resetNode = function(node) {
        var sps = PPPB_ui_1.ui.lookupComponents(node, PPPB_UISpriteID_1.UISpriteID);
        sps && sps.forEach(function(v) {
          return v.spriteID = "";
        });
      };
      CNodePool.default2Node = function(node, def) {
        PPPB_ui_1.ui.setUIDataValue(node, def);
        if (def._pos) {
          var poss = def._pos;
          if (poss._comp) {
            var comps = poss._comp;
            var cps = PPPB_ui_1.ui.getComponentsInChildren(node, comps._comp);
            for (var _i = 0, cps_1 = cps; _i < cps_1.length; _i++) {
              var cp = cps_1[_i];
              comps[cp.node.name] && cp.node.setPosition(comps[cp.node.name]);
            }
          }
          poss = __assign({}, def._pos);
          delete poss["_comp"];
          var count = PPPB_lib_1._.size(poss);
          if (count > 0) {
            this._count = 0;
            this._dfsDefault(node, poss, count);
          }
        }
      };
      CNodePool._dfsDefault = function(pnode, poss, maCount) {
        if (poss[pnode.name]) {
          pnode.setPosition(poss[pnode.name]);
          ++this._count;
          if (this._count >= maCount) return true;
        }
        for (var _i = 0, _a = pnode.children; _i < _a.length; _i++) {
          var c = _a[_i];
          if (this._dfsDefault(c, poss, maCount)) return true;
        }
      };
      CNodePool.size = function(obj) {
        var k = this.getKey(obj);
        var v = this._pool[k];
        return v && v.p && v.p.size() || 0;
      };
      CNodePool.clear = function(obj) {
        if (!obj) {
          for (var k_1 in this._pool) this.clear(k_1);
          return;
        }
        var k = this.getKey(obj);
        var v = this._pool[k];
        if (v) {
          v.p && v.p.clear();
          v.resFab && v.resFab.decRef();
          delete this._pool[k];
        }
      };
      CNodePool.getPool = function(obj) {
        var k = this.getKey(obj);
        var v = this._pool[k];
        return v ? v.p : null;
      };
      CNodePool.getResPath = function(obj) {
        var k = this.getKey(obj);
        var v = this._pool[k];
        return v ? v.resPath : "";
      };
      CNodePool.getDefault = function(obj) {
        var k = this.getKey(obj);
        var v = this._pool[k];
        return v ? v.default : "";
      };
      CNodePool.setDefault = function(obj, def) {
        var k = this.getKey(obj);
        var v = this._pool[k];
        v && (v.default = def);
      };
      CNodePool.getKey = function(obj) {
        if (!obj) return "default";
        if ("string" === typeof obj) return obj;
        if (obj._uuid) return obj._uuid;
        if (obj._name) return obj._name;
        return "default";
      };
      CNodePool.defaultSize = 50;
      CNodePool.defaultDelayMS = 50;
      CNodePool._pool = {};
      CNodePool.isStop = false;
      CNodePool._count = 0;
      return CNodePool;
    }();
    exports.CNodePool = CNodePool;
    exports.nodePool = CNodePool;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-res": "PPPB-res",
    "./PPPB-sys": "PPPB-sys",
    "./PPPB-ui": "PPPB-ui",
    "./components/PPPB-UISpriteID": "PPPB-UISpriteID"
  } ],
  "PPPB-open": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e5b282BUeBEiJ1gm/iyW3gO", "PPPB-open");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      NewClass.prototype.$ui_play_root_btn7__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_quick_1.ks.playEffectSound("open_door");
              return [ 4, PPPB_ui_1.ui.playAnimation([ this, "root/root" ], "open", 1, true) ];

             case 1:
              _a.sent();
              PPPB_ui_1.ui.destroy(this);
              PPPB_ui_1.ui.doModelResolve(this);
              return [ 2 ];
            }
          });
        });
      };
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-panelAni": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "16622XqSjFB4YO33aYnMLXo", "PPPB-panelAni");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../PPPB-action");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_UComponent_1 = require("./PPPB-UComponent");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu;
    var cname = "panelAni";
    var UPanelAni2 = function(_super) {
      __extends(UPanelAni2, _super);
      function UPanelAni2() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.isDestroy = true;
        _this.target = _this.node;
        _this.isLandscape = false;
        _this.isAni = false;
        _this.isAniOut = false;
        return _this;
      }
      UPanelAni2_1 = UPanelAni2;
      UPanelAni2.prototype.onLoaded = function() {
        var _this = this;
        var w = PPPB_ui_1.ui.getComponent(this, cc.Widget);
        if (w) {
          w.updateAlignment();
          w.enabled = false;
        }
        this.isDestroy ? PPPB_ui_1.ui.setDestroyer(this, this.aniOut.bind(this)) : PPPB_ui_1.ui.setAttrSetter(this, "active", function(v) {
          v ? _this.node.active = v : _this.aniOut();
        });
      };
      UPanelAni2.prototype.onShow = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.aniIn();
            return [ 2 ];
          });
        });
      };
      UPanelAni2.prototype.tryClose = function() {
        for (var _i = 0, _a = this.node._components; _i < _a.length; _i++) {
          var c = _a[_i];
          if (c instanceof PPPB_UComponent_1.UComponent) {
            if (c instanceof UPanelAni2_1) continue;
            return c.tryClose();
          }
        }
      };
      UPanelAni2.prototype.aniIn = function() {
        return __awaiter(this, void 0, void 0, function() {
          var ps;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.isAni = true;
              this.isLandscape ? this.target.x = this.target.width : this.target.y = -this.target.height;
              ps = [];
              ps.push(PPPB_action_1.ACT(this.target).moveTo(.2, 0, 0, cc.easeIn(.3)).act(1));
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              if (!this.isValid || !this.node.isValid) return [ 2 ];
              this.isAni = false;
              return [ 2 ];
            }
          });
        });
      };
      UPanelAni2.prototype.aniOut = function() {
        return __awaiter(this, void 0, void 0, function() {
          var x, y, ps;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.isAniOut) return [ 2 ];
              this.isAniOut = true;
              this.isAni = true;
              x = 0, y = 0;
              this.isLandscape ? x = this.target.width : y = -this.target.height;
              if (!(this.node.active && this.node.activeInHierarchy)) return [ 3, 2 ];
              this.node.stopAllActions();
              ps = [];
              ps.push(PPPB_action_1.ACT(this.target).moveTo(.2, x, y, cc.easeIn(.3)).act(1));
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              if (!this.isValid || !this.node.isValid) return [ 2 ];
              this.isAni = false;
              this.isAniOut = false;
              if (this.isDestroy) {
                this.node.active = false;
                this.node.destroy();
              } else this.node.active = false;
              return [ 2 ];
            }
          });
        });
      };
      var UPanelAni2_1;
      __decorate([ property() ], UPanelAni2.prototype, "isDestroy", void 0);
      __decorate([ property(cc.Node) ], UPanelAni2.prototype, "target", void 0);
      __decorate([ property() ], UPanelAni2.prototype, "isLandscape", void 0);
      UPanelAni2 = UPanelAni2_1 = __decorate([ ccclass, menu("PPPB/ui/" + cname) ], UPanelAni2);
      return UPanelAni2;
    }(PPPB_UComponent_1.UComponent);
    exports.default = UPanelAni2;
    cc._RF.pop();
  }, {
    "../PPPB-action": "PPPB-action",
    "../PPPB-ui": "PPPB-ui",
    "./PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-pool": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ae24cRhXmdKjZkp2u243itw", "PPPB-pool");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.pool = exports.CAutoPool = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_res_1 = require("./PPPB-res");
    var PPPB_sys_1 = require("./PPPB-sys");
    var PPPB_ui_1 = require("./PPPB-ui");
    var PoolType;
    (function(PoolType) {
      PoolType[PoolType["unquire"] = 1] = "unquire";
      PoolType[PoolType["resource"] = 2] = "resource";
    })(PoolType || (PoolType = {}));
    var CAutoPool = function() {
      function CAutoPool() {}
      Object.defineProperty(CAutoPool, "defaultTimeout", {
        get: function() {
          if (PPPB_sys_1.SYS.debugMode) return this.debugTimeout;
          return this._defaultTimeout;
        },
        set: function(v) {
          PPPB_sys_1.SYS.debugMode && (this.debugTimeout = v);
          this._defaultTimeout = v;
        },
        enumerable: false,
        configurable: true
      });
      CAutoPool.init = function() {};
      CAutoPool.reset = function() {
        this.stop();
        this._filters = [];
        this._caches = {};
      };
      CAutoPool.setDefaultTimeout = function(timeMS) {
        this.defaultTimeout = timeMS;
      };
      CAutoPool.addFilter = function() {
        var _this = this;
        var names = [];
        for (var _i = 0; _i < arguments.length; _i++) names[_i] = arguments[_i];
        names.forEach(function(name) {
          if (-1 == _this._filters.indexOf(name)) {
            _this._filters.push(name);
            console.log("\u8282\u70b9\u7ba1\u7406\u589e\u52a0\u8fc7\u6ee4 ok");
          }
        });
      };
      CAutoPool.removeFilter = function() {
        var _this = this;
        var names = [];
        for (var _i = 0; _i < arguments.length; _i++) names[_i] = arguments[_i];
        names.forEach(function(name) {
          console.log("\u8282\u70b9\u7ba1\u7406\u79fb\u9664\u8fc7\u6ee4:", name || "all");
          name ? delete _this._filters[name] : _this._filters = [];
        });
      };
      CAutoPool.add = function(obj, type, timeLenMS) {
        void 0 === type && (type = PoolType.unquire);
        type === PoolType.unquire || type === PoolType["unquire"] ? this.addUnquire(obj, timeLenMS) : type !== PoolType.resource && type !== PoolType["resource"] || this.addRes(obj, timeLenMS);
      };
      CAutoPool.remove = function(obj, type) {
        void 0 === type && (type = PoolType.unquire);
        type === PoolType.unquire || type === PoolType["unquire"] ? obj instanceof cc.Node && this.removeUnquire(obj) : type !== PoolType.resource && type !== PoolType["resource"] || "string" === typeof obj && this.removeRes(obj);
      };
      CAutoPool.addUnquire = function(obj, timeLenMS) {
        if (obj instanceof cc.Node) {
          var name = PPPB_ui_1.ui.getUnquireName(obj);
          if (!name) return;
          if (-1 != this._filters.indexOf(name)) return;
          console.log("\u66f4\u65b0\u8282\u70b9\u7ba1\u7406:", name, timeLenMS);
          var t = PPPB_lib_1._.now();
          for (var k in this._caches) {
            var v = this._caches[k];
            if (v.obj === obj) {
              delete this._caches[k];
              break;
            }
          }
          this._caches[t] = {
            obj: obj
          };
          void 0 != timeLenMS && (this._caches[t].timeLenMS = timeLenMS);
        }
      };
      CAutoPool.addRes = function(obj, timeLenMS) {
        if ("string" === typeof obj) {
          if (!PPPB_res_1.res._caches.resources[obj]) return;
          if (-1 != this._filters.indexOf(obj)) return;
          console.log("\u66f4\u65b0\u8d44\u6e90\u7ba1\u7406:", obj, timeLenMS);
          var t = PPPB_lib_1._.now();
          for (var k in this._caches) {
            var v = this._caches[k];
            if (v.obj === obj) {
              delete this._caches[k];
              break;
            }
          }
          this._caches[t] = {
            obj: obj
          };
          void 0 != timeLenMS && (this._caches[t].timeLenMS = timeLenMS);
        }
      };
      CAutoPool.removeUnquire = function(obj) {
        var name = PPPB_ui_1.ui.getUnquireName(obj);
        if (!name) return;
        console.log("\u79fb\u51fa\u8282\u70b9\u7ba1\u7406:", name);
        for (var k in this._caches) {
          var v = this._caches[k];
          if (!v) continue;
          if (v.obj === obj) {
            delete this._caches[k];
            break;
          }
        }
      };
      CAutoPool.removeRes = function(obj) {
        console.log("\u79fb\u51fa\u8d44\u6e90\u7ba1\u7406:", obj);
        for (var k in this._caches) {
          var v = this._caches[k];
          if (!v) continue;
          if (v.obj === obj) {
            delete this._caches[k];
            break;
          }
        }
      };
      CAutoPool.start = function() {
        this.stop();
        console.log("\u8282\u70b9\u7ba1\u7406\u542f\u52a8...");
        this._timeKey = setInterval(this.refreshNode.bind(this), 1e4);
      };
      CAutoPool.stop = function() {
        console.log("\u8282\u70b9\u7ba1\u7406\u505c\u6b62...");
        this._timeKey && clearInterval(this._timeKey);
        this._timeKey = void 0;
      };
      CAutoPool.refreshNode = function() {
        try {
          var now = PPPB_lib_1._.now();
          for (var k in this._caches) {
            var v = this._caches[k];
            if (!v || !v.obj || !v.obj.isValid) {
              delete this._caches[k];
              continue;
            }
            if (v.obj instanceof cc.Node) {
              var d = v.obj;
              if (d.active) continue;
              var timeLenMS = void 0 != v.timeLenMS ? v.timeLenMS : this.defaultTimeout;
              var pass = now - Number(k);
              if (pass > timeLenMS) {
                console.log("\u8282\u70b9\u5220\u9664:", PPPB_ui_1.ui.getUnquireName(d), timeLenMS);
                PPPB_ui_1.ui.resetUnquire(d);
                PPPB_res_1.res.releasePrefab(d);
                d.destroy();
                delete this._caches[k];
                var info = PPPB_res_1.res.getPathByUuid(d);
                info && PPPB_res_1.res.releasePrefabDepsEX(info.p);
              }
            } else PPPB_res_1.res.release(v.obj);
          }
        } catch (error) {
          console.log("ERROR", error);
        }
      };
      CAutoPool.debugTimeout = 5e3;
      CAutoPool._defaultTimeout = 6e4;
      CAutoPool._caches = {};
      CAutoPool._filters = [];
      return CAutoPool;
    }();
    exports.CAutoPool = CAutoPool;
    exports.pool = CAutoPool;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-res": "PPPB-res",
    "./PPPB-sys": "PPPB-sys",
    "./PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-quick": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "0ef89QXi8BFqL8YchQ3hNTt", "PPPB-quick");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.ks = exports.CQuick = void 0;
    var PPPB_do_1 = require("../framework-cocos/PPPB-do");
    var PPPB_ui_1 = require("../framework-cocos/PPPB-ui");
    var PPPB_audio_1 = require("../framework-cocos/PPPB-audio");
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_audioPath_1 = require("./config/PPPB-audioPath");
    var PPPB_gameSettings_1 = require("./PPPB-gameSettings");
    var PPPB_config_1 = require("../PPPB-config");
    var PPPB_sys_1 = require("../framework-cocos/PPPB-sys");
    var PPPB_betConfig_1 = require("./config/PPPB-betConfig");
    var CQuick = function() {
      function CQuick() {}
      Object.defineProperty(CQuick, "rate", {
        get: function() {
          return this._rate;
        },
        set: function(value) {
          this._rate = value || 1;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CQuick, "BgmAudioHandler", {
        set: function(v) {
          this.bgmAudioHandler = v;
        },
        enumerable: false,
        configurable: true
      });
      CQuick.SetVolume = function() {
        if (!this.bgmAudioHandler) return;
        this.bgmAudioHandler.SetVolume();
      };
      CQuick.MuteAllBGM = function() {
        if (!this.bgmAudioHandler) return;
        this.bgmAudioHandler.MuteAllBGM();
      };
      CQuick.FadeOffBGM = function(dur) {
        if (!this.bgmAudioHandler) return;
        this.bgmAudioHandler.FadeOffBGM(dur);
      };
      CQuick.GetBGMVolume = function() {
        if (CQuick.isMobile) return PPPB_gameSettings_1.default.isSoundMute ? 0 : 1;
        return (PPPB_gameSettings_1.default.isBGMMute ? 0 : 1) * PPPB_gameSettings_1.default.gameVolume;
      };
      CQuick.GetSFXVolume = function() {
        if (CQuick.isMobile) return PPPB_gameSettings_1.default.isSoundMute ? 0 : 1;
        return (PPPB_gameSettings_1.default.isSFXMute ? 0 : 1) * PPPB_gameSettings_1.default.gameVolume;
      };
      Object.defineProperty(CQuick, "isMobile", {
        get: function() {
          return PPPB_lib_1.cc1.sys.isMobile;
        },
        enumerable: false,
        configurable: true
      });
      CQuick.playEffectSoundByClip = function(clip, volume, loop) {
        void 0 === volume && (volume = 1);
        if (this.isInSceneLoad) return;
        PPPB_audio_1.audio.playSFX(clip, volume, false);
      };
      CQuick.playEffectSound = function(effect, loop) {
        void 0 === loop && (loop = false);
        return __awaiter(this, void 0, void 0, function() {
          var path;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (this.isInSceneLoad) return [ 2 ];
              path = "resources/" + PPPB_audioPath_1.audioPath.SOUND2 + effect;
              return [ 4, PPPB_audio_1.audio.playSound(path, this.GetSFXVolume(), loop) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CQuick.pushEffectSound = function() {
        var _this = this;
        var sound = [];
        for (var _i = 0; _i < arguments.length; _i++) sound[_i] = arguments[_i];
        sound.forEach(function(s) {
          var path = PPPB_audioPath_1.audioPath.SOUND2 + s;
          _this.playSounds(path);
        });
      };
      CQuick.playEffectSoundOnce = function(effect) {
        return __awaiter(this, void 0, void 0, function() {
          var path;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (CQuick.sfxPlayList[effect]) return [ 2 ];
              CQuick.sfxPlayList[effect] = 1;
              path = "resources/" + PPPB_audioPath_1.audioPath.SOUND2 + effect;
              return [ 4, PPPB_audio_1.audio.playSound(path, this.GetSFXVolume(), false) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CQuick.UnregisterSFXLimit = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            CQuick.sfxPlayList = {};
            return [ 2 ];
          });
        });
      };
      CQuick.playSounds = function() {
        var _this = this;
        var sound = [];
        for (var _i = 0; _i < arguments.length; _i++) sound[_i] = arguments[_i];
        sound.forEach(function(s) {
          if (!s) return;
          _this._soundQueue.add(_this.playOneSound.bind(_this, s));
        });
      };
      CQuick.playOneSound = function(s, effect) {
        return __awaiter(this, void 0, void 0, function() {
          var audioID, time;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              effect && (s = PPPB_audioPath_1.audioPath.SOUND2 + s);
              return [ 4, PPPB_audio_1.audio.playSound(s, this.GetSFXVolume()) ];

             case 1:
              audioID = _a.sent();
              time = cc.audioEngine.getDuration(audioID);
              return [ 4, PPPB_lib_1._.sleep(1e3 * time) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      CQuick.duration = function(obj) {
        var anim = PPPB_ui_1.ui.getComponent(obj, cc.Animation);
        return 1e3 * anim.defaultClip.duration;
      };
      CQuick.localSave = function(key, data) {
        if (void 0 == data) return cc.sys.localStorage.getItem(key);
        "object" == typeof data && (data = PPPB_lib_1._.serialize(data));
        cc.sys.localStorage.setItem(key, data);
        console.log("localSave", key, data);
      };
      CQuick.getLocalSave = function(key, needDes) {
        void 0 === needDes && (needDes = false);
        var data = cc.sys.localStorage.getItem(key);
        needDes && (data = PPPB_lib_1._.unserialize(data));
        return data;
      };
      CQuick.tips = function(tips) {
        tips && PPPB_event_1.Events.publish("game", "tips", "", tips);
      };
      CQuick.paseFloat = function(num, len) {
        void 0 === len && (len = 2);
        return parseFloat(num.toFixed(len));
      };
      Object.defineProperty(CQuick, "isLandscape", {
        get: function() {
          var rect = cc.game.canvas.getBoundingClientRect();
          return rect.width > rect.height;
        },
        enumerable: false,
        configurable: true
      });
      CQuick.getWinSize = function() {
        var pix = cc.view.getFrameSize();
        var designResolution = cc.view.getDesignResolutionSize();
        var ds = designResolution.width / designResolution.height;
        var dv = pix.width / pix.height;
        var size = cc.size(cc.winSize);
        dv > ds ? size.width = dv * size.height : size.height = size.width / dv;
        return size;
      };
      CQuick.SelectCountingStartSFX = function(isFreeGame) {
        if (!this.bgmAudioHandler) return "";
        var countStartSFX = this.bgmAudioHandler.SelectCountingStartSFX(isFreeGame);
        return countStartSFX;
      };
      Object.defineProperty(CQuick, "isSingleGame", {
        get: function() {
          return PPPB_config_1.mainConfig.singleMode;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CQuick, "isLocalHost", {
        get: function() {
          var _a;
          return "localhost" == (null === (_a = null === window || void 0 === window ? void 0 : window.location) || void 0 === _a ? void 0 : _a.hostname);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CQuick, "isOldUser", {
        get: function() {
          return !!this.getLocalSave(PPPB_sys_1.sys.gameType + "old");
        },
        enumerable: false,
        configurable: true
      });
      CQuick.systips = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.doModelUI("prefab/ui/systips", data) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CQuick.reconnect = function(func) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.doModelUI("prefab/ui/reconnection", func) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CQuick.backgame = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, PPPB_ui_1.ui.create("prefab/ui/backgame") ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(50) ];

             case 2:
              _a.sent();
              cc.game.pause();
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(CQuick, "symbol", {
        get: function() {
          return (PPPB_betConfig_1.Betdx[PPPB_sys_1.sys.currency] || PPPB_betConfig_1.Betdx["USD"]).symbol;
        },
        enumerable: false,
        configurable: true
      });
      CQuick.isInSceneLoad = false;
      CQuick._rate = 1;
      CQuick.bgmAudioHandler = null;
      CQuick.launcherState = 0;
      CQuick.sfxPlayList = {};
      CQuick._soundQueue = new PPPB_do_1.CDoQueue();
      return CQuick;
    }();
    exports.CQuick = CQuick;
    exports.ks = CQuick;
    cc._RF.pop();
  }, {
    "../PPPB-config": "PPPB-config",
    "../framework-cocos/PPPB-audio": "PPPB-audio",
    "../framework-cocos/PPPB-do": "PPPB-do",
    "../framework-cocos/PPPB-sys": "PPPB-sys",
    "../framework-cocos/PPPB-ui": "PPPB-ui",
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-gameSettings": "PPPB-gameSettings",
    "./config/PPPB-audioPath": "PPPB-audioPath",
    "./config/PPPB-betConfig": "PPPB-betConfig"
  } ],
  "PPPB-randConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "12642g2TSBCcb1nR9jcDT1d", "PPPB-randConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.cardrand = exports.combination = void 0;
    exports.combination = {
      probability: [ 40, 25, 15, 10, 7, 3 ],
      1: [ 1, 1, 1, 1, 1 ],
      2: [ 1, 1, 1, 2 ],
      3: [ 1, 1, 3 ],
      4: [ 1, 2, 2 ],
      5: [ 1, 4 ],
      6: [ 2, 3 ]
    };
    exports.cardrand = {
      normal: 90,
      wild: 6,
      scatter: 4
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-reconnection": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "09969nn7X9FHJmxNN0RKJT7", "PPPB-reconnection");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../framework-cocos/components/PPPB-UComponent");
    var PPPB_language_1 = require("../framework-cocos/PPPB-language");
    var PPPB_ui_1 = require("../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var ReConnection = function(_super) {
      __extends(ReConnection, _super);
      function ReConnection() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._callback = null;
        _this._count = 1;
        return _this;
      }
      ReConnection.prototype.init = function(callback) {
        this._callback = callback;
        PPPB_ui_1.ui.getNode([ this, "bg" ]).opacity = 0;
        this._count = 1;
        this.connect();
      };
      ReConnection.prototype.showBg = function(show) {
        if (!PPPB_ui_1.ui.isValid(this)) return;
        var bg = PPPB_ui_1.ui.getNode([ this, "bg" ]);
        show ? PPPB_action_1.ACT(bg).fadeIn(.3).act() : PPPB_action_1.ACT(bg).fadeOut(.3).act();
      };
      ReConnection.prototype.updateTxt = function() {
        var _this = this;
        this.showBg(true);
        PPPB_lib_1._.sleep(3e3).then(function() {
          return _this.showBg(false);
        });
        PPPB_ui_1.ui.setUIDataValueByPath(this, "bg/tips", PPPB_language_1.language.getText("General.RetryNetwork") + PPPB_language_1.language.formatText("RetryHandler.Times", this._count++));
      };
      ReConnection.prototype.connect = function() {
        return __awaiter(this, void 0, void 0, function() {
          var r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.updateTxt();
              return [ 4, this._callback() ];

             case 1:
              r = _a.sent();
              if (r) if (r.err) PPPB_lib_1._.sleep(3e3).then(function() {
                if (_this._count >= 4) {
                  PPPB_ui_1.ui.doModelResolve(_this, {
                    success: false,
                    result: r
                  });
                  PPPB_ui_1.ui.destroy(_this);
                } else _this.connect();
              }); else {
                PPPB_ui_1.ui.doModelResolve(this, {
                  success: true,
                  result: r
                });
                PPPB_ui_1.ui.destroy(this);
              }
              return [ 2 ];
            }
          });
        });
      };
      ReConnection = __decorate([ ccclass ], ReConnection);
      return ReConnection;
    }(PPPB_UComponent_1.UComponent);
    exports.default = ReConnection;
    cc._RF.pop();
  }, {
    "../framework-cocos/PPPB-action": "PPPB-action",
    "../framework-cocos/PPPB-language": "PPPB-language",
    "../framework-cocos/PPPB-ui": "PPPB-ui",
    "../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-res": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "664c55AkYFHoo3dqY4T2ysC", "PPPB-res");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.res = exports.CRes = exports.AB_URL_START = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_sys_1 = require("./PPPB-sys");
    var PPPB_ui_1 = require("./PPPB-ui");
    exports.AB_URL_START = "ab:";
    var CRes = function() {
      function CRes() {}
      CRes.init = function() {
        this.reset();
      };
      CRes.reset = function() {
        this._caches = {
          resources: {},
          prefabs: {},
          ani: {},
          scene: {},
          music: {},
          prefabExDeps: {}
        };
        this._pathsMap = {};
        this._aniPath = [];
        this._autoRelease = {};
        this.stopGC();
      };
      Object.defineProperty(CRes, "bundleResRoot", {
        get: function() {
          return this._bundleResRoot;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CRes, "bundleName", {
        get: function() {
          return this._bundleName;
        },
        enumerable: false,
        configurable: true
      });
      CRes.initGame = function(bundleName) {
        this._bundleResRoot = "" + exports.AB_URL_START + bundleName + "/resources/";
        this._bundleName = bundleName;
      };
      CRes.URL = function(url) {
        return url;
      };
      CRes.abURL = function(url) {
        this.bundleResRoot && !url.startsWith(exports.AB_URL_START) && (url = this.bundleResRoot + url);
        if (!url.startsWith(exports.AB_URL_START)) return this.URL(url);
        var slen = exports.AB_URL_START.length;
        var stG = url.indexOf("/", slen);
        if (-1 === stG) return url;
        return url.substring(stG + 1);
      };
      CRes.raw = function(url, md5) {
        url.startsWith("resources/") || (url = "resources/" + this.URL(url));
        var p = cc.assetManager._transform({
          path: cc.path.changeExtname(url.substr(10)),
          bundle: cc.AssetManager.BuiltinBundleName.RESOURCES,
          __isNative__: true,
          ext: cc.path.extname(url)
        });
        if (this.isBuildMD5 && md5) {
          var ext = PPPB_lib_1._.parsePath(p).ext;
          return p.replace("." + ext, "." + md5 + "." + ext);
        }
        return p;
      };
      CRes.release = function(asset) {
        var _this = this;
        var _a, _b;
        if (Array.isArray(asset)) {
          asset.forEach(function(e) {
            return _this.release(e);
          });
          return;
        }
        "string" === typeof asset && (asset = this.URL(asset));
        if ("string" === typeof asset) {
          var c = this._caches.prefabs[asset];
          if (c) return this.releasePrefab(asset);
          c = this._caches.ani[asset];
          if (c) return this.releaseAni(asset);
          c = null === (_a = this._caches.music[asset]) || void 0 === _a ? void 0 : _a.d;
          if (c) delete this._caches.music[asset]; else {
            c = null === (_b = this._caches.resources[asset]) || void 0 === _b ? void 0 : _b.d;
            c && delete this._caches.resources[asset];
          }
          c && (asset = c);
        }
        cc.assetManager.releaseAsset(asset);
      };
      CRes._loadingWait = function(url, cache) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(cache && this._isLoading[url])) return [ 3, 2 ];
              return [ 4, new Promise(function(reslove, reject) {
                Array.isArray(_this._isLoading[url]) || (_this._isLoading[url] = []);
                _this._isLoading[url].push(reslove);
              }) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              return [ 2 ];
            }
          });
        });
      };
      CRes._loadingOK = function(url) {
        if (this._isLoading[url]) {
          Array.isArray(this._isLoading[url]) && this._isLoading[url].forEach(function(r) {
            return r();
          });
          delete this._isLoading[url];
        }
      };
      CRes.preLoadCaches = function(randTimeMS) {
        var _this = this;
        var ress = [];
        for (var _i = 1; _i < arguments.length; _i++) ress[_i - 1] = arguments[_i];
        var _loop_1 = function(paths, type) {
          var t = PPPB_lib_1._.rand(10, randTimeMS);
          setTimeout(function() {
            return __awaiter(_this, void 0, void 0, function() {
              var _i, paths_1, url;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  _i = 0, paths_1 = paths;
                  _a.label = 1;

                 case 1:
                  if (!(_i < paths_1.length)) return [ 3, 5 ];
                  url = paths_1[_i];
                  return [ 4, this.loadAsset(url, type, true, void 0, -1) ];

                 case 2:
                  _a.sent();
                  return [ 4, PPPB_lib_1._.sleep(t) ];

                 case 3:
                  _a.sent();
                  _a.label = 4;

                 case 4:
                  _i++;
                  return [ 3, 1 ];

                 case 5:
                  return [ 2 ];
                }
              });
            });
          }, t);
        };
        for (var _a = 0, ress_1 = ress; _a < ress_1.length; _a++) {
          var _b = ress_1[_a], paths = _b[0], type = _b[1];
          _loop_1(paths, type);
        }
      };
      CRes.preLoadDirCaches = function(randTimeMS) {
        var _this = this;
        var ress = [];
        for (var _i = 1; _i < arguments.length; _i++) ress[_i - 1] = arguments[_i];
        var count = 0;
        var _loop_2 = function(path, type) {
          console.log("preLoadDirCaches start", path);
          var urls = this_1.getDirWithPath(path, type);
          count += urls.length;
          var t = PPPB_lib_1._.rand(50, randTimeMS);
          setTimeout(function() {
            return __awaiter(_this, void 0, void 0, function() {
              var _i, urls_1, url;
              return __generator(this, function(_a) {
                switch (_a.label) {
                 case 0:
                  _i = 0, urls_1 = urls;
                  _a.label = 1;

                 case 1:
                  if (!(_i < urls_1.length)) return [ 3, 5 ];
                  url = urls_1[_i];
                  return [ 4, this.loadAsset(url, type, true, void 0, -1) ];

                 case 2:
                  _a.sent();
                  return [ 4, PPPB_lib_1._.sleep(t) ];

                 case 3:
                  _a.sent();
                  _a.label = 4;

                 case 4:
                  _i++;
                  return [ 3, 1 ];

                 case 5:
                  console.log("preLoadDirCaches ok", path);
                  return [ 2 ];
                }
              });
            });
          }, t);
        };
        var this_1 = this;
        for (var _a = 0, ress_2 = ress; _a < ress_2.length; _a++) {
          var _b = ress_2[_a], path = _b[0], type = _b[1];
          _loop_2(path, type);
        }
        return count;
      };
      CRes.getDirWithPath = function(dir, resType) {
        var bundle = this.getBundleByPath(dir);
        var tmps = bundle.getDirWithPath(this.abURL(dir), resType);
        return PPPB_lib_1._.map(tmps, function(v) {
          return v.path;
        });
      };
      CRes.loadAsset = function(path, type, cache, cb, skip) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var url, cacheRes;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              url = this.URL(path);
              if (!(cache && this._isLoading[url])) return [ 3, 2 ];
              return [ 4, this._loadingWait(url, cache) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              cacheRes = this.getCache(url);
              if (cacheRes) {
                cb && cb(null, cacheRes, url);
                return [ 2, cacheRes ];
              }
              this._isLoading[url] = true;
              return [ 4, new Promise(function(resolve, reject) {
                false;
                var bundle = _this.getBundleByPath(path);
                bundle.load(_this.abURL(url), type, void 0, function(err, data) {
                  err || cache && _this.cacheData(url, data, skip);
                  _this._loadingOK(url);
                  cb && cb(err, data, url);
                  resolve(err ? null : data);
                });
              }) ];

             case 3:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadAssetDir = function(path, type, cache, cb) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                false;
                var p = _this.URL(path);
                var bundle = _this.getBundleByPath(path);
                bundle.loadDir(_this.abURL(p), type, void 0, function(err, data) {
                  var urls = _this.getDirWithPath(p, type);
                  cb && cb(err, data, urls);
                  if (err) resolve([]); else {
                    cache && urls.forEach(function(url, i) {
                      data[i] && _this.cacheData(url, data[i]);
                    });
                    resolve(data);
                  }
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadResAB = function(path, cache, cb, skip) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.loadRes(exports.AB_URL_START + path, cache, cb, skip) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadRes = function(path, cache, cb, skip) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var url, cacheRes;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              url = this.URL(path);
              if (!(cache && this._isLoading[url])) return [ 3, 2 ];
              return [ 4, this._loadingWait(url, cache) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              cacheRes = this.getCache(url);
              if (cacheRes) {
                cb && cb(null, cacheRes);
                return [ 2, cacheRes ];
              }
              this._isLoading[url] = true;
              return [ 4, new Promise(function(resolve, reject) {
                false;
                var bundle = _this.getBundleByPath(url);
                bundle.load(_this.abURL(url), function(err, data) {
                  err || cache && _this.cacheData(url, data, skip);
                  _this._loadingOK(url);
                  cb && cb(err, data);
                  if (err) {
                    console.log(PPPB_lib_1._.logger(), err);
                    resolve(null);
                  } else resolve(data);
                });
              }) ];

             case 3:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadResDir = function(path, cache, cb, skip) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var urls, i, url;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              urls = this.getDirWithPath(this.URL(path), void 0);
              for (i = 0; i < urls.length; i++) {
                url = urls[i];
                this._isLoading[url] = true;
              }
              return [ 4, new Promise(function(resolve, reject) {
                false;
                var bundle = _this.getBundleByPath(path);
                bundle.loadDir(_this.abURL(path), function(err, data) {
                  !err && cache && urls.forEach(function(url, i) {
                    data[i] && _this.cacheData(url, data[i], skip);
                  });
                  urls.forEach(function(url) {
                    return _this._loadingOK(url);
                  });
                  cb && cb(err, data);
                  resolve(err ? null : data);
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadJsonFromDir = function(path, cache, cb) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var urls, _i, urls_2, url;
          return __generator(this, function(_a) {
            urls = this.getDirWithPath(this.URL(path), void 0);
            for (_i = 0, urls_2 = urls; _i < urls_2.length; _i++) {
              url = urls_2[_i];
              console.log("found url" + url);
            }
            return [ 2 ];
          });
        });
      };
      CRes.loadJson = function(url, cache, cb) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var ret;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.loadRes(url, cache, cb) ];

             case 1:
              ret = _a.sent();
              if (ret) return [ 2, ret.json ];
              return [ 2, ret ];
            }
          });
        });
      };
      CRes.loadRemoteTexture = function(url, cache, cb) {
        void 0 === cache && (cache = true);
        return __awaiter(this, void 0, Promise, function() {
          var cacheRes;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              cacheRes = this.getCache(url);
              if (cacheRes) {
                cb && cb(null, cacheRes);
                return [ 2, cacheRes ];
              }
              return [ 4, new Promise(function(resolve, reject) {
                cc.assetManager.loadRemote(url, function(err, data) {
                  cb && cb(err, data);
                  if (err) {
                    console.log(PPPB_lib_1._.logger(), err);
                    resolve(null);
                  } else {
                    cache && _this.cacheData(url, data);
                    resolve(data);
                  }
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadRemoteImage = function(url, cb) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                if (url) {
                  var image_1 = new Image();
                  image_1.src = url;
                  image_1.crossOrigin = "Anonymous";
                  image_1.onload = function() {
                    var texture = new cc.Texture2D();
                    texture.initWithElement(image_1);
                    cb && cb(null, texture);
                    resolve(texture);
                  };
                }
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.preloadScene = function(path, cache) {
        void 0 === cache && (cache = false);
        return __awaiter(this, void 0, void 0, function() {
          var url;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(PPPB_lib_1._.logger(), "preloadScene path : " + path);
              url = this.URL(path);
              return [ 4, new Promise(function(resolve, reject) {
                cc.director.preloadScene(url, void 0, function(err) {
                  if (err) {
                    console.log(PPPB_lib_1._.logger(), err);
                    resolve(false);
                  } else {
                    var bundle = cc.assetManager.bundles.find(function(bundle, key) {
                      return !!bundle.getSceneInfo(path);
                    });
                    var data = bundle.getSceneInfo(url);
                    data && (data = data.uuid);
                    cache && _this.cacheData(url, data, void 0, cc.SceneAsset);
                    resolve(true);
                  }
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.loadScene = function(path) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(PPPB_lib_1._.logger(), "loadScene path : " + path);
              return [ 4, new Promise(function(resolve, reject) {
                cc.director.loadScene(_this.URL(path), function() {
                  resolve(true);
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.cacheData = function(url, data, skip, type) {
        false;
        void 0 == skip && (skip = this._autoRelease[url]);
        void 0 == skip && (skip = 2);
        var caches = skip < 0 ? this._fixed : this._caches;
        void 0 == type && (type = data);
        if (type instanceof cc.Prefab || type === cc.Prefab) if (this.checkAni(url)) {
          if (!caches.ani[url]) {
            console.log("\u7f13\u5b58\u52a8\u753b", url);
            caches.ani[url] = {
              d: data,
              f: [],
              skip: skip
            };
          }
        } else caches.prefabs[url] = {
          d: data,
          skip: skip
        }; else if (type instanceof cc.JsonAsset || type === cc.JsonAsset) ; else if (type instanceof cc.SceneAsset || type === cc.SceneAsset) this._caches.scene[url] = data; else if (type instanceof cc.AudioClip || type === cc.AudioClip) caches.music[url] = {
          d: data,
          skip: data.duration + 10 * skip
        }; else {
          skip < 0 && data.addRef();
          caches.resources[url] = {
            d: data,
            skip: skip
          };
        }
      };
      CRes.getCache = function(url) {
        var cacheRes;
        if (this._fixed.prefabs[url]) cacheRes = this._fixed.prefabs[url]; else if (this._fixed.ani[url]) cacheRes = this._fixed.ani[url]; else if (this._fixed.music[url]) cacheRes = this._fixed.music[url]; else if (this._fixed.resources[url]) cacheRes = this._fixed.resources[url]; else if (this._caches.prefabs[url]) {
          cacheRes = this._caches.prefabs[url];
          cacheRes.skip && cacheRes.skip >= 0 && (cacheRes.skip += 2);
        } else if (this._caches.ani[url]) {
          cacheRes = this._caches.ani[url];
          cacheRes.skip && cacheRes.skip >= 0 && (cacheRes.skip += 1);
        } else if (this._caches.music[url]) {
          cacheRes = this._caches.music[url];
          cacheRes.skip = cacheRes.d.duration + 20;
        } else this._caches.resources[url] && (cacheRes = this._caches.resources[url]);
        cacheRes = cacheRes && (cacheRes.d || cacheRes);
        if (cacheRes && cacheRes.isValid) return cacheRes;
      };
      CRes._subDeps = function(data) {
        return 0;
        var count;
        var deps;
        var _i, deps_1;
        var p;
        var asset;
      };
      CRes.checkAni = function(path) {
        path = this.URL(path);
        for (var _i = 0, _a = this._aniPath; _i < _a.length; _i++) {
          var p = _a[_i];
          if ("string" == typeof p) {
            var up = this.URL(p);
            if (up == p) return true;
          } else if (p.test(path)) return true;
        }
        return false;
      };
      CRes.addAniPath = function(path) {
        -1 == this._aniPath.indexOf(path) && this._aniPath.push(path);
      };
      CRes.releaseAni = function(path) {
        var rcount = 0;
        if (!path) return rcount;
        path = this.URL(path);
        var ani = this._caches.ani[path];
        if (!ani) return rcount;
        var rcount2 = this._subDeps(ani.d);
        ++rcount;
        cc.assetManager.releaseAsset(ani.d);
        delete this._caches.ani[path];
        rcount && console.log("\u91ca\u653e\u52a8\u753b " + path);
        return rcount;
      };
      CRes.releasePrefab = function(from) {
        var paths = [];
        for (var _i = 1; _i < arguments.length; _i++) paths[_i - 1] = arguments[_i];
        var path = from instanceof cc.Node ? from.uuid : from;
        if (!path) return;
        path = this.URL(path);
        var rcount = 0, rcount2 = 0;
        var stack = [];
        stack.push(path);
        paths.length && stack.push.apply(stack, paths);
        while (stack.length) {
          var p = stack.pop();
          var lastChar = p[p.length - 1];
          p = this.URL(p);
          if ("/" === lastChar || "*" === lastChar) {
            for (var k in this._caches.prefabs) k.substr(0, p.length - 1) === p.substr(0, p.length - 1) && stack.push(k);
            continue;
          }
          var prefab = this._caches.prefabs[p];
          if (!prefab) {
            p = this.getPathByUuid(p);
            p && (p = p.p);
            prefab = this._caches.prefabs[p];
          }
          prefab && (prefab = prefab.d);
          if (!prefab) continue;
          rcount2 += this._subDeps(prefab);
          ++rcount;
          cc.assetManager.releaseAsset(prefab);
          delete this._caches.prefabs[p];
        }
        return rcount;
      };
      CRes.releasePrefabDepsEX = function(path) {
        var depsEx = this._caches.prefabExDeps[path];
        if (depsEx) {
          var count = 0;
          for (var _i = 0, depsEx_1 = depsEx; _i < depsEx_1.length; _i++) {
            var dep = depsEx_1[_i];
            if (!dep) continue;
            count += this._subDeps(dep);
            dep.decRef();
          }
          delete this._caches.prefabExDeps[path];
          console.log("\u91ca\u653e\u52a8\u6001\u52a0\u8f7d\u8d44\u6e90:", count);
        }
      };
      CRes.addPathsMap = function(node, path) {
        if (!node || !path) return;
        path = this.URL(path);
        var uuid = node.uuid;
        PPPB_sys_1.sys.log && console.log("\u589e\u52a0\u8282\u70b9=>\u9884\u5236\u4f53\u6620\u5c04", node.name, path);
        this._pathsMap[uuid] = {
          p: path,
          d: node
        };
        if (!this._caches.prefabs[path]) {
          var fabs = this._caches.prefabs;
          for (var k in fabs) {
            var v = fabs[k];
            if (v && v.d && v.d._uuid == path) {
              path = k;
              break;
            }
          }
        }
        if (this._caches.prefabs[path]) {
          var prefab = this._caches.prefabs[path];
          prefab.f || (prefab.f = []);
          -1 == prefab.f.indexOf(node) && prefab.f.push(node);
        }
      };
      CRes.delPathsMap = function(nodeOrUuid) {
        var uuid = nodeOrUuid instanceof cc.Node ? nodeOrUuid.uuid : nodeOrUuid;
        this._pathsMap[uuid] && delete this._pathsMap[uuid];
      };
      CRes.addResourcesMap = function(node, path) {
        if (!node || !path) return;
        path = this.URL(path);
        PPPB_sys_1.sys.log && console.log("\u589e\u52a0\u8282\u70b9=>\u8d44\u6e90\u6620\u5c04", node.name, path);
        var prefab = this._caches.resources[path];
        if (prefab) {
          prefab.f || (prefab.f = []);
          if (-1 == prefab.f.indexOf(node)) {
            prefab.f.push(node);
            prefab.d.addRef();
          }
        }
      };
      CRes.delResourcesMap = function(node, path) {
        if (!node || !path) return;
        path = this.URL(path);
        PPPB_sys_1.sys.log && console.log("\u5220\u9664\u8282\u70b9=>\u8d44\u6e90\u6620\u5c04", node.name, path);
        var prefab = this._caches.resources[path];
        if (prefab && prefab.f) {
          var idx = prefab.f.indexOf(node);
          if (-1 != idx) {
            prefab.f.splice(idx, 1);
            0 == prefab.f.length && delete this._caches.resources[path];
            prefab.d.decRef();
          }
        }
      };
      CRes.getPathByUuid = function(nodeOrUuid) {
        var uuid = nodeOrUuid instanceof cc.Node ? nodeOrUuid.uuid : nodeOrUuid;
        return this._pathsMap[uuid];
      };
      CRes.addAniParentNode = function(uiObj, path, parent) {
        parent || (parent = this.findPrefabNode(uiObj));
        path = this.URL(path);
        var ani = this._caches.ani[path];
        if (!ani) return;
        ani.f || (ani.f = []);
        for (var i = 0; i < ani.f.length; i++) if (ani.f[0] === uiObj) return;
        PPPB_sys_1.sys.log && console.log("\u589e\u52a0\u52a8\u753b\u8d44\u6e90\u4f7f\u7528\u9762\u677f " + path + " ,panel: " + parent.name);
        ani.f.push([ uiObj, parent ]);
      };
      CRes.findPrefabNode = function(uiObj) {
        if (!PPPB_ui_1.ui) return;
        var obj = PPPB_ui_1.ui.getNode(uiObj);
        if (!obj || !obj.parent) return;
        var node = obj.parent;
        while (node) {
          if (node._prefab && node._prefab.root) return node._prefab.root;
          node = node.parent;
        }
      };
      CRes.addPrefabDepsEX = function(sf, now) {
        if (!sf) return;
        var d, node = now;
        for (var i = 0; i <= 3; i++) {
          node = this.findPrefabNode(node);
          d = this.getPathByUuid(node);
          if (d) break;
        }
        if (d) {
          var depsEx = this._caches.prefabExDeps;
          var arr = depsEx[d.p];
          arr || (arr = depsEx[d.p] = []);
          if (-1 == arr.indexOf(sf)) {
            arr.push(sf);
            sf.addRef();
          }
        }
      };
      CRes.setAutoRelease = function(paths, skip, type) {
        void 0 === type && (type = "");
        if ("object" === typeof paths) {
          for (var k in paths) this.setAutoRelease(paths[k], skip);
          return;
        }
        var url = this.URL(paths);
        var cacheRes;
        !this._caches.prefabs[url] || type && "prefab" != type ? !this._caches.ani[url] || type && "ani" != type ? !this._caches.music[url] || type && "music" != type ? !this._caches.resources[url] || type && "resource" != type || (cacheRes = this._caches.resources[url]) : cacheRes = this._caches.music[url] : cacheRes = this._caches.ani[url] : cacheRes = this._caches.prefabs[url];
        var r = cacheRes && cacheRes.d || cacheRes;
        if (r && r.isValid) {
          PPPB_sys_1.sys.log && console.log("\u66f4\u65b0\u8df3\u8fc7 " + url + " " + skip);
          cacheRes.skip = skip;
        }
        this._autoRelease[url] = skip;
      };
      CRes.loadBundle = function(name, onProgress) {
        return __awaiter(this, void 0, Promise, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                var options = {
                  onFileProgress: onProgress
                };
                cc.assetManager.loadBundle(name, options, function(err, bundle) {
                  if (err) {
                    resolve(false);
                    return;
                  }
                  resolve(bundle);
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CRes.isLoadBundle = function(name) {
        return !!cc.assetManager.getBundle(name);
      };
      CRes.getBundle = function(name) {
        return cc.assetManager.getBundle(name);
      };
      CRes.getBundleByPath = function(url) {
        this.bundleResRoot && !url.startsWith(exports.AB_URL_START) && (url = this.bundleResRoot + url);
        if (!url.startsWith(exports.AB_URL_START)) return cc.resources;
        var slen = exports.AB_URL_START.length;
        var stG = url.indexOf("/", slen);
        var abName = url.substring(slen, stG);
        var bundle = cc.assetManager.getBundle(abName);
        !bundle && console.warn("cc.assetManager.getBundle is null", url);
        return bundle;
      };
      CRes.downLoadBundleAllRes = function(target, bundle, onProgress) {
        return __awaiter(this, void 0, void 0, function() {
          var loadOK;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve) {
                var _a, _b, _c;
                var resInfos = Object.keys(null !== (_c = null === (_b = null === (_a = null === bundle || void 0 === bundle ? void 0 : bundle._config) || void 0 === _a ? void 0 : _a.paths) || void 0 === _b ? void 0 : _b._map) && void 0 !== _c ? _c : {});
                var total = Object.keys(resInfos).length;
                var curCount = 0;
                for (var _i = 0, resInfos_1 = resInfos; _i < resInfos_1.length; _i++) {
                  var resKey = resInfos_1[_i];
                  bundle.preload(resKey, cc.Asset, function(curCount, total, item) {}, function(f, items) {
                    if (!resolve) return;
                    if (!PPPB_ui_1.ui.isValid(target)) {
                      resolve(false);
                      resolve = void 0;
                      return;
                    }
                    curCount++;
                    onProgress && onProgress(curCount, total);
                    if (curCount >= total) {
                      resolve(true);
                      resolve = void 0;
                    }
                  });
                }
              }) ];

             case 1:
              loadOK = _a.sent();
              return [ 2, loadOK ];
            }
          });
        });
      };
      CRes.gc = function() {
        var prefab = this._caches.prefabs;
        for (var k in prefab) {
          var v = prefab[k];
          if (v) {
            if (v.skip < 0) continue;
            var isU = PPPB_ui_1.ui.isUnquire(k, true);
            if (isU) {
              v.skip = -2;
              continue;
            }
            if (v.f) {
              for (var i = v.f.length - 1; i >= 0; i--) {
                var node = v.f[i];
                if (node && node.isValid) continue;
                v.f.splice(i, 1);
              }
              v.f.length || (v.f = void 0);
            }
            if (!v.f) {
              if (v.skip && v.skip > 0) {
                --v.skip;
                continue;
              }
              this.releasePrefab(k);
              delete prefab[k];
              this.releasePrefabDepsEX(k);
            }
          } else delete prefab[k];
        }
        var anis = this._caches.ani;
        for (var k in anis) {
          var v = anis[k];
          if (v) {
            if (v.skip < 0) continue;
            if (v.f) {
              for (var i = v.f.length - 1; i >= 0; i--) {
                var _a = v.f[i], aniNode = _a[0], parent = _a[1];
                aniNode && aniNode.isValid && parent && parent.isValid && parent.active || v.f.splice(i, 1);
              }
              v.f.length || (v.f = void 0);
            }
            if (!v.f) {
              if (v.skip && v.skip > 0) {
                --v.skip;
                continue;
              }
              this.releaseAni(k);
              delete anis[k];
            }
          } else delete anis[k];
        }
        var clips = this._caches.music;
        for (var k in clips) {
          var clip = clips[k];
          if (clip) if (clip.skip < 0) {
            cc.assetManager.releaseAsset(clip.d);
            delete clips[k];
          } else clip.skip -= 10; else delete clips[k];
        }
        var ress = this._caches.resources;
        for (var k in ress) {
          var v = ress[k];
          if (v) {
            if (v.f) {
              for (var i = v.f.length - 1; i >= 0; i--) {
                var aniNode = v.f[i];
                if (!aniNode || !aniNode.isValid) {
                  v.f.splice(i, 1);
                  v.d.decRef();
                }
              }
              v.f.length || delete ress[k];
            }
          } else delete ress[k];
        }
        var maps = this._pathsMap;
        for (var k in maps) {
          var v = maps[k];
          if (v && v.d && v.d.isValid) continue;
          PPPB_sys_1.sys.log && console.log("GC\u5220\u9664\u8282\u70b9=>\u9884\u5236\u4f53\u6620\u5c04", k);
          delete this._pathsMap[k];
        }
      };
      CRes.startGC = function() {
        this.stopGC();
        this._gcTimeKey = setInterval(this.gc.bind(this), 1e4);
      };
      CRes.stopGC = function() {
        this._gcTimeKey && clearInterval(this._gcTimeKey);
        this._gcTimeKey = void 0;
      };
      CRes.isBuildMD5 = false;
      CRes._fixed = {
        resources: {},
        prefabs: {},
        ani: {},
        scene: {},
        music: {},
        prefabExDeps: {}
      };
      CRes._caches = {
        resources: {},
        prefabs: {},
        ani: {},
        scene: {},
        music: {},
        prefabExDeps: {}
      };
      CRes._isLoading = {};
      CRes._pathsMap = {};
      CRes._aniPath = [];
      CRes._autoRelease = {};
      CRes._bundleResRoot = "";
      CRes._bundleName = "";
      return CRes;
    }();
    exports.CRes = CRes;
    exports.res = CRes;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-sys": "PPPB-sys",
    "./PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-rpcHandler": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5694bsW16ZHrpcwlrKyJq3Z", "PPPB-rpcHandler");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CRpcHandler = void 0;
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var CRpcHandler = function() {
      function CRpcHandler() {}
      CRpcHandler.$_on_inited = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log(PPPB_lib_1._.logger("INFO"), " CRpcHandler inited");
              return [ 4, PPPB_lib_1._.sleep(200) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      CRpcHandler = __decorate([ PPPB_event_1.EventClass ], CRpcHandler);
      return CRpcHandler;
    }();
    exports.CRpcHandler = CRpcHandler;
    cc._RF.pop();
  }, {
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-rpc": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "3b7435a+NdFVpuqkhnfybxD", "PPPB-rpc");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.RPC = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_auth2_grpc_web_pb_1 = require("../proto/PPPB-auth2_grpc_web_pb");
    var PPPB_auth2_pb_1 = require("../proto/PPPB-auth2_pb");
    var PPPB_sys_1 = require("../framework-cocos/PPPB-sys");
    var PPPB_slotNet_1 = require("./PPPB-slotNet");
    var RPC_MODE;
    (function(RPC_MODE) {
      RPC_MODE[RPC_MODE["NONE"] = 0] = "NONE";
      RPC_MODE[RPC_MODE["DEV"] = 1] = "DEV";
      RPC_MODE[RPC_MODE["GRPC"] = 2] = "GRPC";
      RPC_MODE[RPC_MODE["HTTP"] = 3] = "HTTP";
    })(RPC_MODE || (RPC_MODE = {}));
    var RPC = function() {
      function RPC(proto, serviceHostOrUri, credentials, options) {
        this.serviceHost = "";
        this.devDelayMin = 0;
        this.devDelayMax = 0;
        this.proto = proto;
        this.credentials = credentials || RPC.credentials;
        this.options = options || RPC.options;
        this.setServiceHost(serviceHostOrUri);
      }
      RPC.init = function(host, credentials, options, devDelayMin, devDelayMax, mode) {
        void 0 === devDelayMin && (devDelayMin = 0);
        void 0 === devDelayMax && (devDelayMax = 0);
        void 0 === mode && (mode = RPC.MODE.GRPC);
        host && (this.host = host);
        this.credentials = credentials;
        this.options = options;
        this.delayMin = devDelayMin;
        this.delayMax = devDelayMax;
        this.mode = mode;
        this.set(PPPB_auth2_grpc_web_pb_1.AuthClient, "auth");
      };
      RPC.auth = function(authParam, uid) {
        return __awaiter(this, void 0, void 0, function() {
          var auth, r;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              auth = function() {
                return __awaiter(_this, void 0, void 0, function() {
                  var p, message, r, errCode, ret, k;
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      console.log("----------auth--userInfo: ", this.userInfo);
                      p = PPPB_lib_1._.merge(PPPB_lib_1._.copy(this.userInfoMap[uid] || this.userInfo), authParam, true);
                      console.log("----------auth--req: ", p);
                      message = new PPPB_auth2_pb_1.AuthReq();
                      message.setUid(authParam.uid);
                      p.account && message.setAccount(p.account);
                      p.password && message.setPassword(p.password);
                      p.device && message.setDevice(p.device);
                      p.deviceid && message.setDeviceid(p.deviceid);
                      p.gametype && message.setGametype(p.gametype);
                      p.platform && message.setPlatform(p.platform);
                      p.language && message.setLanguage(p.language);
                      p.email && message.setEmail(p.email);
                      p.phone && message.setPhone(p.phone);
                      p.fcmtoken && message.setFcmtoken(p.fcmtoken);
                      p.ops && message.setOps(p.ops);
                      p.opstoken && message.setOpstoken(p.opstoken);
                      p.opsparams && message.setOpsparams(PPPB_lib_1._.serialize(p.opsparams));
                      p.opt && message.setOpt(p.opt);
                      p.nickname && message.setNickname(p.nickname);
                      p.skin && message.setSkin(p.skin);
                      p.photo && message.setPhoto(p.photo);
                      p.origin && message.setOrigin(p.origin);
                      p.options && message.setOptions(p.options);
                      return [ 4, this.call(PPPB_auth2_grpc_web_pb_1.AuthClient, PPPB_auth2_grpc_web_pb_1.AuthClient.prototype.auth, message, "", function(reason, value) {
                        if (reason) {
                          console.error("-------------------AuthClient.auth()  error-------------");
                          console.error(reason);
                        }
                      }, RPC_MODE.GRPC) ];

                     case 1:
                      r = _a.sent();
                      if (null === r || void 0 === r ? void 0 : r.err) return [ 2, r ];
                      errCode = r.getErrcode();
                      if (errCode) console.warn("-------------------AuthClient.auth()  failed-------------", errCode); else {
                        ret = r.toObject();
                        ret.user.opsparams = PPPB_lib_1._.unserialize(ret.user.opsparams);
                        ret.user.options = PPPB_lib_1._.unserialize(ret.user.options);
                        console.log("----------auth--ret: ", ret);
                        PPPB_lib_1._.merge(this.userInfo, ret.user, true);
                        for (k in ret) "user" !== k && (this.userInfo[k] = ret[k]);
                        console.log("----------auth--ok userInfo: ", this.userInfo);
                        this.userInfoMap[ret.user.uid] = {
                          userInfo: PPPB_lib_1._.copy(this.userInfo),
                          token: r.getToken()
                        };
                      }
                      return [ 2, r ];
                    }
                  });
                });
              };
              return [ 4, auth() ];

             case 1:
              r = _a.sent();
              if (!(null === r || void 0 === r ? void 0 : r.err)) return [ 3, 3 ];
              return [ 4, auth() ];

             case 2:
              r = _a.sent();
              _a.label = 3;

             case 3:
              return [ 2, r ];
            }
          });
        });
      };
      RPC.get = function(proto) {
        var pt = this._mapProtos.get(proto);
        if (!pt) {
          pt = new RPC(proto);
          this._mapProtos.set(proto, pt);
        }
        return pt;
      };
      RPC.set = function(proto, serviceHostOrUri, credentials, options, devDelayMin, devDelayMax) {
        void 0 === devDelayMin && (devDelayMin = 100);
        void 0 === devDelayMax && (devDelayMax = 200);
        var rpc = this.get(proto);
        credentials && (rpc.credentials = credentials);
        options && (rpc.options = options);
        rpc.devDelayMin = devDelayMin;
        rpc.devDelayMax = devDelayMax;
        rpc.setServiceHost(serviceHostOrUri);
        return rpc;
      };
      RPC.call = function(proto, method, message, uid, callback, mode) {
        void 0 === mode && (mode = RPC_MODE.NONE);
        return __awaiter(this, void 0, Promise, function() {
          var rpc;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              rpc = this.get(proto);
              return [ 4, rpc.call(method, message, uid, callback, mode) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      RPC.prototype.setServiceHost = function(serviceHostOrUri) {
        serviceHostOrUri && "http" === serviceHostOrUri.slice(0, 4) ? this.serviceHost = serviceHostOrUri : "http" === RPC.host.slice(0, 4) ? this.serviceHost = RPC.host + "/" + (serviceHostOrUri || "api") : this.serviceHost = "http" + (this.credentials ? "?" : "") + "://" + RPC.host + "/" + (serviceHostOrUri || "api");
      };
      RPC.setDevProtoMethod = function(grpcMethod, devMethod) {
        RPC.mapDevProtoMethod.set(grpcMethod, {
          devMethod: devMethod
        });
      };
      RPC.prototype.call = function(method, message, uid, callback, mode, _retryCount) {
        void 0 === mode && (mode = RPC_MODE.NONE);
        void 0 === _retryCount && (_retryCount = 0);
        return __awaiter(this, void 0, Promise, function() {
          var p, ret;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              p = new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var token, _a, req, metadata, info, r, ret_1, protoName, methodName, error, devMethod;
                  return __generator(this, function(_b) {
                    switch (_b.label) {
                     case 0:
                      uid || (uid = RPC.userInfo.uid);
                      RPC.userInfoMap[uid] && (token = RPC.userInfoMap[uid].token);
                      if (!(RPC.delayMax > 0)) return [ 3, 2 ];
                      return [ 4, PPPB_lib_1._.sleep(PPPB_lib_1._.rand(RPC.delayMin || 0, RPC.delayMax || 0)) ];

                     case 1:
                      _b.sent();
                      _b.label = 2;

                     case 2:
                      _a = mode || RPC.mode;
                      switch (_a) {
                       case RPC_MODE.GRPC:
                        return [ 3, 3 ];

                       case RPC_MODE.DEV:
                        return [ 3, 5 ];
                      }
                      return [ 3, 5 ];

                     case 3:
                      req = new this.proto(this.serviceHost, this.credentials, this.options);
                      metadata = {};
                      if (token) {
                        metadata.token = token;
                        metadata.uid = uid;
                        metadata.gt = PPPB_sys_1.sys.gameType;
                      } else metadata.Authorization = "Basic " + btoa("slot:123456");
                      info = PPPB_slotNet_1.SlotNet.methodMap.get(method);
                      return [ 4, PPPB_slotNet_1.SlotNet.postSrv(info.url, message, metadata) ];

                     case 4:
                      r = _b.sent();
                      if (null === r || void 0 === r ? void 0 : r.err) resolve(r); else {
                        ret_1 = info.ret.deserializeBinary(r);
                        resolve(ret_1);
                        console.log(ret_1.toObject());
                      }
                      return [ 3, 11 ];

                     case 5:
                      protoName = this.proto.name;
                      methodName = PPPB_lib_1._.getMethodName(this.proto, method);
                      error = void 0;
                      devMethod = (RPC.mapDevProtoMethod.get(method) || {}).devMethod;
                      if (!devMethod || !PPPB_lib_1._.isFunction(devMethod)) {
                        error = new Error("DEV-------grpcDevProtos ---protoMethod: " + protoName + "." + methodName + "() --- not found !");
                        reject(error);
                        return [ 2 ];
                      }
                      if (!(this.devDelayMax > 0)) return [ 3, 7 ];
                      return [ 4, PPPB_lib_1._.sleep(PPPB_lib_1._.rand(this.devDelayMin || 0, this.devDelayMax || 0)) ];

                     case 6:
                      _b.sent();
                      _b.label = 7;

                     case 7:
                      if (!error) return [ 3, 8 ];
                      reject(error);
                      return [ 3, 10 ];

                     case 8:
                      return [ 4, devMethod({
                        request: message,
                        metadata: {}
                      }, function(err, value) {
                        err ? reject(err) : resolve(value || null);
                      }) ];

                     case 9:
                      _b.sent();
                      _b.label = 10;

                     case 10:
                      return [ 3, 11 ];

                     case 11:
                      return [ 2 ];
                    }
                  });
                });
              });
              return [ 4, p.catch(function(error) {
                error["rpc"] = _this.proto.name + "." + PPPB_lib_1._.getMethodName(_this.proto, method);
                callback && callback(error, null);
                return null;
              }) ];

             case 1:
              ret = _a.sent();
              callback && callback(null, ret);
              return [ 2, ret ];
            }
          });
        });
      };
      RPC.MODE = RPC_MODE;
      RPC.mode = RPC_MODE.GRPC;
      RPC.host = "127.0.0.1:9901";
      RPC.delayMin = 0;
      RPC.delayMax = 0;
      RPC.baseAuth = "slot:12346";
      RPC._mapProtos = new Map();
      RPC.mapDevProtoMethod = new Map();
      RPC.userInfo = {};
      RPC.userInfoMap = {};
      return RPC;
    }();
    exports.RPC = RPC;
    cc._RF.pop();
  }, {
    "../framework-cocos/PPPB-sys": "PPPB-sys",
    "../framework/PPPB-lib": "PPPB-lib",
    "../proto/PPPB-auth2_grpc_web_pb": "PPPB-auth2_grpc_web_pb",
    "../proto/PPPB-auth2_pb": "PPPB-auth2_pb",
    "./PPPB-slotNet": "PPPB-slotNet"
  } ],
  "PPPB-scardlist": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5c5dfCyDxZLD6cIRWUatXnD", "PPPB-scardlist");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../../framework-cocos/PPPB-action");
    var PPPB_UComponent_1 = require("../../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../../framework-cocos/components/PPPB-UIList");
    var PPPB_ui_1 = require("../../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_card_1 = require("./PPPB-card");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var card_width = 222;
    var layoutSpacing = 18;
    var initialCardPosY = 0;
    var fallInDuration = .5;
    var scardlist = function(_super) {
      __extends(scardlist, _super);
      function scardlist() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.list = null;
        _this.work = null;
        _this.cards = [];
        _this._values = [];
        _this._rolling = false;
        _this._start = false;
        return _this;
      }
      scardlist.prototype.onLoaded = function() {
        this.list = PPPB_ui_1.ui.getComponent(this, PPPB_UIList_1.UIList);
      };
      scardlist.prototype.init = function(data, initCards) {
        return __awaiter(this, void 0, void 0, function() {
          var i, card, scrollLayout, _i, _a, card;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              return [ 4, PPPB_lib_1._.waiting(function() {
                return 4 == _this.list.length;
              }, this, 5e4) ];

             case 1:
              _b.sent();
              for (i = 0; i < this.list.length; i++) {
                card = PPPB_ui_1.ui.getComponent(this.list.content.node.children[i], PPPB_card_1.default);
                card.topclass = this;
                this.cards.push(card);
                card.pos = i;
              }
              this.list.content.enabled = false;
              PPPB_ui_1.ui.getComponent(this.list.content, cc.Widget).enabled = false;
              this.setInitCards(initCards);
              scrollLayout = PPPB_ui_1.ui.getComponentByPath(this, "content", cc.Layout);
              scrollLayout.enabled = false;
              for (_i = 0, _a = this.cards; _i < _a.length; _i++) {
                card = _a[_i];
                card.node.position = new cc.Vec3(card.node.position.x, initialCardPosY, card.node.position.z);
              }
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.setInitCards = function(cs) {
        for (var i = 0; i < cs.length; i++) {
          this.cards[i].cardBlockType = "d";
          this.cards[i]._anim.play(cs[i]);
        }
      };
      Object.defineProperty(scardlist.prototype, "values", {
        get: function() {
          return this._values;
        },
        set: function(v) {
          this._values = v;
        },
        enumerable: false,
        configurable: true
      });
      scardlist.prototype.rollOne = function() {
        return __awaiter(this, void 0, void 0, function() {
          var ps, i, i, e;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              ps = [];
              for (i = 0; i < 5; i++) ps.push(PPPB_action_1.ACT(this.cards[i]).moveTo(.01, this.cards[i].node.x - card_width, this.cards[i].node.position.y).act());
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              if (!this._rolling) return [ 2 ];
              for (i = 0; i < this.cards.length; i++) {
                e = this.cards[i];
                if (0 == e.pos) {
                  e.pos = 4;
                  e.node.x = 4.5 * card_width;
                } else e.pos--;
              }
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.startRoll = function(isSpedUp) {
        return __awaiter(this, void 0, void 0, function() {
          var windupDuration, moveOutDuration, ps, _loop_1, this_1, _i, _a, card, totalDuration;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              this._start = true;
              windupDuration = isSpedUp ? .05 : .15;
              moveOutDuration = isSpedUp ? .2 : .35;
              ps = [];
              _loop_1 = function(card) {
                var originalPos = card.node.position.x;
                var outWindupPos = originalPos + 50;
                var outPos = originalPos - 960;
                var incomingBouncePos = originalPos - 50;
                var incomingPos = originalPos + 960;
                var movementAction = this_1.work.isAtNormalSpeed() ? PPPB_action_1.ACT(card).moveTo(windupDuration, outWindupPos, card.node.position.y).act().then(function() {
                  return PPPB_action_1.ACT(card).moveTo(moveOutDuration, outPos, card.node.position.y).act();
                }) : PPPB_action_1.ACT(card).moveTo(moveOutDuration, outPos, card.node.position.y).act();
                movementAction.then(function() {
                  return PPPB_action_1.ACT(card).moveTo(moveOutDuration, outPos, card.node.position.y).act();
                }).then(function() {
                  card.value = _this.values[card.pos];
                  card.play(_this.getAni(card));
                  card.node.position = new cc.Vec3(incomingPos, card.node.position.y, card.node.position.z);
                }).then(function() {
                  return PPPB_action_1.ACT(card).moveTo(moveOutDuration, incomingBouncePos, card.node.position.y).act();
                }).then(function() {
                  return PPPB_action_1.ACT(card).moveTo(windupDuration, originalPos, card.node.position.y).act();
                });
                ps.push(movementAction);
              };
              this_1 = this;
              for (_i = 0, _a = this.cards; _i < _a.length; _i++) {
                card = _a[_i];
                _loop_1(card);
              }
              return [ 4, Promise.all(ps) ];

             case 1:
              _b.sent();
              totalDuration = 3 * moveOutDuration + windupDuration;
              this.work.isAtNormalSpeed() && (totalDuration += windupDuration);
              return [ 4, PPPB_lib_1._.sleep(1e3 * totalDuration) ];

             case 2:
              _b.sent();
              this.stopRoll2();
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.stopRoll2 = function() {
        return __awaiter(this, void 0, void 0, function() {
          var hasScatterCard, hasWildCard, i, e;
          return __generator(this, function(_a) {
            this._start = false;
            this._rolling = false;
            hasScatterCard = false;
            hasWildCard = false;
            for (i = 0; i < this.cards.length; i++) {
              e = this.cards[i];
              if (i < 4) {
                e.isWild && (hasWildCard = true);
                e.isScatter && (hasScatterCard = true);
              }
            }
            return [ 2 ];
          });
        });
      };
      scardlist.prototype.hasScatterCards = function() {
        for (var i = 0; i < this.cards.length; i++) {
          var e = this.cards[i];
          if (e.isScatter) return true;
        }
        return false;
      };
      scardlist.prototype.getCardPos = function(pos) {
        return 111 + pos * (card_width + layoutSpacing);
      };
      scardlist.prototype.getPos = function(c) {
        return cc.v2(this.getCardPos(c.pos), initialCardPosY);
      };
      scardlist.prototype.resetCards = function() {
        this.cards.sort(function(a, b) {
          return a.pos - b.pos;
        });
      };
      scardlist.prototype.highlightWin = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var dis, ps;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.resetCards();
              dis = this.cards.filter(function(v) {
                return -1 != pos.indexOf(v.pos);
              }, this);
              ps = [];
              dis.forEach(function(v) {
                ps.push(v.playByType("win"));
              });
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(100) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.fly = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var ps, _loop_2, this_2, i;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.resetCards();
              ps = [];
              _loop_2 = function(i) {
                var e = pos[i];
                var val = this_2.cards[e].value;
                val || console.error("pos:" + pos, this_2._values);
                if (val >= 14) {
                  var p = (.5 + e) * card_width;
                  var up_1 = PPPB_ui_1.ui.getWorldPos([ this_2, "content" ], cc.v2(p, initialCardPosY));
                  var target_1 = PPPB_ui_1.ui.getWorldPos([ PPPB_ui_1.ui.canvas, "mid/M/mul_bg/ani" ]);
                  target_1 = PPPB_ui_1.ui.canvas.convertToNodeSpaceAR(target_1);
                  ps.push(function() {
                    return __awaiter(_this, void 0, void 0, function() {
                      var n;
                      return __generator(this, function(_a) {
                        switch (_a.label) {
                         case 0:
                          this.cards[e].play("a14_out");
                          this.cards[e].setHierarchy("front");
                          return [ 4, PPPB_ui_1.ui.create("prefab/effect/multiplier", "node") ];

                         case 1:
                          n = _a.sent();
                          PPPB_ui_1.ui.setWorldPos(n, up_1);
                          return [ 4, PPPB_action_1.ACT(n).delay(333).moveTo(.6, target_1).act() ];

                         case 2:
                          _a.sent();
                          PPPB_ui_1.ui.destroy(n, 200);
                          return [ 2 ];
                        }
                      });
                    });
                  }());
                }
              };
              this_2 = this;
              for (i = 0; i < pos.length; i++) _loop_2(i);
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.disppear = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var dis, ps;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.resetCards();
              dis = this.cards.filter(function(v) {
                return -1 != pos.indexOf(v.pos);
              }, this);
              ps = [];
              dis.forEach(function(v) {
                v.setHierarchy("front");
                v.value < 14, ps.push(v.playByType("out"));
              });
              return [ 4, Promise.all(ps) ];

             case 1:
              _a.sent();
              dis.forEach(function(v) {
                v.setHierarchy("back");
                v.node.setPosition(_this.getCardPos(v.pos), initialCardPosY);
              });
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.setJustScatter = function() {
        return __awaiter(this, void 0, void 0, function() {
          var _i, _a, card;
          return __generator(this, function(_b) {
            for (_i = 0, _a = this.cards; _i < _a.length; _i++) {
              card = _a[_i];
              card.isScatter && card.playByType("justwin");
            }
            return [ 2 ];
          });
        });
      };
      scardlist.prototype.fallin = function(pos) {
        return __awaiter(this, void 0, void 0, function() {
          var fallPromises, numCardSpacesToFall, i, card, i, card, fallInPos;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              fallPromises = [];
              numCardSpacesToFall = 0;
              for (i = 0; i < this.values.length; i++) if (-1 == pos.indexOf(i)) {
                card = this.cards[i];
                card.pos = i - numCardSpacesToFall;
                card.play(this.getAni(card));
                fallPromises.push(PPPB_action_1.ACT(this.cards[i]).moveTo(fallInDuration, this.getCardPos(card.pos), initialCardPosY, cc.easeCubicActionIn()).act());
              } else numCardSpacesToFall++;
              for (i = 0; i < numCardSpacesToFall; i++) {
                card = this.cards[pos[i]];
                fallInPos = this.cards.length - numCardSpacesToFall + i;
                card.value = this.values[fallInPos];
                card.pos = fallInPos;
                card.play(this.getAni(card));
                card.node.position = new cc.Vec3(this.getCardPos(fallInPos + numCardSpacesToFall), initialCardPosY, card.node.position.z);
                card.node.opacity = 255;
                fallPromises.push(PPPB_action_1.ACT(card).moveTo(fallInDuration, this.getCardPos(card.pos), initialCardPosY, cc.easeCubicActionIn()).act());
              }
              return [ 4, Promise.all(fallPromises) ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(20) ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      scardlist.prototype.getAni = function(c) {
        var v = c.value;
        return "set_c" + v;
      };
      scardlist.prototype.GetScatterCount = function() {
        var scatterCount = 0;
        for (var i = 0; i < 4; i++) {
          var card = this.cards[i];
          card && card.isScatter && scatterCount++;
        }
        return scatterCount;
      };
      scardlist = __decorate([ ccclass ], scardlist);
      return scardlist;
    }(PPPB_UComponent_1.UComponent);
    exports.default = scardlist;
    cc._RF.pop();
  }, {
    "../../../framework-cocos/PPPB-action": "PPPB-action",
    "../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-card": "PPPB-card"
  } ],
  "PPPB-scatterState": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e8bfc6n079ONbuvSVsJhDle", "PPPB-scatterState");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.scatterState = void 0;
    var PPPB_event_1 = require("../../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../../framework/PPPB-lib");
    var PPPB_CardHelper_1 = require("../../../server/PPPB-CardHelper");
    var PPPB_quick_1 = require("../../../../common/PPPB-quick");
    var PPPB_State_1 = require("../PPPB-State");
    var scatterState = function(_super) {
      __extends(scatterState, _super);
      function scatterState() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      scatterState.prototype.work = function(w) {
        return __awaiter(this, void 0, void 0, function() {
          var ps_1;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("---------- ALIBABA scatter state--------------");
              if (!w.isScattering) return [ 3, 6 ];
              if (!!w.data.freeSpins) return [ 3, 2 ];
              w.lastTotalWinBeforeFreeGame = 0;
              w.outScatter();
              return [ 4, PPPB_lib_1._.waiting(function() {
                return !w.isPlayingFreeGameTransition;
              }, this) ];

             case 1:
              _a.sent();
              w.curWinGold = 0;
              return [ 3, 5 ];

             case 2:
              if (!w.hasGainedExtraFreeSpins) return [ 3, 4 ];
              ps_1 = [];
              w.cardlistlist2.forEach(function(v) {
                v.filterCards(function(v1) {
                  return PPPB_CardHelper_1.CardHelper.IsScatter(v1.value);
                }).forEach(function(v2) {
                  ps_1.push(v2.playByType("scatter"));
                });
              });
              PPPB_quick_1.ks.playEffectSound("FreeGameTrigger_PB");
              ps_1.push(w.extendScatter());
              return [ 4, Promise.all(ps_1) ];

             case 3:
              _a.sent();
              return [ 3, 5 ];

             case 4:
              PPPB_event_1.Events.publish("spin", "scroll", "");
              _a.label = 5;

             case 5:
              return [ 3, 9 ];

             case 6:
              if (!(w.isScatter && !w.isScattering)) return [ 3, 9 ];
              return [ 4, PPPB_lib_1._.sleep(1500) ];

             case 7:
              _a.sent();
              PPPB_event_1.Events.publishAsync("hide", "scatterPayOut", "");
              w.enterScatter();
              return [ 4, PPPB_lib_1._.waiting(function() {
                return !w.isPlayingFreeGameTransition;
              }, this) ];

             case 8:
              _a.sent();
              _a.label = 9;

             case 9:
              return [ 2 ];
            }
          });
        });
      };
      return scatterState;
    }(PPPB_State_1.State);
    exports.scatterState = scatterState;
    cc._RF.pop();
  }, {
    "../../../../common/PPPB-quick": "PPPB-quick",
    "../../../../framework/PPPB-event": "PPPB-event",
    "../../../../framework/PPPB-lib": "PPPB-lib",
    "../../../server/PPPB-CardHelper": "PPPB-CardHelper",
    "../PPPB-State": "PPPB-State"
  } ],
  "PPPB-slotBaseType": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "6ac91xW4s1Fe7u192Ks/8UQ", "PPPB-slotBaseType");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    cc._RF.pop();
  }, {} ],
  "PPPB-slotBase": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "34a04Uyq9tLd6AFxnDYNfL3", "PPPB-slotBase");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.CSlotBase = exports.sameColCardSymbol = exports.emptyCardSymbol = void 0;
    var PPPB_slotEnum_1 = require("./PPPB-slotEnum");
    var PPPB_dbo_1 = require("./PPPB-dbo");
    exports.emptyCardSymbol = "";
    exports.sameColCardSymbol = "_";
    var template = {
      uid: "",
      balance: 0,
      freeSpins: 0,
      mul: 1,
      bet: 1
    };
    var CSlotBase = function(_super) {
      __extends(CSlotBase, _super);
      function CSlotBase() {
        var _this = _super.call(this) || this;
        _this._cards = [];
        _this._specialCards = [];
        _this.init();
        return _this;
      }
      Object.defineProperty(CSlotBase.prototype, "ctor1", {
        get: function() {
          return this.ctor;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "gameConf", {
        get: function() {
          return this.ctor1._gameConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "cardConf", {
        get: function() {
          return this.ctor1._cardConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "cardNumberConf", {
        get: function() {
          return this.ctor1._cardNumberConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "betConf", {
        get: function() {
          return this.ctor1._betConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "OddsConf", {
        get: function() {
          return this.ctor1._oddsConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "ruleConf", {
        get: function() {
          return this.ctor1._rules;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "mulConf", {
        get: function() {
          return this.ctor1._mulConf;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "curBet", {
        get: function() {
          return this.data.bet;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "balance", {
        get: function() {
          return this.data.balance;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "freeSpins", {
        get: function() {
          return this.data.freeSpins;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "curMul", {
        get: function() {
          return this.data.mul || 1;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CSlotBase.prototype, "curMulIndex", {
        get: function() {
          for (var i = 0; i < this.mulConf.length; i++) if (this.data.mul == this.mulConf[i]) return i;
          return 0;
        },
        enumerable: false,
        configurable: true
      });
      CSlotBase.prototype.init = function() {
        return __awaiter(this, void 0, void 0, function() {
          var row, _i, _a, pos, type, col, row, cardName;
          return __generator(this, function(_b) {
            for (row = 0; row < this.gameConf.row; row++) this._cards[row] = [];
            for (_i = 0, _a = this.gameConf.emptyPlaces; _i < _a.length; _i++) {
              pos = _a[_i];
              this._cards[pos[0]][pos[1]] = exports.emptyCardSymbol;
            }
            if (!this.ctor1._rules) {
              this.ctor1._rules = new Map();
              for (type in this.ctor1._ruleConf) {
                this.ctor1._rules.set(type, []);
                for (col = 0; col < this.gameConf.col; col++) for (row = 0; row < this.gameConf.row; row++) if (1 == this.ctor1._ruleConf[type][row][col]) {
                  this.ctor1._rules.get(type)[col] = row;
                  break;
                }
              }
            }
            if (!this.ctor1._cardNumberConf) {
              this.ctor1._cardNumberConf = new Map();
              for (cardName in this.cardConf) this.ctor1._cardNumberConf.set(this.cardConf[cardName], cardName);
            }
            return [ 2 ];
          });
        });
      };
      CSlotBase.prototype.setMulIndex = function(index) {
        this.ctor1._mulConf[index] && (this.data.mul = this.ctor1._mulConf[index]);
      };
      CSlotBase.prototype.setBetIndex = function(index) {
        this.betConf[index] && (this.data.bet = this.betConf[index]);
      };
      CSlotBase.prototype.addFreeSpins = function(add) {
        var v = this.freeSpins + add;
        this.data.freeSpins = v;
      };
      CSlotBase.prototype.addBalance = function(add) {
        var v = this.data.balance + add;
        this.data.balance = v;
      };
      CSlotBase.prototype.getBetValue = function(index) {
        return this.betConf ? this.betConf[index] : 0;
      };
      CSlotBase.prototype.getOdds = function(cardValue, col) {
        if (this.OddsConf[cardValue]) return this.OddsConf[cardValue][col] || 0;
        return 0;
      };
      CSlotBase.prototype.getWinGold = function(odds) {
        return this.curBet * odds * this.curMul;
      };
      CSlotBase.prototype.isSpacialCard = function(cardName) {
        if (this.isWildCard(cardName)) return true;
        if (this.isEmptyCard(cardName)) return true;
        if (this.isSameColCard(cardName)) return true;
        if (this.isScatterCard(cardName)) return true;
        return false;
      };
      CSlotBase.prototype.isWildCard = function(cardName) {
        for (var _i = 0, _a = this.gameConf.wildCards; _i < _a.length; _i++) {
          var _cardName = _a[_i];
          if (_cardName == cardName) return true;
        }
        return false;
      };
      CSlotBase.prototype.isScatterCard = function(cardName) {
        return cardName == this.gameConf.scatterCard;
      };
      CSlotBase.prototype.getCardNumber = function(cardName) {
        return this.cardConf[cardName];
      };
      CSlotBase.prototype.getCardName = function(cardNumber) {
        return this.cardNumberConf.get(cardNumber);
      };
      CSlotBase.prototype.getCardValue = function(cardName) {
        return this.cardConf[cardName] % this.gameConf.cardValueSub;
      };
      CSlotBase.prototype.isEmptyCard = function(cardName) {
        return cardName == exports.emptyCardSymbol;
      };
      CSlotBase.prototype.isSameColCard = function(cardName) {
        return cardName == exports.sameColCardSymbol;
      };
      CSlotBase.prototype.getSameValueCard = function(cards) {
        var _a;
        var _b = this.gameConf, row = _b.row, col = _b.col;
        var sameCard = {};
        for (var i = 0; i < col; i++) for (var j = 0; j < row; j++) {
          var cardName = cards[i][j];
          if (!this.isSpacialCard(cardName)) {
            var cardV = this.getCardValue(cardName);
            sameCard[cardV] || (sameCard[cardV] = (_a = {}, _a[i] = [], _a));
            sameCard[cardV][i] || (sameCard[cardV][i] = []);
            sameCard[cardV][i].push(j);
          }
        }
        for (var i = 0; i < col; i++) for (var j = 0; j < row; j++) {
          var cardName = cards[j][i];
          if (this.isWildCard(cardName)) for (var cardV in sameCard) {
            sameCard[cardV][i] || (sameCard[cardV][i] = []);
            sameCard[cardV][i].push(j);
          }
        }
        for (var cardV in sameCard) {
          var v = sameCard[cardV];
          if (v[0] && v[1] && v[2]) for (var c = 3; c < col - 1; c++) v[c] || delete v[c + 1]; else delete sameCard[cardV];
        }
        return sameCard;
      };
      CSlotBase.prototype.checkCardWin = function(cards) {
        var sameCard = this.getSameValueCard(cards);
        var winGold = 0;
        var winCards = [];
        if (this.gameConf.winRuleType == PPPB_slotEnum_1.WinRuleType.normal) for (var cardV in sameCard) {
          var v = sameCard[cardV];
          var lines = 1;
          var colnum = 0;
          for (var col in v) {
            colnum++;
            lines *= v[col].length;
          }
          var odds = this.getOdds(Number(cardV), colnum) * lines;
          winGold += this.getWinGold(odds);
        }
        if (this.gameConf.winRuleType == PPPB_slotEnum_1.WinRuleType.conf) {
          var winCard = {};
          for (var cardV in sameCard) {
            var winV = sameCard[cardV];
            for (var type in this.ruleConf) {
              var rule = this.ruleConf[type];
              if (winV[0].indexOf(rule[0]) >= 0 && winV[1].indexOf(rule[1]) >= 0 && winV[2].indexOf(rule[2]) >= 0) {
                var colnum = 3;
                winCard[cardV] || (winCard[cardV] = {});
                for (var i = 0; i < rule.length; i++) {
                  if (!(winV[i] && winV[i].indexOf(rule[i]) >= 0)) break;
                  winCard[cardV][i] || (winCard[cardV][i] = []);
                  winCard[cardV][i].indexOf(rule[i]) < 0 && winCard[cardV][i].push(rule[i]);
                  colnum = i + 1;
                }
                var odds = this.getOdds(Number(cardV), colnum);
                winGold += this.getWinGold(odds);
              }
            }
          }
          sameCard = winCard;
        }
        var m = {};
        for (var cardV in sameCard) {
          var v = sameCard[cardV];
          for (var col in v) for (var _i = 0, _a = v[col]; _i < _a.length; _i++) {
            var row = _a[_i];
            if (!m["" + row + col]) {
              winCards.push({
                x: row,
                y: Number(col)
              });
              m["" + row + col] = 1;
            }
          }
        }
        return {
          winCards: winCards,
          winGold: winGold
        };
      };
      CSlotBase.template = template;
      return CSlotBase;
    }(PPPB_dbo_1.CDbo);
    exports.CSlotBase = CSlotBase;
    cc._RF.pop();
  }, {
    "./PPPB-dbo": "PPPB-dbo",
    "./PPPB-slotEnum": "PPPB-slotEnum"
  } ],
  "PPPB-slotConf": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "90aefcX2NdHEakr9dc3HSCw", "PPPB-slotConf");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.RuleConf = exports.OddsConf = exports.CardConf = exports.GameConf = exports.WinRuleType = exports.BetConf = void 0;
    exports.BetConf = {
      betType1: [ .5, 1, 2, 3, 5, 10, 20, 30, 40, 50, 80, 100, 200, 500, 1e3 ]
    };
    var WinRuleType;
    (function(WinRuleType) {
      WinRuleType[WinRuleType["normal"] = 0] = "normal";
      WinRuleType[WinRuleType["conf"] = 1] = "conf";
    })(WinRuleType = exports.WinRuleType || (exports.WinRuleType = {}));
    exports.GameConf = {
      gameType1: {
        row: 4,
        col: 5,
        cardValueSub: 50,
        cardType: "cardType1",
        betType: "betType1",
        oddsType: "oddsType1",
        scatterCard: "scatter",
        wildCards: [ "wild", "wilds" ],
        emptyCardSymbol: "",
        sameColCardSymbol: "_",
        winRuleType: WinRuleType.conf,
        ruleType: [ "ruleType1", "ruleType2", "ruleType3", "ruleType4", "ruleType5", "ruleType6", "ruleType7", "ruleType8", "ruleType9", "ruleType10", "ruleType11", "ruleType12", "ruleType13", "ruleType14", "ruleType15" ],
        emptyPlaces: []
      }
    };
    exports.CardConf = {
      cardType1: {
        s1: 1,
        s2: 2,
        s3: 3,
        s4: 4,
        s5: 5,
        s6: 6,
        s7: 7,
        s8: 8,
        g1: 51,
        g2: 52,
        g3: 53,
        g4: 54,
        g5: 55,
        g6: 56,
        g7: 57,
        g8: 58,
        wild: 49,
        wilds: 99,
        scatter: 100
      }
    };
    exports.OddsConf = {
      oddsType1: {
        1: {
          5: .25,
          4: .15,
          3: .05
        },
        2: {
          5: .25,
          4: .15,
          3: .05
        },
        3: {
          5: .5,
          4: .3,
          3: .1
        },
        4: {
          5: .5,
          4: .3,
          3: .1
        },
        5: {
          5: 1,
          4: .6,
          3: .2
        },
        6: {
          5: 1.5,
          4: .9,
          3: .3
        },
        7: {
          5: 2,
          4: 1.2,
          3: .4
        },
        8: {
          5: 2.5,
          4: 1.5,
          3: .5
        }
      }
    };
    exports.RuleConf = {
      ruleType1: [ [ 0, 0, 0, 0, 0 ], [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType2: [ [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType3: [ [ 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0 ], [ 1, 1, 1, 1, 1 ] ],
      ruleType4: [ [ 1, 0, 0, 0, 1 ], [ 0, 1, 0, 1, 0 ], [ 0, 0, 1, 0, 0 ] ],
      ruleType5: [ [ 0, 0, 1, 0, 0 ], [ 0, 1, 0, 1, 0 ], [ 1, 0, 0, 0, 1 ] ],
      ruleType6: [ [ 1, 1, 0, 1, 1 ], [ 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType7: [ [ 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0 ], [ 1, 1, 0, 1, 1 ] ],
      ruleType8: [ [ 0, 0, 0, 0, 0 ], [ 1, 0, 0, 0, 1 ], [ 0, 1, 1, 1, 0 ] ],
      ruleType9: [ [ 0, 1, 1, 1, 0 ], [ 1, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType10: [ [ 0, 1, 0, 1, 0 ], [ 1, 0, 1, 0, 1 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType11: [ [ 0, 0, 0, 0, 0 ], [ 1, 0, 1, 0, 1 ], [ 0, 1, 0, 1, 0 ] ],
      ruleType12: [ [ 1, 0, 1, 0, 1 ], [ 0, 1, 0, 1, 0 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType13: [ [ 0, 0, 0, 0, 0 ], [ 0, 1, 0, 1, 0 ], [ 1, 0, 1, 0, 1 ] ],
      ruleType14: [ [ 0, 0, 1, 0, 0 ], [ 1, 1, 0, 1, 1 ], [ 0, 0, 0, 0, 0 ] ],
      ruleType15: [ [ 0, 0, 0, 0, 0 ], [ 1, 1, 0, 1, 1 ], [ 0, 0, 1, 0, 0 ] ]
    };
    cc._RF.pop();
  }, {} ],
  "PPPB-slotEnum": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "8f4119EevZFUqUpDtNrGD34", "PPPB-slotEnum");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.WinRuleType = void 0;
    var WinRuleType;
    (function(WinRuleType) {
      WinRuleType[WinRuleType["normal"] = 0] = "normal";
      WinRuleType[WinRuleType["conf"] = 1] = "conf";
    })(WinRuleType = exports.WinRuleType || (exports.WinRuleType = {}));
    cc._RF.pop();
  }, {} ],
  "PPPB-slotNet": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "b0595oxz6NNPII5VH+lHDuK", "PPPB-slotNet");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.SlotNet = void 0;
    var PPPB_auth2_grpc_web_pb_1 = require("../proto/PPPB-auth2_grpc_web_pb");
    var PPPB_auth2_pb_1 = require("../proto/PPPB-auth2_pb");
    var PPPB_slot_grpc_web_pb_1 = require("../proto/PPPB-slot_grpc_web_pb");
    var PPPB_trace_grpc_web_pb_1 = require("../proto/PPPB-trace_grpc_web_pb");
    var PPPB_slot_pb_1 = require("../proto/PPPB-slot_pb");
    var PPPB_trace_pb_1 = require("../proto/PPPB-trace_pb");
    var CSlotNet = function() {
      function CSlotNet() {
        this.url = "http://localhost:9080";
        this.methodMap = new Map();
        this.methodMap.set(PPPB_auth2_grpc_web_pb_1.AuthClient.prototype.auth, {
          url: "/auth/auth",
          ret: PPPB_auth2_pb_1.AuthRet
        });
        this.methodMap.set(PPPB_slot_grpc_web_pb_1.GameClient.prototype.spin, {
          url: "/pppybo/slot/spin",
          ret: PPPB_slot_pb_1.SpinRet
        });
        this.methodMap.set(PPPB_slot_grpc_web_pb_1.GameClient.prototype.getInfo, {
          url: "/pppybo/slot/getInfo",
          ret: PPPB_slot_pb_1.GetInfoRet
        });
        this.methodMap.set(PPPB_slot_grpc_web_pb_1.GameClient.prototype.getFreeInfo, {
          url: "/pppybo/slot/getFreeInfo",
          ret: PPPB_slot_pb_1.GetFreeInfoRet
        });
        this.methodMap.set(PPPB_slot_grpc_web_pb_1.GameClient.prototype.buyFree, {
          url: "/pppybo/slot/buyFree",
          ret: PPPB_slot_pb_1.BuyFreeRet
        });
        this.methodMap.set(PPPB_slot_grpc_web_pb_1.GameClient.prototype.heart, {
          url: "/pppybo/slot/heart",
          ret: PPPB_slot_pb_1.HeartRet
        });
        this.methodMap.set(PPPB_trace_grpc_web_pb_1.TraceClient.prototype.spinTrace, {
          url: "/trace/spinTrace",
          ret: PPPB_trace_pb_1.SpinTraceRet
        });
        this.methodMap.set(PPPB_trace_grpc_web_pb_1.TraceClient.prototype.spinErr, {
          url: "/trace/spinErr",
          ret: PPPB_trace_pb_1.SpinErrRet
        });
        this.methodMap.set(PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyCount, {
          url: "/trace/historyCount",
          ret: PPPB_trace_pb_1.HistoryCountRet
        });
        this.methodMap.set(PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyList, {
          url: "/trace/historyList",
          ret: PPPB_trace_pb_1.HistoryListRet
        });
        this.methodMap.set(PPPB_trace_grpc_web_pb_1.TraceClient.prototype.historyItem, {
          url: "/trace/historyItem",
          ret: PPPB_trace_pb_1.HistoryItemRet
        });
      }
      CSlotNet.prototype.postSrv = function(path, message, md) {
        void 0 === md && (md = {});
        return __awaiter(this, void 0, Promise, function() {
          var url, data, r;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.url.startsWith("http") || (this.url = "http://" + this.url);
              url = this.url + path;
              data = message.serializeBinary();
              return [ 4, this.postBinary(url, data, md) ];

             case 1:
              r = _a.sent();
              return [ 2, r ];
            }
          });
        });
      };
      CSlotNet.prototype.postBinary = function(url, binaryData, headers) {
        void 0 === headers && (headers = {});
        return __awaiter(this, void 0, Promise, function() {
          return __generator(this, function(_a) {
            return [ 2, new Promise(function(resolve, reject) {
              var xhr = new XMLHttpRequest();
              try {
                xhr.open("POST", url, true);
              } catch (e) {
                console.error("Error in xhr.open:", e);
                resolve({
                  err: "" + e
                });
                return;
              }
              for (var header in headers) headers.hasOwnProperty(header) && xhr.setRequestHeader(header, headers[header]);
              xhr.setRequestHeader("Content-Type", "application/octet-stream");
              xhr.responseType = "arraybuffer";
              xhr.timeout = 5e4;
              xhr.ontimeout = function() {
                console.error("Request timed out");
                resolve({
                  err: "timeout"
                });
              };
              xhr.onerror = function() {
                console.error("Network error occurred");
                resolve({
                  err: "network error"
                });
              };
              xhr.onreadystatechange = function() {
                if (4 === xhr.readyState) if (xhr.status >= 200 && xhr.status < 300) {
                  var arrayBuffer = xhr.response;
                  var byteArray = new Uint8Array(arrayBuffer);
                  resolve(byteArray);
                } else resolve({
                  err: "HTTP status " + xhr.status,
                  status: xhr.status
                });
              };
              try {
                xhr.send(binaryData);
              } catch (e) {
                console.error("Error in xhr.send:", e);
                resolve({
                  err: "net error"
                });
              }
            }) ];
          });
        });
      };
      return CSlotNet;
    }();
    exports.SlotNet = new CSlotNet();
    cc._RF.pop();
  }, {
    "../proto/PPPB-auth2_grpc_web_pb": "PPPB-auth2_grpc_web_pb",
    "../proto/PPPB-auth2_pb": "PPPB-auth2_pb",
    "../proto/PPPB-slot_grpc_web_pb": "PPPB-slot_grpc_web_pb",
    "../proto/PPPB-slot_pb": "PPPB-slot_pb",
    "../proto/PPPB-trace_grpc_web_pb": "PPPB-trace_grpc_web_pb",
    "../proto/PPPB-trace_pb": "PPPB-trace_pb"
  } ],
  "PPPB-slot_grpc_web_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "752a6ODaBxEsqQ4psTw6N0R", "PPPB-slot_grpc_web_pb");
    "use strict";
    var grpc = {};
    grpc.web = require("grpc-web");
    var proto = {};
    proto.slot = require("./PPPB-slot_pb.js");
    proto.slot.GameClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.slot.GamePromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Game_GetInfo = new grpc.web.MethodDescriptor("/slot.Game/GetInfo", grpc.web.MethodType.UNARY, proto.slot.GetInfoReq, proto.slot.GetInfoRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.GetInfoRet.deserializeBinary);
    proto.slot.GameClient.prototype.getInfo = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/GetInfo", request, metadata || {}, methodDescriptor_Game_GetInfo, callback);
    };
    proto.slot.GamePromiseClient.prototype.getInfo = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/GetInfo", request, metadata || {}, methodDescriptor_Game_GetInfo);
    };
    var methodDescriptor_Game_Spin = new grpc.web.MethodDescriptor("/slot.Game/Spin", grpc.web.MethodType.UNARY, proto.slot.SpinReq, proto.slot.SpinRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.SpinRet.deserializeBinary);
    proto.slot.GameClient.prototype.spin = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/Spin", request, metadata || {}, methodDescriptor_Game_Spin, callback);
    };
    proto.slot.GamePromiseClient.prototype.spin = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/Spin", request, metadata || {}, methodDescriptor_Game_Spin);
    };
    var methodDescriptor_Game_BuyFree = new grpc.web.MethodDescriptor("/slot.Game/BuyFree", grpc.web.MethodType.UNARY, proto.slot.BuyFreeReq, proto.slot.BuyFreeRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.BuyFreeRet.deserializeBinary);
    proto.slot.GameClient.prototype.buyFree = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/BuyFree", request, metadata || {}, methodDescriptor_Game_BuyFree, callback);
    };
    proto.slot.GamePromiseClient.prototype.buyFree = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/BuyFree", request, metadata || {}, methodDescriptor_Game_BuyFree);
    };
    var methodDescriptor_Game_Heart = new grpc.web.MethodDescriptor("/slot.Game/Heart", grpc.web.MethodType.UNARY, proto.slot.HeartReq, proto.slot.HeartRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.HeartRet.deserializeBinary);
    proto.slot.GameClient.prototype.heart = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/Heart", request, metadata || {}, methodDescriptor_Game_Heart, callback);
    };
    proto.slot.GamePromiseClient.prototype.heart = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/Heart", request, metadata || {}, methodDescriptor_Game_Heart);
    };
    var methodDescriptor_Game_FreeComplete = new grpc.web.MethodDescriptor("/slot.Game/FreeComplete", grpc.web.MethodType.UNARY, proto.slot.FreeCompleteReq, proto.slot.FreeCompleteRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.FreeCompleteRet.deserializeBinary);
    proto.slot.GameClient.prototype.freeComplete = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/FreeComplete", request, metadata || {}, methodDescriptor_Game_FreeComplete, callback);
    };
    proto.slot.GamePromiseClient.prototype.freeComplete = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/FreeComplete", request, metadata || {}, methodDescriptor_Game_FreeComplete);
    };
    var methodDescriptor_Game_GetFreeInfo = new grpc.web.MethodDescriptor("/slot.Game/GetFreeInfo", grpc.web.MethodType.UNARY, proto.slot.GetFreeInfoReq, proto.slot.GetFreeInfoRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.GetFreeInfoRet.deserializeBinary);
    proto.slot.GameClient.prototype.getFreeInfo = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/GetFreeInfo", request, metadata || {}, methodDescriptor_Game_GetFreeInfo, callback);
    };
    proto.slot.GamePromiseClient.prototype.getFreeInfo = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/GetFreeInfo", request, metadata || {}, methodDescriptor_Game_GetFreeInfo);
    };
    var methodDescriptor_Game_PlayerSelect = new grpc.web.MethodDescriptor("/slot.Game/PlayerSelect", grpc.web.MethodType.UNARY, proto.slot.PlayerSelectReq, proto.slot.PlayerSelectRet, function(request) {
      return request.serializeBinary();
    }, proto.slot.PlayerSelectRet.deserializeBinary);
    proto.slot.GameClient.prototype.playerSelect = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/slot.Game/PlayerSelect", request, metadata || {}, methodDescriptor_Game_PlayerSelect, callback);
    };
    proto.slot.GamePromiseClient.prototype.playerSelect = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/slot.Game/PlayerSelect", request, metadata || {}, methodDescriptor_Game_PlayerSelect);
    };
    module.exports = proto.slot;
    cc._RF.pop();
  }, {
    "./PPPB-slot_pb.js": "PPPB-slot_pb",
    "grpc-web": void 0
  } ],
  "PPPB-slot_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a4ca8IZ6IlMyatMV9xKIUtm", "PPPB-slot_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.slot.BuyFreeReq", null, global);
    goog.exportSymbol("proto.slot.BuyFreeRet", null, global);
    goog.exportSymbol("proto.slot.FreeCompleteReq", null, global);
    goog.exportSymbol("proto.slot.FreeCompleteRet", null, global);
    goog.exportSymbol("proto.slot.GetFreeInfoReq", null, global);
    goog.exportSymbol("proto.slot.GetFreeInfoRet", null, global);
    goog.exportSymbol("proto.slot.GetInfoReq", null, global);
    goog.exportSymbol("proto.slot.GetInfoRet", null, global);
    goog.exportSymbol("proto.slot.GetInfoRet.BetOptions", null, global);
    goog.exportSymbol("proto.slot.HeartReq", null, global);
    goog.exportSymbol("proto.slot.HeartRet", null, global);
    goog.exportSymbol("proto.slot.PlayerSelectReq", null, global);
    goog.exportSymbol("proto.slot.PlayerSelectRet", null, global);
    goog.exportSymbol("proto.slot.SpinLogData", null, global);
    goog.exportSymbol("proto.slot.SpinReq", null, global);
    goog.exportSymbol("proto.slot.SpinReq.Muls", null, global);
    goog.exportSymbol("proto.slot.SpinRet", null, global);
    goog.exportSymbol("proto.slot.UpdateReq", null, global);
    goog.exportSymbol("proto.slot.UpdateRet", null, global);
    proto.slot.GetInfoReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.GetInfoReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.GetInfoReq.displayName = "proto.slot.GetInfoReq");
    proto.slot.GetInfoRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.GetInfoRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.GetInfoRet.displayName = "proto.slot.GetInfoRet");
    proto.slot.GetInfoRet.BetOptions = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.slot.GetInfoRet.BetOptions.repeatedFields_, null);
    };
    goog.inherits(proto.slot.GetInfoRet.BetOptions, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.GetInfoRet.BetOptions.displayName = "proto.slot.GetInfoRet.BetOptions");
    proto.slot.SpinReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.slot.SpinReq.repeatedFields_, null);
    };
    goog.inherits(proto.slot.SpinReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.SpinReq.displayName = "proto.slot.SpinReq");
    proto.slot.SpinReq.Muls = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.SpinReq.Muls, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.SpinReq.Muls.displayName = "proto.slot.SpinReq.Muls");
    proto.slot.SpinRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.SpinRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.SpinRet.displayName = "proto.slot.SpinRet");
    proto.slot.BuyFreeReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.BuyFreeReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.BuyFreeReq.displayName = "proto.slot.BuyFreeReq");
    proto.slot.BuyFreeRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.BuyFreeRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.BuyFreeRet.displayName = "proto.slot.BuyFreeRet");
    proto.slot.HeartReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.HeartReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.HeartReq.displayName = "proto.slot.HeartReq");
    proto.slot.HeartRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.HeartRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.HeartRet.displayName = "proto.slot.HeartRet");
    proto.slot.UpdateReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.UpdateReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.UpdateReq.displayName = "proto.slot.UpdateReq");
    proto.slot.UpdateRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.UpdateRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.UpdateRet.displayName = "proto.slot.UpdateRet");
    proto.slot.FreeCompleteReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.FreeCompleteReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.FreeCompleteReq.displayName = "proto.slot.FreeCompleteReq");
    proto.slot.FreeCompleteRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.FreeCompleteRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.FreeCompleteRet.displayName = "proto.slot.FreeCompleteRet");
    proto.slot.GetFreeInfoReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.GetFreeInfoReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.GetFreeInfoReq.displayName = "proto.slot.GetFreeInfoReq");
    proto.slot.GetFreeInfoRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.GetFreeInfoRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.GetFreeInfoRet.displayName = "proto.slot.GetFreeInfoRet");
    proto.slot.SpinLogData = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.SpinLogData, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.SpinLogData.displayName = "proto.slot.SpinLogData");
    proto.slot.PlayerSelectReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.PlayerSelectReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.PlayerSelectReq.displayName = "proto.slot.PlayerSelectReq");
    proto.slot.PlayerSelectRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.slot.PlayerSelectRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.slot.PlayerSelectRet.displayName = "proto.slot.PlayerSelectRet");
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.GetInfoReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.GetInfoReq.toObject(opt_includeInstance, this);
      };
      proto.slot.GetInfoReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          authinfo: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.GetInfoReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.GetInfoReq();
      return proto.slot.GetInfoReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.GetInfoReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setAuthinfo(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.GetInfoReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.GetInfoReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.GetInfoReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getAuthinfo();
      f.length > 0 && writer.writeString(1, f);
    };
    proto.slot.GetInfoReq.prototype.getAuthinfo = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.slot.GetInfoReq.prototype.setAuthinfo = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.GetInfoRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.GetInfoRet.toObject(opt_includeInstance, this);
      };
      proto.slot.GetInfoRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          uid: jspb.Message.getFieldWithDefault(msg, 1, ""),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0),
          freespcount: jspb.Message.getFieldWithDefault(msg, 3, 0),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          buybonus: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          rate: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0),
          currency: jspb.Message.getFieldWithDefault(msg, 7, ""),
          betoption: (f = msg.getBetoption()) && proto.slot.GetInfoRet.BetOptions.toObject(includeInstance, f),
          pic: jspb.Message.getFieldWithDefault(msg, 9, ""),
          betinfo: jspb.Message.getFieldWithDefault(msg, 10, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.GetInfoRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.GetInfoRet();
      return proto.slot.GetInfoRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.GetInfoRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setUid(value);
          break;

         case 2:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         case 3:
          var value = reader.readInt64();
          msg.setFreespcount(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 5:
          var value = reader.readDouble();
          msg.setBuybonus(value);
          break;

         case 6:
          var value = reader.readDouble();
          msg.setRate(value);
          break;

         case 7:
          var value = reader.readString();
          msg.setCurrency(value);
          break;

         case 8:
          var value = new proto.slot.GetInfoRet.BetOptions();
          reader.readMessage(value, proto.slot.GetInfoRet.BetOptions.deserializeBinaryFromReader);
          msg.setBetoption(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setPic(value);
          break;

         case 10:
          var value = reader.readString();
          msg.setBetinfo(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.GetInfoRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.GetInfoRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.GetInfoRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getUid();
      f.length > 0 && writer.writeString(1, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(2, f);
      f = message.getFreespcount();
      0 !== f && writer.writeInt64(3, f);
      f = message.getBet();
      0 !== f && writer.writeDouble(4, f);
      f = message.getBuybonus();
      0 !== f && writer.writeDouble(5, f);
      f = message.getRate();
      0 !== f && writer.writeDouble(6, f);
      f = message.getCurrency();
      f.length > 0 && writer.writeString(7, f);
      f = message.getBetoption();
      null != f && writer.writeMessage(8, f, proto.slot.GetInfoRet.BetOptions.serializeBinaryToWriter);
      f = message.getPic();
      f.length > 0 && writer.writeString(9, f);
      f = message.getBetinfo();
      f.length > 0 && writer.writeString(10, f);
    };
    proto.slot.GetInfoRet.BetOptions.repeatedFields_ = [ 1, 2, 3 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.GetInfoRet.BetOptions.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.GetInfoRet.BetOptions.toObject(opt_includeInstance, this);
      };
      proto.slot.GetInfoRet.BetOptions.toObject = function(includeInstance, msg) {
        var f, obj = {
          betsizeList: null == (f = jspb.Message.getRepeatedFloatingPointField(msg, 1)) ? void 0 : f,
          betmulList: null == (f = jspb.Message.getRepeatedFloatingPointField(msg, 2)) ? void 0 : f,
          betbaseList: null == (f = jspb.Message.getRepeatedFloatingPointField(msg, 3)) ? void 0 : f
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.GetInfoRet.BetOptions.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.GetInfoRet.BetOptions();
      return proto.slot.GetInfoRet.BetOptions.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.GetInfoRet.BetOptions.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var values = reader.isDelimited() ? reader.readPackedFloat() : [ reader.readFloat() ];
          for (var i = 0; i < values.length; i++) msg.addBetsize(values[i]);
          break;

         case 2:
          var values = reader.isDelimited() ? reader.readPackedFloat() : [ reader.readFloat() ];
          for (var i = 0; i < values.length; i++) msg.addBetmul(values[i]);
          break;

         case 3:
          var values = reader.isDelimited() ? reader.readPackedFloat() : [ reader.readFloat() ];
          for (var i = 0; i < values.length; i++) msg.addBetbase(values[i]);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.GetInfoRet.BetOptions.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.GetInfoRet.BetOptions.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.GetInfoRet.BetOptions.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getBetsizeList();
      f.length > 0 && writer.writePackedFloat(1, f);
      f = message.getBetmulList();
      f.length > 0 && writer.writePackedFloat(2, f);
      f = message.getBetbaseList();
      f.length > 0 && writer.writePackedFloat(3, f);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.getBetsizeList = function() {
      return jspb.Message.getRepeatedFloatingPointField(this, 1);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.setBetsizeList = function(value) {
      return jspb.Message.setField(this, 1, value || []);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.addBetsize = function(value, opt_index) {
      return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.clearBetsizeList = function() {
      return this.setBetsizeList([]);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.getBetmulList = function() {
      return jspb.Message.getRepeatedFloatingPointField(this, 2);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.setBetmulList = function(value) {
      return jspb.Message.setField(this, 2, value || []);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.addBetmul = function(value, opt_index) {
      return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.clearBetmulList = function() {
      return this.setBetmulList([]);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.getBetbaseList = function() {
      return jspb.Message.getRepeatedFloatingPointField(this, 3);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.setBetbaseList = function(value) {
      return jspb.Message.setField(this, 3, value || []);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.addBetbase = function(value, opt_index) {
      return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
    };
    proto.slot.GetInfoRet.BetOptions.prototype.clearBetbaseList = function() {
      return this.setBetbaseList([]);
    };
    proto.slot.GetInfoRet.prototype.getUid = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.slot.GetInfoRet.prototype.setUid = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.slot.GetInfoRet.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0);
    };
    proto.slot.GetInfoRet.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 2, value);
    };
    proto.slot.GetInfoRet.prototype.getFreespcount = function() {
      return jspb.Message.getFieldWithDefault(this, 3, 0);
    };
    proto.slot.GetInfoRet.prototype.setFreespcount = function(value) {
      return jspb.Message.setProto3IntField(this, 3, value);
    };
    proto.slot.GetInfoRet.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.slot.GetInfoRet.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.slot.GetInfoRet.prototype.getBuybonus = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.slot.GetInfoRet.prototype.setBuybonus = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.slot.GetInfoRet.prototype.getRate = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0);
    };
    proto.slot.GetInfoRet.prototype.setRate = function(value) {
      return jspb.Message.setProto3FloatField(this, 6, value);
    };
    proto.slot.GetInfoRet.prototype.getCurrency = function() {
      return jspb.Message.getFieldWithDefault(this, 7, "");
    };
    proto.slot.GetInfoRet.prototype.setCurrency = function(value) {
      return jspb.Message.setProto3StringField(this, 7, value);
    };
    proto.slot.GetInfoRet.prototype.getBetoption = function() {
      return jspb.Message.getWrapperField(this, proto.slot.GetInfoRet.BetOptions, 8);
    };
    proto.slot.GetInfoRet.prototype.setBetoption = function(value) {
      return jspb.Message.setWrapperField(this, 8, value);
    };
    proto.slot.GetInfoRet.prototype.clearBetoption = function() {
      return this.setBetoption(void 0);
    };
    proto.slot.GetInfoRet.prototype.hasBetoption = function() {
      return null != jspb.Message.getField(this, 8);
    };
    proto.slot.GetInfoRet.prototype.getPic = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.slot.GetInfoRet.prototype.setPic = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    proto.slot.GetInfoRet.prototype.getBetinfo = function() {
      return jspb.Message.getFieldWithDefault(this, 10, "");
    };
    proto.slot.GetInfoRet.prototype.setBetinfo = function(value) {
      return jspb.Message.setProto3StringField(this, 10, value);
    };
    proto.slot.SpinReq.repeatedFields_ = [ 4 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.SpinReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.SpinReq.toObject(opt_includeInstance, this);
      };
      proto.slot.SpinReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0),
          mode: jspb.Message.getFieldWithDefault(msg, 2, 0),
          rulemode: jspb.Message.getFieldWithDefault(msg, 3, 0),
          mulsList: jspb.Message.toObjectList(msg.getMulsList(), proto.slot.SpinReq.Muls.toObject, includeInstance)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.SpinReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.SpinReq();
      return proto.slot.SpinReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.SpinReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setMode(value);
          break;

         case 3:
          var value = reader.readInt32();
          msg.setRulemode(value);
          break;

         case 4:
          var value = new proto.slot.SpinReq.Muls();
          reader.readMessage(value, proto.slot.SpinReq.Muls.deserializeBinaryFromReader);
          msg.addMuls(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.SpinReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.SpinReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.SpinReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getBet();
      0 !== f && writer.writeDouble(1, f);
      f = message.getMode();
      0 !== f && writer.writeInt32(2, f);
      f = message.getRulemode();
      0 !== f && writer.writeInt32(3, f);
      f = message.getMulsList();
      f.length > 0 && writer.writeRepeatedMessage(4, f, proto.slot.SpinReq.Muls.serializeBinaryToWriter);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.SpinReq.Muls.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.SpinReq.Muls.toObject(opt_includeInstance, this);
      };
      proto.slot.SpinReq.Muls.toObject = function(includeInstance, msg) {
        var f, obj = {
          mul: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0),
          pic: jspb.Message.getFieldWithDefault(msg, 2, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.SpinReq.Muls.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.SpinReq.Muls();
      return proto.slot.SpinReq.Muls.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.SpinReq.Muls.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readDouble();
          msg.setMul(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setPic(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.SpinReq.Muls.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.SpinReq.Muls.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.SpinReq.Muls.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getMul();
      0 !== f && writer.writeDouble(1, f);
      f = message.getPic();
      f.length > 0 && writer.writeString(2, f);
    };
    proto.slot.SpinReq.Muls.prototype.getMul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0);
    };
    proto.slot.SpinReq.Muls.prototype.setMul = function(value) {
      return jspb.Message.setProto3FloatField(this, 1, value);
    };
    proto.slot.SpinReq.Muls.prototype.getPic = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.slot.SpinReq.Muls.prototype.setPic = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.slot.SpinReq.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0);
    };
    proto.slot.SpinReq.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 1, value);
    };
    proto.slot.SpinReq.prototype.getMode = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.slot.SpinReq.prototype.setMode = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.slot.SpinReq.prototype.getRulemode = function() {
      return jspb.Message.getFieldWithDefault(this, 3, 0);
    };
    proto.slot.SpinReq.prototype.setRulemode = function(value) {
      return jspb.Message.setProto3IntField(this, 3, value);
    };
    proto.slot.SpinReq.prototype.getMulsList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.slot.SpinReq.Muls, 4);
    };
    proto.slot.SpinReq.prototype.setMulsList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 4, value);
    };
    proto.slot.SpinReq.prototype.addMuls = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.slot.SpinReq.Muls, opt_index);
    };
    proto.slot.SpinReq.prototype.clearMulsList = function() {
      return this.setMulsList([]);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.SpinRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.SpinRet.toObject(opt_includeInstance, this);
      };
      proto.slot.SpinRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          spinlist: msg.getSpinlist_asB64(),
          freespinlist: msg.getFreespinlist_asB64(),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0),
          err: jspb.Message.getFieldWithDefault(msg, 4, ""),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          free: jspb.Message.getFieldWithDefault(msg, 6, 0),
          orderid: jspb.Message.getFieldWithDefault(msg, 7, ""),
          jackpot: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0),
          jackpotidx: jspb.Message.getFieldWithDefault(msg, 9, ""),
          mul: jspb.Message.getFloatingPointFieldWithDefault(msg, 10, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.SpinRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.SpinRet();
      return proto.slot.SpinRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.SpinRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBytes();
          msg.setSpinlist(value);
          break;

         case 2:
          var value = reader.readBytes();
          msg.setFreespinlist(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         case 4:
          var value = reader.readString();
          msg.setErr(value);
          break;

         case 5:
          var value = reader.readFloat();
          msg.setBet(value);
          break;

         case 6:
          var value = reader.readInt32();
          msg.setFree(value);
          break;

         case 7:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         case 8:
          var value = reader.readDouble();
          msg.setJackpot(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setJackpotidx(value);
          break;

         case 10:
          var value = reader.readDouble();
          msg.setMul(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.SpinRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.SpinRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.SpinRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSpinlist_asU8();
      f.length > 0 && writer.writeBytes(1, f);
      f = message.getFreespinlist_asU8();
      f.length > 0 && writer.writeBytes(2, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(3, f);
      f = message.getErr();
      f.length > 0 && writer.writeString(4, f);
      f = message.getBet();
      0 !== f && writer.writeFloat(5, f);
      f = message.getFree();
      0 !== f && writer.writeInt32(6, f);
      f = message.getOrderid();
      f.length > 0 && writer.writeString(7, f);
      f = message.getJackpot();
      0 !== f && writer.writeDouble(8, f);
      f = message.getJackpotidx();
      f.length > 0 && writer.writeString(9, f);
      f = message.getMul();
      0 !== f && writer.writeDouble(10, f);
    };
    proto.slot.SpinRet.prototype.getSpinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.slot.SpinRet.prototype.getSpinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getSpinlist());
    };
    proto.slot.SpinRet.prototype.getSpinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getSpinlist());
    };
    proto.slot.SpinRet.prototype.setSpinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 1, value);
    };
    proto.slot.SpinRet.prototype.getFreespinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.slot.SpinRet.prototype.getFreespinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getFreespinlist());
    };
    proto.slot.SpinRet.prototype.getFreespinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getFreespinlist());
    };
    proto.slot.SpinRet.prototype.setFreespinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 2, value);
    };
    proto.slot.SpinRet.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.slot.SpinRet.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    proto.slot.SpinRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 4, "");
    };
    proto.slot.SpinRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 4, value);
    };
    proto.slot.SpinRet.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.slot.SpinRet.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.slot.SpinRet.prototype.getFree = function() {
      return jspb.Message.getFieldWithDefault(this, 6, 0);
    };
    proto.slot.SpinRet.prototype.setFree = function(value) {
      return jspb.Message.setProto3IntField(this, 6, value);
    };
    proto.slot.SpinRet.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 7, "");
    };
    proto.slot.SpinRet.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 7, value);
    };
    proto.slot.SpinRet.prototype.getJackpot = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0);
    };
    proto.slot.SpinRet.prototype.setJackpot = function(value) {
      return jspb.Message.setProto3FloatField(this, 8, value);
    };
    proto.slot.SpinRet.prototype.getJackpotidx = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.slot.SpinRet.prototype.setJackpotidx = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    proto.slot.SpinRet.prototype.getMul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 10, 0);
    };
    proto.slot.SpinRet.prototype.setMul = function(value) {
      return jspb.Message.setProto3FloatField(this, 10, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.BuyFreeReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.BuyFreeReq.toObject(opt_includeInstance, this);
      };
      proto.slot.BuyFreeReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0),
          count: jspb.Message.getFieldWithDefault(msg, 2, 0),
          buybonus: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.BuyFreeReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.BuyFreeReq();
      return proto.slot.BuyFreeReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.BuyFreeReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 2:
          var value = reader.readInt64();
          msg.setCount(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBuybonus(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.BuyFreeReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.BuyFreeReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.BuyFreeReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getBet();
      0 !== f && writer.writeDouble(1, f);
      f = message.getCount();
      0 !== f && writer.writeInt64(2, f);
      f = message.getBuybonus();
      0 !== f && writer.writeDouble(3, f);
    };
    proto.slot.BuyFreeReq.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0);
    };
    proto.slot.BuyFreeReq.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 1, value);
    };
    proto.slot.BuyFreeReq.prototype.getCount = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.slot.BuyFreeReq.prototype.setCount = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.slot.BuyFreeReq.prototype.getBuybonus = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.slot.BuyFreeReq.prototype.setBuybonus = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.BuyFreeRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.BuyFreeRet.toObject(opt_includeInstance, this);
      };
      proto.slot.BuyFreeRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0),
          count: jspb.Message.getFieldWithDefault(msg, 2, 0),
          buybonus: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.BuyFreeRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.BuyFreeRet();
      return proto.slot.BuyFreeRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.BuyFreeRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 2:
          var value = reader.readInt64();
          msg.setCount(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBuybonus(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.BuyFreeRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.BuyFreeRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.BuyFreeRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getBet();
      0 !== f && writer.writeDouble(1, f);
      f = message.getCount();
      0 !== f && writer.writeInt64(2, f);
      f = message.getBuybonus();
      0 !== f && writer.writeDouble(3, f);
    };
    proto.slot.BuyFreeRet.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0);
    };
    proto.slot.BuyFreeRet.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 1, value);
    };
    proto.slot.BuyFreeRet.prototype.getCount = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.slot.BuyFreeRet.prototype.setCount = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.slot.BuyFreeRet.prototype.getBuybonus = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.slot.BuyFreeRet.prototype.setBuybonus = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.HeartReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.HeartReq.toObject(opt_includeInstance, this);
      };
      proto.slot.HeartReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.HeartReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.HeartReq();
      return proto.slot.HeartReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.HeartReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.slot.HeartReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.HeartReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.HeartReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.HeartRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.HeartRet.toObject(opt_includeInstance, this);
      };
      proto.slot.HeartRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          code: jspb.Message.getFieldWithDefault(msg, 1, 0),
          info: (f = msg.getInfo()) && proto.slot.GetInfoRet.toObject(includeInstance, f)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.HeartRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.HeartRet();
      return proto.slot.HeartRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.HeartRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt64();
          msg.setCode(value);
          break;

         case 2:
          var value = new proto.slot.GetInfoRet();
          reader.readMessage(value, proto.slot.GetInfoRet.deserializeBinaryFromReader);
          msg.setInfo(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.HeartRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.HeartRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.HeartRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getCode();
      0 !== f && writer.writeInt64(1, f);
      f = message.getInfo();
      null != f && writer.writeMessage(2, f, proto.slot.GetInfoRet.serializeBinaryToWriter);
    };
    proto.slot.HeartRet.prototype.getCode = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.slot.HeartRet.prototype.setCode = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.slot.HeartRet.prototype.getInfo = function() {
      return jspb.Message.getWrapperField(this, proto.slot.GetInfoRet, 2);
    };
    proto.slot.HeartRet.prototype.setInfo = function(value) {
      return jspb.Message.setWrapperField(this, 2, value);
    };
    proto.slot.HeartRet.prototype.clearInfo = function() {
      return this.setInfo(void 0);
    };
    proto.slot.HeartRet.prototype.hasInfo = function() {
      return null != jspb.Message.getField(this, 2);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.UpdateReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.UpdateReq.toObject(opt_includeInstance, this);
      };
      proto.slot.UpdateReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.UpdateReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.UpdateReq();
      return proto.slot.UpdateReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.UpdateReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.slot.UpdateReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.UpdateReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.UpdateReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.UpdateRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.UpdateRet.toObject(opt_includeInstance, this);
      };
      proto.slot.UpdateRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.UpdateRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.UpdateRet();
      return proto.slot.UpdateRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.UpdateRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBool();
          msg.setSuccess(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.UpdateRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.UpdateRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.UpdateRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSuccess();
      f && writer.writeBool(1, f);
    };
    proto.slot.UpdateRet.prototype.getSuccess = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 1, false);
    };
    proto.slot.UpdateRet.prototype.setSuccess = function(value) {
      return jspb.Message.setProto3BooleanField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.FreeCompleteReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.FreeCompleteReq.toObject(opt_includeInstance, this);
      };
      proto.slot.FreeCompleteReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.FreeCompleteReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.FreeCompleteReq();
      return proto.slot.FreeCompleteReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.FreeCompleteReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.slot.FreeCompleteReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.FreeCompleteReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.FreeCompleteReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.FreeCompleteRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.FreeCompleteRet.toObject(opt_includeInstance, this);
      };
      proto.slot.FreeCompleteRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.FreeCompleteRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.FreeCompleteRet();
      return proto.slot.FreeCompleteRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.FreeCompleteRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBool();
          msg.setSuccess(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.FreeCompleteRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.FreeCompleteRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.FreeCompleteRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSuccess();
      f && writer.writeBool(1, f);
    };
    proto.slot.FreeCompleteRet.prototype.getSuccess = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 1, false);
    };
    proto.slot.FreeCompleteRet.prototype.setSuccess = function(value) {
      return jspb.Message.setProto3BooleanField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.GetFreeInfoReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.GetFreeInfoReq.toObject(opt_includeInstance, this);
      };
      proto.slot.GetFreeInfoReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.GetFreeInfoReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.GetFreeInfoReq();
      return proto.slot.GetFreeInfoReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.GetFreeInfoReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.slot.GetFreeInfoReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.GetFreeInfoReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.GetFreeInfoReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.GetFreeInfoRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.GetFreeInfoRet.toObject(opt_includeInstance, this);
      };
      proto.slot.GetFreeInfoRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          info: (f = msg.getInfo()) && proto.slot.SpinRet.toObject(includeInstance, f)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.GetFreeInfoRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.GetFreeInfoRet();
      return proto.slot.GetFreeInfoRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.GetFreeInfoRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.slot.SpinRet();
          reader.readMessage(value, proto.slot.SpinRet.deserializeBinaryFromReader);
          msg.setInfo(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.GetFreeInfoRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.GetFreeInfoRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.GetFreeInfoRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getInfo();
      null != f && writer.writeMessage(1, f, proto.slot.SpinRet.serializeBinaryToWriter);
    };
    proto.slot.GetFreeInfoRet.prototype.getInfo = function() {
      return jspb.Message.getWrapperField(this, proto.slot.SpinRet, 1);
    };
    proto.slot.GetFreeInfoRet.prototype.setInfo = function(value) {
      return jspb.Message.setWrapperField(this, 1, value);
    };
    proto.slot.GetFreeInfoRet.prototype.clearInfo = function() {
      return this.setInfo(void 0);
    };
    proto.slot.GetFreeInfoRet.prototype.hasInfo = function() {
      return null != jspb.Message.getField(this, 1);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.SpinLogData.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.SpinLogData.toObject(opt_includeInstance, this);
      };
      proto.slot.SpinLogData.toObject = function(includeInstance, msg) {
        var f, obj = {
          gametype: jspb.Message.getFieldWithDefault(msg, 1, ""),
          uid: jspb.Message.getFieldWithDefault(msg, 2, ""),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          mul: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          freemul: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0),
          spintype: jspb.Message.getFieldWithDefault(msg, 7, 0),
          win: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0),
          ops: jspb.Message.getFieldWithDefault(msg, 9, ""),
          opid: jspb.Message.getFieldWithDefault(msg, 10, ""),
          orderid: jspb.Message.getFieldWithDefault(msg, 11, ""),
          spinlist: msg.getSpinlist_asB64(),
          freespinlist: msg.getFreespinlist_asB64(),
          custom: jspb.Message.getFieldWithDefault(msg, 14, ""),
          inbet: jspb.Message.getFloatingPointFieldWithDefault(msg, 15, 0),
          brand: jspb.Message.getFieldWithDefault(msg, 16, ""),
          jackpot: jspb.Message.getFloatingPointFieldWithDefault(msg, 17, 0),
          free: jspb.Message.getFieldWithDefault(msg, 18, 0),
          mode: jspb.Message.getFieldWithDefault(msg, 19, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.SpinLogData.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.SpinLogData();
      return proto.slot.SpinLogData.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.SpinLogData.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setGametype(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setUid(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         case 5:
          var value = reader.readDouble();
          msg.setMul(value);
          break;

         case 6:
          var value = reader.readDouble();
          msg.setFreemul(value);
          break;

         case 7:
          var value = reader.readInt64();
          msg.setSpintype(value);
          break;

         case 8:
          var value = reader.readDouble();
          msg.setWin(value);
          break;

         case 9:
          var value = reader.readString();
          msg.setOps(value);
          break;

         case 10:
          var value = reader.readString();
          msg.setOpid(value);
          break;

         case 11:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         case 12:
          var value = reader.readBytes();
          msg.setSpinlist(value);
          break;

         case 13:
          var value = reader.readBytes();
          msg.setFreespinlist(value);
          break;

         case 14:
          var value = reader.readString();
          msg.setCustom(value);
          break;

         case 15:
          var value = reader.readDouble();
          msg.setInbet(value);
          break;

         case 16:
          var value = reader.readString();
          msg.setBrand(value);
          break;

         case 17:
          var value = reader.readDouble();
          msg.setJackpot(value);
          break;

         case 18:
          var value = reader.readInt32();
          msg.setFree(value);
          break;

         case 19:
          var value = reader.readInt32();
          msg.setMode(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.SpinLogData.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.SpinLogData.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.SpinLogData.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getGametype();
      f.length > 0 && writer.writeString(1, f);
      f = message.getUid();
      f.length > 0 && writer.writeString(2, f);
      f = message.getBet();
      0 !== f && writer.writeDouble(3, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(4, f);
      f = message.getMul();
      0 !== f && writer.writeDouble(5, f);
      f = message.getFreemul();
      0 !== f && writer.writeDouble(6, f);
      f = message.getSpintype();
      0 !== f && writer.writeInt64(7, f);
      f = message.getWin();
      0 !== f && writer.writeDouble(8, f);
      f = message.getOps();
      f.length > 0 && writer.writeString(9, f);
      f = message.getOpid();
      f.length > 0 && writer.writeString(10, f);
      f = message.getOrderid();
      f.length > 0 && writer.writeString(11, f);
      f = message.getSpinlist_asU8();
      f.length > 0 && writer.writeBytes(12, f);
      f = message.getFreespinlist_asU8();
      f.length > 0 && writer.writeBytes(13, f);
      f = message.getCustom();
      f.length > 0 && writer.writeString(14, f);
      f = message.getInbet();
      0 !== f && writer.writeDouble(15, f);
      f = message.getBrand();
      f.length > 0 && writer.writeString(16, f);
      f = message.getJackpot();
      0 !== f && writer.writeDouble(17, f);
      f = message.getFree();
      0 !== f && writer.writeInt32(18, f);
      f = message.getMode();
      0 !== f && writer.writeInt32(19, f);
    };
    proto.slot.SpinLogData.prototype.getGametype = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.slot.SpinLogData.prototype.setGametype = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.slot.SpinLogData.prototype.getUid = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.slot.SpinLogData.prototype.setUid = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.slot.SpinLogData.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.slot.SpinLogData.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    proto.slot.SpinLogData.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.slot.SpinLogData.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.slot.SpinLogData.prototype.getMul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.slot.SpinLogData.prototype.setMul = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.slot.SpinLogData.prototype.getFreemul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0);
    };
    proto.slot.SpinLogData.prototype.setFreemul = function(value) {
      return jspb.Message.setProto3FloatField(this, 6, value);
    };
    proto.slot.SpinLogData.prototype.getSpintype = function() {
      return jspb.Message.getFieldWithDefault(this, 7, 0);
    };
    proto.slot.SpinLogData.prototype.setSpintype = function(value) {
      return jspb.Message.setProto3IntField(this, 7, value);
    };
    proto.slot.SpinLogData.prototype.getWin = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0);
    };
    proto.slot.SpinLogData.prototype.setWin = function(value) {
      return jspb.Message.setProto3FloatField(this, 8, value);
    };
    proto.slot.SpinLogData.prototype.getOps = function() {
      return jspb.Message.getFieldWithDefault(this, 9, "");
    };
    proto.slot.SpinLogData.prototype.setOps = function(value) {
      return jspb.Message.setProto3StringField(this, 9, value);
    };
    proto.slot.SpinLogData.prototype.getOpid = function() {
      return jspb.Message.getFieldWithDefault(this, 10, "");
    };
    proto.slot.SpinLogData.prototype.setOpid = function(value) {
      return jspb.Message.setProto3StringField(this, 10, value);
    };
    proto.slot.SpinLogData.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 11, "");
    };
    proto.slot.SpinLogData.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 11, value);
    };
    proto.slot.SpinLogData.prototype.getSpinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 12, "");
    };
    proto.slot.SpinLogData.prototype.getSpinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getSpinlist());
    };
    proto.slot.SpinLogData.prototype.getSpinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getSpinlist());
    };
    proto.slot.SpinLogData.prototype.setSpinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 12, value);
    };
    proto.slot.SpinLogData.prototype.getFreespinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 13, "");
    };
    proto.slot.SpinLogData.prototype.getFreespinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getFreespinlist());
    };
    proto.slot.SpinLogData.prototype.getFreespinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getFreespinlist());
    };
    proto.slot.SpinLogData.prototype.setFreespinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 13, value);
    };
    proto.slot.SpinLogData.prototype.getCustom = function() {
      return jspb.Message.getFieldWithDefault(this, 14, "");
    };
    proto.slot.SpinLogData.prototype.setCustom = function(value) {
      return jspb.Message.setProto3StringField(this, 14, value);
    };
    proto.slot.SpinLogData.prototype.getInbet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 15, 0);
    };
    proto.slot.SpinLogData.prototype.setInbet = function(value) {
      return jspb.Message.setProto3FloatField(this, 15, value);
    };
    proto.slot.SpinLogData.prototype.getBrand = function() {
      return jspb.Message.getFieldWithDefault(this, 16, "");
    };
    proto.slot.SpinLogData.prototype.setBrand = function(value) {
      return jspb.Message.setProto3StringField(this, 16, value);
    };
    proto.slot.SpinLogData.prototype.getJackpot = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 17, 0);
    };
    proto.slot.SpinLogData.prototype.setJackpot = function(value) {
      return jspb.Message.setProto3FloatField(this, 17, value);
    };
    proto.slot.SpinLogData.prototype.getFree = function() {
      return jspb.Message.getFieldWithDefault(this, 18, 0);
    };
    proto.slot.SpinLogData.prototype.setFree = function(value) {
      return jspb.Message.setProto3IntField(this, 18, value);
    };
    proto.slot.SpinLogData.prototype.getMode = function() {
      return jspb.Message.getFieldWithDefault(this, 19, 0);
    };
    proto.slot.SpinLogData.prototype.setMode = function(value) {
      return jspb.Message.setProto3IntField(this, 19, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.PlayerSelectReq.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.PlayerSelectReq.toObject(opt_includeInstance, this);
      };
      proto.slot.PlayerSelectReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          select: jspb.Message.getFieldWithDefault(msg, 1, 0),
          orderid: jspb.Message.getFieldWithDefault(msg, 2, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.PlayerSelectReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.PlayerSelectReq();
      return proto.slot.PlayerSelectReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.PlayerSelectReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt32();
          msg.setSelect(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.PlayerSelectReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.PlayerSelectReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.PlayerSelectReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSelect();
      0 !== f && writer.writeInt32(1, f);
      f = message.getOrderid();
      f.length > 0 && writer.writeString(2, f);
    };
    proto.slot.PlayerSelectReq.prototype.getSelect = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.slot.PlayerSelectReq.prototype.setSelect = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.slot.PlayerSelectReq.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.slot.PlayerSelectReq.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.slot.PlayerSelectRet.prototype.toObject = function(opt_includeInstance) {
        return proto.slot.PlayerSelectRet.toObject(opt_includeInstance, this);
      };
      proto.slot.PlayerSelectRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          select: jspb.Message.getFieldWithDefault(msg, 1, 0),
          orderid: jspb.Message.getFieldWithDefault(msg, 2, ""),
          custom: jspb.Message.getFieldWithDefault(msg, 3, ""),
          err: jspb.Message.getFieldWithDefault(msg, 4, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.slot.PlayerSelectRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.slot.PlayerSelectRet();
      return proto.slot.PlayerSelectRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.slot.PlayerSelectRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt32();
          msg.setSelect(value);
          break;

         case 2:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         case 3:
          var value = reader.readString();
          msg.setCustom(value);
          break;

         case 4:
          var value = reader.readString();
          msg.setErr(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.slot.PlayerSelectRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.slot.PlayerSelectRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.slot.PlayerSelectRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSelect();
      0 !== f && writer.writeInt32(1, f);
      f = message.getOrderid();
      f.length > 0 && writer.writeString(2, f);
      f = message.getCustom();
      f.length > 0 && writer.writeString(3, f);
      f = message.getErr();
      f.length > 0 && writer.writeString(4, f);
    };
    proto.slot.PlayerSelectRet.prototype.getSelect = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.slot.PlayerSelectRet.prototype.setSelect = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.slot.PlayerSelectRet.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.slot.PlayerSelectRet.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 2, value);
    };
    proto.slot.PlayerSelectRet.prototype.getCustom = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.slot.PlayerSelectRet.prototype.setCustom = function(value) {
      return jspb.Message.setProto3StringField(this, 3, value);
    };
    proto.slot.PlayerSelectRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 4, "");
    };
    proto.slot.PlayerSelectRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 4, value);
    };
    goog.object.extend(exports, proto.slot);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-spinPanel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "d9856gNpn5I/69DCpJVLM0o", "PPPB-spinPanel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("../../framework-cocos/components/PPPB-UIList");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_event_1 = require("../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_Algorithm_1 = require("./PPPB-Algorithm");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var spinPanel = function(_super) {
      __extends(spinPanel, _super);
      function spinPanel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.list = null;
        _this._data = {
          id: 0,
          ordid: "",
          bet: 0,
          balance: 0,
          list: [],
          betmul: 0,
          betnum: .1,
          win: 0
        };
        _this._index = 0;
        _this._lastCheck = -1;
        return _this;
      }
      spinPanel.prototype.init = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          var oridata, win, i, e, j, ee;
          return __generator(this, function(_a) {
            PPPB_ui_1.ui.show([ this, "black" ]);
            this._data.id = 1;
            PPPB_ui_1.ui.setUIDataValueByPath(this, "top", {
              title: "normal spin",
              date: this.convertDate(PPPB_lib_1._.now())
            });
            this._data.bet = data.bet;
            this._data.balance = data.balance - data.win;
            oridata = data.data;
            this._data.betnum = .1;
            this._data.betmul = this._data.bet / this._data.betnum / 20;
            this._data.ordid = "0";
            win = 0;
            for (i = 0; i < data.data.length; i++) {
              e = data.data[i];
              for (j = 0; j < e.length; j++) {
                ee = e[j];
                win += ee.winGold;
              }
            }
            this._data.win = win;
            this._data.list = this.converSpinData(oridata);
            this.updatePanel();
            this.updateArrow();
            PPPB_ui_1.ui.hide([ this, "black" ]);
            return [ 2 ];
          });
        });
      };
      spinPanel.prototype.$event_spin_refresh = function(data) {};
      spinPanel.prototype.getSameValueCards = function(cards, winCards) {
        var _a;
        var sameCard = {};
        for (var i = 0; i < winCards.length; i++) {
          var x = winCards[i][0], y = winCards[i][1];
          var cardName = PPPB_Algorithm_1.aal.sup.getCardValue(cards[x][y]);
          if ("wild" == cards[x][y]) continue;
          sameCard[cardName] || (sameCard[cardName] = (_a = {}, _a[x] = [], _a));
          sameCard[cardName][x] || (sameCard[cardName][x] = []);
          sameCard[cardName][x].push(y);
        }
        for (var i = 0; i < winCards.length; i++) {
          var x = winCards[i][0], y = winCards[i][1];
          var cardName = cards[x][y];
          if ("wild" == cardName) for (var cardV in sameCard) {
            sameCard[cardV][x] || (sameCard[cardV][x] = []);
            sameCard[cardV][x].push(y);
          }
        }
        for (var cardV in sameCard) {
          var v = sameCard[cardV];
          v[0] && v[1] && v[2] || delete sameCard[cardV];
        }
        return sameCard;
      };
      spinPanel.prototype.converSpinData = function(data) {
        var tmp = [];
        var balance = this._data.balance;
        for (var i = 0; i < data.length; i++) {
          var combolist = data[i];
          for (var j = 0; j < combolist.length; j++) {
            var e = combolist[j];
            var cards = [];
            for (var m = 0; m < e.cards.length; m++) {
              var dc = e.cards[m];
              0 != m && 4 != m || (dc = dc.slice(0, 4));
              var ncards = dc.map(function(v) {
                return v.toString();
              });
              cards.push(ncards);
            }
            balance += e.winGold;
            var yjqk = [];
            var sameCard = this.getSameValueCards(cards, e.winCards);
            for (var cardV in sameCard) {
              var v = sameCard[cardV];
              var lines = 1;
              var colnum = 0;
              for (var col in v) {
                colnum++;
                lines *= v[col].length;
              }
              var odds = PPPB_Algorithm_1.aal.sup.getOdds(Number(cardV), colnum);
              var win = odds * lines * this._data.bet / 20;
              yjqk.push({
                card: PPPB_Algorithm_1.aal.sup.getCardName(Number(cardV)),
                jxlz: colnum + " Star Combo",
                jtzl: lines + " Winning Lines",
                lzwin: (win * e.mul).toFixed(2),
                lzwins: win.toFixed(2) + "x" + e.mul,
                wins: this._data.betnum.toFixed(2) + "x" + this._data.betmul + "x" + odds + "x" + lines + "x" + e.mul,
                check: false
              });
            }
            var dis = {};
            for (var i_1 = 0; i_1 < e.winCards.length; i_1++) {
              var ee = e.winCards[i_1];
              dis[ee[0]] || (dis[ee[0]] = []);
              dis[ee[0]].push(ee[1]);
            }
            tmp.push({
              free: i,
              yl: e.winGold.toFixed(2),
              ye: PPPB_lib_1._.bigNumberString(this._data.win, true),
              djhh: j + 1,
              cards: cards,
              mul: e.mul,
              yjqk: yjqk,
              winPos: dis
            });
          }
        }
        return tmp;
      };
      spinPanel.prototype.updatePanel = function() {
        this._lastCheck = -1;
        var data = this._data.list[this._index];
        if (!data) {
          this._index = 0;
          data = this._data.list[this._index];
        }
        PPPB_ui_1.ui.setUIDataValueByPath(this, "top", {
          title: data.free ? "free spin" : "normal spin"
        });
        PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/top", {
          tz: this._data.bet.toFixed(2),
          yl: data.yl,
          ye: data.ye,
          jydh: this._data.ordid
        });
        PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/view/scrollPanel/scrollTop", {
          djhh: "Round " + data.djhh,
          tzdx: "Bet: " + this._data.betnum,
          tzbs: "Bet Multiplier: " + this._data.betmul
        });
        PPPB_ui_1.ui.setUIDataValueByPath(this, "panel/view/scrollPanel/scrollBottom", {
          jjcs: "Bonus Multiplier x" + data.mul,
          yjqk: data.yjqk
        });
        var us = PPPB_ui_1.ui.getNode([ this, "panel/view/scrollPanel/scrollMid/listparent" ]).getComponentsInChildren(PPPB_UIList_1.UIList);
        var _loop_1 = function(i) {
          var tmp = data.cards[i].map(function(v, index) {
            return {
              card: v,
              select: !!(data.winPos[i] && -1 != data.winPos[i].indexOf(index))
            };
          });
          us[i].values = tmp;
        };
        for (var i = 0; i < us.length; i++) _loop_1(i);
      };
      spinPanel.prototype.convertDate = function(time) {
        var timestamp = time;
        var date = new Date(timestamp);
        var year = date.getFullYear();
        var month = String(date.getMonth() + 1).padStart(2, "0");
        var day = String(date.getDate()).padStart(2, "0");
        var hours = String(date.getHours()).padStart(2, "0");
        var minutes = String(date.getMinutes()).padStart(2, "0");
        var timezoneOffset = date.getTimezoneOffset() / -60;
        var timezone = "GMT" + (timezoneOffset > 0 ? "+" : "-") + Math.abs(timezoneOffset).toString().padStart(2, "0") + ":00";
        return year + "/" + month + "/" + day + "  " + hours + ":" + minutes + " (" + timezone + ")";
      };
      spinPanel.prototype.$ui_list__item_click = function(ul, event, index) {
        return __awaiter(this, void 0, void 0, function() {
          var check;
          return __generator(this, function(_a) {
            if (-1 == this._lastCheck) {
              this.list.set(index, {
                check: true
              });
              this._lastCheck = index;
            } else if (this._lastCheck != index) {
              this.list.set(this._lastCheck, {
                check: false
              });
              this.list.set(index, {
                check: true
              });
              this._lastCheck = index;
            } else {
              check = this.list.get(this._lastCheck).check;
              this.list.set(this._lastCheck, {
                check: !check
              });
              check && (this._lastCheck = -1);
            }
            return [ 2 ];
          });
        });
      };
      spinPanel.prototype.$ui_list__item_rbtn_click = function(ul, event, index) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            this.list.set(this._lastCheck, {
              check: false
            });
            this._lastCheck = -1;
            return [ 2 ];
          });
        });
      };
      spinPanel.prototype.updateArrow = function() {
        PPPB_ui_1.ui.show([ this, "top/left" ], this._index > 0);
        PPPB_ui_1.ui.show([ this, "top/right" ], this._index < this._data.list.length - 1);
      };
      spinPanel.prototype.$ui_top_left__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this._index <= 0) return [ 2 ];
            this._index--;
            this.updateArrow();
            this.updatePanel();
            PPPB_event_1.Events.publish("selectPanel", "close", "", "");
            return [ 2 ];
          });
        });
      };
      spinPanel.prototype.$ui_top_right__click = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this._index >= this._data.list.length - 1) return [ 2 ];
            this._index++;
            this.updateArrow();
            this.updatePanel();
            PPPB_event_1.Events.publish("selectPanel", "close", "", "");
            return [ 2 ];
          });
        });
      };
      __decorate([ property(PPPB_UIList_1.UIList) ], spinPanel.prototype, "list", void 0);
      spinPanel = __decorate([ ccclass ], spinPanel);
      return spinPanel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = spinPanel;
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "../../framework/PPPB-event": "PPPB-event",
    "../../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-Algorithm": "PPPB-Algorithm"
  } ],
  "PPPB-spincards_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "42c84etCQJKpoxhUnNnLI4G", "PPPB-spincards_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.spincards.SpinStruct", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.Spin", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.Spin.Combo", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.Spin.Combo.Int32List", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.Spin.Combo.Pos", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.SpinList", null, global);
    goog.exportSymbol("proto.spincards.SpinStruct.freeStartStruct", null, global);
    proto.spincards.SpinStruct = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.spincards.SpinStruct.repeatedFields_, null);
    };
    goog.inherits(proto.spincards.SpinStruct, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.displayName = "proto.spincards.SpinStruct");
    proto.spincards.SpinStruct.SpinList = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.spincards.SpinStruct.SpinList.repeatedFields_, null);
    };
    goog.inherits(proto.spincards.SpinStruct.SpinList, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.SpinList.displayName = "proto.spincards.SpinStruct.SpinList");
    proto.spincards.SpinStruct.Spin = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.spincards.SpinStruct.Spin.repeatedFields_, null);
    };
    goog.inherits(proto.spincards.SpinStruct.Spin, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.Spin.displayName = "proto.spincards.SpinStruct.Spin");
    proto.spincards.SpinStruct.Spin.Combo = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.spincards.SpinStruct.Spin.Combo.repeatedFields_, null);
    };
    goog.inherits(proto.spincards.SpinStruct.Spin.Combo, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.Spin.Combo.displayName = "proto.spincards.SpinStruct.Spin.Combo");
    proto.spincards.SpinStruct.Spin.Combo.Int32List = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.spincards.SpinStruct.Spin.Combo.Int32List.repeatedFields_, null);
    };
    goog.inherits(proto.spincards.SpinStruct.Spin.Combo.Int32List, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.Spin.Combo.Int32List.displayName = "proto.spincards.SpinStruct.Spin.Combo.Int32List");
    proto.spincards.SpinStruct.Spin.Combo.Pos = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.spincards.SpinStruct.Spin.Combo.Pos, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.Spin.Combo.Pos.displayName = "proto.spincards.SpinStruct.Spin.Combo.Pos");
    proto.spincards.SpinStruct.freeStartStruct = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.spincards.SpinStruct.freeStartStruct, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.spincards.SpinStruct.freeStartStruct.displayName = "proto.spincards.SpinStruct.freeStartStruct");
    proto.spincards.SpinStruct.repeatedFields_ = [ 1 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.toObject = function(includeInstance, msg) {
        var f, obj = {
          spinsList: jspb.Message.toObjectList(msg.getSpinsList(), proto.spincards.SpinStruct.SpinList.toObject, includeInstance),
          freestart: (f = msg.getFreestart()) && proto.spincards.SpinStruct.freeStartStruct.toObject(includeInstance, f)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct();
      return proto.spincards.SpinStruct.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.spincards.SpinStruct.SpinList();
          reader.readMessage(value, proto.spincards.SpinStruct.SpinList.deserializeBinaryFromReader);
          msg.addSpins(value);
          break;

         case 2:
          var value = new proto.spincards.SpinStruct.freeStartStruct();
          reader.readMessage(value, proto.spincards.SpinStruct.freeStartStruct.deserializeBinaryFromReader);
          msg.setFreestart(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSpinsList();
      f.length > 0 && writer.writeRepeatedMessage(1, f, proto.spincards.SpinStruct.SpinList.serializeBinaryToWriter);
      f = message.getFreestart();
      null != f && writer.writeMessage(2, f, proto.spincards.SpinStruct.freeStartStruct.serializeBinaryToWriter);
    };
    proto.spincards.SpinStruct.SpinList.repeatedFields_ = [ 1 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.SpinList.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.SpinList.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.SpinList.toObject = function(includeInstance, msg) {
        var f, obj = {
          spinsList: jspb.Message.toObjectList(msg.getSpinsList(), proto.spincards.SpinStruct.Spin.toObject, includeInstance)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.SpinList.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.SpinList();
      return proto.spincards.SpinStruct.SpinList.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.SpinList.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.spincards.SpinStruct.Spin();
          reader.readMessage(value, proto.spincards.SpinStruct.Spin.deserializeBinaryFromReader);
          msg.addSpins(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.SpinList.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.SpinList.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.SpinList.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSpinsList();
      f.length > 0 && writer.writeRepeatedMessage(1, f, proto.spincards.SpinStruct.Spin.serializeBinaryToWriter);
    };
    proto.spincards.SpinStruct.SpinList.prototype.getSpinsList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.spincards.SpinStruct.Spin, 1);
    };
    proto.spincards.SpinStruct.SpinList.prototype.setSpinsList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 1, value);
    };
    proto.spincards.SpinStruct.SpinList.prototype.addSpins = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.spincards.SpinStruct.Spin, opt_index);
    };
    proto.spincards.SpinStruct.SpinList.prototype.clearSpinsList = function() {
      return this.setSpinsList([]);
    };
    proto.spincards.SpinStruct.Spin.repeatedFields_ = [ 1 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.Spin.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.Spin.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.Spin.toObject = function(includeInstance, msg) {
        var f, obj = {
          combosList: jspb.Message.toObjectList(msg.getCombosList(), proto.spincards.SpinStruct.Spin.Combo.toObject, includeInstance)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.Spin.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.Spin();
      return proto.spincards.SpinStruct.Spin.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.Spin.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = new proto.spincards.SpinStruct.Spin.Combo();
          reader.readMessage(value, proto.spincards.SpinStruct.Spin.Combo.deserializeBinaryFromReader);
          msg.addCombos(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.Spin.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.Spin.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.Spin.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getCombosList();
      f.length > 0 && writer.writeRepeatedMessage(1, f, proto.spincards.SpinStruct.Spin.Combo.serializeBinaryToWriter);
    };
    proto.spincards.SpinStruct.Spin.Combo.repeatedFields_ = [ 2, 3 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.Spin.Combo.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.Spin.Combo.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.Spin.Combo.toObject = function(includeInstance, msg) {
        var f, obj = {
          cardsList: jspb.Message.toObjectList(msg.getCardsList(), proto.spincards.SpinStruct.Spin.Combo.Int32List.toObject, includeInstance),
          wincardsList: jspb.Message.toObjectList(msg.getWincardsList(), proto.spincards.SpinStruct.Spin.Combo.Pos.toObject, includeInstance),
          finalmul: jspb.Message.getFieldWithDefault(msg, 4, 0),
          freegold: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          freespins: jspb.Message.getFieldWithDefault(msg, 6, 0),
          gainedfreespins: jspb.Message.getFieldWithDefault(msg, 7, 0),
          mul: jspb.Message.getFieldWithDefault(msg, 8, 0),
          totalwingold: jspb.Message.getFloatingPointFieldWithDefault(msg, 10, 0),
          tumblewingold: jspb.Message.getFloatingPointFieldWithDefault(msg, 11, 0),
          wingold: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0),
          wonfreespins: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),
          maxwin: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.Spin.Combo.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.Spin.Combo();
      return proto.spincards.SpinStruct.Spin.Combo.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.Spin.Combo.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 2:
          var value = new proto.spincards.SpinStruct.Spin.Combo.Int32List();
          reader.readMessage(value, proto.spincards.SpinStruct.Spin.Combo.Int32List.deserializeBinaryFromReader);
          msg.addCards(value);
          break;

         case 3:
          var value = new proto.spincards.SpinStruct.Spin.Combo.Pos();
          reader.readMessage(value, proto.spincards.SpinStruct.Spin.Combo.Pos.deserializeBinaryFromReader);
          msg.addWincards(value);
          break;

         case 4:
          var value = reader.readInt32();
          msg.setFinalmul(value);
          break;

         case 5:
          var value = reader.readFloat();
          msg.setFreegold(value);
          break;

         case 6:
          var value = reader.readInt32();
          msg.setFreespins(value);
          break;

         case 7:
          var value = reader.readInt32();
          msg.setGainedfreespins(value);
          break;

         case 8:
          var value = reader.readInt32();
          msg.setMul(value);
          break;

         case 10:
          var value = reader.readFloat();
          msg.setTotalwingold(value);
          break;

         case 11:
          var value = reader.readFloat();
          msg.setTumblewingold(value);
          break;

         case 12:
          var value = reader.readFloat();
          msg.setWingold(value);
          break;

         case 13:
          var value = reader.readBool();
          msg.setWonfreespins(value);
          break;

         case 14:
          var value = reader.readBool();
          msg.setMaxwin(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.Spin.Combo.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.Spin.Combo.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getCardsList();
      f.length > 0 && writer.writeRepeatedMessage(2, f, proto.spincards.SpinStruct.Spin.Combo.Int32List.serializeBinaryToWriter);
      f = message.getWincardsList();
      f.length > 0 && writer.writeRepeatedMessage(3, f, proto.spincards.SpinStruct.Spin.Combo.Pos.serializeBinaryToWriter);
      f = message.getFinalmul();
      0 !== f && writer.writeInt32(4, f);
      f = message.getFreegold();
      0 !== f && writer.writeFloat(5, f);
      f = message.getFreespins();
      0 !== f && writer.writeInt32(6, f);
      f = message.getGainedfreespins();
      0 !== f && writer.writeInt32(7, f);
      f = message.getMul();
      0 !== f && writer.writeInt32(8, f);
      f = message.getTotalwingold();
      0 !== f && writer.writeFloat(10, f);
      f = message.getTumblewingold();
      0 !== f && writer.writeFloat(11, f);
      f = message.getWingold();
      0 !== f && writer.writeFloat(12, f);
      f = jspb.Message.getField(message, 13);
      null != f && writer.writeBool(13, f);
      f = jspb.Message.getField(message, 14);
      null != f && writer.writeBool(14, f);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.repeatedFields_ = [ 1 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.Spin.Combo.Int32List.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.Spin.Combo.Int32List.toObject = function(includeInstance, msg) {
        var f, obj = {
          cardvalueList: null == (f = jspb.Message.getRepeatedField(msg, 1)) ? void 0 : f
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.Spin.Combo.Int32List.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.Spin.Combo.Int32List();
      return proto.spincards.SpinStruct.Spin.Combo.Int32List.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var values = reader.isDelimited() ? reader.readPackedInt32() : [ reader.readInt32() ];
          for (var i = 0; i < values.length; i++) msg.addCardvalue(values[i]);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.Spin.Combo.Int32List.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getCardvalueList();
      f.length > 0 && writer.writePackedInt32(1, f);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.getCardvalueList = function() {
      return jspb.Message.getRepeatedField(this, 1);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.setCardvalueList = function(value) {
      return jspb.Message.setField(this, 1, value || []);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.addCardvalue = function(value, opt_index) {
      return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
    };
    proto.spincards.SpinStruct.Spin.Combo.Int32List.prototype.clearCardvalueList = function() {
      return this.setCardvalueList([]);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.Spin.Combo.Pos.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.Spin.Combo.Pos.toObject = function(includeInstance, msg) {
        var f, obj = {
          x: jspb.Message.getFieldWithDefault(msg, 1, 0),
          y: jspb.Message.getFieldWithDefault(msg, 2, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.Spin.Combo.Pos.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.Spin.Combo.Pos();
      return proto.spincards.SpinStruct.Spin.Combo.Pos.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt32();
          msg.setX(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setY(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.Spin.Combo.Pos.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getX();
      0 !== f && writer.writeInt32(1, f);
      f = message.getY();
      0 !== f && writer.writeInt32(2, f);
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.getX = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.setX = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.getY = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.Pos.prototype.setY = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getCardsList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.spincards.SpinStruct.Spin.Combo.Int32List, 2);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setCardsList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 2, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.addCards = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.spincards.SpinStruct.Spin.Combo.Int32List, opt_index);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.clearCardsList = function() {
      return this.setCardsList([]);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getWincardsList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.spincards.SpinStruct.Spin.Combo.Pos, 3);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setWincardsList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 3, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.addWincards = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.spincards.SpinStruct.Spin.Combo.Pos, opt_index);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.clearWincardsList = function() {
      return this.setWincardsList([]);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getFinalmul = function() {
      return jspb.Message.getFieldWithDefault(this, 4, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setFinalmul = function(value) {
      return jspb.Message.setProto3IntField(this, 4, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getFreegold = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setFreegold = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getFreespins = function() {
      return jspb.Message.getFieldWithDefault(this, 6, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setFreespins = function(value) {
      return jspb.Message.setProto3IntField(this, 6, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getGainedfreespins = function() {
      return jspb.Message.getFieldWithDefault(this, 7, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setGainedfreespins = function(value) {
      return jspb.Message.setProto3IntField(this, 7, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getMul = function() {
      return jspb.Message.getFieldWithDefault(this, 8, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setMul = function(value) {
      return jspb.Message.setProto3IntField(this, 8, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getTotalwingold = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 10, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setTotalwingold = function(value) {
      return jspb.Message.setProto3FloatField(this, 10, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getTumblewingold = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 11, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setTumblewingold = function(value) {
      return jspb.Message.setProto3FloatField(this, 11, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getWingold = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setWingold = function(value) {
      return jspb.Message.setProto3FloatField(this, 12, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getWonfreespins = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 13, false);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setWonfreespins = function(value) {
      return jspb.Message.setField(this, 13, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.clearWonfreespins = function() {
      return jspb.Message.setField(this, 13, void 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.hasWonfreespins = function() {
      return null != jspb.Message.getField(this, 13);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.getMaxwin = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 14, false);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.setMaxwin = function(value) {
      return jspb.Message.setField(this, 14, value);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.clearMaxwin = function() {
      return jspb.Message.setField(this, 14, void 0);
    };
    proto.spincards.SpinStruct.Spin.Combo.prototype.hasMaxwin = function() {
      return null != jspb.Message.getField(this, 14);
    };
    proto.spincards.SpinStruct.Spin.prototype.getCombosList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.spincards.SpinStruct.Spin.Combo, 1);
    };
    proto.spincards.SpinStruct.Spin.prototype.setCombosList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 1, value);
    };
    proto.spincards.SpinStruct.Spin.prototype.addCombos = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.spincards.SpinStruct.Spin.Combo, opt_index);
    };
    proto.spincards.SpinStruct.Spin.prototype.clearCombosList = function() {
      return this.setCombosList([]);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.spincards.SpinStruct.freeStartStruct.prototype.toObject = function(opt_includeInstance) {
        return proto.spincards.SpinStruct.freeStartStruct.toObject(opt_includeInstance, this);
      };
      proto.spincards.SpinStruct.freeStartStruct.toObject = function(includeInstance, msg) {
        var f, obj = {
          turntable: jspb.Message.getFieldWithDefault(msg, 1, 0),
          spincount: jspb.Message.getFieldWithDefault(msg, 2, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.spincards.SpinStruct.freeStartStruct.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.spincards.SpinStruct.freeStartStruct();
      return proto.spincards.SpinStruct.freeStartStruct.deserializeBinaryFromReader(msg, reader);
    };
    proto.spincards.SpinStruct.freeStartStruct.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt32();
          msg.setTurntable(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setSpincount(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.spincards.SpinStruct.freeStartStruct.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.spincards.SpinStruct.freeStartStruct.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.spincards.SpinStruct.freeStartStruct.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getTurntable();
      0 !== f && writer.writeInt32(1, f);
      f = message.getSpincount();
      0 !== f && writer.writeInt32(2, f);
    };
    proto.spincards.SpinStruct.freeStartStruct.prototype.getTurntable = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.spincards.SpinStruct.freeStartStruct.prototype.setTurntable = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.spincards.SpinStruct.freeStartStruct.prototype.getSpincount = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.spincards.SpinStruct.freeStartStruct.prototype.setSpincount = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.spincards.SpinStruct.prototype.getSpinsList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.spincards.SpinStruct.SpinList, 1);
    };
    proto.spincards.SpinStruct.prototype.setSpinsList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 1, value);
    };
    proto.spincards.SpinStruct.prototype.addSpins = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.spincards.SpinStruct.SpinList, opt_index);
    };
    proto.spincards.SpinStruct.prototype.clearSpinsList = function() {
      return this.setSpinsList([]);
    };
    proto.spincards.SpinStruct.prototype.getFreestart = function() {
      return jspb.Message.getWrapperField(this, proto.spincards.SpinStruct.freeStartStruct, 2);
    };
    proto.spincards.SpinStruct.prototype.setFreestart = function(value) {
      return jspb.Message.setWrapperField(this, 2, value);
    };
    proto.spincards.SpinStruct.prototype.clearFreestart = function() {
      return this.setFreestart(void 0);
    };
    proto.spincards.SpinStruct.prototype.hasFreestart = function() {
      return null != jspb.Message.getField(this, 2);
    };
    goog.object.extend(exports, proto.spincards);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-startState": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "da264wa1oxAq6WQQVGYMwRl", "PPPB-startState");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.startState = void 0;
    var PPPB_State_1 = require("../PPPB-State");
    var PPPB_States_1 = require("./PPPB-States");
    var PPPB_lib_1 = require("../../../../framework/PPPB-lib");
    var PPPB_event_1 = require("../../../../framework/PPPB-event");
    var PPPB_quick_1 = require("../../../../common/PPPB-quick");
    var PPPB_gameSettings_1 = require("../../../../common/PPPB-gameSettings");
    var startState = function(_super) {
      __extends(startState, _super);
      function startState() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      startState_1 = startState;
      Object.defineProperty(startState, "isplaying", {
        get: function() {
          return this._isplaying;
        },
        set: function(v) {
          this._isplaying = v;
          PPPB_event_1.Events.publish("game", "canStop", "", !v);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(startState, "stop", {
        get: function() {
          return this._stop;
        },
        set: function(v) {
          this._stop = v;
        },
        enumerable: false,
        configurable: true
      });
      startState.$event_game_stop = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            if (this.isplaying && !this.stop) {
              this._isplaying = false;
              this.stop = true;
              PPPB_event_1.Events.publish("spam", "quickSpin", "");
            }
            return [ 2 ];
          });
        });
      };
      startState.prototype.work = function(w) {
        return __awaiter(this, void 0, void 0, function() {
          var ways, totalColumns, curBonusIdx, stopIndex, i, i, i, i;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              console.log("----------ALIBABA start-----------");
              startState_1.isplaying = true;
              w.curSpinCount = 0;
              w.updateCardValues();
              if (w.isScattering) {
                PPPB_event_1.Events.publish("game", "free", "", w.freeSpins);
                w.totalFreeSpins++;
              }
              if (w.freeCount > 0 && !w.isScattering) {
                w.freeCount--;
                PPPB_event_1.Events.publish("free", "count", "", {
                  count: w.freeCount
                });
              }
              PPPB_event_1.Events.publish("game", "ways", "", " ");
              ways = this.getWays(w);
              PPPB_event_1.Events.publish("clear", "winList", "");
              PPPB_event_1.Events.publish("hide", "tumbleWin", "");
              PPPB_event_1.Events.publish("show", "topTips", "");
              return [ 4, PPPB_lib_1._.sleep(w.isTurboActive() || !w.isAtNormalSpeed() ? 500 : 750) ];

             case 1:
              _a.sent();
              w.isAtNormalSpeed() && 0 == w.spinState && (w.spinState = 1);
              w.curTotalWinGold = 0;
              w.curMultiplierCount = w.GetMultipliersCount();
              w.curMultiplierCount > 0 && PPPB_event_1.Events.publish("prepare", "lightning", "");
              totalColumns = 6;
              curBonusIdx = 1;
              startState_1.stop = false;
              stopIndex = 0;
              if (!(2 == w.cardlistlist2[0].rollState)) return [ 3, 7 ];
              i = 0;
              _a.label = 2;

             case 2:
              if (!(i < totalColumns)) return [ 3, 6 ];
              if (startState_1.stop) return [ 3, 6 ];
              PPPB_event_1.Events.publish("game", "ways", "", ways.slice(0, i + 1).reduce(function(acc, cur) {
                return acc * cur;
              }, 1));
              w.cardlistlist2[i].stopScroll(false);
              stopIndex++;
              if (!w.isAtNormalSpeed()) return [ 3, 4 ];
              if (true == w.cardlistlist2[i].hasScatterCards()) {
                PPPB_quick_1.ks.playEffectSound("SymbolBonus" + ((curBonusIdx - 1) % 5 + 1) + "_PB");
                curBonusIdx++;
              }
              return [ 4, PPPB_lib_1._.sleep(100) ];

             case 3:
              _a.sent();
              return [ 3, 5 ];

             case 4:
              (PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK || w.isTurboActive()) && true == w.cardlistlist2[i].hasScatterCards() && curBonusIdx++;
              _a.label = 5;

             case 5:
              i++;
              return [ 3, 2 ];

             case 6:
              return [ 3, 8 ];

             case 7:
              for (i = 0; i < totalColumns; i++) {
                w.cardlistlist2[i].stopScroll(true);
                true == w.cardlistlist2[i].hasScatterCards() && curBonusIdx++;
              }
              _a.label = 8;

             case 8:
              return [ 4, PPPB_lib_1._.waiting(function() {
                return w.isAtNormalSpeed() && startState_1.stop;
              }, this, 800) ];

             case 9:
              _a.sent();
              if (!startState_1.stop) return [ 3, 11 ];
              for (i = 0; i < totalColumns; i++) w.cardlistlist2[i].stopScroll(true);
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 10:
              _a.sent();
              return [ 3, 14 ];

             case 11:
              if (!(PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK)) return [ 3, 13 ];
              PPPB_quick_1.ks.playEffectSound("ReelStop_PB");
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 12:
              _a.sent();
              return [ 3, 14 ];

             case 13:
              w.isTurboActive() && PPPB_quick_1.ks.playEffectSound("ReelStop_PB");
              _a.label = 14;

             case 14:
              (PPPB_gameSettings_1.default.gameSpeed == PPPB_gameSettings_1.GameSpeed.QUICK || w.isTurboActive()) && w.isScatter && this.PlayScatterSFX(curBonusIdx);
              w.spinState = -1;
              startState_1.isplaying = false;
              startState_1.stop = false;
              PPPB_event_1.Events.publish("game", "ways", "", ways.reduce(function(acc, cur) {
                return acc * cur;
              }, 1));
              PPPB_event_1.Events.publish("game", "black", "", false);
              for (i = 0; i < 6; i++) w.cardlistlist2[i].activeCards.forEach(function(v) {
                return v.setHierarchy("back");
              });
              if (!w.winGolds) return [ 3, 15 ];
              w.setDisappearCards();
              return [ 3, 19 ];

             case 15:
              if (!w.isScattering) return [ 3, 17 ];
              w.setDisappearCards();
              w.setCurrent(PPPB_States_1.states.win);
              return [ 4, w.play() ];

             case 16:
              _a.sent();
              return [ 3, 19 ];

             case 17:
              w.setCurrent(PPPB_States_1.states.end);
              return [ 4, w.play() ];

             case 18:
              _a.sent();
              _a.label = 19;

             case 19:
              return [ 2 ];
            }
          });
        });
      };
      startState.prototype.PlayScatterSFX = function(maxIdx) {
        return __awaiter(this, void 0, void 0, function() {
          var i;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              i = 0;
              _a.label = 1;

             case 1:
              if (!(i < maxIdx)) return [ 3, 4 ];
              PPPB_quick_1.ks.playEffectSound("SymbolBonus" + (i + 1) + "_PB");
              return [ 4, PPPB_lib_1._.sleep(250) ];

             case 2:
              _a.sent();
              _a.label = 3;

             case 3:
              i++;
              return [ 3, 1 ];

             case 4:
              return [ 2 ];
            }
          });
        });
      };
      var startState_1;
      startState._isplaying = false;
      startState._stop = false;
      startState = startState_1 = __decorate([ PPPB_event_1.EventClass ], startState);
      return startState;
    }(PPPB_State_1.State);
    exports.startState = startState;
    cc._RF.pop();
  }, {
    "../../../../common/PPPB-gameSettings": "PPPB-gameSettings",
    "../../../../common/PPPB-quick": "PPPB-quick",
    "../../../../framework/PPPB-event": "PPPB-event",
    "../../../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-State": "PPPB-State",
    "./PPPB-States": "PPPB-States"
  } ],
  "PPPB-systips": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "10418UtxjJJUrXgVd2x0UgN", "PPPB-systips");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("./framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("./framework-cocos/PPPB-ui");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.ok = null;
        _this.cancel = null;
        return _this;
      }
      NewClass.prototype.init = function(data) {
        var _a;
        var isshowcancel = !!data.cancel;
        PPPB_ui_1.ui.show(this.cancel, isshowcancel);
        if (isshowcancel) {
          this.ok.node.x = -120;
          this.cancel.node.x = 120;
        }
        if ("object" === typeof data) for (var k in data) PPPB_ui_1.ui.setUIDataValue(this, (_a = {}, 
        _a[k] = data[k], _a));
      };
      NewClass.prototype.$ui_ok__click = function() {
        PPPB_ui_1.ui.doModelResolve(this, {
          ok: true
        });
      };
      NewClass.prototype.$ui_cancel__click = function() {
        PPPB_ui_1.ui.doModelResolve(this, {
          ok: false
        });
      };
      __decorate([ property(cc.Button) ], NewClass.prototype, "ok", void 0);
      __decorate([ property(cc.Button) ], NewClass.prototype, "cancel", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "./framework-cocos/PPPB-ui": "PPPB-ui",
    "./framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-sys": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e246fJyU59J1Ld7oJQgYf2E", "PPPB-sys");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.sys = exports.SYS = void 0;
    var PPPB_audio_1 = require("./PPPB-audio");
    var PPPB_event_1 = require("../framework/PPPB-event");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_pool_1 = require("./PPPB-pool");
    var PPPB_res_1 = require("./PPPB-res");
    var PPPB_ui_1 = require("./PPPB-ui");
    var SYS = function() {
      function SYS() {}
      Object.defineProperty(SYS, "rate", {
        get: function() {
          return this._rate || 1;
        },
        set: function(v) {
          this._rate = v;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(SYS, "isFromLobby", {
        get: function() {
          if (cc.sys.isNative) {
            var manager = window["subGameManager"];
            if (manager) return true;
          }
          return false;
        },
        enumerable: false,
        configurable: true
      });
      SYS.init = function(gameType, gameDir, version, clientType, currency, ex) {
        this.gameDir = gameDir;
        this.gameType = gameType;
        this.version = version;
        this.clientType = clientType;
        this.currency = currency;
        if (ex) for (var k in ex) void 0 != this[k] && (this[k] = ex[k]);
      };
      SYS.reset = function() {};
      SYS.restart = function() {
        this.reset();
        PPPB_audio_1.audio.reset();
        PPPB_res_1.res.reset();
        PPPB_pool_1.pool.reset();
        PPPB_ui_1.ui.reset();
        cc.sys.isNative && cc.game.pause();
        cc.game.restart();
      };
      SYS.URL = function(url) {
        return url;
      };
      SYS.getConfig = function(configName) {
        return this._configs[configName];
      };
      SYS.loadConfig = function(configName, isPipe) {
        return __awaiter(this, void 0, void 0, function() {
          var json, pipe_1;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              void 0 === isPipe && (isPipe = this.isPipeLoadConfig);
              json = this._configs[configName];
              if (json) return [ 2, json ];
              if (!(isPipe && !this._loadingConfigPipe.length)) return [ 3, 3 ];
              return [ 4, PPPB_lib_1._.waiting(function() {
                return _this._loadingConfigPipe.length;
              }, this, 1e3) ];

             case 1:
              _a.sent();
              if (this._loadingConfigPipe.length) {
                pipe_1 = PPPB_lib_1._.rand(this._loadingConfigPipe);
                pipe_1.push(configName);
              } else {
                pipe_1 = [ configName ];
                this._loadingConfigPipe.push(pipe_1);
              }
              return [ 4, PPPB_lib_1._.waiting(function() {
                return pipe_1[0] === configName;
              }, this) ];

             case 2:
              _a.sent();
              pipe_1.shift();
              json = this._configs[configName];
              if (json) return [ 2, json ];
              _a.label = 3;

             case 3:
              if (!this._loadingConfigs[configName]) return [ 3, 5 ];
              return [ 4, PPPB_lib_1._.waiting(function() {
                return !_this._loadingConfigs[configName];
              }, this) ];

             case 4:
              _a.sent();
              return [ 2, this._configs[configName] ];

             case 5:
              this._loadingConfigs[configName] = 1;
              return [ 4, PPPB_res_1.res.loadJson("config/" + configName) ];

             case 6:
              json = _a.sent();
              console.log("load config (" + configName + ") ok ", PPPB_lib_1._.objs(json, function(v, k) {
                return [ k, PPPB_lib_1._.size(v) ];
              }));
              this._configs[configName] = json;
              delete this._loadingConfigs[configName];
              return [ 2, json ];
            }
          });
        });
      };
      SYS.loadConfigs = function() {
        var configNames = [];
        for (var _i = 0; _i < arguments.length; _i++) configNames[_i] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          var ret;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, Promise.all(configNames.map(function(v) {
                return _this.loadConfig(v);
              })) ];

             case 1:
              ret = _a.sent();
              return [ 2, ret ];
            }
          });
        });
      };
      SYS.loadConfigsPipe = function(pipe) {
        void 0 === pipe && (pipe = 1);
        var configNames = [];
        for (var _i = 1; _i < arguments.length; _i++) configNames[_i - 1] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          var ret;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              while (this._loadingConfigPipe.length < pipe) this._loadingConfigPipe.push([]);
              return [ 4, Promise.all(configNames.map(function(v) {
                return _this.loadConfig(v);
              })) ];

             case 1:
              ret = _a.sent();
              return [ 2, ret ];
            }
          });
        });
      };
      Object.defineProperty(SYS, "isRestoreMode", {
        get: function() {
          return 100 == this.demoMode;
        },
        enumerable: false,
        configurable: true
      });
      SYS.getEngineV = function() {
        return cc.ENGINE_VERSION;
      };
      SYS.launchScene = function(scene, initData, initChannel, cache) {
        return __awaiter(this, void 0, void 0, function() {
          var sceneFile, isOk;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              sceneFile = "Scene/" + scene;
              return [ 4, PPPB_res_1.res.preloadScene(sceneFile, cache) ];

             case 1:
              isOk = _a.sent();
              if (!isOk) return [ 3, 3 ];
              return [ 4, PPPB_res_1.res.loadScene(sceneFile) ];

             case 2:
              _a.sent();
              _a.label = 3;

             case 3:
              initData && PPPB_event_1.Events.apiMQ(initChannel || scene, "init", "", initData);
              return [ 2, isOk ];
            }
          });
        });
      };
      SYS.gameDir = "";
      SYS.gameType = "";
      SYS.clientType = "";
      SYS.version = "";
      SYS.bzip = true;
      SYS.debugIP = "";
      SYS.debugMode = 0;
      SYS.netMode = 0;
      SYS.log = false;
      SYS.currency = "RMB";
      SYS._rate = 0;
      SYS.ts = false;
      SYS.urlHead = [ "h", "t", "t", "p" ].join("");
      SYS.demoMode = 0;
      SYS.aniSpeed = 1;
      SYS.backStageUrl = "";
      SYS.isPipeLoadConfig = true;
      SYS._loadingConfigPipe = [];
      SYS._loadingConfigs = {};
      SYS._configs = {};
      return SYS;
    }();
    exports.SYS = SYS;
    exports.sys = SYS;
    cc._RF.pop();
  }, {
    "../framework/PPPB-event": "PPPB-event",
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-audio": "PPPB-audio",
    "./PPPB-pool": "PPPB-pool",
    "./PPPB-res": "PPPB-res",
    "./PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-test": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "1de6fjmphNHRqciVzK45/K1", "PPPB-test");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_card_1 = require("./game/client/card/PPPB-card");
    var PPPB_UComponent_1 = require("./framework-cocos/components/PPPB-UComponent");
    var PPPB_UIList_1 = require("./framework-cocos/components/PPPB-UIList");
    var PPPB_ui_1 = require("./framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("./framework/PPPB-lib");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.card = null;
        _this.list = null;
        _this._index = 0;
        return _this;
      }
      NewClass.prototype.duration = function(ani) {
        var card = this.card;
        var anim = PPPB_ui_1.ui.getComponent(card.root, cc.Animation);
        return 1e3 * anim.getAnimationState(ani).duration;
      };
      NewClass.prototype.onStart = function() {
        return __awaiter(this, void 0, void 0, function() {
          var btns;
          var _this = this;
          return __generator(this, function(_a) {
            console.log(this.card);
            btns = this.node.getChildByName("btns");
            btns.children.forEach(function(btn) {
              btn.on("click", function() {
                _this.card.play(btn.name).then(function() {
                  "set_scatter" == btn.name && console.log(_this.card);
                });
              });
            });
            this.node.getChildByName("test").on("click", function() {
              return __awaiter(_this, void 0, void 0, function() {
                return __generator(this, function(_a) {
                  PPPB_ui_1.ui.getNode([ this, "Particle1" ]).active = !PPPB_ui_1.ui.getNode([ this, "Particle1" ]).active;
                  PPPB_ui_1.ui.getNode([ this.card, "root/Particle1" ]).active = !PPPB_ui_1.ui.getNode([ this.card, "root/Particle1" ]).active;
                  return [ 2 ];
                });
              });
            });
            this.list.values = PPPB_lib_1._.range(0, 20);
            return [ 2 ];
          });
        });
      };
      NewClass.prototype.$ui_topbtn__click = function() {
        this.list.scrollToItem(++this._index);
      };
      NewClass.prototype.$ui_bottombtn__click = function() {
        this.list.scrollToItem(--this._index);
      };
      __decorate([ property(PPPB_card_1.default) ], NewClass.prototype, "card", void 0);
      __decorate([ property(PPPB_UIList_1.UIList) ], NewClass.prototype, "list", void 0);
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "./framework-cocos/PPPB-ui": "PPPB-ui",
    "./framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "./framework-cocos/components/PPPB-UIList": "PPPB-UIList",
    "./framework/PPPB-lib": "PPPB-lib",
    "./game/client/card/PPPB-card": "PPPB-card"
  } ],
  "PPPB-time": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "196245oyR9OXq2Npg2HpWmx", "PPPB-time");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.Frame = exports.Tick = exports.MS = void 0;
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var MS = function() {
      function MS(offsetMS) {
        this.start(offsetMS);
      }
      MS.start = function(offsetMS) {
        void 0 === offsetMS && (offsetMS = 0);
        return new MS(offsetMS);
      };
      Object.defineProperty(MS.prototype, "pass", {
        get: function() {
          return PPPB_lib_1._.now() - this._t;
        },
        enumerable: false,
        configurable: true
      });
      MS.prototype.start = function(offsetMS) {
        void 0 === offsetMS && (offsetMS = 0);
        this._t = PPPB_lib_1._.now() + offsetMS;
      };
      return MS;
    }();
    exports.MS = MS;
    var Tick = function() {
      function Tick() {
        this._scale = 1;
        this._passMS = 10 / 6;
        this._timers = {};
        this._timerID = 1;
      }
      Object.defineProperty(Tick.prototype, "passMS", {
        get: function() {
          return this._passMS;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Tick.prototype, "scale", {
        get: function() {
          return this._scale;
        },
        set: function(scale) {
          this._scale = scale;
        },
        enumerable: false,
        configurable: true
      });
      Tick.prototype.step = function(dt) {
        var t0 = this.passMS;
        var t = t0 + 1e3 * dt;
        this._passMS = t;
        var timerKeys = PPPB_lib_1._.keys(this._timers);
        for (var _i = 0, timerKeys_1 = timerKeys; _i < timerKeys_1.length; _i++) {
          var k = timerKeys_1[_i];
          var timer = this._timers[k];
          if (timer[3]) if (timer[4] > 0) {
            var pass = t - timer[7];
            for (;timer[5] < (0 | pass / timer[4]) && (!timer[6] || timer[6] > timer[5]); timer[5]++) timer[3](timer[5]);
          } else timer[3](++timer[5]);
          if (timer[2] && t >= timer[1]) {
            timer[2](true);
            delete this._timers[k];
          }
        }
      };
      Tick.prototype.reset = function() {
        this.clearTimer();
        this.scale = 1;
        this._passMS = 0;
      };
      Object.defineProperty(Tick.prototype, "_nextTimeID", {
        get: function() {
          return ++this._timerID;
        },
        enumerable: false,
        configurable: true
      });
      Tick.prototype.next = function(cb) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.sleep(0, cb) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      Tick.prototype.sleep = function(timeMS, timeoutCB, intervalCB, intervalMS, intervalCount, intervalDelayMS) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            return [ 2, new Promise(function(resolve, reject) {
              _this.setTimer(function() {
                timeoutCB && timeoutCB(true);
                resolve(true);
              }, timeMS, intervalCB, intervalMS, intervalCount, intervalDelayMS);
            }) ];
          });
        });
      };
      Tick.prototype.waiting = function(condition, target, timeoutMS, stepMS) {
        void 0 === timeoutMS && (timeoutMS = 0);
        void 0 === stepMS && (stepMS = 0);
        return __awaiter(this, void 0, void 0, function() {
          var isFunc;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!isFinite(condition)) return [ 3, 2 ];
              return [ 4, this.sleep(condition) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              if (!PPPB_lib_1._.isObject(condition)) return [ 2 ];
              isFunc = PPPB_lib_1._.isFunction(condition);
              timeoutMS = timeoutMS || 6e6;
              stepMS = stepMS || 100;
              return [ 4, new Promise(function(resolve, reject) {
                return __awaiter(_this, void 0, void 0, function() {
                  var t;
                  return __generator(this, function(_a) {
                    switch (_a.label) {
                     case 0:
                      t = 0;
                      _a.label = 1;

                     case 1:
                      if (!(t < timeoutMS)) return [ 3, 4 ];
                      if (isFunc) {
                        if (condition.call(target)) return [ 2, resolve(1) ];
                      } else if (condition["ready"] || condition["ok"]) return [ 2, resolve(1) ];
                      return [ 4, this.sleep(stepMS) ];

                     case 2:
                      _a.sent();
                      _a.label = 3;

                     case 3:
                      t += stepMS;
                      return [ 3, 1 ];

                     case 4:
                      return [ 2 ];
                    }
                  });
                });
              }) ];

             case 3:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      Tick.prototype.setTimer = function(timeoutCB, timeoutMS, intervalCB, intervalMS, intervalCount, intervalDelayMS) {
        var tid = this._nextTimeID;
        var t = this.passMS;
        this._timers[tid] = intervalCB ? [ t, t + timeoutMS, timeoutCB, intervalCB, intervalMS, 0, intervalCount, t + (intervalDelayMS || 0) ] : [ t, t + timeoutMS, timeoutCB ];
      };
      Tick.prototype.clearTimer = function(tid) {
        if (tid) {
          var timer = this._timers[tid];
          if (timer) {
            timer[2] && timer[2](false);
            delete this._timers[tid];
          }
        } else {
          for (var k in this._timers) {
            var timer = this._timers[k];
            timer[2] && timer[2](false);
          }
          this._timers = {};
        }
      };
      Tick.prototype.timer = function(timeoutMS, intervalCB, intervalMS, intervalCount, intervalDelayMS) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve, reject) {
                _this.setTimer(function(success) {
                  resolve(success);
                }, timeoutMS, intervalCB, intervalMS, intervalCount, intervalDelayMS);
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      return Tick;
    }();
    exports.Tick = Tick;
    var Frame = function(_super) {
      __extends(Frame, _super);
      function Frame(fps) {
        void 0 === fps && (fps = 60);
        var _this = _super.call(this) || this;
        _this._fps = 0;
        _this._frame = 0;
        _this._frameMS = 10 / 6;
        _this._frameS = 10 / 6e3;
        _this._fps = fps;
        _this._frameMS = 1e3 / fps;
        _this._frameS = 1 / fps;
        return _this;
      }
      Object.defineProperty(Frame.prototype, "fps", {
        get: function() {
          return this._fps;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Frame.prototype, "frame", {
        get: function() {
          return this._frame;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Frame.prototype, "frameMS", {
        get: function() {
          return 1 === this._scale ? this._frameMS : this._frameMS * this._scale;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Frame.prototype, "passMS", {
        get: function() {
          return this._passMS;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(Frame.prototype, "scale", {
        get: function() {
          return this._scale;
        },
        set: function(scale) {
          this._scale = scale;
        },
        enumerable: false,
        configurable: true
      });
      Frame.prototype.step = function() {
        _super.prototype.step.call(this, this._frameS);
      };
      Frame.prototype.reset = function() {
        _super.prototype.reset.call(this);
        this._frame = 0;
      };
      return Frame;
    }(Tick);
    exports.Frame = Frame;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-tips": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "ee67ddedJBGgrbgZGSZvi5y", "PPPB-tips");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_action_1 = require("../PPPB-action");
    var PPPB_ui_1 = require("../PPPB-ui");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, menu = _a.menu, executeInEditMode = _a.executeInEditMode;
    var tips = function(_super) {
      __extends(tips, _super);
      function tips() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.bg = null;
        _this.content = null;
        _this.actionNode = null;
        _this._zorder = 2e3;
        _this.data = {
          text: "",
          effect: "",
          pos: null,
          tipsList: []
        };
        return _this;
      }
      Object.defineProperty(tips.prototype, "width", {
        get: function() {
          return this.bg.width;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(tips.prototype, "height", {
        get: function() {
          return this.bg.height;
        },
        enumerable: false,
        configurable: true
      });
      tips.prototype.onLoad = function() {
        false;
      };
      tips.prototype.init = function(data) {
        this.data = data;
        this.refresh();
      };
      tips.prototype.textWidth = function(txt, fontSize) {
        var w = 0;
        for (var i = 0; i < txt.length; i++) w += txt.charCodeAt(i) <= 127 ? .558 * fontSize : 1.01 * fontSize;
        return Math.ceil(w);
      };
      tips.prototype.refresh = function() {
        return __awaiter(this, void 0, void 0, function() {
          var dur, ts, _i, _a, tip, act, _b, fadeOut;
          var _this = this;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              dur = .2;
              this.node.active = true;
              this.node.position = this.data.pos || cc.v2(0, 0);
              this.content.string = this.data.text;
              ts = this.data.text.split("\n");
              this.bg.height = 26 * ts.length + 20;
              this.bg.width = Math.max.apply(Math, ts.map(function(v) {
                return _this.textWidth(v, 23);
              })) + 160;
              if (this.data.tipsList) for (_i = 0, _a = this.data.tipsList; _i < _a.length; _i++) {
                tip = _a[_i];
                if (tip === this) break;
                PPPB_action_1.action.createAction(tip).moveBy(.2, 0, this.bg.height + 5).act();
              }
              this.actionNode.opacity = 0;
              this.actionNode.setPosition(0, 0);
              act = PPPB_action_1.action.createAction(this.actionNode);
              _b = this.data.effect;
              switch (_b) {
               case "scale":
                return [ 3, 1 ];
              }
              return [ 3, 3 ];

             case 1:
              return [ 4, act.fadeIn(dur).beg().scaleTo(dur / 2, 1.2).scaleTo(dur / 2, 1).end().spawnEnd().act() ];

             case 2:
              _c.sent();
              return [ 3, 5 ];

             case 3:
              return [ 4, act.fadeIn(dur).moveTo(dur / 2, cc.v2(0, 100)).spawnEnd().act() ];

             case 4:
              _c.sent();
              return [ 3, 5 ];

             case 5:
              if (!this.isValid) return [ 2 ];
              this.actionNode.opacity = 255;
              return [ 4, PPPB_lib_1._.sleep(1e3) ];

             case 6:
              _c.sent();
              if (!this.isValid) return [ 2 ];
              fadeOut = cc.fadeOut(.3);
              return [ 4, PPPB_action_1.action.run(this.actionNode, fadeOut) ];

             case 7:
              _c.sent();
              if (!this.isValid) return [ 2 ];
              this.actionNode.setPosition(0, 0);
              PPPB_ui_1.ui.destroy(this);
              this.actionNode.opacity = 255;
              return [ 2 ];
            }
          });
        });
      };
      tips.prototype.doModelWithParent = function(content, effect, parent, pos, tipsList) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.data.text = content || "";
              this.data.effect = effect;
              this.data.pos = pos;
              this.data.tipsList = tipsList;
              parent && this.node.setParent(parent);
              if (!(this.data.text.length > 0)) return [ 3, 2 ];
              this.node.active = true;
              return [ 4, this.refresh() ];

             case 1:
              _a.sent();
              return [ 3, 3 ];

             case 2:
              this.node.active = false;
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      tips.prototype.doModel = function(content, effect, pos, tipsList) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this.data.text = content || "";
              this.data.effect = effect;
              this.data.pos = pos;
              this.data.tipsList = tipsList;
              if (!(this.data.text.length > 0)) return [ 3, 2 ];
              this.node.scale = PPPB_quick_1.ks.isLandscape ? 1 : 2;
              this.node.active = true;
              return [ 4, this.refresh() ];

             case 1:
              _a.sent();
              return [ 3, 3 ];

             case 2:
              this.node.active = false;
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      __decorate([ property(cc.Node) ], tips.prototype, "bg", void 0);
      __decorate([ property(cc.Label) ], tips.prototype, "content", void 0);
      __decorate([ property(cc.Node) ], tips.prototype, "actionNode", void 0);
      tips = __decorate([ ccclass, executeInEditMode, menu("PPPB/ui/tips") ], tips);
      return tips;
    }(cc.Component);
    exports.default = tips;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-action": "PPPB-action",
    "../PPPB-ui": "PPPB-ui"
  } ],
  "PPPB-topbg": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "44c9cJJJqZK8JJVEuiXKZpU", "PPPB-topbg");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UIData_1 = require("../../framework-cocos/components/PPPB-UIData");
    var PPPB_UISwitch_1 = require("../../framework-cocos/components/PPPB-UISwitch");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var nums = [ 1, 2, 3, 5 ];
    var topBg = function(_super) {
      __extends(topBg, _super);
      function topBg() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.x1 = null;
        _this.x2 = null;
        _this.x3 = null;
        _this.x5 = null;
        _this.font1 = null;
        _this.font2 = null;
        _this.font3 = null;
        _this.multiply = null;
        _this.isfree = null;
        return _this;
      }
      Object.defineProperty(topBg.prototype, "value", {
        get: function() {
          return;
        },
        set: function(v) {
          if (v[1]) {
            this.isfree.isChecked = true;
            var idx = nums.indexOf(v[0] / 2);
            for (var i = 0; i < nums.length; i++) {
              var num = nums[i];
              this["x" + num].string = "x" + 2 * num;
              this["x" + num].font = i == idx ? this.font3 : this.font2;
            }
            this.multiply.setPosition(this["x" + nums[idx]].node.position);
          } else {
            this.isfree.isChecked = false;
            var idx = nums.indexOf(v[0]);
            for (var i = 0; i < nums.length; i++) {
              var num = nums[i];
              this["x" + num].string = "x" + num;
              this["x" + num].font = i == idx ? this.font3 : this.font1;
            }
            this.multiply.setPosition(this["x" + nums[idx]].node.position);
          }
        },
        enumerable: false,
        configurable: true
      });
      __decorate([ property(cc.Label) ], topBg.prototype, "x1", void 0);
      __decorate([ property(cc.Label) ], topBg.prototype, "x2", void 0);
      __decorate([ property(cc.Label) ], topBg.prototype, "x3", void 0);
      __decorate([ property(cc.Label) ], topBg.prototype, "x5", void 0);
      __decorate([ property(cc.Font) ], topBg.prototype, "font1", void 0);
      __decorate([ property(cc.Font) ], topBg.prototype, "font2", void 0);
      __decorate([ property(cc.Font) ], topBg.prototype, "font3", void 0);
      __decorate([ property(cc.Node) ], topBg.prototype, "multiply", void 0);
      __decorate([ property(PPPB_UISwitch_1.UISwitch) ], topBg.prototype, "isfree", void 0);
      topBg = __decorate([ ccclass ], topBg);
      return topBg;
    }(PPPB_UIData_1.UIDataValue);
    exports.default = topBg;
    cc._RF.pop();
  }, {
    "../../framework-cocos/components/PPPB-UIData": "PPPB-UIData",
    "../../framework-cocos/components/PPPB-UISwitch": "PPPB-UISwitch"
  } ],
  "PPPB-trace_grpc_web_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "19a1cl8auJJJaepwcaYBTaM", "PPPB-trace_grpc_web_pb");
    "use strict";
    var grpc = {};
    grpc.web = require("grpc-web");
    var proto = {};
    proto.trace = require("./PPPB-trace_pb.js");
    proto.trace.TraceClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.trace.TracePromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Trace_SpinTrace = new grpc.web.MethodDescriptor("/trace.Trace/SpinTrace", grpc.web.MethodType.UNARY, proto.trace.SpinTraceReq, proto.trace.SpinTraceRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.SpinTraceRet.deserializeBinary);
    proto.trace.TraceClient.prototype.spinTrace = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Trace/SpinTrace", request, metadata || {}, methodDescriptor_Trace_SpinTrace, callback);
    };
    proto.trace.TracePromiseClient.prototype.spinTrace = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Trace/SpinTrace", request, metadata || {}, methodDescriptor_Trace_SpinTrace);
    };
    var methodDescriptor_Trace_SpinErr = new grpc.web.MethodDescriptor("/trace.Trace/SpinErr", grpc.web.MethodType.UNARY, proto.trace.SpinErrReq, proto.trace.SpinErrRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.SpinErrRet.deserializeBinary);
    proto.trace.TraceClient.prototype.spinErr = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Trace/SpinErr", request, metadata || {}, methodDescriptor_Trace_SpinErr, callback);
    };
    proto.trace.TracePromiseClient.prototype.spinErr = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Trace/SpinErr", request, metadata || {}, methodDescriptor_Trace_SpinErr);
    };
    var methodDescriptor_Trace_HistoryCount = new grpc.web.MethodDescriptor("/trace.Trace/HistoryCount", grpc.web.MethodType.UNARY, proto.trace.HistoryCountReq, proto.trace.HistoryCountRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.HistoryCountRet.deserializeBinary);
    proto.trace.TraceClient.prototype.historyCount = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Trace/HistoryCount", request, metadata || {}, methodDescriptor_Trace_HistoryCount, callback);
    };
    proto.trace.TracePromiseClient.prototype.historyCount = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Trace/HistoryCount", request, metadata || {}, methodDescriptor_Trace_HistoryCount);
    };
    var methodDescriptor_Trace_HistoryList = new grpc.web.MethodDescriptor("/trace.Trace/HistoryList", grpc.web.MethodType.UNARY, proto.trace.HistoryListReq, proto.trace.HistoryListRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.HistoryListRet.deserializeBinary);
    proto.trace.TraceClient.prototype.historyList = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Trace/HistoryList", request, metadata || {}, methodDescriptor_Trace_HistoryList, callback);
    };
    proto.trace.TracePromiseClient.prototype.historyList = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Trace/HistoryList", request, metadata || {}, methodDescriptor_Trace_HistoryList);
    };
    var methodDescriptor_Trace_HistoryItem = new grpc.web.MethodDescriptor("/trace.Trace/HistoryItem", grpc.web.MethodType.UNARY, proto.trace.HistoryItemReq, proto.trace.HistoryItemRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.HistoryItemRet.deserializeBinary);
    proto.trace.TraceClient.prototype.historyItem = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Trace/HistoryItem", request, metadata || {}, methodDescriptor_Trace_HistoryItem, callback);
    };
    proto.trace.TracePromiseClient.prototype.historyItem = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Trace/HistoryItem", request, metadata || {}, methodDescriptor_Trace_HistoryItem);
    };
    proto.trace.SrvClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    proto.trace.SrvPromiseClient = function(hostname, credentials, options) {
      options || (options = {});
      options.format = "text";
      this.client_ = new grpc.web.GrpcWebClientBase(options);
      this.hostname_ = hostname.replace(/\/+$/, "");
    };
    var methodDescriptor_Srv_Update = new grpc.web.MethodDescriptor("/trace.Srv/Update", grpc.web.MethodType.UNARY, proto.trace.UpdateReq, proto.trace.UpdateRet, function(request) {
      return request.serializeBinary();
    }, proto.trace.UpdateRet.deserializeBinary);
    proto.trace.SrvClient.prototype.update = function(request, metadata, callback) {
      return this.client_.rpcCall(this.hostname_ + "/trace.Srv/Update", request, metadata || {}, methodDescriptor_Srv_Update, callback);
    };
    proto.trace.SrvPromiseClient.prototype.update = function(request, metadata) {
      return this.client_.unaryCall(this.hostname_ + "/trace.Srv/Update", request, metadata || {}, methodDescriptor_Srv_Update);
    };
    module.exports = proto.trace;
    cc._RF.pop();
  }, {
    "./PPPB-trace_pb.js": "PPPB-trace_pb",
    "grpc-web": void 0
  } ],
  "PPPB-trace_pb": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "056f3V6hRVKZ73qGDVFkpr6", "PPPB-trace_pb");
    "use strict";
    var jspb = require("google-protobuf");
    var goog = jspb;
    var global = "undefined" !== typeof globalThis && globalThis || "undefined" !== typeof window && window || "undefined" !== typeof global && global || "undefined" !== typeof self && self || function() {
      return this;
    }.call(null) || Function("return this")();
    goog.exportSymbol("proto.trace.HistoryCountReq", null, global);
    goog.exportSymbol("proto.trace.HistoryCountRet", null, global);
    goog.exportSymbol("proto.trace.HistoryItemReq", null, global);
    goog.exportSymbol("proto.trace.HistoryItemRet", null, global);
    goog.exportSymbol("proto.trace.HistoryListReq", null, global);
    goog.exportSymbol("proto.trace.HistoryListRet", null, global);
    goog.exportSymbol("proto.trace.HistoryListRet.Data", null, global);
    goog.exportSymbol("proto.trace.SpinErrReq", null, global);
    goog.exportSymbol("proto.trace.SpinErrRet", null, global);
    goog.exportSymbol("proto.trace.SpinTraceReq", null, global);
    goog.exportSymbol("proto.trace.SpinTraceRet", null, global);
    goog.exportSymbol("proto.trace.UpdateReq", null, global);
    goog.exportSymbol("proto.trace.UpdateRet", null, global);
    proto.trace.SpinTraceReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.SpinTraceReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.SpinTraceReq.displayName = "proto.trace.SpinTraceReq");
    proto.trace.SpinTraceRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.SpinTraceRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.SpinTraceRet.displayName = "proto.trace.SpinTraceRet");
    proto.trace.SpinErrReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.SpinErrReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.SpinErrReq.displayName = "proto.trace.SpinErrReq");
    proto.trace.UpdateReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.UpdateReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.UpdateReq.displayName = "proto.trace.UpdateReq");
    proto.trace.UpdateRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.UpdateRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.UpdateRet.displayName = "proto.trace.UpdateRet");
    proto.trace.SpinErrRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.SpinErrRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.SpinErrRet.displayName = "proto.trace.SpinErrRet");
    proto.trace.HistoryCountReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryCountReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryCountReq.displayName = "proto.trace.HistoryCountReq");
    proto.trace.HistoryCountRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryCountRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryCountRet.displayName = "proto.trace.HistoryCountRet");
    proto.trace.HistoryListReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryListReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryListReq.displayName = "proto.trace.HistoryListReq");
    proto.trace.HistoryListRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, proto.trace.HistoryListRet.repeatedFields_, null);
    };
    goog.inherits(proto.trace.HistoryListRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryListRet.displayName = "proto.trace.HistoryListRet");
    proto.trace.HistoryListRet.Data = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryListRet.Data, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryListRet.Data.displayName = "proto.trace.HistoryListRet.Data");
    proto.trace.HistoryItemReq = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryItemReq, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryItemReq.displayName = "proto.trace.HistoryItemReq");
    proto.trace.HistoryItemRet = function(opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
    };
    goog.inherits(proto.trace.HistoryItemRet, jspb.Message);
    goog.DEBUG && !COMPILED && (proto.trace.HistoryItemRet.displayName = "proto.trace.HistoryItemRet");
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.SpinTraceReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.SpinTraceReq.toObject(opt_includeInstance, this);
      };
      proto.trace.SpinTraceReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          orderid: jspb.Message.getFieldWithDefault(msg, 1, ""),
          spinlist: msg.getSpinlist_asB64(),
          freespinlist: msg.getFreespinlist_asB64(),
          custom: jspb.Message.getFieldWithDefault(msg, 4, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.SpinTraceReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.SpinTraceReq();
      return proto.trace.SpinTraceReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.SpinTraceReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         case 2:
          var value = reader.readBytes();
          msg.setSpinlist(value);
          break;

         case 3:
          var value = reader.readBytes();
          msg.setFreespinlist(value);
          break;

         case 4:
          var value = reader.readString();
          msg.setCustom(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.SpinTraceReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.SpinTraceReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.SpinTraceReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getOrderid();
      f.length > 0 && writer.writeString(1, f);
      f = message.getSpinlist_asU8();
      f.length > 0 && writer.writeBytes(2, f);
      f = message.getFreespinlist_asU8();
      f.length > 0 && writer.writeBytes(3, f);
      f = message.getCustom();
      f.length > 0 && writer.writeString(4, f);
    };
    proto.trace.SpinTraceReq.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.SpinTraceReq.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.trace.SpinTraceReq.prototype.getSpinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.trace.SpinTraceReq.prototype.getSpinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getSpinlist());
    };
    proto.trace.SpinTraceReq.prototype.getSpinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getSpinlist());
    };
    proto.trace.SpinTraceReq.prototype.setSpinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 2, value);
    };
    proto.trace.SpinTraceReq.prototype.getFreespinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.trace.SpinTraceReq.prototype.getFreespinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getFreespinlist());
    };
    proto.trace.SpinTraceReq.prototype.getFreespinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getFreespinlist());
    };
    proto.trace.SpinTraceReq.prototype.setFreespinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 3, value);
    };
    proto.trace.SpinTraceReq.prototype.getCustom = function() {
      return jspb.Message.getFieldWithDefault(this, 4, "");
    };
    proto.trace.SpinTraceReq.prototype.setCustom = function(value) {
      return jspb.Message.setProto3StringField(this, 4, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.SpinTraceRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.SpinTraceRet.toObject(opt_includeInstance, this);
      };
      proto.trace.SpinTraceRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.SpinTraceRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.SpinTraceRet();
      return proto.trace.SpinTraceRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.SpinTraceRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.SpinTraceRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.SpinTraceRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.SpinTraceRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
    };
    proto.trace.SpinTraceRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.SpinTraceRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.SpinErrReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.SpinErrReq.toObject(opt_includeInstance, this);
      };
      proto.trace.SpinErrReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          orispinlist: msg.getOrispinlist_asB64(),
          errspinlist: msg.getErrspinlist_asB64(),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          orimul: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0),
          errmul: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0),
          spintype: jspb.Message.getFieldWithDefault(msg, 8, 0),
          free: jspb.Message.getFieldWithDefault(msg, 9, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.SpinErrReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.SpinErrReq();
      return proto.trace.SpinErrReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.SpinErrReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 2:
          var value = reader.readBytes();
          msg.setOrispinlist(value);
          break;

         case 3:
          var value = reader.readBytes();
          msg.setErrspinlist(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 5:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         case 6:
          var value = reader.readDouble();
          msg.setOrimul(value);
          break;

         case 7:
          var value = reader.readDouble();
          msg.setErrmul(value);
          break;

         case 8:
          var value = reader.readInt64();
          msg.setSpintype(value);
          break;

         case 9:
          var value = reader.readInt32();
          msg.setFree(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.SpinErrReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.SpinErrReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.SpinErrReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getOrispinlist_asU8();
      f.length > 0 && writer.writeBytes(2, f);
      f = message.getErrspinlist_asU8();
      f.length > 0 && writer.writeBytes(3, f);
      f = message.getBet();
      0 !== f && writer.writeDouble(4, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(5, f);
      f = message.getOrimul();
      0 !== f && writer.writeDouble(6, f);
      f = message.getErrmul();
      0 !== f && writer.writeDouble(7, f);
      f = message.getSpintype();
      0 !== f && writer.writeInt64(8, f);
      f = message.getFree();
      0 !== f && writer.writeInt32(9, f);
    };
    proto.trace.SpinErrReq.prototype.getOrispinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.trace.SpinErrReq.prototype.getOrispinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getOrispinlist());
    };
    proto.trace.SpinErrReq.prototype.getOrispinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getOrispinlist());
    };
    proto.trace.SpinErrReq.prototype.setOrispinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 2, value);
    };
    proto.trace.SpinErrReq.prototype.getErrspinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.trace.SpinErrReq.prototype.getErrspinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getErrspinlist());
    };
    proto.trace.SpinErrReq.prototype.getErrspinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getErrspinlist());
    };
    proto.trace.SpinErrReq.prototype.setErrspinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 3, value);
    };
    proto.trace.SpinErrReq.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.trace.SpinErrReq.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.trace.SpinErrReq.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.trace.SpinErrReq.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.trace.SpinErrReq.prototype.getOrimul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0);
    };
    proto.trace.SpinErrReq.prototype.setOrimul = function(value) {
      return jspb.Message.setProto3FloatField(this, 6, value);
    };
    proto.trace.SpinErrReq.prototype.getErrmul = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0);
    };
    proto.trace.SpinErrReq.prototype.setErrmul = function(value) {
      return jspb.Message.setProto3FloatField(this, 7, value);
    };
    proto.trace.SpinErrReq.prototype.getSpintype = function() {
      return jspb.Message.getFieldWithDefault(this, 8, 0);
    };
    proto.trace.SpinErrReq.prototype.setSpintype = function(value) {
      return jspb.Message.setProto3IntField(this, 8, value);
    };
    proto.trace.SpinErrReq.prototype.getFree = function() {
      return jspb.Message.getFieldWithDefault(this, 9, 0);
    };
    proto.trace.SpinErrReq.prototype.setFree = function(value) {
      return jspb.Message.setProto3IntField(this, 9, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.UpdateReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.UpdateReq.toObject(opt_includeInstance, this);
      };
      proto.trace.UpdateReq.toObject = function(includeInstance, msg) {
        var f, obj = {};
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.UpdateReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.UpdateReq();
      return proto.trace.UpdateReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.UpdateReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        field;
        reader.skipField();
      }
      return msg;
    };
    proto.trace.UpdateReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.UpdateReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.UpdateReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.UpdateRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.UpdateRet.toObject(opt_includeInstance, this);
      };
      proto.trace.UpdateRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.UpdateRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.UpdateRet();
      return proto.trace.UpdateRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.UpdateRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readBool();
          msg.setSuccess(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.UpdateRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.UpdateRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.UpdateRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getSuccess();
      f && writer.writeBool(1, f);
    };
    proto.trace.UpdateRet.prototype.getSuccess = function() {
      return jspb.Message.getBooleanFieldWithDefault(this, 1, false);
    };
    proto.trace.UpdateRet.prototype.setSuccess = function(value) {
      return jspb.Message.setProto3BooleanField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.SpinErrRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.SpinErrRet.toObject(opt_includeInstance, this);
      };
      proto.trace.SpinErrRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.SpinErrRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.SpinErrRet();
      return proto.trace.SpinErrRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.SpinErrRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.SpinErrRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.SpinErrRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.SpinErrRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
    };
    proto.trace.SpinErrRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.SpinErrRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryCountReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryCountReq.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryCountReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          date: jspb.Message.getFieldWithDefault(msg, 1, 0),
          days: jspb.Message.getFieldWithDefault(msg, 2, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryCountReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryCountReq();
      return proto.trace.HistoryCountReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryCountReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt64();
          msg.setDate(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setDays(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryCountReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryCountReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryCountReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getDate();
      0 !== f && writer.writeInt64(1, f);
      f = message.getDays();
      0 !== f && writer.writeInt32(2, f);
    };
    proto.trace.HistoryCountReq.prototype.getDate = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.trace.HistoryCountReq.prototype.setDate = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.trace.HistoryCountReq.prototype.getDays = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.trace.HistoryCountReq.prototype.setDays = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryCountRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryCountRet.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryCountRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, ""),
          count: jspb.Message.getFieldWithDefault(msg, 2, 0),
          bets: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0),
          wins: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryCountRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryCountRet();
      return proto.trace.HistoryCountRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryCountRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setCount(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBets(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setWins(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryCountRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryCountRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryCountRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
      f = message.getCount();
      0 !== f && writer.writeInt32(2, f);
      f = message.getBets();
      0 !== f && writer.writeDouble(3, f);
      f = message.getWins();
      0 !== f && writer.writeDouble(4, f);
    };
    proto.trace.HistoryCountRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.HistoryCountRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.trace.HistoryCountRet.prototype.getCount = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.trace.HistoryCountRet.prototype.setCount = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.trace.HistoryCountRet.prototype.getBets = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.trace.HistoryCountRet.prototype.setBets = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    proto.trace.HistoryCountRet.prototype.getWins = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.trace.HistoryCountRet.prototype.setWins = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryListReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryListReq.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryListReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          date: jspb.Message.getFieldWithDefault(msg, 1, 0),
          days: jspb.Message.getFieldWithDefault(msg, 2, 0),
          limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
          offset: jspb.Message.getFieldWithDefault(msg, 4, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryListReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryListReq();
      return proto.trace.HistoryListReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryListReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readInt64();
          msg.setDate(value);
          break;

         case 2:
          var value = reader.readInt32();
          msg.setDays(value);
          break;

         case 3:
          var value = reader.readInt32();
          msg.setLimit(value);
          break;

         case 4:
          var value = reader.readInt32();
          msg.setOffset(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryListReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryListReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryListReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getDate();
      0 !== f && writer.writeInt64(1, f);
      f = message.getDays();
      0 !== f && writer.writeInt32(2, f);
      f = message.getLimit();
      0 !== f && writer.writeInt32(3, f);
      f = message.getOffset();
      0 !== f && writer.writeInt32(4, f);
    };
    proto.trace.HistoryListReq.prototype.getDate = function() {
      return jspb.Message.getFieldWithDefault(this, 1, 0);
    };
    proto.trace.HistoryListReq.prototype.setDate = function(value) {
      return jspb.Message.setProto3IntField(this, 1, value);
    };
    proto.trace.HistoryListReq.prototype.getDays = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.trace.HistoryListReq.prototype.setDays = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.trace.HistoryListReq.prototype.getLimit = function() {
      return jspb.Message.getFieldWithDefault(this, 3, 0);
    };
    proto.trace.HistoryListReq.prototype.setLimit = function(value) {
      return jspb.Message.setProto3IntField(this, 3, value);
    };
    proto.trace.HistoryListReq.prototype.getOffset = function() {
      return jspb.Message.getFieldWithDefault(this, 4, 0);
    };
    proto.trace.HistoryListReq.prototype.setOffset = function(value) {
      return jspb.Message.setProto3IntField(this, 4, value);
    };
    proto.trace.HistoryListRet.repeatedFields_ = [ 2 ];
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryListRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryListRet.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryListRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, ""),
          datasList: jspb.Message.toObjectList(msg.getDatasList(), proto.trace.HistoryListRet.Data.toObject, includeInstance)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryListRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryListRet();
      return proto.trace.HistoryListRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryListRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         case 2:
          var value = new proto.trace.HistoryListRet.Data();
          reader.readMessage(value, proto.trace.HistoryListRet.Data.deserializeBinaryFromReader);
          msg.addDatas(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryListRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryListRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryListRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
      f = message.getDatasList();
      f.length > 0 && writer.writeRepeatedMessage(2, f, proto.trace.HistoryListRet.Data.serializeBinaryToWriter);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryListRet.Data.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryListRet.Data.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryListRet.Data.toObject = function(includeInstance, msg) {
        var f, obj = {
          id: jspb.Message.getFieldWithDefault(msg, 2, 0),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0),
          win: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          time: jspb.Message.getFieldWithDefault(msg, 5, 0),
          orderid: jspb.Message.getFieldWithDefault(msg, 6, ""),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0)
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryListRet.Data.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryListRet.Data();
      return proto.trace.HistoryListRet.Data.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryListRet.Data.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 2:
          var value = reader.readInt32();
          msg.setId(value);
          break;

         case 3:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setWin(value);
          break;

         case 5:
          var value = reader.readInt64();
          msg.setTime(value);
          break;

         case 6:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         case 7:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryListRet.Data.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryListRet.Data.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryListRet.Data.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getId();
      0 !== f && writer.writeInt32(2, f);
      f = message.getBet();
      0 !== f && writer.writeDouble(3, f);
      f = message.getWin();
      0 !== f && writer.writeDouble(4, f);
      f = message.getTime();
      0 !== f && writer.writeInt64(5, f);
      f = message.getOrderid();
      f.length > 0 && writer.writeString(6, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(7, f);
    };
    proto.trace.HistoryListRet.Data.prototype.getId = function() {
      return jspb.Message.getFieldWithDefault(this, 2, 0);
    };
    proto.trace.HistoryListRet.Data.prototype.setId = function(value) {
      return jspb.Message.setProto3IntField(this, 2, value);
    };
    proto.trace.HistoryListRet.Data.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0);
    };
    proto.trace.HistoryListRet.Data.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 3, value);
    };
    proto.trace.HistoryListRet.Data.prototype.getWin = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.trace.HistoryListRet.Data.prototype.setWin = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.trace.HistoryListRet.Data.prototype.getTime = function() {
      return jspb.Message.getFieldWithDefault(this, 5, 0);
    };
    proto.trace.HistoryListRet.Data.prototype.setTime = function(value) {
      return jspb.Message.setProto3IntField(this, 5, value);
    };
    proto.trace.HistoryListRet.Data.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 6, "");
    };
    proto.trace.HistoryListRet.Data.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 6, value);
    };
    proto.trace.HistoryListRet.Data.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0);
    };
    proto.trace.HistoryListRet.Data.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 7, value);
    };
    proto.trace.HistoryListRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.HistoryListRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.trace.HistoryListRet.prototype.getDatasList = function() {
      return jspb.Message.getRepeatedWrapperField(this, proto.trace.HistoryListRet.Data, 2);
    };
    proto.trace.HistoryListRet.prototype.setDatasList = function(value) {
      return jspb.Message.setRepeatedWrapperField(this, 2, value);
    };
    proto.trace.HistoryListRet.prototype.addDatas = function(opt_value, opt_index) {
      return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.trace.HistoryListRet.Data, opt_index);
    };
    proto.trace.HistoryListRet.prototype.clearDatasList = function() {
      return this.setDatasList([]);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryItemReq.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryItemReq.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryItemReq.toObject = function(includeInstance, msg) {
        var f, obj = {
          orderid: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryItemReq.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryItemReq();
      return proto.trace.HistoryItemReq.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryItemReq.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setOrderid(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryItemReq.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryItemReq.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryItemReq.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getOrderid();
      f.length > 0 && writer.writeString(1, f);
    };
    proto.trace.HistoryItemReq.prototype.getOrderid = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.HistoryItemReq.prototype.setOrderid = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    if (jspb.Message.GENERATE_TO_OBJECT) {
      proto.trace.HistoryItemRet.prototype.toObject = function(opt_includeInstance) {
        return proto.trace.HistoryItemRet.toObject(opt_includeInstance, this);
      };
      proto.trace.HistoryItemRet.toObject = function(includeInstance, msg) {
        var f, obj = {
          err: jspb.Message.getFieldWithDefault(msg, 1, ""),
          spinlist: msg.getSpinlist_asB64(),
          freespinlist: msg.getFreespinlist_asB64(),
          bet: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0),
          balance: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0),
          win: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0),
          custom: jspb.Message.getFieldWithDefault(msg, 7, "")
        };
        includeInstance && (obj.$jspbMessageInstance = msg);
        return obj;
      };
    }
    proto.trace.HistoryItemRet.deserializeBinary = function(bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.trace.HistoryItemRet();
      return proto.trace.HistoryItemRet.deserializeBinaryFromReader(msg, reader);
    };
    proto.trace.HistoryItemRet.deserializeBinaryFromReader = function(msg, reader) {
      while (reader.nextField()) {
        if (reader.isEndGroup()) break;
        var field = reader.getFieldNumber();
        switch (field) {
         case 1:
          var value = reader.readString();
          msg.setErr(value);
          break;

         case 2:
          var value = reader.readBytes();
          msg.setSpinlist(value);
          break;

         case 3:
          var value = reader.readBytes();
          msg.setFreespinlist(value);
          break;

         case 4:
          var value = reader.readDouble();
          msg.setBet(value);
          break;

         case 5:
          var value = reader.readDouble();
          msg.setBalance(value);
          break;

         case 6:
          var value = reader.readDouble();
          msg.setWin(value);
          break;

         case 7:
          var value = reader.readString();
          msg.setCustom(value);
          break;

         default:
          reader.skipField();
        }
      }
      return msg;
    };
    proto.trace.HistoryItemRet.prototype.serializeBinary = function() {
      var writer = new jspb.BinaryWriter();
      proto.trace.HistoryItemRet.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
    };
    proto.trace.HistoryItemRet.serializeBinaryToWriter = function(message, writer) {
      var f = void 0;
      f = message.getErr();
      f.length > 0 && writer.writeString(1, f);
      f = message.getSpinlist_asU8();
      f.length > 0 && writer.writeBytes(2, f);
      f = message.getFreespinlist_asU8();
      f.length > 0 && writer.writeBytes(3, f);
      f = message.getBet();
      0 !== f && writer.writeDouble(4, f);
      f = message.getBalance();
      0 !== f && writer.writeDouble(5, f);
      f = message.getWin();
      0 !== f && writer.writeDouble(6, f);
      f = message.getCustom();
      f.length > 0 && writer.writeString(7, f);
    };
    proto.trace.HistoryItemRet.prototype.getErr = function() {
      return jspb.Message.getFieldWithDefault(this, 1, "");
    };
    proto.trace.HistoryItemRet.prototype.setErr = function(value) {
      return jspb.Message.setProto3StringField(this, 1, value);
    };
    proto.trace.HistoryItemRet.prototype.getSpinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 2, "");
    };
    proto.trace.HistoryItemRet.prototype.getSpinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getSpinlist());
    };
    proto.trace.HistoryItemRet.prototype.getSpinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getSpinlist());
    };
    proto.trace.HistoryItemRet.prototype.setSpinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 2, value);
    };
    proto.trace.HistoryItemRet.prototype.getFreespinlist = function() {
      return jspb.Message.getFieldWithDefault(this, 3, "");
    };
    proto.trace.HistoryItemRet.prototype.getFreespinlist_asB64 = function() {
      return jspb.Message.bytesAsB64(this.getFreespinlist());
    };
    proto.trace.HistoryItemRet.prototype.getFreespinlist_asU8 = function() {
      return jspb.Message.bytesAsU8(this.getFreespinlist());
    };
    proto.trace.HistoryItemRet.prototype.setFreespinlist = function(value) {
      return jspb.Message.setProto3BytesField(this, 3, value);
    };
    proto.trace.HistoryItemRet.prototype.getBet = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0);
    };
    proto.trace.HistoryItemRet.prototype.setBet = function(value) {
      return jspb.Message.setProto3FloatField(this, 4, value);
    };
    proto.trace.HistoryItemRet.prototype.getBalance = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0);
    };
    proto.trace.HistoryItemRet.prototype.setBalance = function(value) {
      return jspb.Message.setProto3FloatField(this, 5, value);
    };
    proto.trace.HistoryItemRet.prototype.getWin = function() {
      return jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0);
    };
    proto.trace.HistoryItemRet.prototype.setWin = function(value) {
      return jspb.Message.setProto3FloatField(this, 6, value);
    };
    proto.trace.HistoryItemRet.prototype.getCustom = function() {
      return jspb.Message.getFieldWithDefault(this, 7, "");
    };
    proto.trace.HistoryItemRet.prototype.setCustom = function(value) {
      return jspb.Message.setProto3StringField(this, 7, value);
    };
    goog.object.extend(exports, proto.trace);
    cc._RF.pop();
  }, {
    "google-protobuf": void 0
  } ],
  "PPPB-transactionDisplayLabel": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "180baALfC1ERJY7aN+O71fo", "PPPB-transactionDisplayLabel");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_UComponent_1 = require("./framework-cocos/components/PPPB-UComponent");
    var PPPB_sys_1 = require("./framework-cocos/PPPB-sys");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var TransactionDisplayLabel = function(_super) {
      __extends(TransactionDisplayLabel, _super);
      function TransactionDisplayLabel() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this.label = null;
        _this.countIfAboveMultiplier = 500;
        _this.spinCounter = 0;
        _this.aboveMultiplierCounter = 0;
        return _this;
      }
      TransactionDisplayLabel.prototype.onLoaded = function() {
        this.node.active = 0 === PPPB_sys_1.sys.debugMode;
        this.label.string = "Mul: -\n>" + this.countIfAboveMultiplier + "x: " + this.aboveMultiplierCounter + "/" + this.spinCounter + "\nTransaction: - ";
      };
      TransactionDisplayLabel.prototype.$event_transactions_show = function(transaction) {
        this.spinCounter++;
        transaction.getMul() >= this.countIfAboveMultiplier && this.aboveMultiplierCounter++;
        this.label.string = "Mul: " + transaction.getMul() + "\n>" + this.countIfAboveMultiplier + "x: " + this.aboveMultiplierCounter + "/" + this.spinCounter + "\nTransaction: " + transaction.getOrderid();
      };
      __decorate([ property(cc.Label) ], TransactionDisplayLabel.prototype, "label", void 0);
      __decorate([ property(cc.Integer) ], TransactionDisplayLabel.prototype, "countIfAboveMultiplier", void 0);
      TransactionDisplayLabel = __decorate([ ccclass ], TransactionDisplayLabel);
      return TransactionDisplayLabel;
    }(PPPB_UComponent_1.UComponent);
    exports.default = TransactionDisplayLabel;
    cc._RF.pop();
  }, {
    "./framework-cocos/PPPB-sys": "PPPB-sys",
    "./framework-cocos/components/PPPB-UComponent": "PPPB-UComponent"
  } ],
  "PPPB-turntable": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a46851Bch5IM4mexexApE0Y", "PPPB-turntable");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var PPPB_action_1 = require("../../framework-cocos/PPPB-action");
    var PPPB_audio_1 = require("../../framework-cocos/PPPB-audio");
    var PPPB_UComponent_1 = require("../../framework-cocos/components/PPPB-UComponent");
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../common/PPPB-quick");
    var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
    var AngleRand = {
      1: [ 168, 252 ],
      2: [ -62, 62 ],
      3: [ 63, 167 ],
      4: [ 253, 297 ]
    };
    var NewClass = function(_super) {
      __extends(NewClass, _super);
      function NewClass() {
        var _this = null !== _super && _super.apply(this, arguments) || this;
        _this._angle = 0;
        _this._stop = false;
        return _this;
      }
      Object.defineProperty(NewClass.prototype, "anim", {
        get: function() {
          return PPPB_ui_1.ui.getComponent([ this, "root" ], cc.Animation);
        },
        enumerable: false,
        configurable: true
      });
      NewClass.prototype.init = function(data) {
        return __awaiter(this, void 0, void 0, function() {
          var ani;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_audio_1.audio.playMusic("music/bgm/zhuanpan");
              this._data = data;
              this.ts ? this._angle = PPPB_lib_1._.randFloat(AngleRand[1][0], AngleRand[4][1]) : this._angle = PPPB_lib_1._.randFloat(AngleRand[data.mul][0], AngleRand[data.mul][1]);
              PPPB_ui_1.ui.setUIDataValueByPath(this, "root/congrats/num2", data.freeSpins || 10);
              PPPB_ui_1.ui.setUIDataValueByPath(this, "root/congrats/num2", "x" + data.mul);
              return [ 4, PPPB_lib_1._.sleep(1e3 * this.anim.defaultClip.duration) ];

             case 1:
              _a.sent();
              if (!this._data.ex) return [ 3, 3 ];
              this.anim.play("turn_ex");
              ani = this.anim.getAnimationState("turn_ex");
              return [ 4, PPPB_lib_1._.sleep(1e3 * ani.clip.duration) ];

             case 2:
              _a.sent();
              _a.label = 3;

             case 3:
              this.con = PPPB_lib_1._.createControlObj();
              PPPB_lib_1._.sleep(5e3).then(function() {
                _this.con.shouldStop || _this.play();
              });
              return [ 4, PPPB_ui_1.ui.rollingNum([ this, "root/time" ], 0, 5, 5e3, 1e3, 0, this.con) ];

             case 4:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      Object.defineProperty(NewClass.prototype, "ts", {
        get: function() {
          return this._data.ex && 4 == this._data.mul;
        },
        enumerable: false,
        configurable: true
      });
      NewClass.prototype.play = function() {
        return __awaiter(this, void 0, void 0, function() {
          var turn;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              PPPB_quick_1.ks.playEffectSound("xuanzhuan");
              PPPB_ui_1.ui.getComponent([ this, "root/btn" ], cc.Button).interactable = false;
              turn = PPPB_ui_1.ui.getNode([ this, "root/turntable/turn" ]);
              PPPB_action_1.ACT(turn).rotateTo(4.1, -this._angle).act();
              this.anim.play("turntable_1");
              return [ 4, PPPB_lib_1._.sleep(8300) ];

             case 1:
              _a.sent();
              if (this._stop) return [ 2 ];
              return [ 4, this.finish() ];

             case 2:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.finish = function() {
        return __awaiter(this, void 0, void 0, function() {
          var point, name, open;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              point = PPPB_ui_1.ui.getComponent([ this, "root/turntable/turn/point_to" ], cc.Animation);
              name = "point_to" + (this.ts ? "4a" : this._data.mul);
              point.play(name);
              return [ 4, PPPB_lib_1._.sleep(1e3 * point.getAnimationState(name).duration) ];

             case 1:
              _a.sent();
              return [ 4, PPPB_lib_1._.sleep(4e3) ];

             case 2:
              _a.sent();
              PPPB_ui_1.ui.show([ this, "open" ]);
              PPPB_lib_1._.sleep(1e3).then(function() {
                PPPB_ui_1.ui.show([ _this, "root" ], false);
              });
              PPPB_action_1.ACT([ this, "root" ]).beg().scaleTo(.3, 1.2, 1.2, cc.easeSineOut()).fadeOut(.3, cc.easeSineOut()).spawnEnd().act();
              open = PPPB_ui_1.ui.getComponent([ this, "open/root/root" ], cc.Animation);
              PPPB_quick_1.ks.playEffectSound("open_door");
              open.play("open");
              return [ 4, PPPB_lib_1._.sleep(1e3 * open.getAnimationState("open").clip.duration) ];

             case 3:
              _a.sent();
              PPPB_ui_1.ui.doModelResolve(this);
              PPPB_ui_1.ui.destroy(this);
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.$event_game_stop = function() {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              this._stop = true;
              return [ 4, this.finish() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      NewClass.prototype.$ui_root_btn__click = function(btn) {
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!this.con) return [ 2 ];
              this.con.shouldStop = true;
              return [ 4, this.play() ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      NewClass = __decorate([ ccclass ], NewClass);
      return NewClass;
    }(PPPB_UComponent_1.UComponent);
    exports.default = NewClass;
    cc._RF.pop();
  }, {
    "../../common/PPPB-quick": "PPPB-quick",
    "../../framework-cocos/PPPB-action": "PPPB-action",
    "../../framework-cocos/PPPB-audio": "PPPB-audio",
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework-cocos/components/PPPB-UComponent": "PPPB-UComponent",
    "../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-uiConfig": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "e8d1bEoWjxEjLyO77VMiytY", "PPPB-uiConfig");
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.uiConfig = void 0;
    var PPPB_ui_1 = require("../../framework-cocos/PPPB-ui");
    var PPPB_lib_1 = require("../../framework/PPPB-lib");
    exports.uiConfig = {
      menu: {
        feature: {
          path: "prefab/ui/feature",
          isDelay: true,
          preLoad: false,
          zIndex: 0
        },
        tips: {
          path: "prefab/effect/tips",
          isDelay: true,
          preLoad: false,
          zIndex: 100
        }
      }
    };
    var uis = [];
    PPPB_lib_1._.each(exports.uiConfig, function(v, p) {
      PPPB_ui_1.ui.unquireUIParents[p] = null;
      PPPB_lib_1._.each(v, function(c, k) {
        uis.push(k);
      });
    });
    PPPB_ui_1.ui.unquireUIs = uis.sort();
    cc._RF.pop();
  }, {
    "../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../framework/PPPB-lib": "PPPB-lib"
  } ],
  "PPPB-ui": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "5a0a2WNIGRANYR8W9heA5kA", "PPPB-ui");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.ui = exports.CUI = void 0;
    var PPPB_UIData_1 = require("./components/PPPB-UIData");
    var PPPB_UAnimation_1 = require("./components/PPPB-UAnimation");
    var PPPB_lib_1 = require("../framework/PPPB-lib");
    var PPPB_res_1 = require("./PPPB-res");
    var uiJson = {
      alert: {
        attr: {
          color: "#000000ff",
          width: 720,
          height: 1280,
          name: "alert"
        },
        Components: [ [ "Button", {
          target: {
            type: "",
            name: "alert",
            path: []
          },
          enabled: true
        } ], [ "alert", {
          actionNode: {
            type: "",
            name: "New Node",
            path: [ "New Node" ]
          },
          btnOk: {
            type: "Button",
            name: "btn_ok",
            path: [ "New Node", "New Node", "btn_ok" ]
          },
          btnCancel: {
            type: "Button",
            name: "btn_cancel",
            path: [ "New Node", "New Node", "btn_cancel" ]
          },
          btnClose: {
            type: "Button",
            name: "btnClose",
            path: [ "New Node", "btnClose" ]
          },
          title: {
            type: "Label",
            name: "titleLabel",
            path: [ "New Node", "titleLabel" ]
          },
          icon: {
            type: "Sprite",
            name: "titleSprite",
            path: [ "New Node", "titleSprite" ]
          },
          content: {
            type: "Label",
            name: "content",
            path: [ "New Node", "content" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {
            width: 5e3,
            height: 3e3,
            name: "New Layout"
          },
          Components: [ [ "Sprite", {
            type: 1,
            sizeMode: 0,
            enabled: true
          } ], [ "Layout", {
            enabled: true
          } ], [ "Button", {
            target: {
              type: "",
              name: "New Layout",
              path: []
            },
            enabled: true
          } ] ]
        }, {
          attr: {},
          Childrens: [ {
            attr: {
              width: 547,
              height: 316,
              name: "bg"
            },
            Components: [ [ "UIShape", {
              _strokeColor: "#1e6ea0ff",
              _fillColor: "#002e5ee6",
              enabled: true
            } ], [ "Graphics", {
              lineWidth: 5,
              lineJoin: 1,
              lineCap: 1,
              strokeColor: "#1e6ea0ff",
              fillColor: "#002e5ee6",
              enabled: true
            } ] ]
          }, {
            attr: {
              active: false,
              width: 547,
              height: 316,
              name: "public_frame_a"
            },
            Components: [ [ "Sprite", {
              type: 1
            } ] ]
          }, {
            attr: {
              active: false,
              y: 124,
              width: 40,
              height: 36,
              name: "titleSprite"
            },
            Components: [ [ "Sprite", {} ] ]
          }, {
            attr: {
              y: 124,
              width: 80,
              height: 40,
              name: "titleLabel"
            },
            Components: [ [ "Label", {
              string: "\u63d0\u793a",
              horizontalAlign: 1,
              verticalAlign: 1,
              enabled: true
            } ] ]
          }, {
            attr: {
              x: 3,
              y: 31,
              width: 404,
              height: 30,
              name: "content"
            },
            Components: [ [ "Label", {
              horizontalAlign: 1,
              verticalAlign: 1,
              fontSize: 30,
              lineHeight: 30,
              overflow: 3,
              enabled: true
            } ] ]
          }, {
            attr: {
              x: 265,
              y: 135,
              width: 85,
              height: 83,
              name: "btnClose"
            },
            Components: [ [ "Sprite", {
              enabled: true
            } ], [ "Button", {
              transition: 1,
              normalColor: "#ffffffff",
              target: {
                type: "",
                name: "btnClose",
                path: []
              },
              enabled: true
            } ] ]
          }, {
            attr: {
              x: 3,
              y: -66,
              scaleX: .8,
              scaleY: .8,
              width: 358,
              height: 200
            },
            Components: [ [ "Layout", {
              type: 1,
              resizeMode: 1,
              spacingX: 30,
              enabled: true
            } ] ],
            Childrens: [ {
              attr: {
                x: -97,
                y: -52,
                color: "#0d6486ff",
                width: 164,
                height: 66,
                name: "btn_ok"
              },
              Components: [ [ "Sprite", {
                spriteFrame: {
                  type: "Asset",
                  name: "default_sprite_splash",
                  url: ""
                },
                sizeMode: 0,
                enabled: true
              } ], [ "Button", {
                transition: 3,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_ok",
                  path: []
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 80,
                  height: 40,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "\u786e\u5b9a",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 97,
                y: -54,
                color: "#094d74ff",
                width: 164,
                height: 66,
                name: "btn_cancel"
              },
              Components: [ [ "Sprite", {
                spriteFrame: {
                  type: "Asset",
                  name: "default_sprite_splash",
                  url: ""
                },
                sizeMode: 0,
                enabled: true
              } ], [ "Button", {
                transition: 3,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_cancel",
                  path: []
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 80,
                  height: 40,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "\u53d6\u6d88",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  enabled: true
                } ] ]
              } ]
            } ]
          } ]
        } ]
      },
      tips: {
        attr: {
          width: 720,
          height: 36,
          name: "tips"
        },
        Components: [ [ "tips", {
          bg: {
            type: "",
            name: "bg",
            path: [ "New Node", "New Node", "bg" ]
          },
          content: {
            type: "Label",
            name: "tipLabel",
            path: [ "New Node", "New Node", "tipLabel" ]
          },
          actionNode: {
            type: "",
            name: "New Node",
            path: [ "New Node", "New Node" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {},
          Childrens: [ {
            attr: {},
            Childrens: [ {
              attr: {
                opacity: 155,
                color: "#000000ff",
                width: 630,
                height: 26,
                name: "bg"
              },
              Components: [ [ "UIShape", {
                _graphType: 2,
                _snms: 30,
                _lineWidth: 0,
                _strokeColor: "#0000009b",
                _fillColor: "#0000009b",
                enabled: true
              } ], [ "Graphics", {
                lineWidth: 0,
                lineJoin: 1,
                lineCap: 1,
                strokeColor: "#ffffffff",
                enabled: true
              } ] ]
            }, {
              attr: {
                x: -1,
                y: .5,
                width: 630,
                height: 26,
                name: "tipLabel"
              },
              Components: [ [ "Label", {
                string: "\u63d0\u793a\u6587\u5b57",
                horizontalAlign: 1,
                verticalAlign: 1,
                fontSize: 23,
                lineHeight: 26,
                overflow: 3,
                enabled: true
              } ] ]
            } ]
          } ]
        } ]
      },
      blocking: {
        attr: {
          color: "#000000ff",
          width: 720,
          height: 1280,
          name: "blocking"
        },
        Components: [ [ "Button", {
          target: {
            type: "",
            name: "blocking",
            path: []
          },
          enabled: true
        } ], [ "blocking", {
          bgNode: {
            type: "",
            name: "New Layout",
            path: [ "New Layout" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {
            opacity: 100,
            color: "#000000ff",
            width: 2e3,
            height: 3e3,
            name: "New Layout"
          },
          Components: [ [ "Sprite", {
            spriteFrame: {
              type: "Asset",
              name: "default_panel",
              url: ""
            },
            type: 1,
            sizeMode: 0,
            enabled: true
          } ], [ "Button", {
            target: {
              type: "",
              name: "New Layout",
              path: []
            },
            enabled: true
          } ] ]
        } ]
      },
      input: {
        attr: {
          color: "#000000ff",
          width: 1280,
          height: 720,
          name: "input"
        },
        Components: [ [ "Button", {
          target: {
            type: "",
            name: "input",
            path: []
          },
          enabled: true
        } ], [ "input", {
          actionNode: {
            type: "",
            name: "New Node",
            path: [ "New Node" ]
          },
          btnOk: {
            type: "Button",
            name: "btn_ok",
            path: [ "New Node", "New Node", "btn_ok" ]
          },
          btnCancel: {
            type: "Button",
            name: "btn_cancel",
            path: [ "New Node", "New Node", "btn_cancel" ]
          },
          title: {
            type: "Label",
            name: "titleLabel",
            path: [ "New Node", "titleLabel" ]
          },
          icon: {
            type: "Sprite",
            name: "titleSprite",
            path: [ "New Node", "titleSprite" ]
          },
          content: {
            type: "Label",
            name: "content",
            path: [ "New Node", "content" ]
          },
          input: {
            type: "EditBox",
            name: "input",
            path: [ "New Node", "New Layout", "input" ]
          },
          psw: {
            type: "EditBox",
            name: "psw",
            path: [ "New Node", "New Layout", "psw" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {
            width: 5e3,
            height: 3e3,
            name: "New Layout"
          },
          Components: [ [ "Layout", {
            enabled: true
          } ], [ "Button", {
            target: {
              type: "",
              name: "New Layout",
              path: []
            },
            enabled: true
          } ] ]
        }, {
          attr: {},
          Childrens: [ {
            attr: {
              width: 547,
              height: 316,
              name: "bg"
            },
            Components: [ [ "UIShape", {
              _fillColor: "#001c39be",
              enabled: true
            } ], [ "Graphics", {
              lineWidth: 5,
              lineJoin: 1,
              lineCap: 1,
              strokeColor: "#1e6ea0e1",
              fillColor: "#001c39be",
              enabled: true
            } ] ]
          }, {
            attr: {
              active: false,
              y: 124,
              width: 40,
              height: 36,
              name: "titleSprite"
            },
            Components: [ [ "Sprite", {} ] ]
          }, {
            attr: {
              y: 124,
              width: 80,
              height: 40,
              name: "titleLabel"
            },
            Components: [ [ "Label", {
              string: "\u63d0\u793a",
              horizontalAlign: 1,
              verticalAlign: 1,
              enabled: true
            } ] ]
          }, {
            attr: {
              x: 3,
              y: 61,
              color: "#90ff27ff",
              width: 404,
              height: 30,
              name: "content"
            },
            Components: [ [ "Label", {
              string: "\u8bf7\u8f93\u5165",
              horizontalAlign: 1,
              verticalAlign: 1,
              fontSize: 30,
              lineHeight: 30,
              overflow: 3,
              enabled: true
            } ] ]
          }, {
            attr: {
              y: 11,
              color: "#a7a7a7ff",
              anchorY: .8,
              width: 520,
              height: 40,
              name: "New Layout"
            },
            Components: [ [ "Layout", {
              type: 2,
              resizeMode: 1,
              spacingY: 15,
              enabled: true
            } ] ],
            Childrens: [ {
              attr: {
                y: -12,
                width: 260,
                height: 40,
                name: "input"
              },
              Components: [ [ "EditBox", {
                _background: {
                  type: "Sprite",
                  name: "BACKGROUND_SPRITE",
                  path: [ "BACKGROUND_SPRITE" ]
                },
                _textLabel: {
                  type: "Label",
                  name: "TEXT_LABEL",
                  path: [ "TEXT_LABEL" ]
                },
                _placeholderLabel: {
                  type: "Label",
                  name: "PLACEHOLDER_LABEL",
                  path: [ "PLACEHOLDER_LABEL" ]
                },
                backgroundImage: {
                  type: "Asset",
                  name: "default_progressbar",
                  url: ""
                },
                inputMode: 6,
                fontSize: 29,
                fontColor: "#000000ff",
                placeholder: "\u8bf7\u8f93\u5165",
                maxLength: 100,
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 260,
                  height: 40,
                  name: "BACKGROUND_SPRITE"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_progressbar",
                    url: ""
                  },
                  type: 1,
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  x: -128,
                  y: 20,
                  color: "#000000ff",
                  anchorX: 0,
                  anchorY: 1,
                  width: 258,
                  height: 40,
                  name: "TEXT_LABEL"
                },
                Components: [ [ "Label", {
                  verticalAlign: 1,
                  fontSize: 29,
                  overflow: 1,
                  enableWrapText: false
                } ] ]
              }, {
                attr: {
                  x: -128,
                  y: 20,
                  color: "#7f7f7fff",
                  anchorX: 0,
                  anchorY: 1,
                  width: 258,
                  height: 40,
                  name: "PLACEHOLDER_LABEL"
                },
                Components: [ [ "Label", {
                  string: "\u8bf7\u8f93\u5165",
                  verticalAlign: 1,
                  fontSize: 20,
                  overflow: 1,
                  enableWrapText: false,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                active: false,
                y: -56,
                width: 260,
                height: 40,
                name: "psw"
              },
              Components: [ [ "EditBox", {
                backgroundImage: {
                  type: "Asset",
                  name: "default_progressbar",
                  url: ""
                },
                inputFlag: 0,
                inputMode: 6,
                fontSize: 29,
                fontColor: "#000000ff",
                placeholder: "\u8bf7\u8f93\u5165\u5bc6\u7801",
                maxLength: 100
              } ] ],
              Childrens: [ {
                attr: {
                  width: 260,
                  height: 40,
                  name: "BACKGROUND_SPRITE"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_progressbar",
                    url: ""
                  },
                  type: 1,
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  active: false,
                  x: -128,
                  y: 20,
                  color: "#000000ff",
                  anchorX: 0,
                  anchorY: 1,
                  width: 258,
                  height: 40,
                  name: "TEXT_LABEL"
                },
                Components: [ [ "Label", {
                  verticalAlign: 1,
                  fontSize: 29,
                  overflow: 1,
                  enableWrapText: false
                } ] ]
              }, {
                attr: {
                  x: -128,
                  y: 20,
                  color: "#7f7f7fff",
                  anchorX: 0,
                  anchorY: 1,
                  width: 258,
                  height: 40,
                  name: "PLACEHOLDER_LABEL"
                },
                Components: [ [ "Label", {
                  string: "\u8bf7\u8f93\u5165\u5bc6\u7801",
                  verticalAlign: 1,
                  fontSize: 20,
                  overflow: 1,
                  enableWrapText: false
                } ] ]
              } ]
            } ]
          }, {
            attr: {
              x: 96,
              y: -159,
              scaleX: .8,
              scaleY: .8,
              width: 439,
              height: 87
            },
            Components: [ [ "Layout", {
              type: 1,
              resizeMode: 1,
              spacingX: 100,
              enabled: false
            } ] ],
            Childrens: [ {
              attr: {
                x: -117,
                y: 60,
                width: 164,
                height: 66,
                name: "btn_ok"
              },
              Components: [ [ "Button", {
                transition: 3,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_ok",
                  path: []
                },
                enabled: true
              } ], [ "UIShape", {
                enabled: true
              } ], [ "Graphics", {
                lineWidth: 5,
                lineJoin: 1,
                lineCap: 1,
                strokeColor: "#1e6ea0e1",
                fillColor: "#00325fbe",
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 80,
                  height: 40,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "\u786e\u5b9a",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 209,
                y: 370,
                width: 85,
                height: 83,
                name: "btn_cancel"
              },
              Components: [ [ "Sprite", {
                enabled: true
              } ], [ "Button", {
                transition: 1,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_cancel",
                  path: []
                },
                enabled: true
              } ] ]
            } ]
          } ]
        } ]
      },
      select: {
        attr: {
          color: "#000000ff",
          width: 1280,
          height: 720,
          name: "select"
        },
        Components: [ [ "Button", {
          target: {
            type: "",
            name: "select",
            path: []
          },
          enabled: true
        } ], [ "select", {
          actionNode: {
            type: "",
            name: "New Node",
            path: [ "New Node" ]
          },
          btnOk: {
            type: "Button",
            name: "btn_ok",
            path: [ "New Node", "New Node", "btn_ok" ]
          },
          btnCancel: {
            type: "Button",
            name: "btn_cancel",
            path: [ "New Node", "New Node", "btn_cancel" ]
          },
          title: {
            type: "Label",
            name: "titleLabel",
            path: [ "New Node", "titleLabel" ]
          },
          icon: {
            type: "Sprite",
            name: "titleSprite",
            path: [ "New Node", "titleSprite" ]
          },
          content: {
            type: "Label",
            name: "content",
            path: [ "New Node", "content" ]
          },
          list: {
            type: "",
            name: "list",
            path: [ "New Node", "list" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {
            opacity: 100,
            color: "#000000ff",
            width: 5e3,
            height: 3e3,
            name: "New Layout"
          },
          Components: [ [ "Sprite", {
            spriteFrame: {
              type: "Asset",
              name: "default_panel",
              url: ""
            },
            type: 1,
            sizeMode: 0,
            enabled: true
          } ], [ "Layout", {
            enabled: true
          } ] ]
        }, {
          attr: {},
          Childrens: [ {
            attr: {
              x: 5,
              y: 12,
              width: 718,
              height: 483,
              name: "public_frame_a"
            },
            Components: [ [ "UIShape", {
              _fillColor: "#001c39be",
              enabled: true
            } ], [ "Graphics", {
              lineWidth: 5,
              lineJoin: 1,
              lineCap: 1,
              strokeColor: "#1e6ea0e1",
              fillColor: "#001c39be",
              enabled: true
            } ] ]
          }, {
            attr: {
              active: false,
              y: 124,
              width: 40,
              height: 36,
              name: "titleSprite"
            },
            Components: [ [ "Sprite", {} ] ]
          }, {
            attr: {
              y: 178,
              color: "#f1fcd6ff",
              width: 80,
              height: 40,
              name: "titleLabel"
            },
            Components: [ [ "Label", {
              string: "\u63d0\u793a",
              horizontalAlign: 1,
              verticalAlign: 1,
              enabled: true
            } ] ]
          }, {
            attr: {
              y: 16,
              color: "#ad3737ff",
              width: 600,
              height: 30,
              name: "content"
            },
            Components: [ [ "Label", {
              horizontalAlign: 1,
              verticalAlign: 1,
              fontSize: 30,
              lineHeight: 30,
              overflow: 3,
              enabled: true
            } ] ]
          }, {
            attr: {
              active: false,
              x: 3,
              y: -101.99999999999997,
              scaleX: .8,
              scaleY: .8,
              width: 134,
              height: 56,
              name: "btn_ok"
            },
            Components: [ [ "Sprite", {} ], [ "Button", {
              transition: 1,
              normalColor: "#ffffffff",
              target: {
                type: "",
                name: "btn_ok",
                path: []
              }
            } ] ]
          }, {
            attr: {
              x: 3,
              y: -115,
              scaleX: .8,
              scaleY: .8,
              width: 505,
              height: 200
            },
            Components: [ [ "Layout", {
              type: 1,
              resizeMode: 1,
              spacingX: 100,
              enabled: true
            } ] ],
            Childrens: [ {
              attr: {
                x: -151,
                y: -52,
                width: 203,
                height: 60,
                name: "btn_ok"
              },
              Components: [ [ "Button", {
                transition: 3,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_ok",
                  path: []
                },
                enabled: true
              } ], [ "UIShape", {
                enabled: true
              } ], [ "Graphics", {
                lineWidth: 5,
                lineJoin: 1,
                lineCap: 1,
                strokeColor: "#1e6ea0e1",
                fillColor: "#00325fbe",
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 80,
                  height: 40,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "\u786e\u5b9a",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 151.5,
                y: -54,
                width: 202,
                height: 60,
                name: "btn_cancel"
              },
              Components: [ [ "Button", {
                transition: 3,
                normalColor: "#ffffffff",
                target: {
                  type: "",
                  name: "btn_cancel",
                  path: []
                },
                enabled: true
              } ], [ "UIShape", {
                enabled: true
              } ], [ "Graphics", {
                lineWidth: 5,
                lineJoin: 1,
                lineCap: 1,
                strokeColor: "#1e6ea0e1",
                fillColor: "#00325fbe",
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 80,
                  height: 40,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "\u53d6\u6d88",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  enabled: true
                } ] ]
              } ]
            } ]
          }, {
            attr: {
              y: -4,
              width: 605,
              height: 180,
              name: "list"
            },
            Components: [ [ "Layout", {
              type: 3,
              resizeMode: 1,
              startAxis: 1,
              paddingBottom: 10,
              spacingX: 5,
              spacingY: 10,
              enabled: true
            } ], [ "Widget", {
              alignMode: 0,
              isAlignTop: true,
              isAlignBottom: true,
              top: -86,
              bottom: -94,
              enabled: true
            } ], [ "ToggleContainer", {
              enabled: true
            } ] ],
            Childrens: [ {
              attr: {
                x: -152.5,
                y: 74,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: -152.5,
                y: 32,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: -152.5,
                y: -10,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: -152.5,
                y: -52,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 152.5,
                y: 74,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 152.5,
                y: 32,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 152.5,
                y: -10,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                x: 152.5,
                y: -52,
                width: 300,
                height: 32,
                name: "select_item"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "check",
                  path: [ "check" ]
                },
                isChecked: false,
                transition: 3,
                target: {
                  type: "",
                  name: "bg",
                  path: [ "bg" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  opacity: 200,
                  color: "#2d2d58ff",
                  width: 300,
                  height: 32,
                  name: "bg"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0,
                  enabled: true
                } ] ]
              }, {
                attr: {
                  active: false,
                  color: "#504effff",
                  width: 300,
                  height: 32,
                  name: "check"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_sprite_splash",
                    url: ""
                  },
                  sizeMode: 0
                } ] ]
              }, {
                attr: {
                  width: 63.62,
                  height: 26,
                  name: "New Label"
                },
                Components: [ [ "Label", {
                  string: "Label",
                  horizontalAlign: 1,
                  verticalAlign: 1,
                  fontSize: 26,
                  lineHeight: 26,
                  enabled: true
                } ] ]
              } ]
            } ]
          } ]
        } ]
      },
      setting: {
        attr: {
          name: "setting"
        },
        Components: [ [ "setting", {
          actionNode: {
            type: "",
            name: "New Node",
            path: [ "New Node" ]
          },
          btnClose: {
            type: "Button",
            name: "CloseButton",
            path: [ "New Node", "CloseButton" ]
          },
          sfxVolume: {
            type: "Slider",
            name: "slider",
            path: [ "New Node", "sfx", "slider" ]
          },
          bgmVolume: {
            type: "Slider",
            name: "slider",
            path: [ "New Node", "bgm", "slider" ]
          },
          sfxOn: {
            type: "Toggle",
            name: "on",
            path: [ "New Node", "sfx", "on" ]
          },
          bgmOn: {
            type: "Toggle",
            name: "on",
            path: [ "New Node", "bgm", "on" ]
          },
          maskSfx: {
            type: "",
            name: "mask",
            path: [ "New Node", "sfx", "slider", "mask" ]
          },
          maskBgm: {
            type: "",
            name: "mask",
            path: [ "New Node", "bgm", "slider", "mask" ]
          },
          enabled: true
        } ] ],
        Childrens: [ {
          attr: {
            opacity: 150,
            width: 1280,
            height: 1280,
            name: "mask"
          },
          Components: [ [ "UIShape", {
            _graphType: 2,
            _lineWidth: 0,
            _strokeColor: "#1e6ea084",
            _fillColor: "#00000096",
            enabled: true
          } ], [ "Graphics", {
            lineWidth: 0,
            lineJoin: 1,
            lineCap: 1,
            strokeColor: "#1e6ea0e1",
            fillColor: "#000000ff",
            enabled: true
          } ], [ "Button", {
            target: {
              type: "",
              name: "mask",
              path: []
            },
            enabled: true
          } ] ]
        }, {
          attr: {},
          Childrens: [ {
            attr: {
              y: -20,
              width: 452,
              height: 300,
              name: "OutBack"
            },
            Components: [ [ "Button", {
              target: {
                type: "",
                name: "OutBack",
                path: []
              },
              enabled: true
            } ], [ "UIShape", {
              _fillColor: "#001c4797",
              enabled: true
            } ], [ "Graphics", {
              lineWidth: 5,
              lineJoin: 1,
              lineCap: 1,
              strokeColor: "#1e6ea0e1",
              fillColor: "#001c4797",
              enabled: true
            } ] ]
          }, {
            attr: {
              y: -120,
              width: 100,
              height: 40,
              name: "CloseButton"
            },
            Components: [ [ "UIShape", {
              radius: 15,
              enabled: true
            } ], [ "Graphics", {
              lineWidth: 5,
              lineJoin: 1,
              lineCap: 1,
              strokeColor: "#1e6ea0e1",
              fillColor: "#00325fbe",
              enabled: true
            } ], [ "Button", {
              transition: 3,
              target: {
                type: "",
                name: "CloseButton",
                path: []
              },
              enabled: true
            } ] ],
            Childrens: [ {
              attr: {
                width: 44,
                height: 30,
                name: "New Label"
              },
              Components: [ [ "Label", {
                string: "\u786e\u5b9a",
                horizontalAlign: 1,
                verticalAlign: 1,
                fontSize: 22,
                lineHeight: 30,
                enabled: true
              } ] ]
            } ]
          }, {
            attr: {
              y: 77,
              width: 60,
              height: 30,
              name: "title"
            },
            Components: [ [ "Label", {
              string: "\u8bbe\u7f6e",
              horizontalAlign: 1,
              verticalAlign: 1,
              fontSize: 30,
              lineHeight: 30,
              enabled: true
            } ] ]
          }, {
            attr: {
              x: 17,
              y: 10,
              name: "sfx"
            },
            Childrens: [ {
              attr: {
                x: -185,
                y: -1,
                width: 44,
                height: 30,
                name: "l"
              },
              Components: [ [ "Label", {
                string: "\u97f3\u6548",
                horizontalAlign: 1,
                verticalAlign: 1,
                fontSize: 22,
                lineHeight: 30,
                enabled: true
              } ] ]
            }, {
              attr: {
                width: 300,
                height: 20,
                name: "slider"
              },
              Components: [ [ "Slider", {
                handle: {
                  type: "Button",
                  name: "Handle",
                  path: [ "Handle" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 300,
                  height: 20,
                  name: "Background"
                },
                Components: [ [ "UIShape", {
                  radius: 8,
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0e1",
                  fillColor: "#00325fbe",
                  enabled: true
                } ] ]
              }, {
                attr: {
                  x: -150,
                  anchorX: 0,
                  width: 150,
                  height: 20,
                  name: "mask"
                },
                Components: [ [ "UIShape", {
                  radius: 8,
                  _strokeColor: "#1e6ea0a4",
                  _fillColor: "#ebeea4be",
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0a4",
                  fillColor: "#ebeea4be",
                  enabled: true
                } ] ]
              }, {
                attr: {
                  width: 32,
                  height: 32,
                  name: "Handle"
                },
                Components: [ [ "Button", {
                  zoomScale: 1.1,
                  enableAutoGrayEffect: true,
                  transition: 3,
                  normalColor: "#ffffffff",
                  pressedColor: "#ffffffff",
                  disabledColor: "#ffffffff",
                  normalSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  pressedSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  hoverSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  disabledSprite: {
                    type: "Asset",
                    name: "default_btn_disabled",
                    url: ""
                  },
                  target: {
                    type: "",
                    name: "Handle",
                    path: []
                  },
                  enabled: true
                } ], [ "UIShape", {
                  _graphType: 0,
                  _fillColor: "#5cdbfaff",
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0e1",
                  fillColor: "#5cdbfaff",
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                active: false,
                x: 180,
                width: 28,
                height: 28,
                name: "on"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "checkmark",
                  path: [ "checkmark" ]
                },
                transition: 3,
                target: {
                  type: "",
                  name: "Background",
                  path: [ "Background" ]
                }
              } ] ],
              Childrens: [ {
                attr: {
                  width: 28,
                  height: 28,
                  name: "Background"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_toggle_normal",
                    url: ""
                  }
                } ] ]
              }, {
                attr: {
                  width: 28,
                  height: 28,
                  name: "checkmark"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_toggle_checkmark",
                    url: ""
                  },
                  trim: false,
                  sizeMode: 2
                } ] ]
              } ]
            } ]
          }, {
            attr: {
              x: 17,
              y: -50,
              name: "bgm"
            },
            Childrens: [ {
              attr: {
                x: -185,
                y: -1,
                width: 44,
                height: 30,
                name: "l"
              },
              Components: [ [ "Label", {
                string: "\u97f3\u4e50",
                horizontalAlign: 1,
                verticalAlign: 1,
                fontSize: 22,
                lineHeight: 30,
                enabled: true
              } ] ]
            }, {
              attr: {
                width: 300,
                height: 20,
                name: "slider"
              },
              Components: [ [ "Slider", {
                handle: {
                  type: "Button",
                  name: "Handle",
                  path: [ "Handle" ]
                },
                enabled: true
              } ] ],
              Childrens: [ {
                attr: {
                  width: 300,
                  height: 20,
                  name: "Background"
                },
                Components: [ [ "UIShape", {
                  radius: 8,
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0e1",
                  fillColor: "#00325fbe",
                  enabled: true
                } ] ]
              }, {
                attr: {
                  x: -150,
                  anchorX: 0,
                  width: 150,
                  height: 20,
                  name: "mask"
                },
                Components: [ [ "UIShape", {
                  radius: 8,
                  _strokeColor: "#1e6ea0a4",
                  _fillColor: "#ebeea4be",
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0a4",
                  fillColor: "#ebeea4be",
                  enabled: true
                } ] ]
              }, {
                attr: {
                  width: 32,
                  height: 32,
                  name: "Handle"
                },
                Components: [ [ "Button", {
                  zoomScale: 1.1,
                  enableAutoGrayEffect: true,
                  transition: 3,
                  normalColor: "#ffffffff",
                  pressedColor: "#ffffffff",
                  disabledColor: "#ffffffff",
                  normalSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  pressedSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  hoverSprite: {
                    type: "Asset",
                    name: "default_radio_button_off",
                    url: ""
                  },
                  disabledSprite: {
                    type: "Asset",
                    name: "default_btn_disabled",
                    url: ""
                  },
                  target: {
                    type: "",
                    name: "Handle",
                    path: []
                  },
                  enabled: true
                } ], [ "UIShape", {
                  _graphType: 0,
                  _fillColor: "#5cdbfaff",
                  enabled: true
                } ], [ "Graphics", {
                  lineWidth: 5,
                  lineJoin: 1,
                  lineCap: 1,
                  strokeColor: "#1e6ea0e1",
                  fillColor: "#5cdbfaff",
                  enabled: true
                } ] ]
              } ]
            }, {
              attr: {
                active: false,
                x: 180,
                width: 28,
                height: 28,
                name: "on"
              },
              Components: [ [ "Toggle", {
                checkMark: {
                  type: "Sprite",
                  name: "checkmark",
                  path: [ "checkmark" ]
                },
                transition: 3,
                target: {
                  type: "",
                  name: "Background",
                  path: [ "Background" ]
                }
              } ] ],
              Childrens: [ {
                attr: {
                  width: 28,
                  height: 28,
                  name: "Background"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_toggle_normal",
                    url: ""
                  }
                } ] ]
              }, {
                attr: {
                  width: 28,
                  height: 28,
                  name: "checkmark"
                },
                Components: [ [ "Sprite", {
                  spriteFrame: {
                    type: "Asset",
                    name: "default_toggle_checkmark",
                    url: ""
                  },
                  trim: false,
                  sizeMode: 2
                } ] ]
              } ]
            } ]
          } ]
        } ]
      }
    };
    var KEY_DESTROYER = Symbol("doDestroyer");
    var KEY_SETTER = Symbol("attrSetter");
    var KEY_DESTROY = Symbol("isDestroy");
    var KEY_EVENT_CBS = Symbol("event_cbs");
    var KEY_COMBO = Symbol("comboData");
    var KEY_HELPER_STATE = Symbol("helper_state");
    var KEY_COPPONENT_TYPE = Symbol("componentType");
    var KEY_COMMONUI = Symbol("componentType");
    var KEY_DOMODEL_CB = Symbol("doModelCB");
    var KEY_UNQUIRE = Symbol("unquire");
    var uiSymbol = Symbol("UIObj");
    var CUI = function() {
      function CUI(uiObj) {
        uiObj && (this[uiSymbol] = uiObj[uiSymbol] || uiObj);
      }
      Object.defineProperty(CUI, "canvas", {
        get: function() {
          return cc.find(this.rootNode);
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CUI, "tipsParent", {
        get: function() {
          return cc.find(this.tipsNode);
        },
        enumerable: false,
        configurable: true
      });
      CUI.helper = function(component) {
        var _this = this;
        if (!component) return;
        var regExp = new RegExp("^(\\$ui_)");
        var keys = PPPB_lib_1._.zip(PPPB_lib_1._.getMethodNames(component, regExp), Object.getOwnPropertyNames(component).filter(function(v) {
          return regExp.test(v);
        }));
        var _loop_1 = function(k) {
          var _a;
          if ("$" == k[0]) {
            var key_1, event_1;
            var ks = k.split("__");
            if (ks.length > 1) {
              event_1 = PPPB_lib_1._.parseEscape(ks[1]);
              key_1 = PPPB_lib_1._.parseEscape(ks[0].slice(4));
            } else _a = k.slice(4).split("_").map(function(v) {
              return PPPB_lib_1._.parseEscape(v);
            }), key_1 = _a[0], event_1 = _a[1];
            if (event_1) {
              nodes = [];
              if (key_1 && "this" != key_1) {
                var com = component[key_1];
                nodes = com ? PPPB_lib_1._.isArray(com) ? com : [ com ] : this_1.getChildArrayByPath(component, key_1.split("_"));
              } else {
                nodes = [ component ];
                key_1 = "this";
              }
              "_" === event_1[0] && (event_1 = event_1.slice(1).replace(/_/g, "-"));
              PPPB_lib_1._.each(nodes, function(c, i) {
                _this._helperEvent(_this.getNode(c), component, k, event_1.indexOf("_") < 0 ? event_1 : cc.Node.EventType[event_1] || event_1, key_1, i);
              });
            }
          }
        };
        var this_1 = this, nodes;
        for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
          var k = keys_1[_i];
          _loop_1(k);
        }
      };
      CUI._helperEvent = function(node, component, key, eventType, name, index) {
        return __awaiter(this, void 0, void 0, function() {
          var _this = this;
          return __generator(this, function(_a) {
            if (!component || !key || !eventType || !node) return [ 2 ];
            node.on(eventType, function(event) {
              return __awaiter(_this, void 0, void 0, function() {
                var idx, target, _a, _i, _b, d, _c;
                return __generator(this, function(_d) {
                  switch (_d.label) {
                   case 0:
                    if (!node.activeInHierarchy) return [ 2 ];
                    idx = event ? void 0 === event.index ? index : event.index : index;
                    if (PPPB_lib_1._.isVoid(event) || !(event instanceof cc.Event)) {
                      idx = event ? void 0 === event.index ? idx : event.index : index;
                      event = {
                        detail: event ? event.detail || event : node,
                        type: eventType,
                        target: node,
                        currentTarget: node
                      };
                    }
                    event.targetName = name;
                    event.targeComponent = component;
                    target = event.detail || event.target;
                    _a = Object.prototype.toString.call(component[key]);
                    switch (_a) {
                     case "[object Function]":
                      return [ 3, 1 ];

                     case "[object Array]":
                      return [ 3, 2 ];

                     case "[object Object]":
                      return [ 3, 14 ];

                     case "[object String]":
                      return [ 3, 16 ];
                    }
                    return [ 3, 18 ];

                   case 1:
                    component[key](target, event, idx);
                    return [ 3, 19 ];

                   case 2:
                    _i = 0, _b = component[key];
                    _d.label = 3;

                   case 3:
                    if (!(_i < _b.length)) return [ 3, 13 ];
                    d = _b[_i];
                    _c = Object.prototype.toString.call(d);
                    switch (_c) {
                     case "[object Array]":
                      return [ 3, 4 ];

                     case "[object Object]":
                      return [ 3, 6 ];

                     case "[object String]":
                      return [ 3, 8 ];
                    }
                    return [ 3, 10 ];

                   case 4:
                    return [ 4, this._helperFunction(component, d[0] || eventType, d, event, idx, index) ];

                   case 5:
                    _d.sent();
                    return [ 3, 12 ];

                   case 6:
                    return [ 4, this._helperFunction(component, d["call"] || eventType, d, event, idx, index) ];

                   case 7:
                    _d.sent();
                    return [ 3, 12 ];

                   case 8:
                    return [ 4, this._helperFunction(component, "" == d ? eventType : d, target, event, idx, index) ];

                   case 9:
                    _d.sent();
                    return [ 3, 12 ];

                   case 10:
                    return [ 4, this._helperFunction(component, eventType, target, event, idx, index) ];

                   case 11:
                    _d.sent();
                    return [ 3, 12 ];

                   case 12:
                    _i++;
                    return [ 3, 3 ];

                   case 13:
                    return [ 3, 19 ];

                   case 14:
                    return [ 4, this._helperFunction(component, component[key]["call"] || eventType, component[key], event, idx, index) ];

                   case 15:
                    _d.sent();
                    return [ 3, 19 ];

                   case 16:
                    return [ 4, this._helperFunction(component, "" == component[key] ? eventType : component[key], target, event, idx, index) ];

                   case 17:
                    _d.sent();
                    return [ 3, 19 ];

                   case 18:
                    return [ 3, 19 ];

                   case 19:
                    return [ 2 ];
                  }
                });
              });
            }, component);
            return [ 2 ];
          });
        });
      };
      CUI._helperFunction = function(component, funcName, data, event, idx, index) {
        return __awaiter(this, void 0, void 0, function() {
          var foo, ret;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              foo = component[funcName];
              if (!PPPB_lib_1._.isFunction(foo)) return [ 3, 2 ];
              return [ 4, foo.call(component, event.detail || event.target, event, idx, index) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              foo = this["helper_" + funcName];
              if (!PPPB_lib_1._.isFunction(foo)) return [ 3, 4 ];
              return [ 4, foo.call(this, component, data) ];

             case 3:
              ret = _a.sent();
              this._helperEventFunction(component, funcName, data, event, idx, index);
              return [ 2, ret ];

             case 4:
              return [ 2 ];
            }
          });
        });
      };
      CUI._helperEventFunction = function(component, funcName, data, event, idx, index) {
        if (!component || !component.node) return;
        for (var k in component) PPPB_lib_1._.isFunction(component["on_ui_" + funcName]) && component[k](data, event, idx, index);
      };
      CUI.getNode = function(uiObj) {
        var node = null;
        if (uiObj) if (PPPB_lib_1._.isArray(uiObj)) node = this.getChildByPath(uiObj[0], uiObj[1]); else if (uiObj[uiSymbol]) node = uiObj.node; else if (uiObj instanceof cc.Node) node = uiObj; else {
          var nodeFun = uiObj["node"];
          node = nodeFun && nodeFun instanceof cc.Node ? nodeFun : null;
        } else node = null;
        return node;
      };
      CUI.getChildrenCount = function(uiObj, path) {
        void 0 === path && (path = "");
        var node = this.getChildByPath(uiObj, path);
        if (node) return node.childrenCount;
        return 0;
      };
      CUI.getChildren = function(uiObj, path) {
        void 0 === path && (path = "");
        var node = this.getChildByPath(uiObj, path);
        if (node) return node.children;
        return [];
      };
      CUI.getChildByName = function(uiObj, name) {
        var node = this.getNode(uiObj);
        if (node && node._children) return node.getChildByName(name);
      };
      CUI.getChild = function(uiObj, index) {
        void 0 === index && (index = 0);
        var node = this.getNode(uiObj);
        if (node) return node.children[index];
      };
      CUI.getChildByPath = function(uiObj, path) {
        var node = this.getNode(uiObj);
        if (!node || !path) return node;
        "string" === typeof path && (path = path.split("/"));
        for (var i = 0; i < path.length; i++) {
          var p = path[i];
          var n = node.getChildByName(p);
          if (n) node = n; else if (/^[0-9]+$/.test(p)) node = node.children[parseInt(p)]; else {
            if (0 !== i) return null;
            n = this.getNode(uiObj[p]);
            if (!n) return null;
            node = n;
          }
          if (!node) return null;
        }
        return node;
      };
      CUI.getChildArrayByPath = function(uiObj, path) {
        "string" === typeof path && (path = path.split("/"));
        var len = path.length;
        var ret = [];
        if (len < 1) return ret;
        var name = path.pop();
        var node = this.getChildByPath(uiObj, path);
        if (!node) return ret;
        if ("children" === name) return node.children;
        return this.getChildArrayByName(node, name);
      };
      CUI.getChildArrayByName = function(uiObj, name) {
        var node = this.getNode(uiObj);
        var ret = [];
        if (node) {
          node.children.forEach(function(v) {
            return v.name === name && ret.push(v);
          });
          for (var i = ret.length; i < 9999; i++) {
            var n = node.getChildByName(name + "_" + i);
            if (!n) break;
            ret.push(n);
          }
        }
        return ret;
      };
      CUI.addComponent = function(uiObj, typeOrClassName, propertys) {
        var node = this.getNode(uiObj);
        if (!node) return null;
        if ("string" === typeof typeOrClassName) {
          var c_1 = this.getComponentClass(typeOrClassName);
          c_1 && (typeOrClassName = c_1);
        }
        var c = node.getComponent(typeOrClassName);
        c || (c = node.addComponent(typeOrClassName));
        if (c && propertys) for (var k in propertys) c[k] = propertys[k];
        return c;
      };
      CUI.getComponentClass = function(componentName) {
        return "SPINE" === componentName ? sp.Skeleton : "DRAGONBONES" === componentName ? dragonBones.ArmatureDisplay : cc[componentName];
      };
      CUI.getUIDataValue = function(uiObj) {
        var uiDataObj = this.getComponent(uiObj, PPPB_UIData_1.UIData);
        if (uiDataObj) return uiDataObj.value;
        var ret = PPPB_UIData_1.UIData.readUIData(uiObj);
        if (PPPB_lib_1._.size(ret)) return ret;
        return PPPB_UIData_1.UIData.getValue(uiObj, PPPB_UIData_1.UIData.TYPE.default);
      };
      CUI.setUIDataValue = function(uiObj, data) {
        if ("object" === typeof data) {
          if (data["_ui_"]) {
            var uiData = data["_ui_"];
            for (var k in uiData) PPPB_lib_1._.isFunction(this[k]) && this[k].apply(this, [ uiObj ].concat(uiData[k]));
            delete data["_ui_"];
            if (!PPPB_lib_1._.size(data)) return;
          }
          var uiDataObj = this.getComponent(uiObj, PPPB_UIData_1.UIData);
          if (uiDataObj && (uiDataObj.dataType === PPPB_UIData_1.UIData.TYPE.object || uiDataObj.dataType === PPPB_UIData_1.UIData.TYPE.array && PPPB_lib_1._.isArray(data))) {
            uiDataObj.value = data;
            return;
          }
        }
        var wc = PPPB_UIData_1.UIData.writeUIData(uiObj, data);
        wc || PPPB_UIData_1.UIData.setValue(uiObj, data);
      };
      CUI.setValue = function(uiObj, data) {
        PPPB_UIData_1.UIData.setValue(uiObj, data);
      };
      CUI.getComponent = function(uiObj, typeOrClassName, propertys) {
        var node = this.getNode(uiObj);
        if (!node) return null;
        var c;
        if ("string" === typeof typeOrClassName) {
          c = this.getComponentClass(typeOrClassName);
          c && (typeOrClassName = c);
        }
        if (!typeOrClassName) return null;
        node._components && (c = node.getComponent(typeOrClassName));
        if (c && propertys) for (var k in propertys) c[k] = propertys[k];
        return c;
      };
      CUI.onCustomEvent = function(c, name, callback) {
        if (!callback) return;
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        var events = node[KEY_EVENT_CBS];
        events || (events = node[KEY_EVENT_CBS] = {});
        events[name] = callback;
      };
      CUI._doCustomEvent = function(node, eventTypeName, data) {
        var events = node[KEY_EVENT_CBS];
        events && events[eventTypeName] && events[eventTypeName](data);
      };
      CUI.getComboName = function(c, defaultName) {
        void 0 === defaultName && (defaultName = "");
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        if (node[KEY_COMBO]) return node[KEY_COMBO][1];
        for (var i = 0; i < node.children.length; i++) if (node.children[i].active) return node.children[i].name;
        return defaultName;
      };
      CUI.comboName = function(c, name) {
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        if (!node.getChildByName(name)) return;
        if (node[KEY_COMBO] && node[KEY_COMBO][1] == name) return node[KEY_COMBO][2];
        var ret = null;
        var index = -1;
        for (var i = 0; i < node.children.length; i++) if (node.children[i].name == name) {
          ret = node.children[i];
          index = i;
          ret.active = true;
        } else node.children[i].active = false;
        node[KEY_COMBO] = [ index, name ];
        this._doCustomEvent(node, "combo", index);
        this._doCustomEvent(node, "comboName", ret);
        return ret;
      };
      CUI.combo = function(c, index) {
        void 0 === index && (index = 0);
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        var ret = null;
        index < 0 ? index = 0 : index >= node.children.length && (index = node.children.length - 1);
        if (node[KEY_COMBO] && node[KEY_COMBO][0] == index) return node[KEY_COMBO][2];
        var comboName;
        for (var i = 0; i < node.children.length; i++) if (i == index) {
          ret = node.children[i];
          comboName = node.name;
          ret.active = true;
        } else node.children[i].active = false;
        node[KEY_COMBO] = [ index, comboName, ret ];
        this._doCustomEvent(node, "combo", ret);
        this._doCustomEvent(node, "comboName", comboName);
        return ret;
      };
      CUI.isCombo = function(c) {
        var node = this.getNode(c);
        if (!cc.isValid(node)) return false;
        return !!node[KEY_COMBO];
      };
      CUI.getCombo = function(c, defaultCombo) {
        void 0 === defaultCombo && (defaultCombo = -1);
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        if (node[KEY_COMBO]) return node[KEY_COMBO][0];
        for (var i = 0; i < node.children.length; i++) if (node.children[i].active) return i;
        return defaultCombo;
      };
      CUI.setSprite = function(c, spriteRes, cb, check) {
        var node = this.getNode(c);
        if (!node) {
          cb && cb();
          return null;
        }
        var sprite = node.getComponent(cc.Sprite);
        sprite || (sprite = node.addComponent(cc.Sprite));
        spriteRes || (sprite.spriteFrame = null);
        var srSprite = this.getComponent(spriteRes, cc.Sprite);
        if (srSprite) sprite.spriteFrame = new cc.SpriteFrame(srSprite.spriteFrame.getTexture()); else {
          if ("string" === typeof spriteRes) {
            /^(http|\/)/.test(spriteRes);
            return sprite;
          }
          if (!(spriteRes instanceof cc.Texture2D)) {
            cb && cb();
            return null;
          }
          sprite.spriteFrame = new cc.SpriteFrame(spriteRes);
        }
        cb && cb(sprite);
        return sprite;
      };
      CUI.onToggleContainerEvent = function(c, callback) {
        var _this = this;
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        var eventTypeName = "toggleContainerSelect";
        this.onCustomEvent(c, eventTypeName, callback);
        for (var i = 0; i < node.childrenCount; i++) {
          var toggle = node.children[i].getComponent(cc.Toggle);
          toggle && toggle.node.on("toggle", function(event) {
            setTimeout(function() {
              return _this._doCustomEvent(node, eventTypeName, _this.getToggleContainerSelectIndex(c, 0));
            }, 1);
          });
        }
      };
      CUI.getToggleContainerSelectIndex = function(c, defaultIndex) {
        void 0 === defaultIndex && (defaultIndex = -1);
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        var children = node.children;
        for (var i = 0; i < children.length; i++) {
          var toggle = children[i].getComponent(cc.Toggle);
          if (toggle && toggle.isChecked) return i;
        }
        return defaultIndex;
      };
      CUI.toggleContainerSelect = function(c, index) {
        void 0 === index && (index = 0);
        var node = this.getNode(c);
        if (!cc.isValid(node)) return;
        index < 0 && (index = 0);
        var lastIndex = -1;
        var selectToggle = null;
        var i;
        var toggle;
        for (i = 0; i < node.childrenCount; i++) {
          toggle = node.children[i].getComponent(cc.Toggle);
          if (toggle) {
            toggle.isChecked && (lastIndex = i);
            if (i == index) {
              toggle.isChecked = true;
              selectToggle = toggle;
            } else toggle.isChecked = false;
          }
        }
        if (!selectToggle && toggle) {
          index = i - 1;
          toggle.isChecked = true;
          selectToggle = toggle;
        }
        selectToggle && index != lastIndex && this._doCustomEvent(node, "toggleContainerSelect", index);
      };
      CUI.isShow = function(uiObj) {
        if (!cc.isValid(uiObj)) return;
        var node = this.getNode(uiObj);
        return node && node.active;
      };
      CUI.show = function(uiObj, isShow) {
        void 0 === isShow && (isShow = true);
        if (!cc.isValid(uiObj)) return;
        var node = this.getNode(uiObj);
        if (node) {
          var kv = node[KEY_SETTER];
          var k = "active";
          kv && kv[k] ? kv[k](isShow, node) : node.active = isShow;
        }
      };
      CUI.hide = function(uiObj) {
        this.show(uiObj, false);
      };
      CUI.setChildenOData = function(uiObj, data) {
        if (void 0 === data) return;
        var node = this.getNode(uiObj);
        if (!cc.isValid(node)) return;
        var isArrayData = PPPB_lib_1._.isArray(data);
        var children = node.children;
        for (var i = 0; i < children.length; i++) {
          var childNode = node.children[i];
          var d = data[isArrayData ? i : childNode.name];
          PPPB_UIData_1.UIData.setValue(childNode, d);
        }
      };
      CUI.setChildUIDataValue = function(uiObj, idx, data) {
        if (void 0 === data) return;
        this.setUIDataValue(this.getChild(uiObj, idx), data);
      };
      CUI.getChildUIDataValue = function(uiObj, idx) {
        return this.getUIDataValue(this.getChild(uiObj, idx));
      };
      CUI.setUIDataValueByPath = function(uiObj, path, data) {
        if (void 0 === data) return;
        this.setUIDataValue(this.getChildByPath(uiObj, path), data);
      };
      CUI.getUIDataValueByPath = function(uiObj, path) {
        return this.getUIDataValue(this.getChildByPath(uiObj, path));
      };
      CUI.onChildrenDataEvent = function(uiObj, callback, isArrayData) {
        var _this = this;
        void 0 === isArrayData && (isArrayData = false);
        var node = this.getNode(uiObj);
        if (!cc.isValid(node)) return;
        var eventTypeName = "toggleArray";
        this.onCustomEvent(uiObj, eventTypeName, callback);
        for (var i = 0; i < node.childrenCount; i++) {
          var childNode = node.children[i];
          this.onUiValueEvent(childNode, function(event) {
            _this._doCustomEvent(node, eventTypeName, _this.getChildenOData(uiObj, isArrayData));
          });
        }
      };
      CUI.onUiValueEvent = function(uiObj, callback) {
        var node = this.getNode(uiObj);
        if (!cc.isValid(node)) return;
        var c = node.getComponent(PPPB_UIData_1.UIData);
        if (c && c.isWatchingChange) {
          node.on("dataChange", callback);
          return;
        }
        c = node.getComponent(cc.Slider);
        if (c) {
          node.on("slide", callback);
          return;
        }
        c = node.getComponent(cc.PageView);
        if (c) {
          node.on("page-turning", callback);
          return;
        }
        c = node.getComponent(cc.EditBox);
        if (c) {
          node.on("editing-did-ended", callback);
          return;
        }
        c = node.getComponent(cc.Toggle);
        if (c) {
          node.on("toggle", callback);
          return;
        }
        c = node.getComponent(cc.ToggleContainer);
        if (c) {
          this.onToggleContainerEvent(node, callback);
          return;
        }
        if (this.isCombo(node)) {
          this.onCustomEvent(node, "combo", callback);
          return;
        }
      };
      CUI.getChildenOData = function(uiObj, isArrayData) {
        void 0 === isArrayData && (isArrayData = false);
        var node = this.getNode(uiObj);
        if (!cc.isValid(node)) return;
        var data = isArrayData ? [] : {};
        var children = node.children;
        for (var i = 0; i < children.length; i++) {
          var childNode = node.children[i];
          var k = isArrayData ? i : childNode.name;
          data[k] = PPPB_UIData_1.UIData.getValue(node, PPPB_UIData_1.UIData.TYPE.default);
        }
        return data;
      };
      CUI.lookupComponents = function(uiObj, typeOrClassName, collector, nodePoller, _results) {
        void 0 === collector && (collector = function(c, res) {
          res.push(c);
          return true;
        });
        var node = this.getNode(uiObj);
        if (!node || !node.isValid) return;
        _results = _results || [];
        var c = this.getComponent(node, typeOrClassName);
        nodePoller && nodePoller(node);
        c || (c = this.getComponent(node, typeOrClassName));
        if (c && !collector(c, _results)) return _results;
        for (var _i = 0, _a = this.getChildren(node); _i < _a.length; _i++) {
          var childNode = _a[_i];
          this.lookupComponents(childNode, typeOrClassName, collector, nodePoller, _results);
        }
        return _results;
      };
      CUI.lookupOneComponent = function(uiObj, typeOrClassName) {
        var node = this.getNode(uiObj);
        if (!node || !node.isValid) return;
        var c = this.getComponent(node, typeOrClassName);
        if (c) return c;
        for (var _i = 0, _a = this.getChildren(node); _i < _a.length; _i++) {
          var childNode = _a[_i];
          var c_2 = this.lookupOneComponent(childNode, typeOrClassName);
          if (c_2) return c_2;
        }
      };
      CUI.removeComponent = function(uiObj, typeOrClassName) {
        var node = this.getNode(uiObj);
        if (!node) return;
        if ("string" === typeof typeOrClassName) {
          var c = this.getComponentClass(typeOrClassName);
          c && (typeOrClassName = c);
        }
        node.removeComponent(typeOrClassName);
      };
      CUI.isValid = function(obj) {
        if (!cc.isValid(obj)) return false;
        var node = this.getNode(obj);
        return node && !node[KEY_DESTROY];
      };
      CUI.isAvailable = function(obj) {
        if (!cc.isValid(obj)) return false;
        var node = this.getNode(obj);
        return node.active && node.activeInHierarchy;
      };
      CUI.getComponentByPath = function(uiObj, path, typeOrClassName, propertys) {
        return this.getComponent(this.getChildByPath(uiObj, path), typeOrClassName, propertys);
      };
      CUI.addComponentFromJson = function(uiObj, componentType, json) {
        var com = this.addComponent(uiObj, componentType);
        this.attrComponent(com, json);
        return com;
      };
      CUI.attrComponent = function(com, attr) {
        if (!com || !attr) return;
        var node = com.node;
        for (var k in attr) try {
          var v = attr[k];
          switch (typeof v) {
           case "object":
            if (com instanceof cc.Sprite && "object" === typeof attr.spriteFrame) {
              var a = node.active;
              node.active = true;
              var n = new cc.Node(node.name + "_sprite");
              n.width = node.width;
              n.height = node.height;
              n.color = node.color;
              n.opacity = 255;
              var shape = this.addComponent(n, "UIShape");
              var graphic = this.addComponent(n, cc.Graphics);
              graphic.lineWidth = 0;
              graphic.lineJoin = cc.Graphics.LineJoin.ROUND;
              graphic.lineCap = cc.Graphics.LineCap.ROUND;
              graphic.strokeColor = new cc.Color().fromHEX("#ffffffff");
              graphic.fillColor = new cc.Color().fromHEX("#ffffffff");
              graphic.enabled = true;
              node.addChild(n, -1e3);
              shape.syncToNode = 100;
              shape.graphType = 2;
              node.active = a;
            } else "string" !== typeof v.type || "string" !== typeof v.name || "string" !== typeof v.path && !Array.isArray(v.path) || 3 !== PPPB_lib_1._.size(v) ? "Asset" !== v.type && (com[k] = v) : com[k] = this.fromLink(v, node);
            break;

           case "string":
            "#" === v[0] ? com[k] = new cc.Color().fromHEX(v) : com[k] = v;
            break;

           default:
            com[k] = v;
          }
        } catch (e) {}
      };
      CUI.fromLink = function(link, root) {
        var name = link.name, type = link.type, path = link.path;
        if (path) {
          var node = this.getChildByPath(root, path);
          return type ? this.getComponent(node, type) : node;
        }
      };
      CUI.getPath = function(uiObj, root) {
        var n = this.getNode(uiObj);
        var path = [];
        while (n && n !== root) {
          var name = n.name;
          n = n.getParent();
          n && path.unshift(name);
        }
        return path;
      };
      CUI.getGlobalScale = function(nc) {
        var node = this.getNode(nc);
        if (!node) return 0;
        var o = 1;
        for (var n = node; n; n = n.parent) o *= n.scale;
        return o;
      };
      CUI.getRelativeScale = function(nc, relativeObj) {
        var node = this.getNode(nc);
        if (!node) return 0;
        var relativeNode = relativeObj ? this.getNode(relativeObj) : null;
        var o = 1;
        for (var n = node; n; n = n.parent) {
          if (relativeNode && n === relativeNode) break;
          o *= n.scale;
        }
        return o;
      };
      CUI.getWorldRect = function(uiObj, expandScale) {
        void 0 === expandScale && (expandScale = cc.v2(0, 0));
        if (!cc.isValid(uiObj)) return;
        var node = this.getNode(uiObj);
        if (node && node.parent) {
          var p = node.convertToWorldSpaceAR(cc.v2(0, 0));
          var s = node.getContentSize();
          var a = node.getAnchorPoint();
          var c = Math.abs(this.getGlobalScale(node));
          var w = s.width * c;
          var h = s.height * c;
          var sw = w * expandScale.x;
          var sh = h * expandScale.y;
          return new cc.Rect(p.x - a.x * w - sw / 2, p.y - a.y * h - sh / 2, w + sw, h + sh);
        }
      };
      CUI.fromJson = function(json, node) {
        if (!json) return null;
        node = node || new cc.Node();
        this.attr(node, json.attr);
        if (json.Childrens) for (var _i = 0, _a = json.Childrens; _i < _a.length; _i++) {
          var c = _a[_i];
          node.addChild(this.fromJson(c));
        }
        if (json.Components) for (var _b = 0, _c = json.Components; _b < _c.length; _b++) {
          var c = _c[_b];
          this.addComponentFromJson(node, c[0], c[1]);
        }
        return node;
      };
      CUI.attr = function(uiObj, attr) {
        var node = this.getNode(uiObj);
        if (!node) return;
        for (var k in attr) {
          var v = attr[k];
          if (void 0 === v) continue;
          "string" === typeof v && /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(v) && (v = new cc.Color().fromHEX(v));
          if ("value" === k) this.setUIDataValue(node, v); else if ("ui_" === k.slice(0, 3)) {
            var func = this[k.slice(3)];
            PPPB_lib_1._.isFunction(func) && func.apply(this, [ uiObj ].concat(v));
          } else if ("object" !== typeof v || v instanceof cc.ValueType) {
            var kv = node[KEY_SETTER];
            kv && kv[k] ? kv[k](v, node) : "siblingIndex" === k ? node.setSiblingIndex(v) : node[k] = v;
          } else if ("children_" === k.slice(0, 9)) {
            var cs = k.slice(9).split("_");
            var n = this.getChildByPath(uiObj, cs);
            n && this.attr(n, v);
          } else {
            var c = this.getComponent(node, k);
            if (c) for (var kk in v) c[kk] = v[kk];
          }
        }
      };
      CUI.getSyncPos = function(uiObj, syncTo, offset) {
        void 0 === offset && (offset = cc.v2(0, 0));
        if (syncTo instanceof cc.Vec2) return offset.add(syncTo);
        if (!cc.isValid(uiObj) || !cc.isValid(syncTo)) return;
        var node = this.getNode(uiObj);
        var syncToNode = this.getNode(syncTo);
        if (node && node.parent && syncToNode) {
          var p = syncToNode.convertToWorldSpaceAR(offset);
          return node.parent.convertToNodeSpaceAR(p);
        }
        return cc.v2(0, 0);
      };
      CUI.getWorldPos = function(a, p) {
        if (!cc.isValid(a)) return;
        var node = this.getNode(a);
        if (node) return node.convertToWorldSpaceAR(p || cc.v2(0, 0));
      };
      CUI.getRelativePos = function(uiObj, relative, offset) {
        void 0 === offset && (offset = cc.v2(0, 0));
        if (!cc.isValid(relative) || !cc.isValid(uiObj)) return;
        var relativeNode = this.getNode(relative);
        var bNode = this.getNode(uiObj);
        if (relativeNode && bNode) {
          var p = bNode.convertToWorldSpaceAR(offset);
          return relativeNode.convertToNodeSpaceAR(p);
        }
        return cc.v2(0, 0);
      };
      CUI.syncPos = function(uiObj, syncTo, offset) {
        void 0 === offset && (offset = cc.v2(0, 0));
        syncTo instanceof cc.Vec2 && this.setWorldPos(uiObj, offset.add(syncTo));
        if (!cc.isValid(uiObj) || !cc.isValid(syncTo)) return;
        var syncToNode = this.getNode(syncTo);
        var node = this.getNode(uiObj);
        if (syncToNode && node) {
          var p = syncToNode.convertToWorldSpaceAR(offset);
          this.setWorldPos(node, p);
        }
      };
      CUI.setWorldPos = function(a, p) {
        if (!cc.isValid(a)) return;
        var node = this.getNode(a);
        if (node && node.parent) {
          var p1 = node.parent.convertToNodeSpaceAR(p || cc.v2(0, 0));
          node.setPosition(p1);
        }
      };
      CUI.setParent = function(uiObj, parent) {
        var node = this.getNode(uiObj);
        if (node) {
          var parentNode = this.getNode(parent);
          if (node.parent !== parentNode) {
            var p = void 0;
            parentNode && (p = this.getWorldPos(node));
            node.parent = parentNode;
            p && this.setWorldPos(node, p);
          }
        }
      };
      CUI.createSpine = function(url, parent) {
        return __awaiter(this, void 0, void 0, function() {
          var node, c, _a;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              node = new cc.Node("SPINE");
              c = node.addComponent(sp.Skeleton);
              _a = c;
              return [ 4, PPPB_res_1.res.loadRes(url) ];

             case 1:
              _a.skeletonData = _b.sent();
              this.attrParent(node, parent);
              node.addComponent(PPPB_UAnimation_1.default);
              return [ 2, c ];
            }
          });
        });
      };
      CUI.createDragonBones = function(url, parent) {
        return __awaiter(this, void 0, void 0, function() {
          var node, c, d, _a, _b;
          return __generator(this, function(_c) {
            switch (_c.label) {
             case 0:
              node = new cc.Node("DRAGONBONES");
              c = node.addComponent(dragonBones.ArmatureDisplay);
              d = c;
              _a = c;
              return [ 4, PPPB_res_1.res.loadRes(url + "_ske") ];

             case 1:
              _a.dragonAsset = _c.sent();
              _b = c;
              return [ 4, PPPB_res_1.res.loadRes(url + "_tex") ];

             case 2:
              _b.dragonAtlasAsset = _c.sent();
              this.attrParent(node, parent);
              node.addComponent(PPPB_UAnimation_1.default);
              return [ 2, c ];
            }
          });
        });
      };
      CUI.createAnimationClip = function(path, parent) {
        return __awaiter(this, void 0, void 0, function() {
          var node, ani;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              node = new cc.Node("ANI");
              node.addComponent(cc.Sprite);
              ani = this.addComponent(node, PPPB_UAnimation_1.default, {
                aniType: PPPB_UAnimation_1.default.AnimationType.Animation
              });
              return [ 4, ani.loadRes(path) ];

             case 1:
              _a.sent();
              this.attrParent(node, parent);
              return [ 2, ani.component ];
            }
          });
        });
      };
      CUI.createSprite = function(spriteRes, parent, attr, cb) {
        var node = this.getNode(spriteRes);
        var sprite;
        if (node) {
          node = cc.instantiate(node);
          sprite = node.getComponent(cc.Sprite);
          sprite || (sprite = node.addComponent(cc.Sprite));
          this.attrParent(node, parent);
          attr && this.attr(node, attr);
        } else {
          node = new cc.Node();
          sprite = this.setSprite(node, spriteRes, cb);
          this.attrParent(node, parent);
          attr && this.attr(node, attr);
        }
        cb && cb(sprite);
        return sprite;
      };
      CUI.attrParent = function(uiObj, parent) {
        var node = this.getNode(uiObj);
        if (cc.isValid(node)) if (cc.isValid(parent)) {
          parent.addChild(node);
          parent === cc.director.getScene().getChildByName(this.rootNode) && this.fitRoot(node);
        } else if (null === parent) {
          var s = cc.director.getScene();
          if (cc.isValid(s)) {
            var c = s.getChildByName(this.rootNode);
            if (cc.isValid(c)) {
              c.addChild(node);
              this.fitRoot(node);
            }
          }
        }
      };
      CUI.fitRoot = function(uiObj) {
        var node = this.getNode(uiObj);
        if (cc.isValid(node)) {
          var s = cc.winSize;
          if (s.width > s.height) {
            var w = node.getComponent(cc.Widget);
            if (w && w.isAlignLeft && w.isAlignRight) {
              var width = node.width;
              w.isAlignHorizontalCenter = true;
              node.width = width;
            }
          }
        }
      };
      CUI.effect = function(prefabRes, parent, isCleanOrNum, aniName, loopOrSecond, isWaiting, hitCB, initData, destroyDelayMs) {
        void 0 === isCleanOrNum && (isCleanOrNum = true);
        void 0 === aniName && (aniName = "");
        void 0 === loopOrSecond && (loopOrSecond = 1);
        void 0 === isWaiting && (isWaiting = true);
        void 0 === destroyDelayMs && (destroyDelayMs = 0);
        return __awaiter(this, void 0, void 0, function() {
          var pnode, i, node, p, hitOK_1, anisp_1, p;
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              pnode = this.getNode(parent);
              if (!pnode) return [ 2 ];
              if (!(true === isCleanOrNum)) return [ 3, 1 ];
              pnode.destroyAllChildren();
              return [ 3, 5 ];

             case 1:
              if (!("number" === typeof isCleanOrNum)) return [ 3, 5 ];
              i = isCleanOrNum;
              _a.label = 2;

             case 2:
              if (!(i < pnode.childrenCount)) return [ 3, 5 ];
              return [ 4, this.destroy(pnode.children[i]) ];

             case 3:
              _a.sent();
              _a.label = 4;

             case 4:
              ++i;
              return [ 3, 2 ];

             case 5:
              if ("return" == aniName) return [ 2 ];
              return [ 4, this.playEffect(prefabRes, pnode, initData, aniName, loopOrSecond, !hitCB && isWaiting, destroyDelayMs) ];

             case 6:
              node = _a.sent();
              if ("function" === typeof hitCB) {
                p = this.getComponent(node, sp.Skeleton);
                hitOK_1 = false;
                p.setEventListener(function(arg1, event) {
                  if (!event || !event.data || "hit" != event.data.name) return;
                  if (!hitOK_1) {
                    var ret = hitCB(true);
                    false !== ret && (hitOK_1 = true);
                  }
                });
                p.setDisposeListener(function() {
                  if (!hitOK_1) {
                    var ret = hitCB(false);
                    false !== ret && (hitOK_1 = true);
                  }
                });
              }
              if (!(hitCB && isWaiting)) return [ 3, 8 ];
              anisp_1 = this.getComponent(node, sp.Skeleton);
              if (!anisp_1) return [ 3, 8 ];
              p = new Promise(function(resolve, reject) {
                var l = 0;
                anisp_1.setCompleteListener(function() {
                  l++;
                  if (l >= loopOrSecond && resolve) {
                    resolve(anisp_1);
                    resolve = null;
                    _this.destroy(node);
                  }
                });
              });
              return [ 4, p ];

             case 7:
              _a.sent();
              _a.label = 8;

             case 8:
              return [ 2, node ];
            }
          });
        });
      };
      CUI.playEffect = function(prefabRes, parent, initData, aniClipName, loopOrSecond, isWaiting, destroyDelayMs, cb) {
        void 0 === parent && (parent = null);
        void 0 === loopOrSecond && (loopOrSecond = 1);
        void 0 === isWaiting && (isWaiting = false);
        void 0 === destroyDelayMs && (destroyDelayMs = 0);
        return __awaiter(this, void 0, Promise, function() {
          var prefab, node, path, attrAni, obj, c, onFinish, a, p, _a, ani, animState, p, _b, anisp, isLoop, i, p, _c, anigb, p, _d;
          var _this = this;
          return __generator(this, function(_e) {
            switch (_e.label) {
             case 0:
              if (!("string" == typeof prefabRes)) return [ 3, 4 ];
              path = prefabRes;
              return [ 4, this.createNode(prefabRes) ];

             case 1:
              node = _e.sent();
              if (!!node) return [ 3, 3 ];
              return [ 4, PPPB_res_1.res.loadRes(prefabRes) ];

             case 2:
              prefab = _e.sent();
              _e.label = 3;

             case 3:
              return [ 3, 8 ];

             case 4:
              if (!(prefabRes instanceof cc.Node || prefabRes instanceof cc.Prefab || prefabRes instanceof cc.Component)) return [ 3, 5 ];
              prefab = prefabRes;
              path = prefab._uuid;
              return [ 3, 8 ];

             case 5:
              if (!(prefabRes.url && prefabRes.type)) return [ 3, 7 ];
              path = prefabRes.url;
              return [ 4, this.createNode(prefabRes.url, prefabRes.type) ];

             case 6:
              node = _e.sent();
              return [ 3, 8 ];

             case 7:
              node = this.fromJson(prefabRes);
              _e.label = 8;

             case 8:
              prefab && (node = cc.instantiate(this.getNode(prefab) || prefab));
              if (!cc.isValid(node)) {
                cb && cb(null);
                return [ 2, null ];
              }
              path && PPPB_res_1.res.addPathsMap(node, path);
              this.attrParent(node, parent);
              attrAni = null;
              if (initData) {
                obj = node;
                if (initData.attr) {
                  this.attr(obj, initData.attr);
                  delete initData.attr;
                  0 === PPPB_lib_1._.size(initData) && (initData = null);
                }
                if (initData && initData.attrAni) {
                  attrAni = initData.attrAni;
                  attrAni.destroyDelayMs && (destroyDelayMs = attrAni.destroyDelayMs);
                  attrAni.loopOrSecond && (loopOrSecond = attrAni.loopOrSecond);
                  delete initData.attrAni;
                  0 === PPPB_lib_1._.size(initData) && (initData = null);
                }
                if (initData) {
                  c = PPPB_lib_1._.arrayGet(node.getComponents(cc.Component), -1);
                  c && PPPB_lib_1._.isFunction(c["init"]) ? c["init"](initData) : node.emit("init", initData);
                }
              }
              onFinish = function() {
                destroyDelayMs >= 0 && _this.destroy(node, destroyDelayMs);
              };
              a = node.getComponent(PPPB_UAnimation_1.default);
              if (!a) return [ 3, 11 ];
              p = a.play(loopOrSecond, aniClipName).then(onFinish);
              _a = isWaiting;
              if (!_a) return [ 3, 10 ];
              return [ 4, p ];

             case 9:
              _a = _e.sent();
              _e.label = 10;

             case 10:
              _a;
              cb && cb(a);
              return [ 2, a ];

             case 11:
              ani = node.getComponent(cc.Animation);
              ani || (ani = this.lookupOneComponent(node, cc.Animation));
              if (!ani) return [ 3, 25 ];
              animState = void 0;
              ani && (animState = !aniClipName && ani.playOnLoad ? ani.getAnimationState(ani.defaultClip.name) : ani.play(aniClipName));
              if (!animState) return [ 3, 18 ];
              attrAni && attrAni.speed && (animState.speed = attrAni.speed);
              if (!(loopOrSecond <= 0)) return [ 3, 14 ];
              animState.wrapMode = cc.WrapMode.Loop;
              if (0 == loopOrSecond) return [ 2, node ];
              if (!(loopOrSecond < 0)) return [ 3, 13 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrSecond) ];

             case 12:
              _e.sent();
              onFinish();
              _e.label = 13;

             case 13:
              return [ 3, 17 ];

             case 14:
              animState.repeatCount = loopOrSecond;
              p = new Promise(function(resolve, reject) {
                ani.once("finished", function() {
                  onFinish();
                  if (isWaiting && resolve) {
                    resolve(ani);
                    resolve = null;
                    onFinish();
                  }
                });
              });
              _b = isWaiting;
              if (!_b) return [ 3, 16 ];
              return [ 4, p ];

             case 15:
              _b = _e.sent();
              _e.label = 16;

             case 16:
              _b;
              _e.label = 17;

             case 17:
              cb && cb(ani);
              return [ 2, ani ];

             case 18:
              if (!(loopOrSecond > 0)) return [ 3, 22 ];
              if (!isWaiting) return [ 3, 20 ];
              return [ 4, this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs) ];

             case 19:
              _e.sent();
              return [ 3, 21 ];

             case 20:
              this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs);
              _e.label = 21;

             case 21:
              return [ 3, 24 ];

             case 22:
              if (!(loopOrSecond < 0)) return [ 3, 24 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrSecond) ];

             case 23:
              _e.sent();
              _e.label = 24;

             case 24:
              cb && cb(node);
              return [ 2, node ];

             case 25:
              anisp = node.getComponent(sp.Skeleton);
              if (!anisp) return [ 3, 36 ];
              isLoop = loopOrSecond <= 0;
              anisp.setAnimation(0, aniClipName, isLoop);
              if (loopOrSecond > 0) for (i = 0; i < loopOrSecond - 1; i++) anisp.addAnimation(0, aniClipName, false);
              if (!(loopOrSecond > 0)) return [ 3, 33 ];
              if (!isLoop) return [ 3, 29 ];
              if (!isWaiting) return [ 3, 27 ];
              return [ 4, this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs) ];

             case 26:
              _e.sent();
              return [ 3, 28 ];

             case 27:
              this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs);
              _e.label = 28;

             case 28:
              return [ 3, 32 ];

             case 29:
              p = new Promise(function(resolve, reject) {
                var l = 0;
                anisp.setCompleteListener(function() {
                  l++;
                  if (l >= loopOrSecond && resolve) {
                    resolve(anisp);
                    resolve = null;
                    onFinish();
                  }
                });
              });
              _c = isWaiting;
              if (!_c) return [ 3, 31 ];
              return [ 4, p ];

             case 30:
              _c = _e.sent();
              _e.label = 31;

             case 31:
              _c;
              _e.label = 32;

             case 32:
              return [ 3, 35 ];

             case 33:
              if (!(loopOrSecond < 0)) return [ 3, 35 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrSecond) ];

             case 34:
              _e.sent();
              _e.label = 35;

             case 35:
              cb && cb(anisp);
              return [ 2, anisp ];

             case 36:
              anigb = node.getComponent(dragonBones.ArmatureDisplay);
              if (!anigb) return [ 3, 44 ];
              anigb.playAnimation(aniClipName, loopOrSecond);
              if (!loopOrSecond) return [ 3, 40 ];
              if (!isWaiting) return [ 3, 38 ];
              return [ 4, this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs) ];

             case 37:
              _e.sent();
              return [ 3, 39 ];

             case 38:
              this.destroy(node, 1e3 * loopOrSecond + destroyDelayMs);
              _e.label = 39;

             case 39:
              return [ 3, 43 ];

             case 40:
              p = new Promise(function(resolve, reject) {
                anigb.addEventListener(dragonBones.EventObject.COMPLETE, function() {
                  if (resolve) {
                    resolve(anigb);
                    resolve = null;
                    anigb.removeEventListener(dragonBones.EventObject.COMPLETE);
                    onFinish();
                  }
                });
              });
              _d = isWaiting;
              if (!_d) return [ 3, 42 ];
              return [ 4, p ];

             case 41:
              _d = _e.sent();
              _e.label = 42;

             case 42:
              _d;
              _e.label = 43;

             case 43:
              cb && cb(anigb);
              return [ 2, anigb ];

             case 44:
              return [ 2, node ];
            }
          });
        });
      };
      CUI.playAnimation = function(uiObj, aniName, loopOrMSecond, isWaiting) {
        void 0 === loopOrMSecond && (loopOrMSecond = 1);
        void 0 === isWaiting && (isWaiting = false);
        return __awaiter(this, void 0, void 0, function() {
          var a, ani, animState, anisp, isLoop, i, anigb, isLoop;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              a = this.getComponent(uiObj, PPPB_UAnimation_1.default);
              if (!a) return [ 3, 2 ];
              return [ 4, a.play(loopOrMSecond, aniName, isWaiting) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              ani = this.getComponent(uiObj, cc.Animation);
              if (!ani) return [ 3, 8 ];
              animState = void 0;
              ani && (animState = !aniName && ani.playOnLoad ? ani.getAnimationState(ani.defaultClip.name) : ani.play(aniName));
              if (!animState) return [ 3, 8 ];
              if (!(loopOrMSecond <= 0)) return [ 3, 5 ];
              animState.wrapMode = cc.WrapMode.Loop;
              if (!(loopOrMSecond < 0)) return [ 3, 4 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrMSecond) ];

             case 3:
              _a.sent();
              _a.label = 4;

             case 4:
              return [ 3, 7 ];

             case 5:
              animState.repeatCount = loopOrMSecond;
              return [ 4, new Promise(function(resolve, reject) {
                ani.once("finished", function() {
                  if (isWaiting && resolve) {
                    resolve(ani);
                    resolve = null;
                  }
                });
                if (!isWaiting && resolve) {
                  resolve(ani);
                  resolve = null;
                }
              }) ];

             case 6:
              return [ 2, _a.sent() ];

             case 7:
              return [ 2, ani ];

             case 8:
              anisp = this.getComponent(uiObj, sp.Skeleton);
              if (!anisp) return [ 3, 13 ];
              isLoop = loopOrMSecond <= 0;
              anisp.setAnimation(0, aniName, isLoop);
              if (loopOrMSecond > 0) for (i = 0; i < loopOrMSecond - 1; i++) anisp.addAnimation(0, aniName, false);
              if (!(isWaiting && loopOrMSecond)) return [ 3, 12 ];
              if (!isLoop) return [ 3, 10 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrMSecond) ];

             case 9:
              _a.sent();
              return [ 3, 12 ];

             case 10:
              return [ 4, new Promise(function(resolve, reject) {
                var l = 0;
                anisp.setCompleteListener(function() {
                  l++;
                  if (l >= loopOrMSecond && resolve) {
                    resolve(anisp);
                    resolve = null;
                  }
                });
              }) ];

             case 11:
              return [ 2, _a.sent() ];

             case 12:
              return [ 2, anisp ];

             case 13:
              anigb = this.getComponent(uiObj, dragonBones.ArmatureDisplay);
              if (!anigb) return [ 3, 18 ];
              isLoop = loopOrMSecond <= 0;
              anigb.playAnimation(aniName, isLoop ? 0 : loopOrMSecond);
              if (!(isWaiting && loopOrMSecond)) return [ 3, 17 ];
              if (!isLoop) return [ 3, 15 ];
              return [ 4, PPPB_lib_1._.sleep(-loopOrMSecond) ];

             case 14:
              _a.sent();
              anigb.playAnimation;
              return [ 3, 17 ];

             case 15:
              return [ 4, new Promise(function(resolve, reject) {
                anigb.addEventListener(dragonBones.EventObject.COMPLETE, function() {
                  if (resolve) {
                    resolve(anigb);
                    resolve = null;
                    anigb.removeEventListener(dragonBones.EventObject.COMPLETE);
                  }
                });
              }) ];

             case 16:
              return [ 2, _a.sent() ];

             case 17:
              return [ 2, anigb ];

             case 18:
              return [ 2 ];
            }
          });
        });
      };
      CUI.create = function(prefabRes, componentType, initData, parent, cb) {
        void 0 === parent && (parent = null);
        return __awaiter(this, void 0, void 0, function() {
          var prefab, node, path, c, obj, ret;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!("string" == typeof prefabRes)) return [ 3, 4 ];
              path = prefabRes;
              return [ 4, this.createNode(prefabRes) ];

             case 1:
              node = _a.sent();
              if (!!node) return [ 3, 3 ];
              return [ 4, PPPB_res_1.res.loadRes(prefabRes) ];

             case 2:
              prefab = _a.sent();
              _a.label = 3;

             case 3:
              return [ 3, 8 ];

             case 4:
              if (!(prefabRes instanceof cc.Node || prefabRes instanceof cc.Prefab || prefabRes instanceof cc.Component)) return [ 3, 5 ];
              prefab = prefabRes;
              path = prefab._uuid;
              return [ 3, 8 ];

             case 5:
              if (!(prefabRes.url && prefabRes.type)) return [ 3, 7 ];
              path = prefabRes.url;
              return [ 4, this.createNode(prefabRes.url, prefabRes.type) ];

             case 6:
              node = _a.sent();
              return [ 3, 8 ];

             case 7:
              node = this.fromJson(prefabRes);
              _a.label = 8;

             case 8:
              prefab && (node = cc.instantiate(this.getNode(prefab) || prefab));
              if (!node) {
                cb && cb(null);
                return [ 2, null ];
              }
              if (!cc.isValid(node)) {
                cb && cb(null);
                return [ 2, null ];
              }
              path && PPPB_res_1.res.addPathsMap(node, path);
              this.attrParent(node, parent);
              if (node) if (componentType) {
                if ("node" !== componentType) {
                  c = node.getComponent(componentType);
                  c || (c = node.addComponent(componentType));
                }
              } else c = PPPB_lib_1._.arrayGet(node.getComponents(cc.Component), -1);
              if (initData) {
                obj = c || node;
                if (initData.attr) {
                  this.attr(obj, initData.attr);
                  delete initData.attr;
                  0 === PPPB_lib_1._.size(initData) && (initData = null);
                }
                initData && (c && PPPB_lib_1._.isFunction(c["init"]) ? c.init(initData) : node.emit("init", initData));
              }
              if (c) {
                c[KEY_HELPER_STATE] = "";
                c[KEY_COPPONENT_TYPE] = componentType || c.name;
                isFinite(c["_zorder"]) && (node.zIndex = c["_zorder"]);
                ret = c;
              } else ret = node;
              cb && cb(ret);
              return [ 2, ret ];
            }
          });
        });
      };
      CUI.createNode = function(url, type) {
        return __awaiter(this, void 0, void 0, function() {
          var node, _a, ct, a, c, l, _b, _c, _d;
          return __generator(this, function(_e) {
            switch (_e.label) {
             case 0:
              if (!type) return [ 3, 7 ];
              _a = type;
              switch (_a) {
               case "Sprite":
                return [ 3, 1 ];

               case "SPINE":
                return [ 3, 2 ];

               case "DRAGONBONES":
                return [ 3, 4 ];
              }
              return [ 3, 6 ];

             case 1:
              return [ 2, this.getNode(this.createSprite(url)) ];

             case 2:
              return [ 4, this.getNode(this.createSpine(url)) ];

             case 3:
              return [ 2, _e.sent() ];

             case 4:
              return [ 4, this.getNode(this.createDragonBones(url)) ];

             case 5:
              return [ 2, _e.sent() ];

             case 6:
              node = new cc.Node(type);
              ct = this.getComponentClass(type);
              ct && this.setUIDataValue(node.addComponent(ct), url);
              return [ 2, node ];

             case 7:
              if (!/^\{([\s\S]*)\}$/.test(url)) return [ 3, 8 ];
              return [ 2, this.fromJson(PPPB_lib_1._.unserialize(url)) ];

             case 8:
              a = url.match(/(_ske|\.ske|_sp|\.sp|_ani|\.ani)$/);
              if (!a) return [ 3, 14 ];
              c = a[0][2];
              l = url.length;
              if (!("k" === c)) return [ 3, 10 ];
              _b = this.getNode;
              return [ 4, this.createDragonBones(url.slice(0, l - 4)) ];

             case 9:
              node = _b.apply(this, [ _e.sent() ]);
              return [ 3, 14 ];

             case 10:
              if (!("p" === c)) return [ 3, 12 ];
              _c = this.getNode;
              return [ 4, this.createSpine(url.slice(0, l - 3)) ];

             case 11:
              node = _c.apply(this, [ _e.sent() ]);
              return [ 3, 14 ];

             case 12:
              _d = this.getNode;
              return [ 4, this.createAnimationClip(url.slice(0, l - 4)) ];

             case 13:
              node = _d.apply(this, [ _e.sent() ]);
              _e.label = 14;

             case 14:
              return [ 2, node ];
            }
          });
        });
      };
      CUI.destroy = function(uiObj, waitMs) {
        void 0 === waitMs && (waitMs = 0);
        return __awaiter(this, void 0, void 0, function() {
          var node, destroyer;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!(waitMs > 0)) return [ 3, 2 ];
              return [ 4, PPPB_lib_1._.sleep(waitMs) ];

             case 1:
              _a.sent();
              _a.label = 2;

             case 2:
              if (!this.isValid(uiObj)) return [ 2 ];
              node = this.getNode(uiObj);
              if (node) {
                destroyer = node[KEY_DESTROYER];
                if (destroyer) destroyer(node); else {
                  node.active = false;
                  node.destroy();
                }
              }
              return [ 2 ];
            }
          });
        });
      };
      CUI.callComponentFunc = function(uiObj, func) {
        var _a = func.split("."), f = _a[0], args = _a.slice(1);
        if (PPPB_lib_1._.isFunction(uiObj[f])) return uiObj[f].apply(uiObj, args);
        var coms = this.getComponents(uiObj, cc.Component);
        for (var _i = 0, coms_1 = coms; _i < coms_1.length; _i++) {
          var c = coms_1[_i];
          if (PPPB_lib_1._.isFunction(c[f])) return c[f].apply(c, args);
        }
        return "";
      };
      CUI.getComponents = function(uiObj, typeOrClassName) {
        var node = this.getNode(uiObj);
        if (node) return node.getComponents(typeOrClassName);
        return [];
      };
      CUI.doModelResolve = function(uiObj, result) {
        return __awaiter(this, void 0, void 0, function() {
          var node, resolve, rsObj, _i, _a, c;
          return __generator(this, function(_b) {
            if (!uiObj) return [ 2 ];
            node = this.getNode(uiObj);
            if (!node) return [ 2 ];
            resolve = uiObj[KEY_DOMODEL_CB];
            rsObj = uiObj;
            if (!resolve) if (node !== uiObj && node && node[KEY_DOMODEL_CB]) {
              resolve = node[KEY_DOMODEL_CB];
              rsObj = node;
            } else for (_i = 0, _a = this.getComponents(uiObj, cc.Component).reverse(); _i < _a.length; _i++) {
              c = _a[_i];
              resolve = c[KEY_DOMODEL_CB];
              if (resolve) {
                rsObj = c;
                break;
              }
            }
            if (resolve) {
              resolve.call(uiObj, result);
              delete rsObj[KEY_DOMODEL_CB];
            }
            return [ 2 ];
          });
        });
      };
      CUI.doModelUI = function(prefabRes, initData, parent) {
        void 0 === parent && (parent = null);
        var args = [];
        for (var _i = 3; _i < arguments.length; _i++) args[_i - 3] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          var ui;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.create(prefabRes, null, initData, parent) ];

             case 1:
              ui = _a.sent();
              if (!ui) return [ 2 ];
              if (!(ui && ui["doModel"])) return [ 3, 3 ];
              return [ 4, ui.doModel.apply(ui, args) ];

             case 2:
              return [ 2, _a.sent() ];

             case 3:
              return [ 4, new Promise(function(resolve, reject) {
                ui[KEY_DOMODEL_CB] = resolve;
              }) ];

             case 4:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CUI.doModelUIObj = function(uiObj) {
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
        return __awaiter(this, void 0, void 0, function() {
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (!uiObj) return [ 2 ];
              this.show(uiObj);
              if (!(uiObj && uiObj["doModel"])) return [ 3, 2 ];
              return [ 4, uiObj["doModel"].apply(uiObj, args) ];

             case 1:
              return [ 2, _a.sent() ];

             case 2:
              args.length && uiObj["init"] && uiObj["init"].apply(uiObj, args);
              return [ 4, new Promise(function(resolve, reject) {
                uiObj[KEY_DOMODEL_CB] = resolve;
              }) ];

             case 3:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CUI.clone = function(from, componentType, initData, parent, cb) {
        void 0 === parent && (parent = null);
        var node = cc.instantiate(this.getNode(from));
        if (!node) {
          cb && cb(null);
          return null;
        }
        if (!cc.isValid(node)) {
          cb && cb(null);
          return null;
        }
        this.attrParent(node, parent);
        var c;
        if (node) if (componentType) {
          if ("node" !== componentType) {
            c = node.getComponent(componentType);
            c || (c = node.addComponent(componentType));
          }
        } else c = PPPB_lib_1._.arrayGet(node.getComponents(cc.Component), -1);
        if (initData) {
          var obj = c || node;
          if (initData.attr) {
            this.attr(obj, initData.attr);
            delete initData.attr;
            0 === PPPB_lib_1._.size(initData) && (initData = null);
          }
          initData && (c && PPPB_lib_1._.isFunction(c["init"]) ? c.init(initData) : node.emit("init", initData));
        }
        var ret;
        if (c) {
          c[KEY_HELPER_STATE] = "";
          c[KEY_COPPONENT_TYPE] = componentType || c.name;
          isFinite(c["_zorder"]) && (node.zIndex = c["_zorder"]);
          ret = c;
        } else ret = node;
        cb && cb(ret);
        return ret;
      };
      CUI.rollingNum = function(obj, value, pre, delay, tick, fitLength, controller, prefix) {
        void 0 === pre && (pre = 0);
        void 0 === delay && (delay = 1e3);
        void 0 === tick && (tick = 20);
        void 0 === fitLength && (fitLength = 2);
        return __awaiter(this, void 0, void 0, function() {
          var label;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              if (obj instanceof cc.Label) label = obj; else {
                label = this.getComponent(obj, cc.Label);
                label || (label = this.getComponent(obj, cc.RichText));
                if (!label) return [ 2 ];
              }
              return [ 4, PPPB_lib_1._.incNum(pre, value, delay / tick, tick, function(v) {
                label.string = void 0 == prefix ? v.toFixed(fitLength) : "" + prefix + v.toFixed(fitLength);
              }, controller) ];

             case 1:
              _a.sent();
              return [ 2 ];
            }
          });
        });
      };
      CUI.addChild = function(uiObj, child, attr) {
        var node = this.getNode(uiObj);
        if (!node) return;
        var c;
        if ("string" === typeof child) {
          var n = node.getChildByName(child);
          n && n.destroy();
          c = new cc.Node(child);
        } else c = this.getNode(child) || new cc.Node("child");
        if (c) {
          node.addChild(c);
          attr && this.attr(c, attr);
        }
        return c;
      };
      CUI.createUnique = function(name, prefabRes, componentType, initData, parent, isDelayCreateNode, cb) {
        void 0 === parent && (parent = null);
        void 0 === isDelayCreateNode && (isDelayCreateNode = false);
        return __awaiter(this, void 0, void 0, function() {
          var key, obj, node, c, obj_1, pRes;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              key = name || prefabRes;
              if (this._uisUnique.has(key)) {
                obj = this._uisUnique.get(key);
                node = this.getNode(obj);
                if (this.isValid(node)) {
                  if (initData) {
                    c = void 0;
                    if (node) if (componentType) {
                      if ("node" !== componentType) {
                        c = node.getComponent(componentType);
                        c || (c = node.addComponent(componentType));
                      }
                    } else c = PPPB_lib_1._.arrayGet(node.getComponents(cc.Component), -1);
                    parent && node.parent !== parent && this.attrParent(node, parent);
                    obj_1 = c || node;
                    node[KEY_UNQUIRE] = name;
                    if (initData.attr) {
                      this.attr(obj_1, initData.attr);
                      delete initData.attr;
                      0 === PPPB_lib_1._.size(initData) && (initData = null);
                    }
                    initData && (c && PPPB_lib_1._.isFunction(c["init"]) ? c.init(initData) : node.emit("init", initData));
                  }
                  return [ 2, obj ];
                }
                this._uisUnique.delete(key);
              }
              if (!isDelayCreateNode) return [ 3, 1 ];
              pRes = void 0;
              pRes = prefabRes;
              this._uisUniqueDelay.set(key, [ pRes, componentType, initData, parent, cb ]);
              return [ 2, null ];

             case 1:
              this._uisUniqueDelayOld.set(key, [ prefabRes, componentType, initData, parent, cb ]);
              return [ 4, this.create(prefabRes, componentType, initData, parent, cb) ];

             case 2:
              obj = _a.sent();
              this.getNode(obj)[KEY_UNQUIRE] = name;
              this._uisUnique.set(key, obj);
              return [ 2, obj ];
            }
          });
        });
      };
      CUI.showUnquire = function(name, initData) {
        void 0 === initData && (initData = true);
        return __awaiter(this, void 0, void 0, function() {
          var obj, node, _a, pRes, componentType, initD, parent, cb, old, bocker_1, obj, node;
          var _this = this;
          return __generator(this, function(_b) {
            switch (_b.label) {
             case 0:
              if (!this._uisUnique.has(name)) return [ 3, 1 ];
              obj = this._uisUnique.get(name);
              node = this.getNode(obj);
              if (node && node.isValid) if ("boolean" === typeof initData) node.active = initData; else {
                if (initData && initData.attr) {
                  this.attr(obj, initData.attr);
                  delete initData.attr;
                  0 === PPPB_lib_1._.size(initData) && (initData = null);
                }
                PPPB_lib_1._.isVoid(initData) || (obj && PPPB_lib_1._.isFunction(obj["init"]) ? obj.init(initData) : node.emit("init", initData));
                node.active = true;
              }
              return [ 2, obj ];

             case 1:
              if (!(false !== initData && this._uisUniqueDelay.has(name))) return [ 3, 3 ];
              _a = this._uisUniqueDelay.get(name), pRes = _a[0], componentType = _a[1], initD = _a[2], 
              parent = _a[3], cb = _a[4];
              old = this._uisUniqueDelay.get(name);
              old[2] && (old[2] = PPPB_lib_1._.copy(old[2]));
              this._uisUniqueDelayOld.set(name, old);
              this._uisUniqueDelay.delete(name);
              initD && initD.attr && void 0 != initD.attr.active && delete initD.attr.active;
              initD = PPPB_lib_1._.merge(initD, "boolean" === typeof initData ? {
                attr: {
                  active: initData
                }
              } : initData, true);
              bocker_1 = this.addChild(parent, "_bocker_", {
                width: 99999,
                height: 99999,
                zIndex: 9999
              });
              bocker_1.addComponent(cc.BlockInputEvents);
              setTimeout(function() {
                return _this.destroy(bocker_1);
              }, 500);
              return [ 4, this.create(pRes, componentType, initD, parent, cb) ];

             case 2:
              obj = _b.sent();
              this.destroy(bocker_1);
              node = this.getNode(obj);
              node.active || (node.active = true);
              node[KEY_UNQUIRE] = name;
              this._uisUnique.set(name, obj);
              return [ 2, obj ];

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      CUI.reset = function() {
        this._isUnquireCache = {};
      };
      CUI.isUnquire = function(uiObj, isPath) {
        var _this = this;
        void 0 === isPath && (isPath = false);
        if ("string" === typeof uiObj) {
          var info = this._uisUniqueDelay.get(uiObj);
          info || (info = this._uisUniqueDelayOld.get(uiObj));
          if (info) return true;
          if (isPath) {
            var path_1 = PPPB_res_1.res.URL(uiObj);
            if (void 0 != this._isUnquireCache[path_1]) return this._isUnquireCache[path_1];
            var skip_1 = false;
            var maps = this._uisUniqueDelay;
            maps.forEach(function(v, k) {
              if (skip_1) return;
              if (PPPB_res_1.res.URL(v[0]) === path_1) {
                skip_1 = true;
                _this._isUnquireCache[path_1] = true;
                return true;
              }
            });
            if (skip_1) return true;
            maps = this._uisUniqueDelayOld;
            maps.forEach(function(v, k) {
              if (skip_1) return;
              if (PPPB_res_1.res.URL(v[0]) === path_1) {
                skip_1 = true;
                _this._isUnquireCache[path_1] = true;
                return true;
              }
            });
            if (skip_1) return true;
            this._isUnquireCache[path_1] = false;
          }
          return false;
        }
        return !!this.getUnquireName(uiObj);
      };
      CUI.getUnquireName = function(uiObj) {
        var n = this.getNode(uiObj);
        return n && n[KEY_UNQUIRE] || "";
      };
      CUI.resetUnquire = function(uiObj) {
        var name = uiObj;
        uiObj instanceof cc.Node && (name = this.getUnquireName(uiObj));
        var data = this._uisUniqueDelayOld.get(name);
        if (data) {
          this._uisUniqueDelay.set(name, data);
          this._uisUnique.delete(name);
        }
      };
      CUI.tipsWithParent = function(content, parent, effect, pos) {
        return __awaiter(this, void 0, void 0, function() {
          var tip, y, tipsList;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.create(uiJson.tips) ];

             case 1:
              tip = _a.sent();
              y = pos && pos.y || 0;
              tipsList = this._tipsListMap[y] || [];
              this._tipsListMap[y] = tipsList;
              tipsList.push(tip);
              if (!tip) return [ 3, 3 ];
              return [ 4, tip.doModelWithParent(content, effect, parent, pos, tipsList) ];

             case 2:
              _a.sent();
              PPPB_lib_1._.arrayDel(tipsList, tip);
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      CUI.tips = function(content, effect, pos) {
        return __awaiter(this, void 0, void 0, function() {
          var tip, y, tipsList;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, this.create(uiJson.tips) ];

             case 1:
              tip = _a.sent();
              y = pos && pos.y || 0;
              tipsList = this._tipsListMap[y] || [];
              this._tipsListMap[y] = tipsList;
              tipsList.push(tip);
              if (!tip) return [ 3, 3 ];
              return [ 4, tip.doModel(content, effect, pos, tipsList) ];

             case 2:
              _a.sent();
              PPPB_lib_1._.arrayDel(tipsList, tip);
              _a.label = 3;

             case 3:
              return [ 2 ];
            }
          });
        });
      };
      CUI.getGlobalOpacity = function(nc, opacity) {
        void 0 === opacity && (opacity = 255);
        if (opacity <= 0) return 0;
        var node = this.getNode(nc);
        if (!node) return 0;
        var o = opacity;
        for (var n = node; n; n = n.parent) o *= n.opacity / 255;
        return 0 | o;
      };
      CUI.getUiJson = function(name) {
        return uiJson[name];
      };
      CUI.gray = function(obj, isGray, color) {
        void 0 === isGray && (isGray = true);
        void 0 === color && (color = cc.color(124, 124, 124));
        var n = this.getNode(obj);
        if (!n) return;
        n.color = isGray ? color : cc.color(255, 255, 255);
      };
      Object.defineProperty(CUI.prototype, "v", {
        get: function() {
          return this[uiSymbol];
        },
        enumerable: false,
        configurable: true
      });
      CUI.prototype.rmComponent = function(type) {
        return CUI.removeComponent(this.v, type);
      };
      CUI.rootNode = "Canvas";
      CUI.tipsNode = "Canvas/GameScaler/tipsParent";
      CUI.unquireUIParents = {};
      CUI.unquireUIs = [];
      CUI._uisUniqueDelay = new Map();
      CUI._uisUnique = new Map();
      CUI._uisUniqueDelayOld = new Map();
      CUI._isUnquireCache = {};
      CUI._tipsListMap = {};
      return CUI;
    }();
    exports.CUI = CUI;
    exports.ui = CUI;
    cc._RF.pop();
  }, {
    "../framework/PPPB-lib": "PPPB-lib",
    "./PPPB-res": "PPPB-res",
    "./components/PPPB-UAnimation": "PPPB-UAnimation",
    "./components/PPPB-UIData": "PPPB-UIData"
  } ],
  "PPPB-user": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "f7367QLIg9OuLHLFToXMM32", "PPPB-user");
    "use strict";
    var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
      return c > 3 && r && Object.defineProperty(target, key, r), r;
    };
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.user = exports.CUser = exports.UserBaseTemplate = void 0;
    var PPPB_betConfig_1 = require("../../../common/config/PPPB-betConfig");
    var PPPB_quick_1 = require("../../../common/PPPB-quick");
    var PPPB_bet_1 = require("../../../common/ui/bottomUI/PPPB-bet");
    var PPPB_decorator_1 = require("../../../framework-cocos/PPPB-decorator");
    var PPPB_sys_1 = require("../../../framework-cocos/PPPB-sys");
    var PPPB_event_1 = require("../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../framework/PPPB-lib");
    var PPPB_AliNet_1 = require("../PPPB-AliNet");
    var template = {
      id: "",
      balance: 2e3,
      freeSpins: 0,
      bet: 2,
      freeSpCount: 0
    };
    exports.UserBaseTemplate = template;
    var CUser = function() {
      function CUser() {}
      Object.defineProperty(CUser, "attr", {
        get: function() {
          return this.data.user[this._id] || template;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CUser, "balance", {
        get: function() {
          return this.attr.balance;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CUser, "bet", {
        get: function() {
          return this.attr.bet;
        },
        enumerable: false,
        configurable: true
      });
      Object.defineProperty(CUser, "freeSpCount", {
        get: function() {
          return this.attr.freeSpCount;
        },
        enumerable: false,
        configurable: true
      });
      CUser.reset = function() {
        this.data = {
          user: {}
        };
        this._id = "";
      };
      Object.defineProperty(CUser, "loaded", {
        get: function() {
          return !!this._id;
        },
        enumerable: false,
        configurable: true
      });
      CUser.login = function(timeout) {
        void 0 === timeout && (timeout = 9999);
        return __awaiter(this, void 0, Promise, function() {
          var _this = this;
          return __generator(this, function(_a) {
            switch (_a.label) {
             case 0:
              return [ 4, new Promise(function(resolve) {
                var rs = resolve;
                setTimeout(function() {
                  if (rs) {
                    rs({
                      err: "999"
                    });
                    rs = null;
                  }
                }, timeout || 9999);
                PPPB_AliNet_1.NetFactory.getInfo().then(_this.updateSystemData).then(function(r) {
                  var udata = {
                    id: r.getUid(),
                    balance: r.getBalance(),
                    freeSpins: r.getFreespcount(),
                    bet: r.getBet(),
                    freeSpCount: r.getFreespcount()
                  };
                  _this._id = udata.id;
                  console.log("luoli:login data", udata);
                  _this._updateAttr(udata);
                  rs({});
                }).catch(function() {
                  return rs({
                    err: "996"
                  });
                });
              }) ];

             case 1:
              return [ 2, _a.sent() ];
            }
          });
        });
      };
      CUser.updateSystemData = function(r) {
        PPPB_sys_1.sys.currency = r.getCurrency() || "USD";
        var betinfo = JSON.parse(r.getBetinfo() || "{}");
        if (betinfo.Betdx) {
          for (var k in betinfo.Betdx) {
            var e = betinfo.Betdx[k];
            e.enable && (PPPB_betConfig_1.Betdx[k] = e);
          }
          if (betinfo.Betdx.length <= 0) {
            console.warn("[betInfo] No bet info retrieved. Checked that at least one bet info is enabled");
            return;
          }
        }
        var bc = PPPB_betConfig_1.Betdx[PPPB_sys_1.sys.currency] || PPPB_betConfig_1.Betdx["USD"];
        if (!bc) {
          "USD" == PPPB_sys_1.sys.currency;
          bc = PPPB_betConfig_1.Betdx["USD"];
        }
        PPPB_sys_1.sys.rate = r.getRate() / bc.rate;
        PPPB_quick_1.ks.rate = r.getRate();
        PPPB_betConfig_1.buyFree.unitPrice = r.getBuybonus() / PPPB_quick_1.ks.rate;
        PPPB_bet_1.default.UpdatePool(bc.size, null === betinfo || void 0 === betinfo ? void 0 : betinfo.Betmul);
        PPPB_bet_1.default.UpdateBet(true);
        return r;
      };
      CUser._updateAttr = function(attr) {
        if (attr.id) {
          var root = this.data.user[attr.id];
          root ? PPPB_lib_1._.merge(root, attr, true) : this.data.user[attr.id] = attr;
        }
        for (var k in attr) this.attr[k] = attr[k];
        PPPB_event_1.Events.publish("data", "update", "");
      };
      CUser._id = "";
      CUser.data = {
        user: {}
      };
      __decorate([ PPPB_decorator_1.decorator.lock(false) ], CUser, "login", null);
      return CUser;
    }();
    exports.CUser = CUser;
    exports.user = CUser;
    cc._RF.pop();
  }, {
    "../../../common/PPPB-quick": "PPPB-quick",
    "../../../common/config/PPPB-betConfig": "PPPB-betConfig",
    "../../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../../framework-cocos/PPPB-decorator": "PPPB-decorator",
    "../../../framework-cocos/PPPB-sys": "PPPB-sys",
    "../../../framework/PPPB-event": "PPPB-event",
    "../../../framework/PPPB-lib": "PPPB-lib",
    "../PPPB-AliNet": "PPPB-AliNet"
  } ],
  "PPPB-utils": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "201e64+YNtCIaKSHjO5KX/v", "PPPB-utils");
    "use strict";
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    var __spreadArrays = this && this.__spreadArrays || function() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, 
      k++) r[k] = a[j];
      return r;
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.randText = exports.randString = exports.randDiffent = exports.randFloat = exports.rand = exports.shuffle = exports.unserialize = exports.serialize = exports.value = exports.values = exports.has = exports.sleep = exports.range = exports.objs = exports.map = exports.each = exports.timeString = exports.dateString = exports.newDate = exports.now = exports.dict = exports.j = exports.copy = exports.zip = exports.search = exports.logger = exports.setLogger = exports.getStack = exports.setLogMode = exports.configureLog = exports.merge = exports.parseEscape = exports.keys = exports.getMethodNames = exports.getMethodName = exports.class2Object = exports.staticClass2Object = exports.isClassInstance = exports.getClassName = exports.isClass = exports.isPureType = exports.arrayDel = exports.arrayUniquePush = exports.property = exports.isFunction = exports.isVoid = exports.isArray = exports.isDate = exports.isObject = exports.size = void 0;
    exports.moveNodeToOtherNodePos = exports.swap = exports.equals = exports.sortPaths = exports.sprintf = exports.checkPassword = exports.checkEmail = exports.waiting = exports.parsePath = exports.createControlObj = exports.BigWinincNum = exports.incNum = exports.isDecimal = exports.isNaN = exports.bigNumberChineseString = exports.bigNumberUnitString = exports.bigNumberKMGString = exports.numberFitLength = exports.bigNumberString = exports.parseNumber = exports.limit = exports.arrayGet = void 0;
    var Utils = function(obj) {
      if (obj instanceof Utils) return obj;
      if (!(this instanceof Utils)) return new Utils(obj);
      this._wrapped = obj;
    };
    function size(obj) {
      if (!obj) return 0;
      var s = 0;
      for (var f in obj) obj.hasOwnProperty(f) && s++;
      return s;
    }
    exports.size = size;
    Utils.size = size;
    function isObject(obj) {
      var type = typeof obj;
      return "function" === type || "object" === type && !!obj;
    }
    exports.isObject = isObject;
    Utils.isObject = isObject;
    function isDate(obj) {
      return obj && "[object Date]" == toString.call(obj);
    }
    exports.isDate = isDate;
    Utils.isDate = isDate;
    function isArray(obj) {
      if (Array.isArray) return Array.isArray(obj);
      return "[object Array]" === Object.prototype.toString.call(obj);
    }
    exports.isArray = isArray;
    Utils.isArray = isArray;
    function isVoid(obj) {
      return null === obj || void 0 === obj;
    }
    exports.isVoid = isVoid;
    function isFunction(obj) {
      return "function" == typeof obj || false;
    }
    exports.isFunction = isFunction;
    function property(key) {
      return function(obj) {
        return obj[key];
      };
    }
    exports.property = property;
    Utils.property = property;
    function matches(attrs) {
      var pairs = pairs(attrs), length = pairs.length;
      return function(obj) {
        if (null == obj) return !length;
        obj = new Object(obj);
        for (var i = 0; i < length; i++) {
          var pair = pairs[i], key = pair[0];
          if (pair[1] !== obj[key] || !(key in obj)) return false;
        }
        return true;
      };
    }
    Utils.matches = matches;
    function arrayUniquePush(array, value) {
      if (array) {
        for (var i = 0, len = array.length; i < len; i++) if (array[i] === value) return false;
        array.push(value);
      }
      return true;
    }
    exports.arrayUniquePush = arrayUniquePush;
    Utils.arrayUniquePush = arrayUniquePush;
    function arrayDel(array, item, count) {
      void 0 === count && (count = 1);
      var deleteCount = 0;
      for (var i = 0; i < array.length; i++) if (array[i] === item) {
        array.splice(i, 1);
        i--;
        deleteCount++;
        if (count > 0 && deleteCount >= count) return deleteCount;
      }
      return deleteCount;
    }
    exports.arrayDel = arrayDel;
    Utils.arrayDel = arrayDel;
    function isPureType(obj) {
      var classType = Object.prototype.toString.call(obj);
      return "[object Object]" !== classType && "[object Function]" !== classType || obj.__proto__ && null == obj.__proto__.__proto__;
    }
    exports.isPureType = isPureType;
    Utils.isPureType = isPureType;
    function isClass(obj, Class) {
      var type = typeof obj;
      Class = Class || obj;
      return "function" === type && "function" == typeof obj.__proto__ && obj.prototype && obj.prototype.constructor && (obj.prototype.constructor == Class || obj.prototype.constructor.name == Class || isClass(obj.__proto__, Class));
    }
    exports.isClass = isClass;
    Utils.isClass = isClass;
    function getClassName(obj) {
      if (obj && obj.constructor && obj.constructor.toString()) {
        if (obj.constructor.name) return obj.constructor.name;
        var str = obj.constructor.toString();
        var arr = void 0;
        arr = "[" == str.charAt(0) ? str.match(/\w+\s\u2217(\w+)\w+\s\u2217(\w+)/) : str.match(/function\s*(\w+)/);
        if (arr && 2 == arr.length) return arr[1];
      }
      return "";
    }
    exports.getClassName = getClassName;
    Utils.getClassName = getClassName;
    function isClassInstance(obj, Class) {
      var type = typeof obj;
      var proto = Object.getPrototypeOf(obj);
      return "object" === type && proto && isClass(proto.constructor, Class);
    }
    exports.isClassInstance = isClassInstance;
    Utils.isClassInstance = isClassInstance;
    function staticClass2Object(staticClass, exceptClass) {
      var ret = {};
      staticClass.prototype && staticClass !== exceptClass && staticClass !== Object && (ret = staticClass2Object(staticClass.prototype, exceptClass));
      for (var _i = 0, _a = Object.getOwnPropertyNames(staticClass); _i < _a.length; _i++) {
        var k = _a[_i];
        "constructor" !== k && "prototype" !== k && (ret[k] = staticClass[k]);
      }
      for (var k in staticClass) ret[k] = staticClass[k];
      return ret;
    }
    exports.staticClass2Object = staticClass2Object;
    Utils.staticClass2Object = staticClass2Object;
    function class2Object(classObj, exceptClass, _isRecursion) {
      void 0 === _isRecursion && (_isRecursion = false);
      var ret = {};
      var o = classObj;
      var proto = Object.getPrototypeOf(o);
      if (o && o !== exceptClass && o !== Object && proto && null != Object.getPrototypeOf(proto)) {
        "function" == typeof proto && "" == proto.name || (ret = class2Object(proto, exceptClass, true));
        for (var _i = 0, _a = Object.getOwnPropertyNames(o.prototype); _i < _a.length; _i++) {
          var k = _a[_i];
          "constructor" !== k && "prototype" !== k && (ret[k] = o.prototype[k]);
        }
        if (!_isRecursion) {
          var obj = new classObj();
          for (var k in obj) ret[k] = obj[k];
        }
      }
      return ret;
    }
    exports.class2Object = class2Object;
    Utils.class2Object = class2Object;
    function getMethodName(classObj, method) {
      if (classObj && classObj.prototype) for (var k in classObj.prototype) if (method === classObj.prototype[k]) return k;
      return "unknow_method";
    }
    exports.getMethodName = getMethodName;
    Utils.getMethodName = getMethodName;
    function getMethodNames(obj, regExp, onlyPublic) {
      void 0 === onlyPublic && (onlyPublic = true);
      var ret = [];
      var o = obj;
      var proto = Object.getPrototypeOf(o);
      while (proto && ("function" != typeof proto || "" != proto.name) && null != Object.getPrototypeOf(proto)) {
        for (var _i = 0, _a = Object.getOwnPropertyNames(proto); _i < _a.length; _i++) {
          var k = _a[_i];
          try {
            onlyPublic && "_" == k[0] || "constructor" == k || regExp && !regExp.test(k) || !isFunction(obj[k]) || arrayUniquePush(ret, k);
          } catch (_b) {}
        }
        o = proto;
        proto = Object.getPrototypeOf(o);
      }
      for (var _c = 0, _d = Object.getOwnPropertyNames(obj); _c < _d.length; _c++) {
        var k = _d[_c];
        try {
          onlyPublic && "_" == k[0] || "constructor" == k || regExp && !regExp.test(k) || !isFunction(obj[k]) || arrayUniquePush(ret, k);
        } catch (_e) {}
      }
      for (var k in obj) try {
        onlyPublic && "_" == k[0] || "constructor" == k || regExp && !regExp.test(k) || !isFunction(obj[k]) || arrayUniquePush(ret, k);
      } catch (_f) {}
      return ret;
    }
    exports.getMethodNames = getMethodNames;
    Utils.getMethodNames = getMethodNames;
    function keys(obj) {
      if (!isObject(obj)) return [];
      if (Object.keys) return Object.keys(obj);
      var _keys = [];
      for (var key in obj) Object.prototype.hasOwnProperty.call(obj, key) && _keys.push(key);
      return _keys;
    }
    exports.keys = keys;
    Utils.keys = keys;
    function parseEscape(str, decorate) {
      void 0 === decorate && (decorate = "$");
      var code2Symbol = ")!@#$%^&*(";
      var rstr = "";
      var len = str.length;
      for (var i = 0; i < len; i++) {
        var c = str.charAt(i);
        if (i > 0 && c === decorate) {
          var cc = str.charAt(i + 1);
          if (i + 3 < len && "x" === cc) {
            var code = parseInt(str.slice(i + 2, i + 4), 16);
            rstr += String.fromCharCode(code);
            i += 3;
          } else if (i + 1 < len && cc >= "0" && cc <= "9") {
            var code = Number(cc);
            if (isNaN(code)) rstr += c; else {
              rstr += code2Symbol[code];
              i += 1;
            }
          } else rstr += c;
        } else rstr += c;
      }
      return rstr;
    }
    exports.parseEscape = parseEscape;
    Utils.parseEscape = parseEscape;
    var LOG_MODE = 1;
    var mylog;
    var stackKey;
    var stackPos;
    var _logConfig;
    var _beginTick = now();
    var _lastTick = _beginTick;
    var isChromeDebug = true;
    mylog = console.log;
    stackKey = "/script/";
    stackPos = (isChromeDebug, 3);
    _logConfig = _logConfig || {
      logers: {}
    };
    function merge(a, b, isCanChangeProperty) {
      void 0 === isCanChangeProperty && (isCanChangeProperty = false);
      if (void 0 === b || null === b) return a;
      if (null == a) {
        a = copy(b);
        return a;
      }
      var typeA = typeof a, typeB = typeof b;
      var isObjectA = "object" == typeA || "function" == typeA;
      var isObjectB = "object" == typeB || "function" == typeB;
      if (isObjectA && isObjectB) {
        for (var k in b) if (b.hasOwnProperty(k)) if (a.hasOwnProperty(k)) {
          var objTypeA = toString.call(a[k]);
          var objTypeB = toString.call(b[k]);
          a[k] = objTypeA == objTypeB ? "[object Object]" === objTypeA ? merge(a[k], b[k], true) : copy(b[k]) : merge(a[k], b[k], isCanChangeProperty);
        } else isCanChangeProperty && (a[k] = copy(b[k]));
      } else typeA !== typeB ? isCanChangeProperty ? a = copy(b) : "string" == typeA && "number" == typeB ? a = "" + b : "string" == typeB ? "number" == typeA ? a = Number(b) : "object" == typeA && ("{" == b[0] && "}" == b[b.length - 1] || "[" == b[0] && "]" == b[b.length - 1]) && (a = unserialize(b)) : "string" == typeA && "object" == typeB && (a = serialize(b)) : a = copy(b);
      return a;
    }
    exports.merge = merge;
    Utils.merge = merge;
    function configureLog(jsonObj) {
      _logConfig = merge(_logConfig, jsonObj);
    }
    exports.configureLog = configureLog;
    Utils.configureLog = configureLog;
    function setLogMode(logMode) {
      LOG_MODE = logMode;
    }
    exports.setLogMode = setLogMode;
    Utils.setLogMode = setLogMode;
    function getStack(isFullPath) {
      var err = new Error();
      var stacks = (err.stack || "").split("\n");
      if (isFullPath) return stacks;
      var fileLines = [];
      for (var i = 0; i < stacks.length; i++) {
        var a = stacks[i].split(stackKey);
        a && a.length > 1 ? fileLines[i] = a[1] : fileLines[i] = stacks[i];
      }
      return fileLines;
    }
    exports.getStack = getStack;
    Utils.getStack = getStack;
    var __logger = {
      name: "",
      showDate: false,
      showStack: false,
      showPass: true,
      callerLevel: 0,
      clusterID: ""
    };
    function setLogger(logger) {
      if ("string" === typeof logger) __logger.name = logger; else for (var k in logger) void 0 !== logger[k] && (__logger[k] = logger[k]);
    }
    exports.setLogger = setLogger;
    function logger(level, logger) {
      void 0 === level && (level = "");
      logger || (logger = __logger);
      var callerLevel = logger.callerLevel || 0;
      if (callerLevel >= 0) {
        var funcs = [];
        var fileNameAndLine = "";
        var stacks = getStack();
        if (stacks.length > stackPos + callerLevel) {
          var ret = stacks[stackPos + callerLevel];
          for (var n = 0; n < 1; n++) {
            var s = stacks[stackPos + callerLevel + n];
            if (s) {
              var i_1 = s.indexOf("at ");
              if (i_1 >= 0) {
                var j_1 = s.indexOf(" (", i_1 + 3);
                if (j_1 > 0) {
                  var f = s.slice(i_1 + 3, j_1);
                  if (0 === f.indexOf("Function.")) f = f.slice(9); else if (0 === f.indexOf("new ")) f = f.slice(4); else if (/^(process.|Module.|Object.|Timeout.)/.test(f)) continue;
                  funcs.unshift(f);
                }
              }
            }
          }
          var i = ret.lastIndexOf("\\");
          if (i > 0) {
            var j_2 = ret.lastIndexOf(":");
            fileNameAndLine = ret.slice(i + 1, j_2);
          }
        }
        var arr = logger.showDate ? [ dateString(void 0, "MS") ] : [];
        logger.clusterID && arr.push("[" + logger.clusterID + "]");
        logger.name && arr.push("" + logger.name);
        if (logger.showPass) {
          var passTick = now() - _lastTick;
          _lastTick = now();
          logger.showPass && arr.push(passTick + " ");
        }
        level && "INFO" !== level && arr.push("" + level);
        logger.showStack && funcs.length && arr.push("" + funcs.join("-"));
        logger.showStack ? fileNameAndLine && arr.push("" + fileNameAndLine) : fileNameAndLine && arr.push("" + fileNameAndLine.split(".")[0]);
        var str = "[" + arr.join(" ") + (logger.showStack ? "\n" : "") + "]";
        return str ? str + "      " : "";
      }
      return "";
    }
    exports.logger = logger;
    Utils.logger = logger;
    function search(obj, value, values_or_SelectFunc, count) {
      count = count || 0;
      var cnt = count >= 0 ? count : -count;
      var ret = [];
      if (isArray(obj)) {
        var idx = void 0, step = void 0;
        if (count >= 0) {
          idx = 0;
          step = 1;
        } else {
          idx = obj.length - 1;
          step = 1;
        }
        for (var i = 0; i < obj.length; i++) {
          if (obj[idx] === value || "function" == typeof values_or_SelectFunc && values_or_SelectFunc(obj[idx]) || has(values_or_SelectFunc, obj[idx])) {
            ret.push(idx);
            if (0 != count) {
              cnt--;
              if (cnt <= 0) break;
            }
          }
          idx += step;
        }
      } else for (var k in obj) if (obj[k] === value || "function" == typeof values_or_SelectFunc && values_or_SelectFunc(obj[k]) || has(values_or_SelectFunc, obj[k])) {
        ret.push(k);
        if (0 != count) {
          cnt--;
          if (cnt <= 0) break;
        }
      }
      return 0 == ret.length ? null : ret;
    }
    exports.search = search;
    Utils.search = search;
    function zip() {
      var arrays = [];
      for (var _i = 0; _i < arguments.length; _i++) arrays[_i] = arguments[_i];
      var ret = [];
      for (var _a = 0, arrays_1 = arrays; _a < arrays_1.length; _a++) {
        var a = arrays_1[_a];
        for (var _b = 0, _c = values(a); _b < _c.length; _b++) {
          var b = _c[_b];
          search(ret, b) || ret.push(b);
        }
      }
      return ret;
    }
    exports.zip = zip;
    Utils.zip = zip;
    function copy(origin, eliminate, _circleObjects) {
      if (!origin || "object" !== typeof origin) return origin;
      if (origin instanceof cc.Node) return origin;
      _circleObjects = _circleObjects || [];
      _circleObjects.push(origin);
      var obj = Array.isArray(origin) ? [] : {};
      for (var f in origin) if (origin.hasOwnProperty(f) && (!has(eliminate, f) || isFunction(eliminate) && !eliminate(f, origin[f]))) switch (typeof origin[f]) {
       case "object":
        -1 == _circleObjects.indexOf(origin[f]) && (obj[f] = copy(origin[f], eliminate, _circleObjects));
        break;

       case "string":
        obj[f] = origin[f].slice(0);
        break;

       default:
        obj[f] = origin[f];
      }
      return obj;
    }
    exports.copy = copy;
    Utils.copy = copy;
    var _classToString = function(obj) {
      var className = getClassName(obj);
      if (className && "Object" !== className && "Array" !== className) return "cc_Node" === className ? "<cc.Node: name:" + obj._name + " pos:" + obj._position + ">" : "<class " + className + ">";
      return null;
    };
    function j(obj, showAllProperty, tabStr, tab, circleObjs) {
      circleObjs ? circleObjs.push(obj) : circleObjs = [ obj ];
      if (void 0 === obj) return "undefined";
      if (null === obj) return "null";
      var typeObj = typeof obj;
      if ("object" !== typeObj && !("function" == typeObj && size(obj) > 0)) return "" + obj;
      tabStr = tabStr || "   ";
      tab = tab || 0;
      var sTab = "";
      for (var i = 0; i <= tab - 1; i++) sTab += tabStr;
      var str = "";
      var idx = 0;
      var hasSubObject = false;
      var isArray = Array.isArray(obj);
      var s;
      if (isArray) {
        s = obj.length;
        if (s > 30) str += "[...(" + s + ")]"; else {
          var prevStr = "";
          var sameCount = 0;
          var i = 0;
          for (var f in obj) {
            var _str = "";
            var objString = toString.call(obj[f]);
            idx > 0 && (_str += sTab + tabStr);
            parseInt(f) !== i && (_str += f + ": ");
            if (void 0 === obj[f]) _str += "undefined"; else if (null === obj[f]) _str += "null"; else if ("function" == typeof obj[f]) _str += "function"; else if ("[object Date]" == objString) _str += objString + " " + dateString(obj[f]); else if (Array.isArray(obj[f]) || isObject(obj[f]) || "[object Object]" == objString || "[object Object]," == objString || "[Object]" == objString) if (-1 !== circleObjs.indexOf(obj[f])) _str += obj[f] + "(circle)"; else if (obj[f]["_className"]) _str += "[object " + obj[f]["_className"] + "]"; else if (has(obj[f], "$id")) _str += "{class : " + obj[f].$id + "}"; else {
              var ccn = _classToString(obj[f]);
              if (ccn) _str += ccn; else if ("[object Object]" == objString || "[object Array]" == objString || "[object Function]" == objString) {
                hasSubObject = true;
                _str += j(obj[f], showAllProperty, tabStr, tab + 1, circleObjs);
              } else _str += objString;
            } else "string" == typeof obj[f] ? _str += "'" + obj[f] + "'" : _str += obj[f];
            str += _str;
            idx++;
            s > idx && s > 1 && (str += ",\n");
            i++;
          }
        }
      } else {
        if ("[object Date]" == toString.call(obj)) return dateString(obj);
        s = 0;
        for (var f in obj) (showAllProperty || obj.hasOwnProperty(f)) && s++;
        for (var f in obj) if (showAllProperty || obj.hasOwnProperty(f)) {
          var objString = toString.call(obj[f]);
          idx > 0 && (str += sTab + tabStr);
          obj.hasOwnProperty(f) || (str += "prototype.");
          if (void 0 === obj[f]) str += f + ": undefined"; else if ("__" === f.substr(0, 2)) str += f + ": " + obj[f]; else if (null === obj[f]) str += f + ": null"; else if ("function" == typeof obj[f]) str += f + ": function"; else if ("[object Date]" == objString) str += objString + " " + dateString(obj[f]); else if (Array.isArray(obj[f]) || isObject(obj[f]) || "[object Object]" == objString || "[object Object]," == objString || "[Object]" == objString) if (-1 !== circleObjs.indexOf(obj[f])) str += f + ": " + obj[f] + "(circle)"; else if (obj[f]["_className"]) str += f + ": [object " + obj[f]["_className"] + "]"; else if (has(obj[f], "$id")) str += f + ": {class : " + obj[f].$id + "}"; else {
            var ccn = _classToString(obj[f]);
            if (ccn) str += f + ": " + ccn; else if ("[object Object]" == objString || "[object Array]" == objString || "[object Function]" == objString) {
              hasSubObject = true;
              str += f + ": " + j(obj[f], showAllProperty, tabStr, tab + 1, circleObjs);
            } else str += f + ": " + objString;
          } else "string" == typeof obj[f] ? str += f + ": '" + obj[f] + "'" : str += f + ": " + obj[f];
          idx++;
          s > idx && s > 1 && (str += ",\n");
        }
      }
      var objName = toString.call(obj);
      var l = ("[object Object]" != objName && "[object Array]" != objName ? objName + "  " : "") + (isArray ? "[" : "{");
      var r = isArray ? "]" : "}";
      if (-1 === str.indexOf("\n")) return l + str + r;
      var ret = l + "\n" + sTab + (tab >= 0 ? tabStr : "") + str + "\n" + sTab + r;
      return !hasSubObject && ret.length < 100 ? ret.replace(/\n/g, "").replace(new RegExp(tabStr, "gm"), "").replace(",", ", ") : ret;
    }
    exports.j = j;
    Utils.j = j;
    function dict(_keys, value) {
      if (!_keys) return {};
      var ret = {};
      if (!Array.isArray(_keys)) {
        ret[_keys] = value;
        return ret;
      }
      for (var k = 0; k < _keys.length; k++) {
        var v = _keys[k];
        void 0 === value ? ret[v] = void 0 : Array.isArray(value) ? k < value.length ? ret[v] = value[k] : ret[v] = void 0 : ret[v] = "object" === typeof value ? value[v] : value;
      }
      return ret;
    }
    exports.dict = dict;
    Utils.dict = dict;
    function now() {
      return Date.now();
    }
    exports.now = now;
    var createCallback = function(func, context, argCount) {
      if (void 0 === context) return func;
      switch (null == argCount ? 3 : argCount) {
       case 1:
        return function(value) {
          return func.call(context, value);
        };

       case 2:
        return function(value, other) {
          return func.call(context, value, other);
        };

       case 3:
        return function(value, index, collection) {
          return func.call(context, value, index, collection);
        };

       case 4:
        return function(accumulator, value, index, collection) {
          return func.call(context, accumulator, value, index, collection);
        };
      }
      return function() {
        return func.apply(context, arguments);
      };
    };
    function newDate() {
      var _a;
      var date = [];
      for (var _i = 0; _i < arguments.length; _i++) date[_i] = arguments[_i];
      var ret = new ((_a = Date).bind.apply(_a, __spreadArrays([ void 0 ], date)))();
      return ret.getTime() ? ret : new Date();
    }
    exports.newDate = newDate;
    Utils.newDate = newDate;
    function dateString(date, mode) {
      void 0 === mode && (mode = "S");
      date = void 0 == date ? new Date() : isDate(date) ? date : newDate(date);
      var m = date.getMonth() + 1;
      var d = date.getDate();
      if ("YM" === mode) return date.getFullYear() + "-" + (m < 10 ? "0" + m : m);
      if ("YMD" === mode) return date.getFullYear() + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
      if ("MD" === mode) return (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
      var hh = date.getHours();
      var mm = date.getMinutes();
      var ss = date.getSeconds();
      if ("HMS" === mode) return (hh < 10 ? "0" + hh : hh) + ":" + (mm < 10 ? "0" + mm : mm) + ":" + (ss < 10 ? "0" + ss : ss);
      if ("HM" === mode) return (hh < 10 ? "0" + hh : hh) + ":" + (mm < 10 ? "0" + mm : mm);
      var r = date.getFullYear() + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + (hh < 10 ? "0" + hh : hh) + ":" + (mm < 10 ? "0" + mm : mm) + ":" + (ss < 10 ? "0" + ss : ss);
      return "MS" === mode ? r + ":" + date.getMilliseconds() : r;
    }
    exports.dateString = dateString;
    Utils.dateString = dateString;
    function timeString(timeMS) {
      var s = (0 | timeMS / 1e3) % 60;
      var min = (0 | timeMS / 6e4) % 60;
      var h = 0 | timeMS / 36e5;
      return sprintf("%02s", h) + ":" + sprintf("%02s", min) + ":" + sprintf("%02s", s);
    }
    exports.timeString = timeString;
    Utils.timeString = timeString;
    function iteratee(value, context, argCount) {
      if (null == value) return Utils.identity;
      if (isFunction(value)) return createCallback(value, context, argCount);
      if (isObject(value)) return matches(value);
      return property(value);
    }
    Utils.iteratee = iteratee;
    var iterateeFunc = iteratee;
    function each(obj, iteratee, context) {
      if (null == obj) return obj;
      iteratee = createCallback(iteratee, context);
      var i, length = obj.length;
      if (length === +length) for (i = 0; i < length; i++) iteratee(obj[i], i, obj); else {
        var _keys = keys(obj);
        for (i = 0, length = _keys.length; i < length; i++) iteratee(obj[_keys[i]], _keys[i], obj);
      }
      return obj;
    }
    exports.each = each;
    function map(obj, iteratee, context) {
      if (null == obj) return [];
      iteratee = iterateeFunc(iteratee, context);
      var _keys = Array.isArray(obj) ? null : keys(obj), length = (_keys || obj).length, results = Array(length), currentKey;
      for (var index = 0; index < length; index++) {
        currentKey = _keys ? _keys[index] : index;
        results[index] = iteratee(obj[currentKey], currentKey, obj);
      }
      return results;
    }
    exports.map = map;
    function objs(obj, iteratee, context) {
      if (null == obj) return {};
      iteratee = iterateeFunc(iteratee, context);
      var _keys = Array.isArray(obj) ? null : keys(obj), length = (_keys || obj).length, results = {}, currentKey;
      for (var index = 0; index < length; index++) {
        currentKey = _keys ? _keys[index] : index;
        var _a = iteratee(obj[currentKey], currentKey, obj) || [ "", "" ], k = _a[0], v = _a[1];
        k && (results[k] = v);
      }
      return results;
    }
    exports.objs = objs;
    Utils.objs = objs;
    function range(start, stop, step) {
      if (arguments.length <= 1) {
        stop = start || 0;
        start = 0;
      }
      if (start == stop) return [];
      step = step || (start > stop ? -1 : 1);
      var length = Math.max(Math.ceil((stop - start) / step), 0);
      var range = Array(length);
      for (var idx = 0; idx < length; idx++, start += step) range[idx] = start;
      return range;
    }
    exports.range = range;
    Utils.range = range;
    function sleep(timeMS) {
      return __awaiter(this, void 0, Promise, function() {
        var p;
        return __generator(this, function(_a) {
          switch (_a.label) {
           case 0:
            p = new Promise(function(resolve, reject) {
              setTimeout(function() {
                resolve();
              }, timeMS);
            });
            return [ 4, p ];

           case 1:
            return [ 2, _a.sent() ];
          }
        });
      });
    }
    exports.sleep = sleep;
    Utils.sleep = sleep;
    function has(obj, key) {
      if (obj === key) return true;
      if (!obj) return false;
      if (Array.isArray(obj)) {
        for (var _i = 0, obj_1 = obj; _i < obj_1.length; _i++) {
          var v = obj_1[_i];
          if (has(key, v)) return true;
        }
        return false;
      }
      if (Array.isArray(key)) {
        for (var _a = 0, key_1 = key; _a < key_1.length; _a++) {
          var v = key_1[_a];
          if (has(obj, v)) return true;
        }
        return false;
      }
      return "object" == typeof obj && Object.prototype.hasOwnProperty.call(obj, key);
    }
    exports.has = has;
    function values(obj) {
      if (!obj) return [];
      var ret = [];
      for (var f in obj) obj.hasOwnProperty(f) && ret.push(obj[f]);
      return ret;
    }
    exports.values = values;
    Utils.values = values;
    function value(v, d) {
      return void 0 === v ? d : v;
    }
    exports.value = value;
    Utils.value = value;
    function serialize(value, replacer, format) {
      if (!format || "number" == typeof format) return JSON.stringify(value, replacer, format);
      var typeofFormat = typeof format;
      if ("function" == typeofFormat) return format(value);
    }
    exports.serialize = serialize;
    Utils.serialize = serialize;
    function unserialize(text, reviver, format) {
      if (!text || "" == text || "string" != typeof text || "<xml>" == text.slice(0, 5)) return text;
      if (format) {
        var typeofFormat = typeof format;
        if ("function" == typeofFormat) return format(text, reviver);
      } else try {
        return JSON.parse(text, reviver);
      } catch (e) {
        return text;
      }
    }
    exports.unserialize = unserialize;
    Utils.unserialize = unserialize;
    function shuffle(obj, n) {
      var set = obj && obj.length === +obj.length ? obj : values(obj);
      var length = set.length;
      n = n || length;
      n > length && (n = length);
      var shuffled = new Array(n);
      for (var index = 0, r; index < n; index++) {
        r = rand(0, index + 1);
        r !== index && (shuffled[index] = shuffled[r]);
        shuffled[r] = set[index];
      }
      return shuffled;
    }
    exports.shuffle = shuffle;
    Utils.shuffle = shuffle;
    function rand(n, m) {
      if ("object" === typeof n) {
        var nn = void 0;
        nn = Array.isArray(n) ? n : values(n);
        var len = nn.length;
        if (null == m) return nn[0 | Math.random() * len];
        var ret = shuffle(nn);
        return ret.slice(0, m);
      }
      if (isVoid(n)) return 0 | 100 * Math.random();
      m = m || 0;
      return Math.floor(n + Math.random() * (m - n));
    }
    exports.rand = rand;
    Utils.rand = rand;
    function randFloat(n, m) {
      if (n instanceof Array) {
        var len = n.length;
        if (null == m) return n[0 | Math.random() * len];
        var ret = shuffle(n);
        return ret.slice(0, m);
      }
      if (isVoid(n)) return Math.random();
      m = m || 0;
      return n + Math.random() * (m - n);
    }
    exports.randFloat = randFloat;
    Utils.randFloat = randFloat;
    function randDiffent(arrFrom, arrDiffent) {
      var idx = rand(arrFrom.length);
      for (var i = 0; i < arrFrom.length; i++) {
        var item = arrFrom[(i + idx) % arrFrom.length];
        if (arrDiffent.indexOf(item) < 0) return item;
      }
      return null;
    }
    exports.randDiffent = randDiffent;
    Utils.randDiffent = randDiffent;
    function randString(len, opt) {
      void 0 === len && (len = 1);
      void 0 === opt && (opt = {
        uppercase: true,
        lowercase: true,
        number: true,
        symbol: true
      });
      var str = "";
      opt.uppercase && (str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
      opt.lowercase && (str += "bcdefghijklmnopqrstuvwxyz");
      opt.number && (str += "0123456789");
      opt.symbol && (str += "~!@#$%^&*()_+{}|?<>.,;:[]-=");
      len = len || 6;
      var s = "";
      for (var i = 0; i < len; i++) s += str[rand(str.length)];
      return s;
    }
    exports.randString = randString;
    Utils.randString = randString;
    function randText(len, type) {
      void 0 === len && (len = 1);
      if (len <= 0) return "";
      if (type) {
        if ("cn" === type) {
          var i = 0;
          var _str = "";
          var _base = 2e4;
          var _range = 1e3;
          for (var i_2 = 0; i_2 < len; i_2++) if (len > 3 && i_2 === len - 1) _str += "\u3002"; else {
            var c = rand(_range + i_2 > 2 ? 100 : 0);
            if (c >= _range) _str += "\uff0c"; else {
              var _lower = parseInt("" + c);
              _str += String.fromCharCode(_base + _lower);
            }
          }
          return _str;
        }
        if ("en" === type) {
          var _str = "";
          for (var i = 0; i < len; i++) {
            var c = rand(97, i > 3 ? 130 : 123);
            _str += c >= 123 ? " " : String.fromCharCode(c);
          }
          return _str;
        }
        return "" + (len > 1 ? rand(Math.pow(10, len - 1), Math.pow(10, len)) : rand(10));
      }
      return randText(len, rand([ "cn", "en", "number" ]));
    }
    exports.randText = randText;
    Utils.randText = randText;
    function arrayGet(array, idx) {
      if (array) return void 0 === idx ? array[0 | Math.random() * array.length] : idx < 0 ? array[limit(array.length + idx, 0, array.length - 1)] : array[limit(idx, 0, array.length - 1)];
    }
    exports.arrayGet = arrayGet;
    Utils.arrayGet = arrayGet;
    function limit(n, min, max) {
      var typeN = typeof n;
      if ("object" == typeN) {
        var ret = {};
        if (Array.isArray(min)) {
          if (Array.isArray(n)) {
            var r = [];
            for (var _i = 0, n_1 = n; _i < n_1.length; _i++) {
              var v = n_1[_i];
              -1 != min.indexOf(v) && r.push(v);
            }
            return r;
          }
          for (var _a = 0, min_1 = min; _a < min_1.length; _a++) {
            var v = min_1[_a];
            n.hasOwnProperty(v) && (ret[v] = n[v]);
          }
          return ret;
        }
        if ("object" == typeof min) {
          for (var k in n) if (n.hasOwnProperty(k) && min.hasOwnProperty(k)) {
            var v = n[k], typeN_1 = typeof v, typeM = typeof min[k];
            typeN_1 == typeM || "string" == typeM && "number" == typeN_1 ? ret[k] = copy(v) : "number" == typeN_1 && isDate(min[k]) ? ret[k] = newDate(v) : "string" == typeN_1 ? "number" == typeM ? ret[k] = parseNumber(v) : "object" == typeM ? "{" == v[0] && "}" == v[v.length - 1] || "[" == v[0] && "]" == v[v.length - 1] ? ret[k] = unserialize(v) : isDate(min[k]) && (ret[k] = newDate(v)) : "boolean" == typeM && (ret[k] = "" != v && "0" != v && "false" != v) : "string" == typeM && "object" == typeN_1 && (ret[k] = serialize(v));
          }
          return ret;
        }
        return n;
      }
      var typeM = typeof min;
      if ("number" !== typeN) {
        if (typeN === typeM) return n;
        if (isDate(min)) return newDate(n);
        n = 0;
      }
      if ("number" === typeM) {
        n = parseNumber(n);
        if (isNaN(n)) return min;
        void 0 === max && (max = Number.MAX_VALUE);
        if (n < min) return min;
        if (n > max) return max;
        return n;
      }
      return isArray(min) && min.length >= 2 ? limit(n, min[0], min[1]) : isDate(min) ? newDate(n) : n;
    }
    exports.limit = limit;
    Utils.limit = limit;
    function parseNumber(str) {
      var n = Number(str);
      if (isNaN(n)) {
        console.error("----parseNumber isNaN  " + str);
        return 0;
      }
      return n;
    }
    exports.parseNumber = parseNumber;
    Utils.parseNumber = parseNumber;
    function bigNumberString(s, isDecimal) {
      if (Number(s) < 0) return "-" + bigNumberString(-s, isDecimal);
      if (/[^0-9\.]/.test(s.toString())) return "0";
      if (null == s || "" == s) return "0";
      s = s.toString().replace(/^(\d*)$/, "$1.");
      s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
      s = s.replace(".", ",");
      var re = /(\d)(\d{3},)/;
      while (re.test(s)) s = s.replace(re, "$1,$2");
      s = s.replace(/,(\d\d)$/, ".$1");
      if (!isDecimal) {
        var a = s.split(".");
        s = a[0];
      }
      return s;
    }
    exports.bigNumberString = bigNumberString;
    Utils.bigNumberString = bigNumberString;
    function numberFitLength(num, fitLength, isDecimal) {
      void 0 === fitLength && (fitLength = 0);
      void 0 === isDecimal && (isDecimal = false);
      var rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
      var len;
      if (isDecimal) {
        len = num.toFixed(0).length;
        len = len < fitLength ? fitLength - len : 0;
      } else len = 0;
      num = Math.floor(num * Math.pow(10, len)) / Math.pow(10, len);
      return num.toFixed(len).replace(rx, "$1");
    }
    exports.numberFitLength = numberFitLength;
    Utils.numberFitLength = numberFitLength;
    function _bigNumberUnitString(num, si, fitLength, isFixDot, isDecimal) {
      void 0 === fitLength && (fitLength = 0);
      void 0 === isFixDot && (isFixDot = false);
      void 0 === isDecimal && (isDecimal = false);
      var rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
      var i;
      for (i = si.length - 1; i > 0; i--) if (num >= si[i].value) break;
      var v = num / si[i].value;
      var len;
      if (0 !== i || isDecimal) if (isFixDot) {
        len = fitLength;
        v = Math.floor(v * Math.pow(10, len)) / Math.pow(10, len);
      } else {
        var fl = v < 0 ? fitLength + 1 : fitLength;
        len = v.toFixed(0).length;
        len = len < fl ? fl - len : 0;
      } else len = 0;
      return v.toFixed(len).replace(rx, "$1") + si[i].symbol;
    }
    function bigNumberKMGString(num, fitLength, isFixDot, isDecimal) {
      void 0 === fitLength && (fitLength = 0);
      void 0 === isFixDot && (isFixDot = false);
      void 0 === isDecimal && (isDecimal = false);
      var si = [ {
        value: 1,
        symbol: ""
      }, {
        value: 1e3,
        symbol: "K"
      }, {
        value: 1e6,
        symbol: "M"
      }, {
        value: 1e9,
        symbol: "B"
      }, {
        value: 1e12,
        symbol: "T"
      }, {
        value: 1e15,
        symbol: "P"
      }, {
        value: 1e18,
        symbol: "E"
      } ];
      return _bigNumberUnitString(num, si, fitLength, isFixDot, isDecimal);
    }
    exports.bigNumberKMGString = bigNumberKMGString;
    Utils.bigNumberKMGString = bigNumberKMGString;
    function bigNumberUnitString(num, fitLength, isFixDot, isDecimal) {
      void 0 === fitLength && (fitLength = 0);
      void 0 === isFixDot && (isFixDot = false);
      void 0 === isDecimal && (isDecimal = false);
      var si = [ {
        value: 1,
        symbol: ""
      }, {
        value: 1e4,
        symbol: "\u4e07"
      }, {
        value: 1e8,
        symbol: "\u4ebf"
      }, {
        value: 1e12,
        symbol: "\u4e07\u4ebf"
      }, {
        value: 1e16,
        symbol: "\u4e07\u4e07\u4ebf"
      } ];
      return _bigNumberUnitString(num, si, fitLength, isFixDot, isDecimal);
    }
    exports.bigNumberUnitString = bigNumberUnitString;
    Utils.bigNumberUnitString = bigNumberUnitString;
    function bigNumberChineseString(num) {
      if (!/^\d*(\.\d*)?$/.test(num)) {
        cc.error("Number is wrong!");
        return "Number is wrong!";
      }
      var AA = new Array("\u96f6", "\u58f9", "\u8d30", "\u53c1", "\u8086", "\u4f0d", "\u9646", "\u67d2", "\u634c", "\u7396");
      var BB = new Array("", "\u62fe", "\u4f70", "\u4edf", "\u842c", "\u5104", "\u70b9", "");
      var a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
      for (var i = a[0].length - 1; i >= 0; i--) {
        switch (k) {
         case 0:
          re = BB[7] + re;
          break;

         case 4:
          new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]) || (re = BB[4] + re);
          break;

         case 8:
          re = BB[5] + re;
          BB[7] = BB[5];
          k = 0;
        }
        k % 4 == 2 && "0" != a[0].charAt(i + 2) && "0" == a[0].charAt(i + 1) && (re = AA[0] + re);
        "0" != a[0].charAt(i) && (re = AA[a[0].charAt(i)] + BB[k % 4] + re);
        k++;
      }
      if (a.length > 1) {
        re += BB[6];
        for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
      }
      return re;
    }
    exports.bigNumberChineseString = bigNumberChineseString;
    Utils.bigNumberChineseString = bigNumberChineseString;
    function isNaN(obj) {
      return "number" == typeof obj && obj !== +obj;
    }
    exports.isNaN = isNaN;
    Utils.isNaN = isNaN;
    function isDecimal(num) {
      return num % 1 !== 0;
    }
    exports.isDecimal = isDecimal;
    Utils.isNaN = isNaN;
    function incNum(from, to, maxStep, stepMS, stepCallback, controller) {
      void 0 === controller && (controller = {
        shouldStop: false
      });
      return __awaiter(this, void 0, void 0, function() {
        var inc, incStep, i, over, timer;
        return __generator(this, function(_a) {
          switch (_a.label) {
           case 0:
            inc = to - from;
            incStep = inc / maxStep;
            i = 1;
            stepCallback(i === maxStep ? to : from + incStep * i);
            over = function() {
              clearInterval(timer);
              i = maxStep;
              try {
                stepCallback(to);
              } catch (error) {}
            };
            timer = setInterval(function() {
              if (controller.shouldStop) {
                over();
                return;
              }
              i++;
              stepCallback(i === maxStep ? to : from + incStep * i);
            }, stepMS);
            return [ 4, sleep(maxStep * stepMS) ];

           case 1:
            _a.sent();
            over();
            return [ 2 ];
          }
        });
      });
    }
    exports.incNum = incNum;
    function BigWinincNum(from, to, maxStep, stepMS, stepCallback, controller) {
      void 0 === controller && (controller = {
        shouldStop: false
      });
      return __awaiter(this, void 0, void 0, function() {
        var inc, incStep, i;
        return __generator(this, function(_a) {
          switch (_a.label) {
           case 0:
            inc = to - from;
            incStep = inc / maxStep;
            i = 1;
            _a.label = 1;

           case 1:
            if (!(i <= maxStep)) return [ 3, 3 ];
            if (controller.shouldStop) {
              stepCallback(to);
              return [ 2 ];
            }
            stepCallback(i === maxStep ? to : from + incStep * i);
            return [ 4, sleep(stepMS) ];

           case 2:
            _a.sent();
            i++;
            return [ 3, 1 ];

           case 3:
            return [ 2 ];
          }
        });
      });
    }
    exports.BigWinincNum = BigWinincNum;
    Utils.incNum = incNum;
    function createControlObj() {
      var shouldStop = false;
      return {
        get shouldStop() {
          return shouldStop;
        },
        set shouldStop(value) {
          shouldStop = value;
        }
      };
    }
    exports.createControlObj = createControlObj;
    Utils.createControlObj = createControlObj;
    function parsePath(path) {
      var p = path.split(/\/|\\|\//g);
      var file = p[p.length - 1];
      var i = file.lastIndexOf(".");
      i < 0 && (i = file.length);
      return {
        isUrl: "http" === p[0].slice(0, 4),
        paths: p,
        name: file.slice(0, i),
        ext: file.slice(i + 1)
      };
    }
    exports.parsePath = parsePath;
    Utils.parsePath = parsePath;
    function waiting(condition, target, timeoutMS, step) {
      void 0 === timeoutMS && (timeoutMS = 0);
      void 0 === step && (step = 0);
      return __awaiter(this, void 0, void 0, function() {
        var isFunc;
        var _this = this;
        return __generator(this, function(_a) {
          switch (_a.label) {
           case 0:
            if (!isFinite(condition)) return [ 3, 2 ];
            return [ 4, sleep(condition) ];

           case 1:
            return [ 2, _a.sent() ];

           case 2:
            if (!isObject(condition)) return [ 2 ];
            isFunc = isFunction(condition);
            timeoutMS = timeoutMS || 6e6;
            step = step || 100;
            return [ 4, new Promise(function(resolve, reject) {
              return __awaiter(_this, void 0, void 0, function() {
                var t;
                return __generator(this, function(_a) {
                  switch (_a.label) {
                   case 0:
                    t = 0;
                    _a.label = 1;

                   case 1:
                    if (!(t < timeoutMS)) return [ 3, 4 ];
                    if (isFunc) {
                      if (condition.call(target)) return [ 2, resolve(true) ];
                    } else if (condition["ready"] || condition["ok"]) return [ 2, resolve(true) ];
                    return [ 4, sleep(step) ];

                   case 2:
                    _a.sent();
                    _a.label = 3;

                   case 3:
                    t += step;
                    return [ 3, 1 ];

                   case 4:
                    resolve(false);
                    return [ 2 ];
                  }
                });
              });
            }) ];

           case 3:
            return [ 2, _a.sent() ];
          }
        });
      });
    }
    exports.waiting = waiting;
    Utils.waiting = waiting;
    function checkEmail(email) {
      var re = /^[A-Za-z\d]+([-_\.][A-Za-z\d]+)*@([A-Za-z\d]+[-\.])+[A-Za-z\d]{2,4}(,[A-Za-z\d]+([-_\.][A-Za-z\d]+)*@([A-Za-z\d]+[-\.])+[A-Za-z\d]{2,4})*$/;
      return re.test(email);
    }
    exports.checkEmail = checkEmail;
    Utils.checkEmail = checkEmail;
    function checkPassword(pwd) {
      var reg = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,20}$/;
      return reg.test(pwd);
    }
    exports.checkPassword = checkPassword;
    Utils.checkPassword = checkPassword;
    function sprintf(format) {
      var args = [];
      for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
      function str_repeat(i, m) {
        for (var o = []; m > 0; o[--m] = i) ;
        return o.join("");
      }
      var i = 0, a, f = arguments[i++], o = [], m, p, c, x, s = "";
      while (f) {
        if (m = /^[^\x25]+/.exec(f)) o.push(m[0]); else if (m = /^\x25{2}/.exec(f)) o.push("%"); else {
          if (!(m = /^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f))) {
            console.error("---sprintf err Huh ?! ", format, args);
            console.error("Huh ?!");
            return format;
          }
          if (null == (a = arguments[m[1] || i++]) || void 0 == a) {
            console.error("---sprintf err Too few arguments. ", format, args);
            return format;
          }
          var ta = typeof a;
          if (/[^s]/.test(m[7]) && "number" != ta) {
            if ("string" !== ta || isNaN(Number(a))) {
              console.error("---sprintf err Too few arguments. ", format, args);
              console.error("Expecting number but found " + typeof a);
              return format;
            }
            a = Number(a);
          }
          switch (m[7]) {
           case "b":
            a = a.toString(2);
            break;

           case "c":
            a = String.fromCharCode(a);
            break;

           case "d":
            a = parseInt(a);
            break;

           case "e":
            a = m[6] ? a.toExponential(m[6]) : a.toExponential();
            break;

           case "f":
            a = m[6] ? parseFloat(a).toFixed(m[6]) : parseFloat(a);
            break;

           case "o":
            a = a.toString(8);
            break;

           case "s":
            a = (a = String(a)) && m[6] ? a.substring(0, m[6]) : a;
            break;

           case "u":
            a = Math.abs(a);
            break;

           case "x":
            a = a.toString(16);
            break;

           case "X":
            a = a.toString(16).toUpperCase();
          }
          a = /[def]/.test(m[7]) && m[2] && a >= 0 ? "+" + a : a;
          c = m[3] ? "0" == m[3] ? "0" : m[3].charAt(1) : " ";
          x = m[5] - String(a).length - s.length;
          p = m[5] ? str_repeat(c, x) : "";
          o.push(s + (m[4] ? a + p : p + a));
        }
        f = f.substring(m[0].length);
      }
      return o.join("");
    }
    exports.sprintf = sprintf;
    Utils.sprintf = sprintf;
    function sortPaths(paths) {
      paths.sort(function(a, b) {
        for (var i = 0; i < a.length; i++) if (a[i] !== b[i]) {
          a = a.slice(i);
          b = b.slice(i);
          break;
        }
        var d = parseInt(a) - parseInt(b);
        return d > 0 ? 1 : d < 0 ? -1 : a === b ? 0 : a > b ? 1 : -1;
      });
      return paths;
    }
    exports.sortPaths = sortPaths;
    Utils.sortPaths = sortPaths;
    function equals(a, b, epsilon) {
      void 0 === epsilon && (epsilon = 1e-5);
      return Math.abs(a - b) < epsilon;
    }
    exports.equals = equals;
    Utils.equals = equals;
    function swap(array, indexA, indexB) {
      var temp = array[indexA];
      array[indexA] = array[indexB];
      array[indexB] = temp;
    }
    exports.swap = swap;
    Utils.swap = swap;
    function moveNodeToOtherNodePos(nodeToMove, targetNode, durationInSeconds, canTargetNodeMove) {
      return __awaiter(this, void 0, void 0, function() {
        var targetPos, currentTime, deltaTime, endTime, remainingTime;
        return __generator(this, function(_a) {
          switch (_a.label) {
           case 0:
            targetPos = nodeToMove.parent.convertToNodeSpaceAR(targetNode.convertToWorldSpaceAR(targetNode.position));
            currentTime = Date.now();
            deltaTime = 20;
            endTime = currentTime + 1e3 * durationInSeconds;
            _a.label = 1;

           case 1:
            if (!(currentTime < endTime)) return [ 3, 3 ];
            canTargetNodeMove && (targetPos = nodeToMove.parent.convertToNodeSpaceAR(targetNode.convertToWorldSpaceAR(targetNode.position)));
            remainingTime = endTime - currentTime;
            nodeToMove.position = new cc.Vec3(nodeToMove.position.x + (targetPos.x - nodeToMove.position.x) / remainingTime * deltaTime, nodeToMove.position.y + (targetPos.y - nodeToMove.position.y) / remainingTime * deltaTime, nodeToMove.position.z + (targetPos.z - nodeToMove.position.z) / remainingTime * deltaTime);
            currentTime += deltaTime;
            return [ 4, sleep(deltaTime) ];

           case 2:
            _a.sent();
            return [ 3, 1 ];

           case 3:
            nodeToMove.position = targetPos;
            return [ 2 ];
          }
        });
      });
    }
    exports.moveNodeToOtherNodePos = moveNodeToOtherNodePos;
    Utils.moveNodeToOtherNodePos = moveNodeToOtherNodePos;
    cc._RF.pop();
  }, {} ],
  "PPPB-winState": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "a0978ZdxBpDT49XjNvxIdDc", "PPPB-winState");
    "use strict";
    var __extends = this && this.__extends || function() {
      var extendStatics = function(d, b) {
        extendStatics = Object.setPrototypeOf || {
          __proto__: []
        } instanceof Array && function(d, b) {
          d.__proto__ = b;
        } || function(d, b) {
          for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p]);
        };
        return extendStatics(d, b);
      };
      return function(d, b) {
        extendStatics(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
      function adopt(value) {
        return value instanceof P ? value : new P(function(resolve) {
          resolve(value);
        });
      }
      return new (P || (P = Promise))(function(resolve, reject) {
        function fulfilled(value) {
          try {
            step(generator.next(value));
          } catch (e) {
            reject(e);
          }
        }
        function rejected(value) {
          try {
            step(generator["throw"](value));
          } catch (e) {
            reject(e);
          }
        }
        function step(result) {
          result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator = this && this.__generator || function(thisArg, body) {
      var _ = {
        label: 0,
        sent: function() {
          if (1 & t[0]) throw t[1];
          return t[1];
        },
        trys: [],
        ops: []
      }, f, y, t, g;
      return g = {
        next: verb(0),
        throw: verb(1),
        return: verb(2)
      }, "function" === typeof Symbol && (g[Symbol.iterator] = function() {
        return this;
      }), g;
      function verb(n) {
        return function(v) {
          return step([ n, v ]);
        };
      }
      function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
          if (f = 1, y && (t = 2 & op[0] ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 
          0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          (y = 0, t) && (op = [ 2 & op[0], t.value ]);
          switch (op[0]) {
           case 0:
           case 1:
            t = op;
            break;

           case 4:
            _.label++;
            return {
              value: op[1],
              done: false
            };

           case 5:
            _.label++;
            y = op[1];
            op = [ 0 ];
            continue;

           case 7:
            op = _.ops.pop();
            _.trys.pop();
            continue;

           default:
            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
              _ = 0;
              continue;
            }
            if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
              _.label = op[1];
              break;
            }
            if (6 === op[0] && _.label < t[1]) {
              _.label = t[1];
              t = op;
              break;
            }
            if (t && _.label < t[2]) {
              _.label = t[2];
              _.ops.push(op);
              break;
            }
            t[2] && _.ops.pop();
            _.trys.pop();
            continue;
          }
          op = body.call(thisArg, _);
        } catch (e) {
          op = [ 6, e ];
          y = 0;
        } finally {
          f = t = 0;
        }
        if (5 & op[0]) throw op[1];
        return {
          value: op[0] ? op[1] : void 0,
          done: true
        };
      }
    };
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.winState = void 0;
    var PPPB_event_1 = require("../../../../framework/PPPB-event");
    var PPPB_lib_1 = require("../../../../framework/PPPB-lib");
    var PPPB_quick_1 = require("../../../../common/PPPB-quick");
    var PPPB_State_1 = require("../PPPB-State");
    var PPPB_Algorithm_1 = require("../../PPPB-Algorithm");
    var PPPB_bet_1 = require("../../../../common/ui/bottomUI/PPPB-bet");
    var PPPB_ui_1 = require("../../../../framework-cocos/PPPB-ui");
    var SYMBOL_SFX_MAP = {
      6: "SymbolMoose",
      7: "SymbolWolf",
      8: "SymbolPanther",
      9: "SymbolEagle",
      10: "SymbolBuffalo"
    };
    var winState = function(_super) {
      __extends(winState, _super);
      function winState() {
        return null !== _super && _super.apply(this, arguments) || this;
      }
      winState.prototype.work = function(w) {
        return __awaiter(this, void 0, void 0, function() {
          var haveBox, ls, prevTotalWinGold, prevWinGold, currWinGold, winCardCounts, winCardPos, x, i, c, key, cardCount, odds, win, _loop_1, card, key, e, c, ps, key, e, c, newMultiplierCount, _a, _b, _c, _d, _i, key, e, c, _e, _f, ways;
          return __generator(this, function(_g) {
            switch (_g.label) {
             case 0:
              console.log("------------win-----------------");
              w.updateCardValues();
              PPPB_quick_1.ks.UnregisterSFXLimit();
              PPPB_event_1.Events.publish("update", "gameMessage", "", "");
              PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              if (!PPPB_lib_1._.size(w.disappearCards)) return [ 3, 13 ];
              w.isInitFreeWins && (w.isInitFreeWins = false);
              w.curSpinCount++;
              haveBox = 0;
              ls = [];
              prevTotalWinGold = w.curTotalWinGold;
              w.curTotalWinGold += w.lastWinGolds;
              prevWinGold = w.data.totalWinGold - w.data.winGold;
              currWinGold = w.data.totalWinGold;
              PPPB_event_1.Events.publish("roll", "gameWinnings", "", prevWinGold, currWinGold, 1);
              if (w.isScattering) {
                PPPB_event_1.Events.publish("hide", "topTips", "");
                PPPB_event_1.Events.publish("roll", "tumbleWin", "", prevTotalWinGold, w.curTotalWinGold, 1);
              }
              w.mul > 1 && PPPB_event_1.Events.publish("show", "multiplier", "", w.mul);
              winCardCounts = {};
              winCardPos = {};
              for (x in w.disappearCards) for (i = 0; i < w.disappearCards[x].length; ++i) {
                c = {
                  x: Number(x),
                  y: w.disappearCards[x][i]
                };
                if (!winCardCounts[w.lastCards[c.x][c.y]]) {
                  winCardCounts[w.lastCards[c.x][c.y]] = 0;
                  winCardPos[w.lastCards[c.x][c.y]] = [];
                }
                ++winCardCounts[w.lastCards[c.x][c.y]];
                winCardPos[w.lastCards[c.x][c.y]].push({
                  x: c.x,
                  y: c.y
                });
              }
              if (1 == PPPB_lib_1._.keys(winCardCounts).length) {
                key = PPPB_lib_1._.keys(winCardCounts)[0];
                cardCount = winCardCounts[key];
                odds = PPPB_Algorithm_1.aal.sup.getOdds(Number(key), winCardCounts[key]);
                win = PPPB_bet_1.default.betSize * PPPB_bet_1.default.betMul * odds;
                PPPB_event_1.Events.publish("update", "payoutMessage", "", key, cardCount, win);
                PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              } else {
                PPPB_event_1.Events.publish("update", "payoutMessage", "", -1, 0, 0);
                PPPB_event_1.Events.publish("update", "gameSubMessage", "", "label_mobile.WINNER");
              }
              _loop_1 = function(card) {
                var odds = PPPB_Algorithm_1.aal.sup.getOdds(Number(card), winCardCounts[card]);
                var win = PPPB_bet_1.default.betSize * PPPB_bet_1.default.betMul * odds;
                PPPB_event_1.Events.publish("add", "winList", "", {
                  card: card,
                  winAmount: win,
                  count: winCardCounts[card]
                });
                var center = {
                  r: 2.5,
                  c: 3
                };
                var x = 0, y = 0;
                var positions = winCardPos[card];
                for (var i = 0; i < positions.length; ++i) {
                  var a = Math.abs(positions[i].x - center.r) + Math.abs(positions[i].y - center.c);
                  var b = Math.abs(x - center.r) + Math.abs(y - center.c);
                  if (a < b) {
                    x = positions[i].x;
                    y = positions[i].y;
                  }
                }
                var pos = PPPB_ui_1.ui.getWorldPos(w.cardlistlist2[x].activeCards[y].node);
                PPPB_lib_1._.sleep(800).then(function() {
                  return PPPB_event_1.Events.publish("display", "gameBoardWinAmount", "", win, pos);
                });
              };
              for (card in winCardCounts) _loop_1(card);
              if (!!w.isTurboActive()) return [ 3, 2 ];
              for (key in w.disappearCards) if (Object.prototype.hasOwnProperty.call(w.disappearCards, key)) {
                e = w.disappearCards[key];
                c = Number(key);
                -1 == c || ls.push(w.cardlistlist2[c].highlightWin(e));
              }
              return [ 4, Promise.all(ls) ];

             case 1:
              _g.sent();
              _g.label = 2;

             case 2:
              if (w.isScattering && w.curSpinCount > 0) {
                PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
                w.isShowingGamePaidMessage = false;
              }
              PPPB_event_1.Events.publish("update", "payoutMessage", "", -1, 0, 0);
              PPPB_event_1.Events.publish("update", "gameSubMessage", "", "");
              w.isShowingGamePaidMessage = false;
              if (!w.lastWinGolds) return [ 3, 12 ];
              w.mul > 1 && PPPB_event_1.Events.publish("hide", "multiplier", "");
              ps = [];
              for (key in w.disappearCards) if (Object.prototype.hasOwnProperty.call(w.disappearCards, key)) {
                e = w.disappearCards[key];
                c = Number(key);
                -1 == c || ps.push(w.cardlistlist2[c].disappear(e));
              }
              PPPB_event_1.Events.publish("game", "black", "", true);
              PPPB_lib_1._.sleep(150).then(function() {
                var explodeString = 10 != w.curWinCount ? "0" + w.curWinCount.toString() : "10";
                w.isCardSfxActive && PPPB_quick_1.ks.playEffectSound("TileExplode" + explodeString + "_PB");
                w.curWinCount++;
                w.curWinCount > 10 && (w.curWinCount = 1);
              });
              return [ 4, Promise.all(ps) ];

             case 3:
              _g.sent();
              newMultiplierCount = w.GetMultipliersCount();
              if (newMultiplierCount > w.curMultiplierCount) {
                w.curMultiplierCount = newMultiplierCount;
                PPPB_event_1.Events.publish("prepare", "lightning", "");
              }
              _b = (_a = ps).push;
              return [ 4, w.CheckJustScatter() ];

             case 4:
              _b.apply(_a, [ _g.sent() ]);
              PPPB_event_1.Events.publish("game", "black", "", false);
              _c = [];
              for (_d in w.disappearCards) _c.push(_d);
              _i = 0;
              _g.label = 5;

             case 5:
              if (!(_i < _c.length)) return [ 3, 9 ];
              key = _c[_i];
              if (!Object.prototype.hasOwnProperty.call(w.disappearCards, key)) return [ 3, 8 ];
              e = w.disappearCards[key];
              c = Number(key);
              if (!(-1 == c)) return [ 3, 6 ];
              return [ 3, 8 ];

             case 6:
              ps.push(w.cardlistlist2[c].fallin(e));
              _f = (_e = ps).push;
              return [ 4, PPPB_lib_1._.sleep(100) ];

             case 7:
              _f.apply(_e, [ _g.sent() ]);
              _g.label = 8;

             case 8:
              _i++;
              return [ 3, 5 ];

             case 9:
              return [ 4, Promise.all(ps) ];

             case 10:
              _g.sent();
              w.isCardSfxActive && PPPB_quick_1.ks.playEffectSound("TileDrop_PB");
              return [ 4, PPPB_lib_1._.sleep(500) ];

             case 11:
              _g.sent();
              _g.label = 12;

             case 12:
              ways = this.getWays(w);
              PPPB_event_1.Events.publish("game", "ways", "", ways.reduce(function(acc, cur) {
                return acc * cur;
              }, 1));
              _g.label = 13;

             case 13:
              w.setDisappearCards();
              return [ 2 ];
            }
          });
        });
      };
      return winState;
    }(PPPB_State_1.State);
    exports.winState = winState;
    cc._RF.pop();
  }, {
    "../../../../common/PPPB-quick": "PPPB-quick",
    "../../../../common/ui/bottomUI/PPPB-bet": "PPPB-bet",
    "../../../../framework-cocos/PPPB-ui": "PPPB-ui",
    "../../../../framework/PPPB-event": "PPPB-event",
    "../../../../framework/PPPB-lib": "PPPB-lib",
    "../../PPPB-Algorithm": "PPPB-Algorithm",
    "../PPPB-State": "PPPB-State"
  } ],
  "pako.min": [ function(require, module, exports) {
    "use strict";
    cc._RF.push(module, "8e9bc8b45xFV49Yt7jfbXHT", "pako.min");
    "use strict";
    !function(t, e) {
      "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define([ "exports" ], e) : e((t = "undefined" != typeof globalThis ? globalThis : t || self).pako = {});
    }(void 0, function(t) {
      function e(t) {
        var e = t.length;
        for (;--e >= 0; ) t[e] = 0;
      }
      var a = 256, i = 286, n = 30, s = 15, r = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 ]), l = new Uint8Array([ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ]), o = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7 ]), h = new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]), d = new Array(576);
      e(d);
      var _ = new Array(60);
      e(_);
      var f = new Array(512);
      e(f);
      var c = new Array(256);
      e(c);
      var u = new Array(29);
      e(u);
      var w = new Array(n);
      function b(t, e, a, i, n) {
        this.static_tree = t, this.extra_bits = e, this.extra_base = a, this.elems = i, 
        this.max_length = n, this.has_stree = t && t.length;
      }
      var g, p, m;
      function k(t, e) {
        this.dyn_tree = t, this.max_code = 0, this.stat_desc = e;
      }
      e(w);
      var v = function v(t) {
        return t < 256 ? f[t] : f[256 + (t >>> 7)];
      }, y = function y(t, e) {
        t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255;
      }, x = function x(t, e, a) {
        t.bi_valid > 16 - a ? (t.bi_buf |= e << t.bi_valid & 65535, y(t, t.bi_buf), t.bi_buf = e >> 16 - t.bi_valid, 
        t.bi_valid += a - 16) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += a);
      }, z = function z(t, e, a) {
        x(t, a[2 * e], a[2 * e + 1]);
      }, A = function A(t, e) {
        var a = 0;
        do {
          a |= 1 & t, t >>>= 1, a <<= 1;
        } while (--e > 0);
        return a >>> 1;
      }, E = function E(t, e, a) {
        var i = new Array(16);
        var n, r, l = 0;
        for (n = 1; n <= s; n++) i[n] = l = l + a[n - 1] << 1;
        for (r = 0; r <= e; r++) {
          var _e2 = t[2 * r + 1];
          0 !== _e2 && (t[2 * r] = A(i[_e2]++, _e2));
        }
      }, R = function R(t) {
        var e;
        for (e = 0; e < i; e++) t.dyn_ltree[2 * e] = 0;
        for (e = 0; e < n; e++) t.dyn_dtree[2 * e] = 0;
        for (e = 0; e < 19; e++) t.bl_tree[2 * e] = 0;
        t.dyn_ltree[512] = 1, t.opt_len = t.static_len = 0, t.last_lit = t.matches = 0;
      }, Z = function Z(t) {
        t.bi_valid > 8 ? y(t, t.bi_buf) : t.bi_valid > 0 && (t.pending_buf[t.pending++] = t.bi_buf), 
        t.bi_buf = 0, t.bi_valid = 0;
      }, U = function U(t, e, a, i) {
        var n = 2 * e, s = 2 * a;
        return t[n] < t[s] || t[n] === t[s] && i[e] <= i[a];
      }, S = function S(t, e, a) {
        var i = t.heap[a];
        var n = a << 1;
        for (;n <= t.heap_len && (n < t.heap_len && U(e, t.heap[n + 1], t.heap[n], t.depth) && n++, 
        !U(e, i, t.heap[n], t.depth)); ) t.heap[a] = t.heap[n], a = n, n <<= 1;
        t.heap[a] = i;
      }, D = function D(t, e, i) {
        var n, s, o, h, d = 0;
        if (0 !== t.last_lit) do {
          n = t.pending_buf[t.d_buf + 2 * d] << 8 | t.pending_buf[t.d_buf + 2 * d + 1], s = t.pending_buf[t.l_buf + d], 
          d++, 0 === n ? z(t, s, e) : (o = c[s], z(t, o + a + 1, e), h = r[o], 0 !== h && (s -= u[o], 
          x(t, s, h)), n--, o = v(n), z(t, o, i), h = l[o], 0 !== h && (n -= w[o], x(t, n, h)));
        } while (d < t.last_lit);
        z(t, 256, e);
      }, T = function T(t, e) {
        var a = e.dyn_tree, i = e.stat_desc.static_tree, n = e.stat_desc.has_stree, r = e.stat_desc.elems;
        var l, o, h, d = -1;
        for (t.heap_len = 0, t.heap_max = 573, l = 0; l < r; l++) 0 !== a[2 * l] ? (t.heap[++t.heap_len] = d = l, 
        t.depth[l] = 0) : a[2 * l + 1] = 0;
        for (;t.heap_len < 2; ) h = t.heap[++t.heap_len] = d < 2 ? ++d : 0, a[2 * h] = 1, 
        t.depth[h] = 0, t.opt_len--, n && (t.static_len -= i[2 * h + 1]);
        for (e.max_code = d, l = t.heap_len >> 1; l >= 1; l--) S(t, a, l);
        h = r;
        do {
          l = t.heap[1], t.heap[1] = t.heap[t.heap_len--], S(t, a, 1), o = t.heap[1], t.heap[--t.heap_max] = l, 
          t.heap[--t.heap_max] = o, a[2 * h] = a[2 * l] + a[2 * o], t.depth[h] = (t.depth[l] >= t.depth[o] ? t.depth[l] : t.depth[o]) + 1, 
          a[2 * l + 1] = a[2 * o + 1] = h, t.heap[1] = h++, S(t, a, 1);
        } while (t.heap_len >= 2);
        t.heap[--t.heap_max] = t.heap[1], function(t, e) {
          var a = e.dyn_tree, i = e.max_code, n = e.stat_desc.static_tree, r = e.stat_desc.has_stree, l = e.stat_desc.extra_bits, o = e.stat_desc.extra_base, h = e.stat_desc.max_length;
          var d, _, f, c, u, w, b = 0;
          for (c = 0; c <= s; c++) t.bl_count[c] = 0;
          for (a[2 * t.heap[t.heap_max] + 1] = 0, d = t.heap_max + 1; d < 573; d++) _ = t.heap[d], 
          c = a[2 * a[2 * _ + 1] + 1] + 1, c > h && (c = h, b++), a[2 * _ + 1] = c, _ > i || (t.bl_count[c]++, 
          u = 0, _ >= o && (u = l[_ - o]), w = a[2 * _], t.opt_len += w * (c + u), r && (t.static_len += w * (n[2 * _ + 1] + u)));
          if (0 !== b) {
            do {
              for (c = h - 1; 0 === t.bl_count[c]; ) c--;
              t.bl_count[c]--, t.bl_count[c + 1] += 2, t.bl_count[h]--, b -= 2;
            } while (b > 0);
            for (c = h; 0 !== c; c--) for (_ = t.bl_count[c]; 0 !== _; ) f = t.heap[--d], f > i || (a[2 * f + 1] !== c && (t.opt_len += (c - a[2 * f + 1]) * a[2 * f], 
            a[2 * f + 1] = c), _--);
          }
        }(t, e), E(a, d, t.bl_count);
      }, O = function O(t, e, a) {
        var i, n, s = -1, r = e[1], l = 0, o = 7, h = 4;
        for (0 === r && (o = 138, h = 3), e[2 * (a + 1) + 1] = 65535, i = 0; i <= a; i++) n = r, 
        r = e[2 * (i + 1) + 1], ++l < o && n === r || (l < h ? t.bl_tree[2 * n] += l : 0 !== n ? (n !== s && t.bl_tree[2 * n]++, 
        t.bl_tree[32]++) : l <= 10 ? t.bl_tree[34]++ : t.bl_tree[36]++, l = 0, s = n, 0 === r ? (o = 138, 
        h = 3) : n === r ? (o = 6, h = 3) : (o = 7, h = 4));
      }, I = function I(t, e, a) {
        var i, n, s = -1, r = e[1], l = 0, o = 7, h = 4;
        for (0 === r && (o = 138, h = 3), i = 0; i <= a; i++) if (n = r, r = e[2 * (i + 1) + 1], 
        !(++l < o && n === r)) {
          if (l < h) do {
            z(t, n, t.bl_tree);
          } while (0 != --l); else 0 !== n ? (n !== s && (z(t, n, t.bl_tree), l--), z(t, 16, t.bl_tree), 
          x(t, l - 3, 2)) : l <= 10 ? (z(t, 17, t.bl_tree), x(t, l - 3, 3)) : (z(t, 18, t.bl_tree), 
          x(t, l - 11, 7));
          l = 0, s = n, 0 === r ? (o = 138, h = 3) : n === r ? (o = 6, h = 3) : (o = 7, h = 4);
        }
      };
      var F = !1;
      var L = function L(t, e, a, i) {
        x(t, 0 + (i ? 1 : 0), 3), function(t, e, a, i) {
          Z(t), i && (y(t, a), y(t, ~a)), t.pending_buf.set(t.window.subarray(e, e + a), t.pending), 
          t.pending += a;
        }(t, e, a, !0);
      };
      var N = {
        _tr_init: function _tr_init(t) {
          F || (function() {
            var t, e, a, h, k;
            var v = new Array(16);
            for (a = 0, h = 0; h < 28; h++) for (u[h] = a, t = 0; t < 1 << r[h]; t++) c[a++] = h;
            for (c[a - 1] = h, k = 0, h = 0; h < 16; h++) for (w[h] = k, t = 0; t < 1 << l[h]; t++) f[k++] = h;
            for (k >>= 7; h < n; h++) for (w[h] = k << 7, t = 0; t < 1 << l[h] - 7; t++) f[256 + k++] = h;
            for (e = 0; e <= s; e++) v[e] = 0;
            for (t = 0; t <= 143; ) d[2 * t + 1] = 8, t++, v[8]++;
            for (;t <= 255; ) d[2 * t + 1] = 9, t++, v[9]++;
            for (;t <= 279; ) d[2 * t + 1] = 7, t++, v[7]++;
            for (;t <= 287; ) d[2 * t + 1] = 8, t++, v[8]++;
            for (E(d, 287, v), t = 0; t < n; t++) _[2 * t + 1] = 5, _[2 * t] = A(t, 5);
            g = new b(d, r, 257, i, s), p = new b(_, l, 0, n, s), m = new b(new Array(0), o, 0, 19, 7);
          }(), F = !0), t.l_desc = new k(t.dyn_ltree, g), t.d_desc = new k(t.dyn_dtree, p), 
          t.bl_desc = new k(t.bl_tree, m), t.bi_buf = 0, t.bi_valid = 0, R(t);
        },
        _tr_stored_block: L,
        _tr_flush_block: function _tr_flush_block(t, e, i, n) {
          var s, r, l = 0;
          t.level > 0 ? (2 === t.strm.data_type && (t.strm.data_type = function(t) {
            var e, i = 4093624447;
            for (e = 0; e <= 31; e++, i >>>= 1) if (1 & i && 0 !== t.dyn_ltree[2 * e]) return 0;
            if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return 1;
            for (e = 32; e < a; e++) if (0 !== t.dyn_ltree[2 * e]) return 1;
            return 0;
          }(t)), T(t, t.l_desc), T(t, t.d_desc), l = function(t) {
            var e;
            for (O(t, t.dyn_ltree, t.l_desc.max_code), O(t, t.dyn_dtree, t.d_desc.max_code), 
            T(t, t.bl_desc), e = 18; e >= 3 && 0 === t.bl_tree[2 * h[e] + 1]; e--) ;
            return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e;
          }(t), s = t.opt_len + 3 + 7 >>> 3, r = t.static_len + 3 + 7 >>> 3, r <= s && (s = r)) : s = r = i + 5, 
          i + 4 <= s && -1 !== e ? L(t, e, i, n) : 4 === t.strategy || r === s ? (x(t, 2 + (n ? 1 : 0), 3), 
          D(t, d, _)) : (x(t, 4 + (n ? 1 : 0), 3), function(t, e, a, i) {
            var n;
            for (x(t, e - 257, 5), x(t, a - 1, 5), x(t, i - 4, 4), n = 0; n < i; n++) x(t, t.bl_tree[2 * h[n] + 1], 3);
            I(t, t.dyn_ltree, e - 1), I(t, t.dyn_dtree, a - 1);
          }(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, l + 1), D(t, t.dyn_ltree, t.dyn_dtree)), 
          R(t), n && Z(t);
        },
        _tr_tally: function _tr_tally(t, e, i) {
          return t.pending_buf[t.d_buf + 2 * t.last_lit] = e >>> 8 & 255, t.pending_buf[t.d_buf + 2 * t.last_lit + 1] = 255 & e, 
          t.pending_buf[t.l_buf + t.last_lit] = 255 & i, t.last_lit++, 0 === e ? t.dyn_ltree[2 * i]++ : (t.matches++, 
          e--, t.dyn_ltree[2 * (c[i] + a + 1)]++, t.dyn_dtree[2 * v(e)]++), t.last_lit === t.lit_bufsize - 1;
        },
        _tr_align: function _tr_align(t) {
          x(t, 2, 3), z(t, 256, d), function(t) {
            16 === t.bi_valid ? (y(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : t.bi_valid >= 8 && (t.pending_buf[t.pending++] = 255 & t.bi_buf, 
            t.bi_buf >>= 8, t.bi_valid -= 8);
          }(t);
        }
      };
      var B = function B(t, e, a, i) {
        var n = 65535 & t | 0, s = t >>> 16 & 65535 | 0, r = 0;
        for (;0 !== a; ) {
          r = a > 2e3 ? 2e3 : a, a -= r;
          do {
            n = n + e[i++] | 0, s = s + n | 0;
          } while (--r);
          n %= 65521, s %= 65521;
        }
        return n | s << 16 | 0;
      };
      var C = new Uint32Array(function() {
        var t, e = [];
        for (var a = 0; a < 256; a++) {
          t = a;
          for (var i = 0; i < 8; i++) t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1;
          e[a] = t;
        }
        return e;
      }());
      var M = function M(t, e, a, i) {
        var n = C, s = i + a;
        t ^= -1;
        for (var _a2 = i; _a2 < s; _a2++) t = t >>> 8 ^ n[255 & (t ^ e[_a2])];
        return -1 ^ t;
      }, H = {
        2: "need dictionary",
        1: "stream end",
        0: "",
        "-1": "file error",
        "-2": "stream error",
        "-3": "data error",
        "-4": "insufficient memory",
        "-5": "buffer error",
        "-6": "incompatible version"
      }, j = {
        Z_NO_FLUSH: 0,
        Z_PARTIAL_FLUSH: 1,
        Z_SYNC_FLUSH: 2,
        Z_FULL_FLUSH: 3,
        Z_FINISH: 4,
        Z_BLOCK: 5,
        Z_TREES: 6,
        Z_OK: 0,
        Z_STREAM_END: 1,
        Z_NEED_DICT: 2,
        Z_ERRNO: -1,
        Z_STREAM_ERROR: -2,
        Z_DATA_ERROR: -3,
        Z_MEM_ERROR: -4,
        Z_BUF_ERROR: -5,
        Z_NO_COMPRESSION: 0,
        Z_BEST_SPEED: 1,
        Z_BEST_COMPRESSION: 9,
        Z_DEFAULT_COMPRESSION: -1,
        Z_FILTERED: 1,
        Z_HUFFMAN_ONLY: 2,
        Z_RLE: 3,
        Z_FIXED: 4,
        Z_DEFAULT_STRATEGY: 0,
        Z_BINARY: 0,
        Z_TEXT: 1,
        Z_UNKNOWN: 2,
        Z_DEFLATED: 8
      };
      var K = N._tr_init, P = N._tr_stored_block, Y = N._tr_flush_block, G = N._tr_tally, X = N._tr_align, W = j.Z_NO_FLUSH, q = j.Z_PARTIAL_FLUSH, J = j.Z_FULL_FLUSH, Q = j.Z_FINISH, V = j.Z_BLOCK, $ = j.Z_OK, tt = j.Z_STREAM_END, et = j.Z_STREAM_ERROR, at = j.Z_DATA_ERROR, it = j.Z_BUF_ERROR, nt = j.Z_DEFAULT_COMPRESSION, st = j.Z_FILTERED, rt = j.Z_HUFFMAN_ONLY, lt = j.Z_RLE, ot = j.Z_FIXED, ht = j.Z_DEFAULT_STRATEGY, dt = j.Z_UNKNOWN, _t = j.Z_DEFLATED, ft = 258, ct = 262, ut = 103, wt = 113, bt = 666, gt = function gt(t, e) {
        return t.msg = H[e], e;
      }, pt = function pt(t) {
        return (t << 1) - (t > 4 ? 9 : 0);
      }, mt = function mt(t) {
        var e = t.length;
        for (;--e >= 0; ) t[e] = 0;
      };
      var kt = function kt(t, e, a) {
        return (e << t.hash_shift ^ a) & t.hash_mask;
      };
      var vt = function vt(t) {
        var e = t.state;
        var a = e.pending;
        a > t.avail_out && (a = t.avail_out), 0 !== a && (t.output.set(e.pending_buf.subarray(e.pending_out, e.pending_out + a), t.next_out), 
        t.next_out += a, e.pending_out += a, t.total_out += a, t.avail_out -= a, e.pending -= a, 
        0 === e.pending && (e.pending_out = 0));
      }, yt = function yt(t, e) {
        Y(t, t.block_start >= 0 ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, 
        vt(t.strm);
      }, xt = function xt(t, e) {
        t.pending_buf[t.pending++] = e;
      }, zt = function zt(t, e) {
        t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e;
      }, At = function At(t, e, a, i) {
        var n = t.avail_in;
        return n > i && (n = i), 0 === n ? 0 : (t.avail_in -= n, e.set(t.input.subarray(t.next_in, t.next_in + n), a), 
        1 === t.state.wrap ? t.adler = B(t.adler, e, n, a) : 2 === t.state.wrap && (t.adler = M(t.adler, e, n, a)), 
        t.next_in += n, t.total_in += n, n);
      }, Et = function Et(t, e) {
        var a, i, n = t.max_chain_length, s = t.strstart, r = t.prev_length, l = t.nice_match;
        var o = t.strstart > t.w_size - ct ? t.strstart - (t.w_size - ct) : 0, h = t.window, d = t.w_mask, _ = t.prev, f = t.strstart + ft;
        var c = h[s + r - 1], u = h[s + r];
        t.prev_length >= t.good_match && (n >>= 2), l > t.lookahead && (l = t.lookahead);
        do {
          if (a = e, h[a + r] === u && h[a + r - 1] === c && h[a] === h[s] && h[++a] === h[s + 1]) {
            s += 2, a++;
            do {} while (h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && s < f);
            if (i = ft - (f - s), s = f - ft, i > r) {
              if (t.match_start = e, r = i, i >= l) break;
              c = h[s + r - 1], u = h[s + r];
            }
          }
        } while ((e = _[e & d]) > o && 0 != --n);
        return r <= t.lookahead ? r : t.lookahead;
      }, Rt = function Rt(t) {
        var e = t.w_size;
        var a, i, n, s, r;
        do {
          if (s = t.window_size - t.lookahead - t.strstart, t.strstart >= e + (e - ct)) {
            t.window.set(t.window.subarray(e, e + e), 0), t.match_start -= e, t.strstart -= e, 
            t.block_start -= e, i = t.hash_size, a = i;
            do {
              n = t.head[--a], t.head[a] = n >= e ? n - e : 0;
            } while (--i);
            i = e, a = i;
            do {
              n = t.prev[--a], t.prev[a] = n >= e ? n - e : 0;
            } while (--i);
            s += e;
          }
          if (0 === t.strm.avail_in) break;
          if (i = At(t.strm, t.window, t.strstart + t.lookahead, s), t.lookahead += i, t.lookahead + t.insert >= 3) for (r = t.strstart - t.insert, 
          t.ins_h = t.window[r], t.ins_h = kt(t, t.ins_h, t.window[r + 1]); t.insert && (t.ins_h = kt(t, t.ins_h, t.window[r + 3 - 1]), 
          t.prev[r & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = r, r++, t.insert--, !(t.lookahead + t.insert < 3)); ) ;
        } while (t.lookahead < ct && 0 !== t.strm.avail_in);
      }, Zt = function Zt(t, e) {
        var a, i;
        for (;;) {
          if (t.lookahead < ct) {
            if (Rt(t), t.lookahead < ct && e === W) return 1;
            if (0 === t.lookahead) break;
          }
          if (a = 0, t.lookahead >= 3 && (t.ins_h = kt(t, t.ins_h, t.window[t.strstart + 3 - 1]), 
          a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 
          0 !== a && t.strstart - a <= t.w_size - ct && (t.match_length = Et(t, a)), t.match_length >= 3) if (i = G(t, t.strstart - t.match_start, t.match_length - 3), 
          t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= 3) {
            t.match_length--;
            do {
              t.strstart++, t.ins_h = kt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], 
              t.head[t.ins_h] = t.strstart;
            } while (0 != --t.match_length);
            t.strstart++;
          } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], 
          t.ins_h = kt(t, t.ins_h, t.window[t.strstart + 1]); else i = G(t, 0, t.window[t.strstart]), 
          t.lookahead--, t.strstart++;
          if (i && (yt(t, !1), 0 === t.strm.avail_out)) return 1;
        }
        return t.insert = t.strstart < 2 ? t.strstart : 2, e === Q ? (yt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.last_lit && (yt(t, !1), 
        0 === t.strm.avail_out) ? 1 : 2;
      }, Ut = function Ut(t, e) {
        var a, i, n;
        for (;;) {
          if (t.lookahead < ct) {
            if (Rt(t), t.lookahead < ct && e === W) return 1;
            if (0 === t.lookahead) break;
          }
          if (a = 0, t.lookahead >= 3 && (t.ins_h = kt(t, t.ins_h, t.window[t.strstart + 3 - 1]), 
          a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 
          t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = 2, 
          0 !== a && t.prev_length < t.max_lazy_match && t.strstart - a <= t.w_size - ct && (t.match_length = Et(t, a), 
          t.match_length <= 5 && (t.strategy === st || 3 === t.match_length && t.strstart - t.match_start > 4096) && (t.match_length = 2)), 
          t.prev_length >= 3 && t.match_length <= t.prev_length) {
            n = t.strstart + t.lookahead - 3, i = G(t, t.strstart - 1 - t.prev_match, t.prev_length - 3), 
            t.lookahead -= t.prev_length - 1, t.prev_length -= 2;
            do {
              ++t.strstart <= n && (t.ins_h = kt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], 
              t.head[t.ins_h] = t.strstart);
            } while (0 != --t.prev_length);
            if (t.match_available = 0, t.match_length = 2, t.strstart++, i && (yt(t, !1), 0 === t.strm.avail_out)) return 1;
          } else if (t.match_available) {
            if (i = G(t, 0, t.window[t.strstart - 1]), i && yt(t, !1), t.strstart++, t.lookahead--, 
            0 === t.strm.avail_out) return 1;
          } else t.match_available = 1, t.strstart++, t.lookahead--;
        }
        return t.match_available && (i = G(t, 0, t.window[t.strstart - 1]), t.match_available = 0), 
        t.insert = t.strstart < 2 ? t.strstart : 2, e === Q ? (yt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.last_lit && (yt(t, !1), 
        0 === t.strm.avail_out) ? 1 : 2;
      };
      function St(t, e, a, i, n) {
        this.good_length = t, this.max_lazy = e, this.nice_length = a, this.max_chain = i, 
        this.func = n;
      }
      var Dt = [ new St(0, 0, 0, 0, function(t, e) {
        var a = 65535;
        for (a > t.pending_buf_size - 5 && (a = t.pending_buf_size - 5); ;) {
          if (t.lookahead <= 1) {
            if (Rt(t), 0 === t.lookahead && e === W) return 1;
            if (0 === t.lookahead) break;
          }
          t.strstart += t.lookahead, t.lookahead = 0;
          var _i = t.block_start + a;
          if ((0 === t.strstart || t.strstart >= _i) && (t.lookahead = t.strstart - _i, t.strstart = _i, 
          yt(t, !1), 0 === t.strm.avail_out)) return 1;
          if (t.strstart - t.block_start >= t.w_size - ct && (yt(t, !1), 0 === t.strm.avail_out)) return 1;
        }
        return t.insert = 0, e === Q ? (yt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : (t.strstart > t.block_start && (yt(t, !1), 
        t.strm.avail_out), 1);
      }), new St(4, 4, 8, 4, Zt), new St(4, 5, 16, 8, Zt), new St(4, 6, 32, 32, Zt), new St(4, 4, 16, 16, Ut), new St(8, 16, 32, 32, Ut), new St(8, 16, 128, 128, Ut), new St(8, 32, 128, 256, Ut), new St(32, 128, 258, 1024, Ut), new St(32, 258, 258, 4096, Ut) ];
      function Tt() {
        this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, 
        this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, 
        this.method = _t, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, 
        this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, 
        this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, 
        this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, 
        this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, 
        this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, 
        this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(1146), 
        this.dyn_dtree = new Uint16Array(122), this.bl_tree = new Uint16Array(78), mt(this.dyn_ltree), 
        mt(this.dyn_dtree), mt(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, 
        this.bl_count = new Uint16Array(16), this.heap = new Uint16Array(573), mt(this.heap), 
        this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(573), mt(this.depth), 
        this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, 
        this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
      }
      var Ot = function Ot(t) {
        if (!t || !t.state) return gt(t, et);
        t.total_in = t.total_out = 0, t.data_type = dt;
        var e = t.state;
        return e.pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = e.wrap ? 42 : wt, 
        t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = W, K(e), $;
      }, It = function It(t) {
        var e = Ot(t);
        var a;
        return e === $ && ((a = t.state).window_size = 2 * a.w_size, mt(a.head), a.max_lazy_match = Dt[a.level].max_lazy, 
        a.good_match = Dt[a.level].good_length, a.nice_match = Dt[a.level].nice_length, 
        a.max_chain_length = Dt[a.level].max_chain, a.strstart = 0, a.block_start = 0, a.lookahead = 0, 
        a.insert = 0, a.match_length = a.prev_length = 2, a.match_available = 0, a.ins_h = 0), 
        e;
      }, Ft = function Ft(t, e, a, i, n, s) {
        if (!t) return et;
        var r = 1;
        if (e === nt && (e = 6), i < 0 ? (r = 0, i = -i) : i > 15 && (r = 2, i -= 16), n < 1 || n > 9 || a !== _t || i < 8 || i > 15 || e < 0 || e > 9 || s < 0 || s > ot) return gt(t, et);
        8 === i && (i = 9);
        var l = new Tt();
        return t.state = l, l.strm = t, l.wrap = r, l.gzhead = null, l.w_bits = i, l.w_size = 1 << l.w_bits, 
        l.w_mask = l.w_size - 1, l.hash_bits = n + 7, l.hash_size = 1 << l.hash_bits, l.hash_mask = l.hash_size - 1, 
        l.hash_shift = ~~((l.hash_bits + 3 - 1) / 3), l.window = new Uint8Array(2 * l.w_size), 
        l.head = new Uint16Array(l.hash_size), l.prev = new Uint16Array(l.w_size), l.lit_bufsize = 1 << n + 6, 
        l.pending_buf_size = 4 * l.lit_bufsize, l.pending_buf = new Uint8Array(l.pending_buf_size), 
        l.d_buf = 1 * l.lit_bufsize, l.l_buf = 3 * l.lit_bufsize, l.level = e, l.strategy = s, 
        l.method = a, It(t);
      };
      var Lt = {
        deflateInit: function deflateInit(t, e) {
          return Ft(t, e, _t, 15, 8, ht);
        },
        deflateInit2: Ft,
        deflateReset: It,
        deflateResetKeep: Ot,
        deflateSetHeader: function deflateSetHeader(t, e) {
          return t && t.state ? 2 !== t.state.wrap ? et : (t.state.gzhead = e, $) : et;
        },
        deflate: function deflate(t, e) {
          var a, i;
          if (!t || !t.state || e > V || e < 0) return t ? gt(t, et) : et;
          var n = t.state;
          if (!t.output || !t.input && 0 !== t.avail_in || n.status === bt && e !== Q) return gt(t, 0 === t.avail_out ? it : et);
          n.strm = t;
          var s = n.last_flush;
          if (n.last_flush = e, 42 === n.status) if (2 === n.wrap) t.adler = 0, xt(n, 31), 
          xt(n, 139), xt(n, 8), n.gzhead ? (xt(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), 
          xt(n, 255 & n.gzhead.time), xt(n, n.gzhead.time >> 8 & 255), xt(n, n.gzhead.time >> 16 & 255), 
          xt(n, n.gzhead.time >> 24 & 255), xt(n, 9 === n.level ? 2 : n.strategy >= rt || n.level < 2 ? 4 : 0), 
          xt(n, 255 & n.gzhead.os), n.gzhead.extra && n.gzhead.extra.length && (xt(n, 255 & n.gzhead.extra.length), 
          xt(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (t.adler = M(t.adler, n.pending_buf, n.pending, 0)), 
          n.gzindex = 0, n.status = 69) : (xt(n, 0), xt(n, 0), xt(n, 0), xt(n, 0), xt(n, 0), 
          xt(n, 9 === n.level ? 2 : n.strategy >= rt || n.level < 2 ? 4 : 0), xt(n, 3), n.status = wt); else {
            var _e3 = _t + (n.w_bits - 8 << 4) << 8, _a3 = -1;
            _a3 = n.strategy >= rt || n.level < 2 ? 0 : n.level < 6 ? 1 : 6 === n.level ? 2 : 3, 
            _e3 |= _a3 << 6, 0 !== n.strstart && (_e3 |= 32), _e3 += 31 - _e3 % 31, n.status = wt, 
            zt(n, _e3), 0 !== n.strstart && (zt(n, t.adler >>> 16), zt(n, 65535 & t.adler)), 
            t.adler = 1;
          }
          if (69 === n.status) if (n.gzhead.extra) {
            for (a = n.pending; n.gzindex < (65535 & n.gzhead.extra.length) && (n.pending !== n.pending_buf_size || (n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
            vt(t), a = n.pending, n.pending !== n.pending_buf_size)); ) xt(n, 255 & n.gzhead.extra[n.gzindex]), 
            n.gzindex++;
            n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
            n.gzindex === n.gzhead.extra.length && (n.gzindex = 0, n.status = 73);
          } else n.status = 73;
          if (73 === n.status) if (n.gzhead.name) {
            a = n.pending;
            do {
              if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
              vt(t), a = n.pending, n.pending === n.pending_buf_size)) {
                i = 1;
                break;
              }
              i = n.gzindex < n.gzhead.name.length ? 255 & n.gzhead.name.charCodeAt(n.gzindex++) : 0, 
              xt(n, i);
            } while (0 !== i);
            n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
            0 === i && (n.gzindex = 0, n.status = 91);
          } else n.status = 91;
          if (91 === n.status) if (n.gzhead.comment) {
            a = n.pending;
            do {
              if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
              vt(t), a = n.pending, n.pending === n.pending_buf_size)) {
                i = 1;
                break;
              }
              i = n.gzindex < n.gzhead.comment.length ? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) : 0, 
              xt(n, i);
            } while (0 !== i);
            n.gzhead.hcrc && n.pending > a && (t.adler = M(t.adler, n.pending_buf, n.pending - a, a)), 
            0 === i && (n.status = ut);
          } else n.status = ut;
          if (n.status === ut && (n.gzhead.hcrc ? (n.pending + 2 > n.pending_buf_size && vt(t), 
          n.pending + 2 <= n.pending_buf_size && (xt(n, 255 & t.adler), xt(n, t.adler >> 8 & 255), 
          t.adler = 0, n.status = wt)) : n.status = wt), 0 !== n.pending) {
            if (vt(t), 0 === t.avail_out) return n.last_flush = -1, $;
          } else if (0 === t.avail_in && pt(e) <= pt(s) && e !== Q) return gt(t, it);
          if (n.status === bt && 0 !== t.avail_in) return gt(t, it);
          if (0 !== t.avail_in || 0 !== n.lookahead || e !== W && n.status !== bt) {
            var _a4 = n.strategy === rt ? function(t, e) {
              var a;
              for (;;) {
                if (0 === t.lookahead && (Rt(t), 0 === t.lookahead)) {
                  if (e === W) return 1;
                  break;
                }
                if (t.match_length = 0, a = G(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, 
                a && (yt(t, !1), 0 === t.strm.avail_out)) return 1;
              }
              return t.insert = 0, e === Q ? (yt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.last_lit && (yt(t, !1), 
              0 === t.strm.avail_out) ? 1 : 2;
            }(n, e) : n.strategy === lt ? function(t, e) {
              var a, i, n, s;
              var r = t.window;
              for (;;) {
                if (t.lookahead <= ft) {
                  if (Rt(t), t.lookahead <= ft && e === W) return 1;
                  if (0 === t.lookahead) break;
                }
                if (t.match_length = 0, t.lookahead >= 3 && t.strstart > 0 && (n = t.strstart - 1, 
                i = r[n], i === r[++n] && i === r[++n] && i === r[++n])) {
                  s = t.strstart + ft;
                  do {} while (i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && n < s);
                  t.match_length = ft - (s - n), t.match_length > t.lookahead && (t.match_length = t.lookahead);
                }
                if (t.match_length >= 3 ? (a = G(t, 1, t.match_length - 3), t.lookahead -= t.match_length, 
                t.strstart += t.match_length, t.match_length = 0) : (a = G(t, 0, t.window[t.strstart]), 
                t.lookahead--, t.strstart++), a && (yt(t, !1), 0 === t.strm.avail_out)) return 1;
              }
              return t.insert = 0, e === Q ? (yt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.last_lit && (yt(t, !1), 
              0 === t.strm.avail_out) ? 1 : 2;
            }(n, e) : Dt[n.level].func(n, e);
            if (3 !== _a4 && 4 !== _a4 || (n.status = bt), 1 === _a4 || 3 === _a4) return 0 === t.avail_out && (n.last_flush = -1), 
            $;
            if (2 === _a4 && (e === q ? X(n) : e !== V && (P(n, 0, 0, !1), e === J && (mt(n.head), 
            0 === n.lookahead && (n.strstart = 0, n.block_start = 0, n.insert = 0))), vt(t), 
            0 === t.avail_out)) return n.last_flush = -1, $;
          }
          return e !== Q ? $ : n.wrap <= 0 ? tt : (2 === n.wrap ? (xt(n, 255 & t.adler), xt(n, t.adler >> 8 & 255), 
          xt(n, t.adler >> 16 & 255), xt(n, t.adler >> 24 & 255), xt(n, 255 & t.total_in), 
          xt(n, t.total_in >> 8 & 255), xt(n, t.total_in >> 16 & 255), xt(n, t.total_in >> 24 & 255)) : (zt(n, t.adler >>> 16), 
          zt(n, 65535 & t.adler)), vt(t), n.wrap > 0 && (n.wrap = -n.wrap), 0 !== n.pending ? $ : tt);
        },
        deflateEnd: function deflateEnd(t) {
          if (!t || !t.state) return et;
          var e = t.state.status;
          return 42 !== e && 69 !== e && 73 !== e && 91 !== e && e !== ut && e !== wt && e !== bt ? gt(t, et) : (t.state = null, 
          e === wt ? gt(t, at) : $);
        },
        deflateSetDictionary: function deflateSetDictionary(t, e) {
          var a = e.length;
          if (!t || !t.state) return et;
          var i = t.state, n = i.wrap;
          if (2 === n || 1 === n && 42 !== i.status || i.lookahead) return et;
          if (1 === n && (t.adler = B(t.adler, e, a, 0)), i.wrap = 0, a >= i.w_size) {
            0 === n && (mt(i.head), i.strstart = 0, i.block_start = 0, i.insert = 0);
            var _t2 = new Uint8Array(i.w_size);
            _t2.set(e.subarray(a - i.w_size, a), 0), e = _t2, a = i.w_size;
          }
          var s = t.avail_in, r = t.next_in, l = t.input;
          for (t.avail_in = a, t.next_in = 0, t.input = e, Rt(i); i.lookahead >= 3; ) {
            var _t3 = i.strstart, _e4 = i.lookahead - 2;
            do {
              i.ins_h = kt(i, i.ins_h, i.window[_t3 + 3 - 1]), i.prev[_t3 & i.w_mask] = i.head[i.ins_h], 
              i.head[i.ins_h] = _t3, _t3++;
            } while (--_e4);
            i.strstart = _t3, i.lookahead = 2, Rt(i);
          }
          return i.strstart += i.lookahead, i.block_start = i.strstart, i.insert = i.lookahead, 
          i.lookahead = 0, i.match_length = i.prev_length = 2, i.match_available = 0, t.next_in = r, 
          t.input = l, t.avail_in = s, i.wrap = n, $;
        },
        deflateInfo: "pako deflate (from Nodeca project)"
      };
      var Nt = function Nt(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e);
      };
      var Bt = function Bt(t) {
        var e = Array.prototype.slice.call(arguments, 1);
        for (;e.length; ) {
          var _a5 = e.shift();
          if (_a5) {
            if ("object" != typeof _a5) throw new TypeError(_a5 + "must be non-object");
            for (var _e5 in _a5) Nt(_a5, _e5) && (t[_e5] = _a5[_e5]);
          }
        }
        return t;
      }, Ct = function Ct(t) {
        var e = 0;
        for (var _a6 = 0, _i2 = t.length; _a6 < _i2; _a6++) e += t[_a6].length;
        var a = new Uint8Array(e);
        for (var _e6 = 0, _i3 = 0, _n = t.length; _e6 < _n; _e6++) {
          var _n2 = t[_e6];
          a.set(_n2, _i3), _i3 += _n2.length;
        }
        return a;
      };
      var Mt = !0;
      try {
        String.fromCharCode.apply(null, new Uint8Array(1));
      } catch (t) {
        Mt = !1;
      }
      var Ht = new Uint8Array(256);
      for (var _t4 = 0; _t4 < 256; _t4++) Ht[_t4] = _t4 >= 252 ? 6 : _t4 >= 248 ? 5 : _t4 >= 240 ? 4 : _t4 >= 224 ? 3 : _t4 >= 192 ? 2 : 1;
      Ht[254] = Ht[254] = 1;
      var jt = function jt(t) {
        if ("function" == typeof TextEncoder && TextEncoder.prototype.encode) return new TextEncoder().encode(t);
        var e, a, i, n, s, r = t.length, l = 0;
        for (n = 0; n < r; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 
        56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), l += a < 128 ? 1 : a < 2048 ? 2 : a < 65536 ? 3 : 4;
        for (e = new Uint8Array(l), s = 0, n = 0; s < l; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 
        56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), a < 128 ? e[s++] = a : a < 2048 ? (e[s++] = 192 | a >>> 6, 
        e[s++] = 128 | 63 & a) : a < 65536 ? (e[s++] = 224 | a >>> 12, e[s++] = 128 | a >>> 6 & 63, 
        e[s++] = 128 | 63 & a) : (e[s++] = 240 | a >>> 18, e[s++] = 128 | a >>> 12 & 63, 
        e[s++] = 128 | a >>> 6 & 63, e[s++] = 128 | 63 & a);
        return e;
      }, Kt = function Kt(t, e) {
        var a = e || t.length;
        if ("function" == typeof TextDecoder && TextDecoder.prototype.decode) return new TextDecoder().decode(t.subarray(0, e));
        var i, n;
        var s = new Array(2 * a);
        for (n = 0, i = 0; i < a; ) {
          var _e7 = t[i++];
          if (_e7 < 128) {
            s[n++] = _e7;
            continue;
          }
          var _r = Ht[_e7];
          if (_r > 4) s[n++] = 65533, i += _r - 1; else {
            for (_e7 &= 2 === _r ? 31 : 3 === _r ? 15 : 7; _r > 1 && i < a; ) _e7 = _e7 << 6 | 63 & t[i++], 
            _r--;
            _r > 1 ? s[n++] = 65533 : _e7 < 65536 ? s[n++] = _e7 : (_e7 -= 65536, s[n++] = 55296 | _e7 >> 10 & 1023, 
            s[n++] = 56320 | 1023 & _e7);
          }
        }
        return function(t, e) {
          if (e < 65534 && t.subarray && Mt) return String.fromCharCode.apply(null, t.length === e ? t : t.subarray(0, e));
          var a = "";
          for (var _i4 = 0; _i4 < e; _i4++) a += String.fromCharCode(t[_i4]);
          return a;
        }(s, n);
      }, Pt = function Pt(t, e) {
        (e = e || t.length) > t.length && (e = t.length);
        var a = e - 1;
        for (;a >= 0 && 128 == (192 & t[a]); ) a--;
        return a < 0 || 0 === a ? e : a + Ht[t[a]] > e ? a : e;
      };
      var Yt = function Yt() {
        this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, 
        this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, 
        this.data_type = 2, this.adler = 0;
      };
      var Gt = Object.prototype.toString, Xt = j.Z_NO_FLUSH, Wt = j.Z_SYNC_FLUSH, qt = j.Z_FULL_FLUSH, Jt = j.Z_FINISH, Qt = j.Z_OK, Vt = j.Z_STREAM_END, $t = j.Z_DEFAULT_COMPRESSION, te = j.Z_DEFAULT_STRATEGY, ee = j.Z_DEFLATED;
      function ae(t) {
        this.options = Bt({
          level: $t,
          method: ee,
          chunkSize: 16384,
          windowBits: 15,
          memLevel: 8,
          strategy: te
        }, t || {});
        var e = this.options;
        e.raw && e.windowBits > 0 ? e.windowBits = -e.windowBits : e.gzip && e.windowBits > 0 && e.windowBits < 16 && (e.windowBits += 16), 
        this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new Yt(), 
        this.strm.avail_out = 0;
        var a = Lt.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy);
        if (a !== Qt) throw new Error(H[a]);
        if (e.header && Lt.deflateSetHeader(this.strm, e.header), e.dictionary) {
          var _t5;
          if (_t5 = "string" == typeof e.dictionary ? jt(e.dictionary) : "[object ArrayBuffer]" === Gt.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, 
          a = Lt.deflateSetDictionary(this.strm, _t5), a !== Qt) throw new Error(H[a]);
          this._dict_set = !0;
        }
      }
      function ie(t, e) {
        var a = new ae(e);
        if (a.push(t, !0), a.err) throw a.msg || H[a.err];
        return a.result;
      }
      ae.prototype.push = function(t, e) {
        var a = this.strm, i = this.options.chunkSize;
        var n, s;
        if (this.ended) return !1;
        for (s = e === ~~e ? e : !0 === e ? Jt : Xt, "string" == typeof t ? a.input = jt(t) : "[object ArrayBuffer]" === Gt.call(t) ? a.input = new Uint8Array(t) : a.input = t, 
        a.next_in = 0, a.avail_in = a.input.length; ;) if (0 === a.avail_out && (a.output = new Uint8Array(i), 
        a.next_out = 0, a.avail_out = i), (s === Wt || s === qt) && a.avail_out <= 6) this.onData(a.output.subarray(0, a.next_out)), 
        a.avail_out = 0; else {
          if (n = Lt.deflate(a, s), n === Vt) return a.next_out > 0 && this.onData(a.output.subarray(0, a.next_out)), 
          n = Lt.deflateEnd(this.strm), this.onEnd(n), this.ended = !0, n === Qt;
          if (0 !== a.avail_out) {
            if (s > 0 && a.next_out > 0) this.onData(a.output.subarray(0, a.next_out)), a.avail_out = 0; else if (0 === a.avail_in) break;
          } else this.onData(a.output);
        }
        return !0;
      }, ae.prototype.onData = function(t) {
        this.chunks.push(t);
      }, ae.prototype.onEnd = function(t) {
        t === Qt && (this.result = Ct(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg;
      };
      var ne = {
        Deflate: ae,
        deflate: ie,
        deflateRaw: function deflateRaw(t, e) {
          return (e = e || {}).raw = !0, ie(t, e);
        },
        gzip: function gzip(t, e) {
          return (e = e || {}).gzip = !0, ie(t, e);
        },
        constants: j
      };
      var se = function se(t, e) {
        var a, i, n, s, r, l, o, h, d, _, f, c, u, w, b, g, p, m, k, v, y, x, z, A;
        var E = t.state;
        a = t.next_in, z = t.input, i = a + (t.avail_in - 5), n = t.next_out, A = t.output, 
        s = n - (e - t.avail_out), r = n + (t.avail_out - 257), l = E.dmax, o = E.wsize, 
        h = E.whave, d = E.wnext, _ = E.window, f = E.hold, c = E.bits, u = E.lencode, w = E.distcode, 
        b = (1 << E.lenbits) - 1, g = (1 << E.distbits) - 1;
        t: do {
          c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), p = u[f & b];
          e: for (;;) {
            if (m = p >>> 24, f >>>= m, c -= m, m = p >>> 16 & 255, 0 === m) A[n++] = 65535 & p; else {
              if (!(16 & m)) {
                if (0 == (64 & m)) {
                  p = u[(65535 & p) + (f & (1 << m) - 1)];
                  continue e;
                }
                if (32 & m) {
                  E.mode = 12;
                  break t;
                }
                t.msg = "invalid literal/length code", E.mode = 30;
                break t;
              }
              k = 65535 & p, m &= 15, m && (c < m && (f += z[a++] << c, c += 8), k += f & (1 << m) - 1, 
              f >>>= m, c -= m), c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), 
              p = w[f & g];
              a: for (;;) {
                if (m = p >>> 24, f >>>= m, c -= m, m = p >>> 16 & 255, !(16 & m)) {
                  if (0 == (64 & m)) {
                    p = w[(65535 & p) + (f & (1 << m) - 1)];
                    continue a;
                  }
                  t.msg = "invalid distance code", E.mode = 30;
                  break t;
                }
                if (v = 65535 & p, m &= 15, c < m && (f += z[a++] << c, c += 8, c < m && (f += z[a++] << c, 
                c += 8)), v += f & (1 << m) - 1, v > l) {
                  t.msg = "invalid distance too far back", E.mode = 30;
                  break t;
                }
                if (f >>>= m, c -= m, m = n - s, v > m) {
                  if (m = v - m, m > h && E.sane) {
                    t.msg = "invalid distance too far back", E.mode = 30;
                    break t;
                  }
                  if (y = 0, x = _, 0 === d) {
                    if (y += o - m, m < k) {
                      k -= m;
                      do {
                        A[n++] = _[y++];
                      } while (--m);
                      y = n - v, x = A;
                    }
                  } else if (d < m) {
                    if (y += o + d - m, m -= d, m < k) {
                      k -= m;
                      do {
                        A[n++] = _[y++];
                      } while (--m);
                      if (y = 0, d < k) {
                        m = d, k -= m;
                        do {
                          A[n++] = _[y++];
                        } while (--m);
                        y = n - v, x = A;
                      }
                    }
                  } else if (y += d - m, m < k) {
                    k -= m;
                    do {
                      A[n++] = _[y++];
                    } while (--m);
                    y = n - v, x = A;
                  }
                  for (;k > 2; ) A[n++] = x[y++], A[n++] = x[y++], A[n++] = x[y++], k -= 3;
                  k && (A[n++] = x[y++], k > 1 && (A[n++] = x[y++]));
                } else {
                  y = n - v;
                  do {
                    A[n++] = A[y++], A[n++] = A[y++], A[n++] = A[y++], k -= 3;
                  } while (k > 2);
                  k && (A[n++] = A[y++], k > 1 && (A[n++] = A[y++]));
                }
                break;
              }
            }
            break;
          }
        } while (a < i && n < r);
        k = c >> 3, a -= k, c -= k << 3, f &= (1 << c) - 1, t.next_in = a, t.next_out = n, 
        t.avail_in = a < i ? i - a + 5 : 5 - (a - i), t.avail_out = n < r ? r - n + 257 : 257 - (n - r), 
        E.hold = f, E.bits = c;
      };
      var re = 15, le = new Uint16Array([ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ]), oe = new Uint8Array([ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ]), he = new Uint16Array([ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ]), de = new Uint8Array([ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]);
      var _e = function _e(t, e, a, i, n, s, r, l) {
        var o = l.bits;
        var h, d, _, f, c, u, w = 0, b = 0, g = 0, p = 0, m = 0, k = 0, v = 0, y = 0, x = 0, z = 0, A = null, E = 0;
        var R = new Uint16Array(16), Z = new Uint16Array(16);
        var U, S, D, T = null, O = 0;
        for (w = 0; w <= re; w++) R[w] = 0;
        for (b = 0; b < i; b++) R[e[a + b]]++;
        for (m = o, p = re; p >= 1 && 0 === R[p]; p--) ;
        if (m > p && (m = p), 0 === p) return n[s++] = 20971520, n[s++] = 20971520, l.bits = 1, 
        0;
        for (g = 1; g < p && 0 === R[g]; g++) ;
        for (m < g && (m = g), y = 1, w = 1; w <= re; w++) if (y <<= 1, y -= R[w], y < 0) return -1;
        if (y > 0 && (0 === t || 1 !== p)) return -1;
        for (Z[1] = 0, w = 1; w < re; w++) Z[w + 1] = Z[w] + R[w];
        for (b = 0; b < i; b++) 0 !== e[a + b] && (r[Z[e[a + b]]++] = b);
        if (0 === t ? (A = T = r, u = 19) : 1 === t ? (A = le, E -= 257, T = oe, O -= 257, 
        u = 256) : (A = he, T = de, u = -1), z = 0, b = 0, w = g, c = s, k = m, v = 0, _ = -1, 
        x = 1 << m, f = x - 1, 1 === t && x > 852 || 2 === t && x > 592) return 1;
        for (;;) {
          U = w - v, r[b] < u ? (S = 0, D = r[b]) : r[b] > u ? (S = T[O + r[b]], D = A[E + r[b]]) : (S = 96, 
          D = 0), h = 1 << w - v, d = 1 << k, g = d;
          do {
            d -= h, n[c + (z >> v) + d] = U << 24 | S << 16 | D | 0;
          } while (0 !== d);
          for (h = 1 << w - 1; z & h; ) h >>= 1;
          if (0 !== h ? (z &= h - 1, z += h) : z = 0, b++, 0 == --R[w]) {
            if (w === p) break;
            w = e[a + r[b]];
          }
          if (w > m && (z & f) !== _) {
            for (0 === v && (v = m), c += g, k = w - v, y = 1 << k; k + v < p && (y -= R[k + v], 
            !(y <= 0)); ) k++, y <<= 1;
            if (x += 1 << k, 1 === t && x > 852 || 2 === t && x > 592) return 1;
            _ = z & f, n[_] = m << 24 | k << 16 | c - s | 0;
          }
        }
        return 0 !== z && (n[c + z] = w - v << 24 | 64 << 16 | 0), l.bits = m, 0;
      };
      var fe = j.Z_FINISH, ce = j.Z_BLOCK, ue = j.Z_TREES, we = j.Z_OK, be = j.Z_STREAM_END, ge = j.Z_NEED_DICT, pe = j.Z_STREAM_ERROR, me = j.Z_DATA_ERROR, ke = j.Z_MEM_ERROR, ve = j.Z_BUF_ERROR, ye = j.Z_DEFLATED, xe = 12, ze = 30, Ae = function Ae(t) {
        return (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24);
      };
      function Ee() {
        this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, 
        this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, 
        this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, 
        this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, 
        this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, 
        this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), 
        this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, 
        this.back = 0, this.was = 0;
      }
      var Re = function Re(t) {
        if (!t || !t.state) return pe;
        var e = t.state;
        return t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), 
        e.mode = 1, e.last = 0, e.havedict = 0, e.dmax = 32768, e.head = null, e.hold = 0, 
        e.bits = 0, e.lencode = e.lendyn = new Int32Array(852), e.distcode = e.distdyn = new Int32Array(592), 
        e.sane = 1, e.back = -1, we;
      }, Ze = function Ze(t) {
        if (!t || !t.state) return pe;
        var e = t.state;
        return e.wsize = 0, e.whave = 0, e.wnext = 0, Re(t);
      }, Ue = function Ue(t, e) {
        var a;
        if (!t || !t.state) return pe;
        var i = t.state;
        return e < 0 ? (a = 0, e = -e) : (a = 1 + (e >> 4), e < 48 && (e &= 15)), e && (e < 8 || e > 15) ? pe : (null !== i.window && i.wbits !== e && (i.window = null), 
        i.wrap = a, i.wbits = e, Ze(t));
      }, Se = function Se(t, e) {
        if (!t) return pe;
        var a = new Ee();
        t.state = a, a.window = null;
        var i = Ue(t, e);
        return i !== we && (t.state = null), i;
      };
      var De, Te, Oe = !0;
      var Ie = function Ie(t) {
        if (Oe) {
          De = new Int32Array(512), Te = new Int32Array(32);
          var _e8 = 0;
          for (;_e8 < 144; ) t.lens[_e8++] = 8;
          for (;_e8 < 256; ) t.lens[_e8++] = 9;
          for (;_e8 < 280; ) t.lens[_e8++] = 7;
          for (;_e8 < 288; ) t.lens[_e8++] = 8;
          for (_e(1, t.lens, 0, 288, De, 0, t.work, {
            bits: 9
          }), _e8 = 0; _e8 < 32; ) t.lens[_e8++] = 5;
          _e(2, t.lens, 0, 32, Te, 0, t.work, {
            bits: 5
          }), Oe = !1;
        }
        t.lencode = De, t.lenbits = 9, t.distcode = Te, t.distbits = 5;
      }, Fe = function Fe(t, e, a, i) {
        var n;
        var s = t.state;
        return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new Uint8Array(s.wsize)), 
        i >= s.wsize ? (s.window.set(e.subarray(a - s.wsize, a), 0), s.wnext = 0, s.whave = s.wsize) : (n = s.wsize - s.wnext, 
        n > i && (n = i), s.window.set(e.subarray(a - i, a - i + n), s.wnext), (i -= n) ? (s.window.set(e.subarray(a - i, a), 0), 
        s.wnext = i, s.whave = s.wsize) : (s.wnext += n, s.wnext === s.wsize && (s.wnext = 0), 
        s.whave < s.wsize && (s.whave += n))), 0;
      };
      var Le = {
        inflateReset: Ze,
        inflateReset2: Ue,
        inflateResetKeep: Re,
        inflateInit: function inflateInit(t) {
          return Se(t, 15);
        },
        inflateInit2: Se,
        inflate: function inflate(t, e) {
          var a, i, n, s, r, l, o, h, d, _, f, c, u, w, b, g, p, m, k, v, y, x, z = 0;
          var A = new Uint8Array(4);
          var E, R;
          var Z = new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);
          if (!t || !t.state || !t.output || !t.input && 0 !== t.avail_in) return pe;
          a = t.state, a.mode === xe && (a.mode = 13), r = t.next_out, n = t.output, o = t.avail_out, 
          s = t.next_in, i = t.input, l = t.avail_in, h = a.hold, d = a.bits, _ = l, f = o, 
          x = we;
          t: for (;;) switch (a.mode) {
           case 1:
            if (0 === a.wrap) {
              a.mode = 13;
              break;
            }
            for (;d < 16; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if (2 & a.wrap && 35615 === h) {
              a.check = 0, A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = M(a.check, A, 2, 0), 
              h = 0, d = 0, a.mode = 2;
              break;
            }
            if (a.flags = 0, a.head && (a.head.done = !1), !(1 & a.wrap) || (((255 & h) << 8) + (h >> 8)) % 31) {
              t.msg = "incorrect header check", a.mode = ze;
              break;
            }
            if ((15 & h) !== ye) {
              t.msg = "unknown compression method", a.mode = ze;
              break;
            }
            if (h >>>= 4, d -= 4, y = 8 + (15 & h), 0 === a.wbits) a.wbits = y; else if (y > a.wbits) {
              t.msg = "invalid window size", a.mode = ze;
              break;
            }
            a.dmax = 1 << a.wbits, t.adler = a.check = 1, a.mode = 512 & h ? 10 : xe, h = 0, 
            d = 0;
            break;

           case 2:
            for (;d < 16; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if (a.flags = h, (255 & a.flags) !== ye) {
              t.msg = "unknown compression method", a.mode = ze;
              break;
            }
            if (57344 & a.flags) {
              t.msg = "unknown header flags set", a.mode = ze;
              break;
            }
            a.head && (a.head.text = h >> 8 & 1), 512 & a.flags && (A[0] = 255 & h, A[1] = h >>> 8 & 255, 
            a.check = M(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 3;

           case 3:
            for (;d < 32; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            a.head && (a.head.time = h), 512 & a.flags && (A[0] = 255 & h, A[1] = h >>> 8 & 255, 
            A[2] = h >>> 16 & 255, A[3] = h >>> 24 & 255, a.check = M(a.check, A, 4, 0)), h = 0, 
            d = 0, a.mode = 4;

           case 4:
            for (;d < 16; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            a.head && (a.head.xflags = 255 & h, a.head.os = h >> 8), 512 & a.flags && (A[0] = 255 & h, 
            A[1] = h >>> 8 & 255, a.check = M(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 5;

           case 5:
            if (1024 & a.flags) {
              for (;d < 16; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              a.length = h, a.head && (a.head.extra_len = h), 512 & a.flags && (A[0] = 255 & h, 
              A[1] = h >>> 8 & 255, a.check = M(a.check, A, 2, 0)), h = 0, d = 0;
            } else a.head && (a.head.extra = null);
            a.mode = 6;

           case 6:
            if (1024 & a.flags && (c = a.length, c > l && (c = l), c && (a.head && (y = a.head.extra_len - a.length, 
            a.head.extra || (a.head.extra = new Uint8Array(a.head.extra_len)), a.head.extra.set(i.subarray(s, s + c), y)), 
            512 & a.flags && (a.check = M(a.check, i, c, s)), l -= c, s += c, a.length -= c), 
            a.length)) break t;
            a.length = 0, a.mode = 7;

           case 7:
            if (2048 & a.flags) {
              if (0 === l) break t;
              c = 0;
              do {
                y = i[s + c++], a.head && y && a.length < 65536 && (a.head.name += String.fromCharCode(y));
              } while (y && c < l);
              if (512 & a.flags && (a.check = M(a.check, i, c, s)), l -= c, s += c, y) break t;
            } else a.head && (a.head.name = null);
            a.length = 0, a.mode = 8;

           case 8:
            if (4096 & a.flags) {
              if (0 === l) break t;
              c = 0;
              do {
                y = i[s + c++], a.head && y && a.length < 65536 && (a.head.comment += String.fromCharCode(y));
              } while (y && c < l);
              if (512 & a.flags && (a.check = M(a.check, i, c, s)), l -= c, s += c, y) break t;
            } else a.head && (a.head.comment = null);
            a.mode = 9;

           case 9:
            if (512 & a.flags) {
              for (;d < 16; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              if (h !== (65535 & a.check)) {
                t.msg = "header crc mismatch", a.mode = ze;
                break;
              }
              h = 0, d = 0;
            }
            a.head && (a.head.hcrc = a.flags >> 9 & 1, a.head.done = !0), t.adler = a.check = 0, 
            a.mode = xe;
            break;

           case 10:
            for (;d < 32; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            t.adler = a.check = Ae(h), h = 0, d = 0, a.mode = 11;

           case 11:
            if (0 === a.havedict) return t.next_out = r, t.avail_out = o, t.next_in = s, t.avail_in = l, 
            a.hold = h, a.bits = d, ge;
            t.adler = a.check = 1, a.mode = xe;

           case xe:
            if (e === ce || e === ue) break t;

           case 13:
            if (a.last) {
              h >>>= 7 & d, d -= 7 & d, a.mode = 27;
              break;
            }
            for (;d < 3; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            switch (a.last = 1 & h, h >>>= 1, d -= 1, 3 & h) {
             case 0:
              a.mode = 14;
              break;

             case 1:
              if (Ie(a), a.mode = 20, e === ue) {
                h >>>= 2, d -= 2;
                break t;
              }
              break;

             case 2:
              a.mode = 17;
              break;

             case 3:
              t.msg = "invalid block type", a.mode = ze;
            }
            h >>>= 2, d -= 2;
            break;

           case 14:
            for (h >>>= 7 & d, d -= 7 & d; d < 32; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if ((65535 & h) != (h >>> 16 ^ 65535)) {
              t.msg = "invalid stored block lengths", a.mode = ze;
              break;
            }
            if (a.length = 65535 & h, h = 0, d = 0, a.mode = 15, e === ue) break t;

           case 15:
            a.mode = 16;

           case 16:
            if (c = a.length, c) {
              if (c > l && (c = l), c > o && (c = o), 0 === c) break t;
              n.set(i.subarray(s, s + c), r), l -= c, s += c, o -= c, r += c, a.length -= c;
              break;
            }
            a.mode = xe;
            break;

           case 17:
            for (;d < 14; ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if (a.nlen = 257 + (31 & h), h >>>= 5, d -= 5, a.ndist = 1 + (31 & h), h >>>= 5, 
            d -= 5, a.ncode = 4 + (15 & h), h >>>= 4, d -= 4, a.nlen > 286 || a.ndist > 30) {
              t.msg = "too many length or distance symbols", a.mode = ze;
              break;
            }
            a.have = 0, a.mode = 18;

           case 18:
            for (;a.have < a.ncode; ) {
              for (;d < 3; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              a.lens[Z[a.have++]] = 7 & h, h >>>= 3, d -= 3;
            }
            for (;a.have < 19; ) a.lens[Z[a.have++]] = 0;
            if (a.lencode = a.lendyn, a.lenbits = 7, E = {
              bits: a.lenbits
            }, x = _e(0, a.lens, 0, 19, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) {
              t.msg = "invalid code lengths set", a.mode = ze;
              break;
            }
            a.have = 0, a.mode = 19;

           case 19:
            for (;a.have < a.nlen + a.ndist; ) {
              for (;z = a.lencode[h & (1 << a.lenbits) - 1], b = z >>> 24, g = z >>> 16 & 255, 
              p = 65535 & z, !(b <= d); ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              if (p < 16) h >>>= b, d -= b, a.lens[a.have++] = p; else {
                if (16 === p) {
                  for (R = b + 2; d < R; ) {
                    if (0 === l) break t;
                    l--, h += i[s++] << d, d += 8;
                  }
                  if (h >>>= b, d -= b, 0 === a.have) {
                    t.msg = "invalid bit length repeat", a.mode = ze;
                    break;
                  }
                  y = a.lens[a.have - 1], c = 3 + (3 & h), h >>>= 2, d -= 2;
                } else if (17 === p) {
                  for (R = b + 3; d < R; ) {
                    if (0 === l) break t;
                    l--, h += i[s++] << d, d += 8;
                  }
                  h >>>= b, d -= b, y = 0, c = 3 + (7 & h), h >>>= 3, d -= 3;
                } else {
                  for (R = b + 7; d < R; ) {
                    if (0 === l) break t;
                    l--, h += i[s++] << d, d += 8;
                  }
                  h >>>= b, d -= b, y = 0, c = 11 + (127 & h), h >>>= 7, d -= 7;
                }
                if (a.have + c > a.nlen + a.ndist) {
                  t.msg = "invalid bit length repeat", a.mode = ze;
                  break;
                }
                for (;c--; ) a.lens[a.have++] = y;
              }
            }
            if (a.mode === ze) break;
            if (0 === a.lens[256]) {
              t.msg = "invalid code -- missing end-of-block", a.mode = ze;
              break;
            }
            if (a.lenbits = 9, E = {
              bits: a.lenbits
            }, x = _e(1, a.lens, 0, a.nlen, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) {
              t.msg = "invalid literal/lengths set", a.mode = ze;
              break;
            }
            if (a.distbits = 6, a.distcode = a.distdyn, E = {
              bits: a.distbits
            }, x = _e(2, a.lens, a.nlen, a.ndist, a.distcode, 0, a.work, E), a.distbits = E.bits, 
            x) {
              t.msg = "invalid distances set", a.mode = ze;
              break;
            }
            if (a.mode = 20, e === ue) break t;

           case 20:
            a.mode = 21;

           case 21:
            if (l >= 6 && o >= 258) {
              t.next_out = r, t.avail_out = o, t.next_in = s, t.avail_in = l, a.hold = h, a.bits = d, 
              se(t, f), r = t.next_out, n = t.output, o = t.avail_out, s = t.next_in, i = t.input, 
              l = t.avail_in, h = a.hold, d = a.bits, a.mode === xe && (a.back = -1);
              break;
            }
            for (a.back = 0; z = a.lencode[h & (1 << a.lenbits) - 1], b = z >>> 24, g = z >>> 16 & 255, 
            p = 65535 & z, !(b <= d); ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if (g && 0 == (240 & g)) {
              for (m = b, k = g, v = p; z = a.lencode[v + ((h & (1 << m + k) - 1) >> m)], b = z >>> 24, 
              g = z >>> 16 & 255, p = 65535 & z, !(m + b <= d); ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              h >>>= m, d -= m, a.back += m;
            }
            if (h >>>= b, d -= b, a.back += b, a.length = p, 0 === g) {
              a.mode = 26;
              break;
            }
            if (32 & g) {
              a.back = -1, a.mode = xe;
              break;
            }
            if (64 & g) {
              t.msg = "invalid literal/length code", a.mode = ze;
              break;
            }
            a.extra = 15 & g, a.mode = 22;

           case 22:
            if (a.extra) {
              for (R = a.extra; d < R; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              a.length += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra;
            }
            a.was = a.length, a.mode = 23;

           case 23:
            for (;z = a.distcode[h & (1 << a.distbits) - 1], b = z >>> 24, g = z >>> 16 & 255, 
            p = 65535 & z, !(b <= d); ) {
              if (0 === l) break t;
              l--, h += i[s++] << d, d += 8;
            }
            if (0 == (240 & g)) {
              for (m = b, k = g, v = p; z = a.distcode[v + ((h & (1 << m + k) - 1) >> m)], b = z >>> 24, 
              g = z >>> 16 & 255, p = 65535 & z, !(m + b <= d); ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              h >>>= m, d -= m, a.back += m;
            }
            if (h >>>= b, d -= b, a.back += b, 64 & g) {
              t.msg = "invalid distance code", a.mode = ze;
              break;
            }
            a.offset = p, a.extra = 15 & g, a.mode = 24;

           case 24:
            if (a.extra) {
              for (R = a.extra; d < R; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              a.offset += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra;
            }
            if (a.offset > a.dmax) {
              t.msg = "invalid distance too far back", a.mode = ze;
              break;
            }
            a.mode = 25;

           case 25:
            if (0 === o) break t;
            if (c = f - o, a.offset > c) {
              if (c = a.offset - c, c > a.whave && a.sane) {
                t.msg = "invalid distance too far back", a.mode = ze;
                break;
              }
              c > a.wnext ? (c -= a.wnext, u = a.wsize - c) : u = a.wnext - c, c > a.length && (c = a.length), 
              w = a.window;
            } else w = n, u = r - a.offset, c = a.length;
            c > o && (c = o), o -= c, a.length -= c;
            do {
              n[r++] = w[u++];
            } while (--c);
            0 === a.length && (a.mode = 21);
            break;

           case 26:
            if (0 === o) break t;
            n[r++] = a.length, o--, a.mode = 21;
            break;

           case 27:
            if (a.wrap) {
              for (;d < 32; ) {
                if (0 === l) break t;
                l--, h |= i[s++] << d, d += 8;
              }
              if (f -= o, t.total_out += f, a.total += f, f && (t.adler = a.check = a.flags ? M(a.check, n, f, r - f) : B(a.check, n, f, r - f)), 
              f = o, (a.flags ? h : Ae(h)) !== a.check) {
                t.msg = "incorrect data check", a.mode = ze;
                break;
              }
              h = 0, d = 0;
            }
            a.mode = 28;

           case 28:
            if (a.wrap && a.flags) {
              for (;d < 32; ) {
                if (0 === l) break t;
                l--, h += i[s++] << d, d += 8;
              }
              if (h !== (4294967295 & a.total)) {
                t.msg = "incorrect length check", a.mode = ze;
                break;
              }
              h = 0, d = 0;
            }
            a.mode = 29;

           case 29:
            x = be;
            break t;

           case ze:
            x = me;
            break t;

           case 31:
            return ke;

           case 32:
           default:
            return pe;
          }
          return t.next_out = r, t.avail_out = o, t.next_in = s, t.avail_in = l, a.hold = h, 
          a.bits = d, (a.wsize || f !== t.avail_out && a.mode < ze && (a.mode < 27 || e !== fe)) && Fe(t, t.output, t.next_out, f - t.avail_out), 
          _ -= t.avail_in, f -= t.avail_out, t.total_in += _, t.total_out += f, a.total += f, 
          a.wrap && f && (t.adler = a.check = a.flags ? M(a.check, n, f, t.next_out - f) : B(a.check, n, f, t.next_out - f)), 
          t.data_type = a.bits + (a.last ? 64 : 0) + (a.mode === xe ? 128 : 0) + (20 === a.mode || 15 === a.mode ? 256 : 0), 
          (0 === _ && 0 === f || e === fe) && x === we && (x = ve), x;
        },
        inflateEnd: function inflateEnd(t) {
          if (!t || !t.state) return pe;
          var e = t.state;
          return e.window && (e.window = null), t.state = null, we;
        },
        inflateGetHeader: function inflateGetHeader(t, e) {
          if (!t || !t.state) return pe;
          var a = t.state;
          return 0 == (2 & a.wrap) ? pe : (a.head = e, e.done = !1, we);
        },
        inflateSetDictionary: function inflateSetDictionary(t, e) {
          var a = e.length;
          var i, n, s;
          return t && t.state ? (i = t.state, 0 !== i.wrap && 11 !== i.mode ? pe : 11 === i.mode && (n = 1, 
          n = B(n, e, a, 0), n !== i.check) ? me : (s = Fe(t, e, a, a), s ? (i.mode = 31, 
          ke) : (i.havedict = 1, we))) : pe;
        },
        inflateInfo: "pako inflate (from Nodeca project)"
      };
      var Ne = function Ne() {
        this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, 
        this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
      };
      var Be = Object.prototype.toString, Ce = j.Z_NO_FLUSH, Me = j.Z_FINISH, He = j.Z_OK, je = j.Z_STREAM_END, Ke = j.Z_NEED_DICT, Pe = j.Z_STREAM_ERROR, Ye = j.Z_DATA_ERROR, Ge = j.Z_MEM_ERROR;
      function Xe(t) {
        this.options = Bt({
          chunkSize: 65536,
          windowBits: 15,
          to: ""
        }, t || {});
        var e = this.options;
        e.raw && e.windowBits >= 0 && e.windowBits < 16 && (e.windowBits = -e.windowBits, 
        0 === e.windowBits && (e.windowBits = -15)), !(e.windowBits >= 0 && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), 
        e.windowBits > 15 && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), 
        this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new Yt(), 
        this.strm.avail_out = 0;
        var a = Le.inflateInit2(this.strm, e.windowBits);
        if (a !== He) throw new Error(H[a]);
        if (this.header = new Ne(), Le.inflateGetHeader(this.strm, this.header), e.dictionary && ("string" == typeof e.dictionary ? e.dictionary = jt(e.dictionary) : "[object ArrayBuffer]" === Be.call(e.dictionary) && (e.dictionary = new Uint8Array(e.dictionary)), 
        e.raw && (a = Le.inflateSetDictionary(this.strm, e.dictionary), a !== He))) throw new Error(H[a]);
      }
      function We(t, e) {
        var a = new Xe(e);
        if (a.push(t), a.err) throw a.msg || H[a.err];
        return a.result;
      }
      Xe.prototype.push = function(t, e) {
        var a = this.strm, i = this.options.chunkSize, n = this.options.dictionary;
        var s, r, l;
        if (this.ended) return !1;
        for (r = e === ~~e ? e : !0 === e ? Me : Ce, "[object ArrayBuffer]" === Be.call(t) ? a.input = new Uint8Array(t) : a.input = t, 
        a.next_in = 0, a.avail_in = a.input.length; ;) {
          for (0 === a.avail_out && (a.output = new Uint8Array(i), a.next_out = 0, a.avail_out = i), 
          s = Le.inflate(a, r), s === Ke && n && (s = Le.inflateSetDictionary(a, n), s === He ? s = Le.inflate(a, r) : s === Ye && (s = Ke)); a.avail_in > 0 && s === je && a.state.wrap > 0 && 0 !== t[a.next_in]; ) Le.inflateReset(a), 
          s = Le.inflate(a, r);
          switch (s) {
           case Pe:
           case Ye:
           case Ke:
           case Ge:
            return this.onEnd(s), this.ended = !0, !1;
          }
          if (l = a.avail_out, a.next_out && (0 === a.avail_out || s === je)) if ("string" === this.options.to) {
            var _t6 = Pt(a.output, a.next_out), _e9 = a.next_out - _t6, _n3 = Kt(a.output, _t6);
            a.next_out = _e9, a.avail_out = i - _e9, _e9 && a.output.set(a.output.subarray(_t6, _t6 + _e9), 0), 
            this.onData(_n3);
          } else this.onData(a.output.length === a.next_out ? a.output : a.output.subarray(0, a.next_out));
          if (s !== He || 0 !== l) {
            if (s === je) return s = Le.inflateEnd(this.strm), this.onEnd(s), this.ended = !0, 
            !0;
            if (0 === a.avail_in) break;
          }
        }
        return !0;
      }, Xe.prototype.onData = function(t) {
        this.chunks.push(t);
      }, Xe.prototype.onEnd = function(t) {
        t === He && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = Ct(this.chunks)), 
        this.chunks = [], this.err = t, this.msg = this.strm.msg;
      };
      var qe = {
        Inflate: Xe,
        inflate: We,
        inflateRaw: function inflateRaw(t, e) {
          return (e = e || {}).raw = !0, We(t, e);
        },
        ungzip: We,
        constants: j
      };
      var Je = ne.Deflate, Qe = ne.deflate, Ve = ne.deflateRaw, $e = ne.gzip, ta = qe.Inflate, ea = qe.inflate, aa = qe.inflateRaw, ia = qe.ungzip;
      var na = Je, sa = Qe, ra = Ve, la = $e, oa = ta, ha = ea, da = aa, _a = ia, fa = j, ca = {
        Deflate: na,
        deflate: sa,
        deflateRaw: ra,
        gzip: la,
        Inflate: oa,
        inflate: ha,
        inflateRaw: da,
        ungzip: _a,
        constants: fa
      };
      t.Deflate = na, t.Inflate = oa, t.constants = fa, t["default"] = ca, t.deflate = sa, 
      t.deflateRaw = ra, t.gzip = la, t.inflate = ha, t.inflateRaw = da, t.ungzip = _a, 
      Object.defineProperty(t, "__esModule", {
        value: !0
      });
    });
    cc._RF.pop();
  }, {} ]
}, {}, [ "PPPB-Helloworld", "PPPB-_main", "PPPB-config", "PPPB-systips", "PPPB-test", "PPPB-transactionDisplayLabel", "PPPB-common", "PPPB-fitWin", "PPPB-gameSettings", "PPPB-quick", "PPPB-audioPath", "PPPB-betConfig", "PPPB-CardSpriteCollection", "PPPB-RichTextAtlasManager", "PPPB-SkinnedAnimationAssetManager", "PPPB-SpineAssetManager", "PPPB-JsonOutputParser", "PPPB-AutoPanel", "PPPB-BaseHistoryGameBoard", "PPPB-BottomUIPanelType", "PPPB-GameRulesPanel", "PPPB-QuickSpinNoticePanel", "PPPB-SystemSettingsPanel", "PPPB-VolumeControlPanel", "PPPB-bet", "PPPB-ButtonAnimationExt", "PPPB-ButtonMouse", "PPPB-ButtonScaleHelper", "PPPB-ButtonSpineAnimationExt", "PPPB-ButtonTargetExt", "PPPB-AnimationEventHelper", "PPPB-AspectRatioScaler", "PPPB-GameViewAdaptHelper", "PPPB-MoneyDisplayHelper", "PPPB-TimeDisplayHelper", "PPPB-action", "PPPB-audio", "PPPB-decorator", "PPPB-do", "PPPB-language", "PPPB-nodePool", "PPPB-pool", "PPPB-res", "PPPB-sys", "PPPB-time", "PPPB-ui", "PPPB-UAdapt", "PPPB-UAnimation", "PPPB-UComponent", "PPPB-UIButton", "PPPB-UIButtonSound", "PPPB-UIData", "PPPB-UILangAlign", "PPPB-UILanguage", "PPPB-UILanguageImg", "PPPB-UIList", "PPPB-UIListTag", "PPPB-UIMask", "PPPB-UINumber", "PPPB-UIShape", "PPPB-UISpriteID", "PPPB-UISwitch", "PPPB-UParticleSystem", "PPPB-UbgClick", "PPPB-editor", "PPPB-panelAni", "PPPB-tips", "PPPB-rpc", "PPPB-slotNet", "PPPB-dbo", "PPPB-rpcHandler", "PPPB-slotBase", "PPPB-slotBaseType", "PPPB-slotConf", "PPPB-slotEnum", "PPPB-event", "PPPB-lib", "PPPB-net", "PPPB-utils", "PPPB-encrypt", "PPPB-lzstr", "PPPB-netAnalysis", "pako.min", "PPPB-gameChan", "PPPB-gameLobbyChan", "PPPB-lobbyChan", "PPPB-hotUp", "PPPB-Algorithm", "PPPB-AliNet", "PPPB-BgmAudioHandler", "PPPB-backStage", "PPPB-block", "PPPB-buyFreeSpin", "PPPB-cardEditor", "PPPB-feature", "PPPB-game", "PPPB-game_out", "PPPB-history", "PPPB-input2", "PPPB-listEvents", "PPPB-spinPanel", "PPPB-topbg", "PPPB-turntable", "PPPB-card", "PPPB-cardlist", "PPPB-cardlist2", "PPPB-scardlist", "PPPB-AudioID", "PPPB-BaseScene", "PPPB-PlayAnimation", "PPPB-ResLoad", "PPPB-ScrollingText", "PPPB-State", "PPPB-Work", "PPPB-heart", "PPPB-user", "PPPB-States", "PPPB-endState", "PPPB-scatterState", "PPPB-startState", "PPPB-winState", "PPPB-changeLogin", "PPPB-login", "PPPB-open", "PPPB-BottomPanel", "PPPB-FitContent", "PPPB-FreeGameSelectPanel", "PPPB-FreeGameTransitionAnim", "PPPB-GameBoardWinAmountDisplaySpawner", "PPPB-GameRulesCardPayoutFormatter", "PPPB-GameRulesScatterCardPayoutFormatter", "PPPB-HistoryCard", "PPPB-HistoryFreeGameSelectDetail", "PPPB-HistoryGameBoard", "PPPB-HistorySpinDetail", "PPPB-LoginPreviewScreen", "PPPB-MarqueeScroller", "PPPB-MoneyTextHelper", "PPPB-MultiplierPanel", "PPPB-SpinButtonHelper", "PPPB-StageZeus", "PPPB-TopTipsPanel", "PPPB-TumbleFreeGameMultiplier", "PPPB-TumbleWinPanel", "PPPB-VersionLabel", "PPPB-WalletPanel", "PPPB-WildMultiplierText", "PPPB-WinListItem", "PPPB-WinListPanel", "PPPB-WinPayoutDisplayHelper", "PPPB-historyMultiplierFrame", "PPPB-AutoSpinConfig", "PPPB-StartCardsConfig", "PPPB-aniConfig", "PPPB-audioConfig", "PPPB-cardToName", "PPPB-demoConfig", "PPPB-gameNumConfig", "PPPB-languageData", "PPPB-maxLimitConfig", "PPPB-randConfig", "PPPB-uiConfig", "PPPB-CardHelper", "PPPB-GameServer", "PPPB-GameServerType", "PPPB-api", "PPPB-generate", "PPPB-gameChanImpl", "PPPB-auth2_grpc_web_pb", "PPPB-auth2_pb", "PPPB-auth_grpc_web_pb", "PPPB-auth_pb", "PPPB-cards_pb", "PPPB-slot_grpc_web_pb", "PPPB-slot_pb", "PPPB-spincards_pb", "PPPB-trace_grpc_web_pb", "PPPB-trace_pb", "PPPB-reconnection", "PPPB-TextMeshPro", "PPPB-TmpRichText", "PPPB-HtmlParser", "PPPB-TmpAssembler", "PPPB-TmpFontConfig", "PPPB-TmpUtils" ]);