overtime-live-trading-utils 0.0.141 → 0.0.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/main.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,a)=>{for(var E in a)e.o(a,E)&&!e.o(r,E)&&Object.defineProperty(r,E,{enumerable:!0,get:a[E]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{AMERICAN_LEAGUES:()=>U,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>M,LEAGUES_NO_LIVE_CONSTRAINTS:()=>C,League:()=>t,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>y,LeagueIdMapRundown:()=>m,LeagueMap:()=>P,MIN_ODDS_FOR_DIFF_CHECKING:()=>j,MONEYLINE_TYPE_ID:()=>Q,MULTIPLIER_100:()=>Z,MatchResolveType:()=>N,MoneylineTypes:()=>S,PeriodType:()=>T,Provider:()=>I,ScoringType:()=>s,Sport:()=>L,SpreadTypes:()=>p,TAG_CHILD_SPREAD:()=>X,TAG_CHILD_TOTALS:()=>z,TotalTypes:()=>l,UFC_LEAGUE_IDS:()=>u,ZERO:()=>k,adjustSpreadOnChildOdds:()=>Le,adjustSpreadOnOdds:()=>x,allowGameSportWithPeriodConstraint:()=>le,allowGameSportWithResultConstraint:()=>Ne,allowSoccerGame:()=>se,calculateImpliedOddsDifference:()=>c,checkGameContraints:()=>pe,checkOddsFromBookmakers:()=>R,createChildMarkets:()=>ie,fetchResultInCurrentSet:()=>Te,filterOddsByMarketNameBookmaker:()=>oe,filterOddsByMarketNameTeamNameBookmaker:()=>ae,gamesDatesMatching:()=>W,getBetTypesForLeague:()=>h,getBookmakersArray:()=>O,getLeagueInfo:()=>V,getLeagueIsDrawAvailable:()=>b,getLeagueLabel:()=>D,getLeagueOpticOddsName:()=>B,getLeaguePeriodType:()=>f,getLeagueProvider:()=>g,getLeagueSport:()=>v,getLeagueSpreadTypes:()=>w,getLeagueTotalTypes:()=>Y,getLiveSupportedLeagues:()=>F,getParentOdds:()=>Ee,getSpreadData:()=>J,groupAndFormatSpreadOdds:()=>Ae,groupAndFormatTotalOdds:()=>_e,processMarket:()=>Se,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),E=1;E<arguments.length;E++){var i=arguments[E];if(null!=i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(a[o]=i[o])}return a});var a=function(e){return parseFloat(e.toPrecision(12))};function E(e,r,a){return void 0===a||0==+a?Math[e](r):(r=+r,a=+a,isNaN(r)||"number"!=typeof a||a%1!=0?NaN:r<0?-E(e,-r,a):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-a:-a)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+a:a))))}var i,o,A={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?a(100*(this.decimalValue-1)):a(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return a(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=a(100/this.decimalValue);return null!==e.precision&&(r=E("round",r,-e.precision)),r.toString()+"%"}return a(1/this.decimalValue)}},fractional:{from:function(e){var r,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)r=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var a,E=[0,1],i=[1,0],o=function(e){var r=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var E=null,i=(r=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==i?E=r:0===i?E=r.substring(1,r.length):i<r.length&&(E=r.substring(0,i)+r.substring(i+1,r.length));var o=E,A=o.toString().length,_=e,L=_.toString().length;0===_&&(L=0);var t,S=A-L;for(t=S;t>0&&o%2==0;t--)o/=2;for(t=S;t>0&&o%5==0;t--)o/=5;return o}(e),A=e,_=Math.pow(10,-r)/2,L=2;L<1e3;L++){var t=Math.floor(A);if(E[L]=t*E[L-1]+E[L-2],Math.abs(E[L])>o)return;if(i[L]=t*i[L-1]+i[L-2],a=E[L]/i[L],Math.abs(a-e)<_||NaN==a)return E[L].toString()+"/"+i[L].toString();A=1/(A-t)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?a(this.decimalValue-1):a(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?a(-1/(this.decimalValue-1)):a(this.decimalValue-1)}}},_=((o=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=a(e)}).prototype=(i=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,i.from=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=A[e].from(r);return new o(a)},i);_.prototype.to=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var a=A[e].to.call(this,r);return"number"==typeof a&&null!==r.precision&&(a=E("round",a,-r.precision)),a};var L,t,S,p,l,s,N,T,I,n,d=_.from,O=function(e,r,a){var E=e.find((function(e){return Number(e.sportId)===Number(r)}));if(E){if(""==E.primaryBookmaker)return a;var i=[];return E.primaryBookmaker&&i.push(E.primaryBookmaker),E.secondaryBookmaker&&i.push(E.secondaryBookmaker),E.tertiaryBookmaker&&i.push(E.tertiaryBookmaker),i}return a},R=function(e,r,a,E,i){var o=e.get(r[0]);if(!o)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var A=o.homeOdds,_=o.awayOdds,L=a?0:o.drawOdds;if(r.some((function(r){var E=e.get(r);return!!E&&(0===E.homeOdds||0===E.awayOdds||!a&&0===E.drawOdds||1===E.homeOdds||1===E.awayOdds||!a&&1===E.drawOdds)})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"};if(1==r.length)return{homeOdds:A,awayOdds:_,drawOdds:a?0:L};if(r.slice(1).some((function(r){var o=e[r];if(o){var t=o.homeOdds,S=o.awayOdds,p=o.drawOdds,l=d("decimal",A).to("impliedProbability"),s=d("decimal",_).to("impliedProbability"),N=a?0:d("decimal",L).to("impliedProbability"),T=d("decimal",t).to("impliedProbability"),I=d("decimal",S).to("impliedProbability"),n=a?0:d("decimal",p).to("impliedProbability"),O=c(l,T),R=c(s,I),P=a?0:c(N,n);if(O>E&&l>i&&T>i||R>E&&s>i&&I>i||!a&&P>E&&N>i&&n>i)return!0}return!1})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"};var t=[];return r.forEach((function(r){return t.push(e.get(r))})),{homeOdds:A,awayOdds:_,drawOdds:a?0:L}},c=function(e,r){var a=Math.abs(e-r)/e*100;return console.log("% diff: "+a),a};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.EMPTY=""}(L||(L={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_CUP=132]="ENGLAND_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.EUROCUP=20200]="EUROCUP",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1=15312]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2=15313]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3=15314]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4=15315]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5=15316]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6=15317]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7=15318]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15322]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15323]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15324]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15325]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15326]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15327]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15328]="TENNIS_WTA_LIVE_MAPPING_V2_7"}(t||(t={})),function(e){e.MONEYLINE="Moneyline"}(S||(S={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.GOAL_SPREAD="Goal Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(p||(p={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(l||(l={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.EMPTY=""}(s||(s={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(N||(N={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.EMPTY=""}(T||(T={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(I||(I={}));var P=((n={})[t.NCAAF]={sport:L.FOOTBALL,id:t.NCAAF,label:"NCAA Football",opticOddsName:"NCAAF",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NFL]={sport:L.FOOTBALL,id:t.NFL,label:"NFL",opticOddsName:"NFL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.MLB]={sport:L.BASEBALL,id:t.MLB,label:"MLB",opticOddsName:"MLB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.INNING,isDrawAvailable:!1},n[t.NBA]={sport:L.BASKETBALL,id:t.NBA,label:"NBA",opticOddsName:"NBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NCAAB]={sport:L.BASKETBALL,id:t.NCAAB,label:"NCAA Basketball",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NHL]={sport:L.HOCKEY,id:t.NHL,label:"NHL",opticOddsName:"NHL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.OVERTIME,periodType:T.PERIOD,isDrawAvailable:!1},n[t.UFC]={sport:L.FIGHTING,id:t.UFC,label:"UFC",provider:I.OPTICODDS,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.WNBA]={sport:L.BASKETBALL,id:t.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.MLS]={sport:L.SOCCER,id:t.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EPL]={sport:L.SOCCER,id:t.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGUE_ONE]={sport:L.SOCCER,id:t.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BUNDESLIGA]={sport:L.SOCCER,id:t.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LA_LIGA]={sport:L.SOCCER,id:t.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERIE_A]={sport:L.SOCCER,id:t.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CL]={sport:L.SOCCER,id:t.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EL]={sport:L.SOCCER,id:t.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WC]={sport:L.SOCCER,id:t.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:I.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.J1_LEAGUE]={sport:L.SOCCER,id:t.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.IPL]={sport:L.CRICKET,id:t.IPL,label:"Indian Premier League",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:T.INNING,isDrawAvailable:!1},n[t.T20_BLAST]={sport:L.CRICKET,id:t.T20_BLAST,label:"T20 Blast",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:T.INNING,isDrawAvailable:!1},n[t.IIHF_WORLD_CHAMPIONSHIP]={sport:L.HOCKEY,id:t.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.COPA_AMERICA]={sport:L.SOCCER,id:t.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.COPA_LIBERTADORES]={sport:L.SOCCER,id:t.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EURO]={sport:L.SOCCER,id:t.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EREDIVISIE]={sport:L.SOCCER,id:t.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.PRIMEIRA_LIGA]={sport:L.SOCCER,id:t.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:L.SOCCER,id:t.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_SOCCER]={sport:L.SOCCER,id:t.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WC_WOMEN]={sport:L.SOCCER,id:t.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_CUP]={sport:L.SOCCER,id:t.ENGLAND_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FRANCE_CUP]={sport:L.SOCCER,id:t.FRANCE_CUP,label:"Coupe de France",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SPAIN_CUP]={sport:L.SOCCER,id:t.SPAIN_CUP,label:"Copa del Rey",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ITALY_CUP]={sport:L.SOCCER,id:t.ITALY_CUP,label:"Coppa Italia",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.TENNIS_WTA]={sport:L.TENNIS,id:t.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.TENNIS_GS]={sport:L.TENNIS,id:t.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.TENNIS_MASTERS]={sport:L.TENNIS,id:t.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_TENNIS]={sport:L.TENNIS,id:t.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.GERMANY_CUP]={sport:L.SOCCER,id:t.GERMANY_CUP,label:"DFB Pokal",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGA_MX]={sport:L.SOCCER,id:t.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BRAZIL_1]={sport:L.SOCCER,id:t.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EURO_U21]={sport:L.SOCCER,id:t.UEFA_EURO_U21,label:"UEFA EURO U21",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WORLD_CUP_U20]={sport:L.SOCCER,id:t.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:L.HANDBALL,id:t.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HANDBALL]={sport:L.HANDBALL,id:t.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EUROLEAGUE]={sport:L.BASKETBALL,id:t.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.FIBA_WORLD_CUP]={sport:L.BASKETBALL,id:t.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.FORMULA1]={sport:L.MOTOSPORT,id:t.FORMULA1,label:"Formula 1",provider:I.ENETPULSE,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:L.TABLE_TENNIS,id:t.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.MOTOGP]={sport:L.MOTOSPORT,id:t.MOTOGP,label:"MotoGP",provider:I.ENETPULSE,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.SAUDI_PROFESSIONAL_LEAGUE]={sport:L.SOCCER,id:t.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_WATERPOLO]={sport:L.WATERPOLO,id:t.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.QUARTER,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_VOLEYBALL]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.BOXING]={sport:L.FIGHTING,id:t.BOXING,label:"Boxing",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_RUGBY]={sport:L.RUGBY,id:t.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:L.RUGBY,id:t.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:L.HOCKEY,id:t.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HOCKEY]={sport:L.HOCKEY,id:t.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.UEFA_NATIONS_LEAGUE]={sport:L.SOCCER,id:t.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:I.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CONCACAF_NATIONS_LEAGUE]={sport:L.SOCCER,id:t.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CSGO]={sport:L.ESPORTS,id:t.CSGO,label:"CS GO",opticOddsName:"CS2",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.DOTA2]={sport:L.ESPORTS,id:t.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_QUALIFICATION]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.LOL]={sport:L.ESPORTS,id:t.LOL,label:"LOL",opticOddsName:"League of Legends",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.CONMEBOL_WC_QUALIFICATIONS]={sport:L.SOCCER,id:t.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CONFERENCE_LEAGUE]={sport:L.SOCCER,id:t.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.NON_TITLE_BOXING]={sport:L.FIGHTING,id:t.NON_TITLE_BOXING,label:"Boxing",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.US_ELECTION]={sport:L.POLITICS,id:t.US_ELECTION,label:"US Election 2024",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.UEFA_SUPER_CUP]={sport:L.SOCCER,id:t.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BRAZIL_CUP]={sport:L.SOCCER,id:t.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_CHAMPIONSHIP]={sport:L.SOCCER,id:t.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SCOTLAND_PREMIERSHIP]={sport:L.SOCCER,id:t.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BELGIUM_LEAGUE]={sport:L.SOCCER,id:t.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CZECH_LEAGUE]={sport:L.SOCCER,id:t.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CHILE_PRIMERA]={sport:L.SOCCER,id:t.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FINLAND_LEAGUE]={sport:L.SOCCER,id:t.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ARGENTINA_PRIMERA]={sport:L.SOCCER,id:t.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.RUSSIA_PREMIER]={sport:L.SOCCER,id:t.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.TURKEY_SUPER_LEAGUE]={sport:L.SOCCER,id:t.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERBIA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.GREECE_SUPER_LEAGUE]={sport:L.SOCCER,id:t.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.INDIA_PREMIER]={sport:L.SOCCER,id:t.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CHINA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.AUSTRALIA_A_LEAGUE]={sport:L.SOCCER,id:t.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SWITZERLAND_SUPER_LEAGUE]={sport:L.SOCCER,id:t.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BUNDESLIGA_2]={sport:L.SOCCER,id:t.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LA_LIGA_2]={sport:L.SOCCER,id:t.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERIE_B]={sport:L.SOCCER,id:t.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.INDIA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGUE_2]={sport:L.SOCCER,id:t.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.AUSTRIA_BUNDESLIGA]={sport:L.SOCCER,id:t.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.DENMARK_SUPER_LEAGUE]={sport:L.SOCCER,id:t.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.POLAND_LEAGUE]={sport:L.SOCCER,id:t.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SWEDEN_LEAGUE]={sport:L.SOCCER,id:t.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.COLOMBIA_PRIMERA_A]={sport:L.SOCCER,id:t.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_EFL_CUP]={sport:L.SOCCER,id:t.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_LEGAUE_1]={sport:L.SOCCER,id:t.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.URUGUAY_PRIMERA_DIVISION]={sport:L.SOCCER,id:t.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EUROCUP]={sport:L.BASKETBALL,id:t.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.GOLF_H2H]={sport:L.GOLF,id:t.GOLF_H2H,label:"Golf head-to-head",provider:I.JSONODDS,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.GOLF_WINNER]={sport:L.GOLF,id:t.GOLF_WINNER,label:"Golf Tournament Winner",provider:I.JSONODDS,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n),M=[t.CSGO,t.DOTA2,t.LOL,t.TENNIS_GS,t.TENNIS_MASTERS,t.SUMMER_OLYMPICS_TENNIS,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,t.TENNIS_MASTERS_LIVE_MAPPING_V2_1,t.TENNIS_MASTERS_LIVE_MAPPING_V2_2,t.TENNIS_MASTERS_LIVE_MAPPING_V2_3,t.TENNIS_MASTERS_LIVE_MAPPING_V2_4,t.TENNIS_MASTERS_LIVE_MAPPING_V2_5,t.TENNIS_MASTERS_LIVE_MAPPING_V2_6,t.TENNIS_MASTERS_LIVE_MAPPING_V2_7,t.TENNIS_MASTERS_LIVE_MAPPING_V2_8,t.TENNIS_MASTERS_LIVE_MAPPING_V2_9,t.TENNIS_MASTERS_LIVE_MAPPING_V2_10,t.TENNIS_MASTERS_LIVE_MAPPING_V2_11,t.TENNIS_MASTERS_LIVE_MAPPING_V2_12,t.TENNIS_MASTERS_LIVE_MAPPING_V2_13,t.TENNIS_MASTERS_LIVE_MAPPING_V2_14,t.TENNIS_MASTERS_LIVE_MAPPING_V2_15,t.TENNIS_MASTERS_LIVE_MAPPING_V2_16,t.TENNIS_MASTERS_LIVE_MAPPING_V2_17,t.TENNIS_MASTERS_LIVE_MAPPING_V2_18,t.TENNIS_MASTERS_LIVE_MAPPING_V2_19,t.TENNIS_MASTERS_LIVE_MAPPING_V2_20,t.TENNIS_MASTERS_LIVE_MAPPING_V2_21,t.TENNIS_MASTERS_LIVE_MAPPING_V2_22,t.TENNIS_WTA_LIVE_MAPPING_V2_1,t.TENNIS_WTA_LIVE_MAPPING_V2_2,t.TENNIS_WTA_LIVE_MAPPING_V2_3,t.TENNIS_WTA_LIVE_MAPPING_V2_4,t.TENNIS_WTA_LIVE_MAPPING_V2_5,t.TENNIS_WTA_LIVE_MAPPING_V2_6,t.TENNIS_WTA_LIVE_MAPPING_V2_7],C=[t.SUMMER_OLYMPICS_RUGBY,t.SUMMER_OLYMPICS_RUGBY_WOMEN],U=[t.NCAAF,t.NFL,t.MLB,t.NBA,t.NCAAB,t.NHL,t.WNBA,t.MLS,t.IPL,t.T20_BLAST],u=[701,702,703,704],m={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},y={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20200:"Eurocup"},v=function(e){var r=P[e];return r?r.sport:L.EMPTY},D=function(e){var r=P[e];return r?r.label:""},g=function(e){var r=P[e];return r?r.provider:""},b=function(e){var r=P[e];return!!r&&r.isDrawAvailable},F=function(e){return e.filter((function(e){return"true"===e.enabled})).map((function(e){return Number(e.sportId)}))},h=function(e,r){return r.filter((function(r){return Number(r.sportId)===e&&"true"===r.enabled})).map((function(e){return e.marketName}))},V=function(e,r){return r.filter((function(r){return Number(r.sportId)===e}))},B=function(e){var r=P[e];return r?r.opticOddsName:void 0},f=function(e){var r=P[e];return r?r.periodType:""},w=function(e,r){return r.filter((function(r){return Number(r.sportId)===e&&"Spread"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},Y=function(e,r){return r.filter((function(r){return Number(r.sportId)===e&&"Total"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},H=function(e,r,a,E,i,o){var A,_;if(M.includes(e)?(A=E.toLowerCase()==r.toLowerCase()||E.toLowerCase()==a.toLowerCase(),_=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==a.toLowerCase()):(A=E.toLowerCase()==r.toLowerCase(),_=i.toLowerCase()==a.toLowerCase()),!0!==A){var L=o.get(E.toLowerCase()),t=o.get(r.toLowerCase()),S=o.get(a.toLowerCase());if([L,t].some((function(e){return null==e})))return!1;A=M.includes(e)?L==t||L==S:L==t}if(!0!==_){var p=o.get(i.toLowerCase());if(t=o.get(r.toLowerCase()),[p,S=o.get(a.toLowerCase())].some((function(e){return null==e})))return!1;_=M.includes(e)&&p==t||p==S}return A&&_},W=function(e,r,a,E){var i;if(v(a)==L.TENNIS){var o=r.getTime(),A=e.getTime();i=Math.abs(A-o)<=Number(60*E*1e3)}else i=r.toUTCString()==e.toUTCString();return i},k=0,K="Draw",Q=0,j=.2,X=10001,z=10002,Z=100,x=function(e,r,a){if(e.some((function(e){return 0===e})))return e;var E=e.reduce((function(e,r){return e+r}),0);if(E<=1)return Array(e.length).fill(0);if(0===a){if(!(r>100*(E-1)))return e;a=r}var i=1+a/100,o=i/E,A=e.map((function(e){return e*o}));if(A.some((function(e){return e>=1})))return Array(e.length).fill(0);var _=A.reduce((function(e,r){return e+r}),0);if(_<1)return Array(e.length).fill(0);var L=i/_;return A.map((function(e){return e*L}))},J=function(e,r,a,E){var i=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(r)}));return i?{minSpread:i.minSpread?Number(i.minSpread):E,targetSpread:i.targetSpread?Number(i.targetSpread):0}:{minSpread:E,targetSpread:0}},q=function(){return q=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},q.apply(this,arguments)},$=function(e,r,a){if(a||2===arguments.length)for(var E,i=0,o=r.length;i<o;i++)!E&&i in r||(E||(E=Array.prototype.slice.call(r,0,i)),E[i]=r[i]);return e.concat(E||Array.prototype.slice.call(r))},ee=function(e){return e===k?0:re("decimal","impliedProbability",e)},re=function(e,r,a){try{return d(e,a).to(r)}catch(e){return 0}},ae=function(e,r,a,E,i){var o=new Map;return a.forEach((function(a){var A=0,_=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.homeTeam.toLowerCase()}));0!==_.length&&(A=_[0].price);var L=0,t=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.awayTeam.toLowerCase()}));0!==t.length&&(L=t[0].price);var S=0;if(!i){var p=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==p.length&&(S=p[0].price)}o.set(a.toLowerCase(),{homeOdds:A,awayOdds:L,drawOdds:S})})),o},Ee=function(e,r,a,E,i,o,A){var _={homeTeam:E.home_team,awayTeam:E.away_team},L=ae(E.odds,S.MONEYLINE,a,_,e),t=R(L,a,e,A,j);if(t.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:t.errorMessage};var p=(e?[t.homeOdds,t.awayOdds]:[t.homeOdds,t.awayOdds,t.drawOdds]).map((function(e){return ee(e)})),l=J(r,i,Q,o);return{odds:p=null!==l?x(p,l.minSpread,l.targetSpread):x(p,o,0)}},ie=function(e,r,a,E,i,o){var A=[[],[],[]],_=A[0],L=A[1],t=A[2],S=V(a,o),p={homeTeam:e.home_team,awayTeam:e.away_team};if(S.length>0){oe(e.odds,S,E[0]).filter((function(e){return e&&.5===Math.abs(e.selection_points%1)})).forEach((function(e){"Total"===e.type?L.push(e):"Spread"===e.type&&_.push(e)}));var l=$($([],Ae(_,p),!0),_e(L,p),!0);Le(l,r,i).forEach((function(e){var r={leagueId:Number(e.sportId),typeId:Number(e.typeId),type:e.type.toLowerCase(),line:Number(e.line),odds:e.odds},a=S.find((function(r){return Number(r.typeId)===Number(e.typeId)})),E=null==a?void 0:a.minOdds,i=null==a?void 0:a.maxOdds;E&&i&&(e.odds[0]>=E||e.odds[0]<=i||e.odds[1]>=E||e.odds[1]<=i)||t.push(r)}))}else console.warn("No child markets for leagueID: ".concat(Number(a)));return t},oe=function(e,r,a){var E=r.filter((function(e){return e.marketName.toLowerCase()!==S.MONEYLINE.toLowerCase()})).map((function(e){return e.marketName.toLowerCase()}));return e.filter((function(e){return E.includes(e.market_name.toLowerCase())&&e.sports_book_name.toLowerCase()==a.toLowerCase()})).map((function(e){return q(q({},e),r.find((function(r){return r.marketName===e.market_name})))}))},Ae=function(e,r){var a=e.reduce((function(e,a){var E=a.selection_points,i=a.price,o=a.selection,A=a.typeId,_=a.sportId,L=a.type,t=o===r.homeTeam,S=t?E:-E;return e[S]||(e[S]={home:null,away:null,typeId:null,sportId:null}),t?e[S].home=i:e[S].away=i,e[S].typeId=A,e[S].type=L,e[S].sportId=_,e}),{}),E=Object.entries(a).reduce((function(e,r){var a=r[0],E=r[1],i=parseFloat(a);return null!==E.home&&null!==E.away&&e.push({line:i,odds:[E.home,E.away],typeId:E.typeId,sportId:E.sportId,type:E.type}),e}),[]);return E},_e=function(e,r){var a=e.reduce((function(e,r){if(r){var a="".concat(r.selection,"_").concat(r.selection_points);e[a]||(e[a]={over:null,under:null}),"over"===r.selection_line?e[a].over=r.price:"under"===r.selection_line&&(e[a].under=r.price),e[a].typeId=r.typeId,e[a].type=r.type,e[a].sportId=r.sportId}return e}),{}),E=Object.entries(a).reduce((function(e,a){var E=a[0],i=a[1],o=E.split("_"),A=o[0],_=o[1],L=parseFloat(_),t=A===r.awayTeam;return null!==i.over&&null!==i.under&&e.push({line:L,odds:[i.over,i.under],typeId:t?Number(i.typeId)+1:i.typeId,sportId:i.sportId,type:i.type}),e}),[]);return E},Le=function(e,r,a){var E=[];return e.forEach((function(e){var i=ee(e.odds[0])||k,o=ee(e.odds[1])||k;if(i!==k&&o!==k){var A,_=J(r,e.sportId,e.typeId,a);i=(A=null!==_?x([i,o],_.minSpread,_.targetSpread):x([i,o],a,0))[0],o=A[1],E.push(q(q({},e),{odds:A}))}})),E},te=function(){return te=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},te.apply(this,arguments)},Se=function(e,r,a,E,i,o,A,_){var L=E.filter((function(r){return r.sportId===String(e.leagueId)})),t=Ee(!i,L,a,r,e.leagueId,o,A);t.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=t.errorMessage):e.odds=t.odds.filter((function(e){return 0!=e})).map((function(e){return{american:d("impliedProbability",e).to("moneyline"),decimal:d("impliedProbability",e).to("decimal"),normalizedImplied:e}}));var S=ie(r,L,e.leagueId,a,o,_).map((function(r){var a=te(te({},e),r);return a.odds.length>0&&(a.odds=a.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:d("impliedProbability",e).to("moneyline"),decimal:d("impliedProbability",e).to("decimal"),normalizedImplied:e}}))),a}));return e.childMarkets=S,e},pe=function(e,r,a){var E=e.score_home_total,i=e.score_away_total,o=e.clock,A=e.period,_=e.status,t=e.home_team,S=e.away_team,p=parseInt(A),l=v(r);return"completed"==_.toLowerCase()?{allow:!1,message:"Blocking game ".concat(t," - ").concat(S," because it is no longer live.")}:l===L.BASKETBALL?le(t,S,p,a.get(L.BASKETBALL)):l===L.HOCKEY?le(t,S,p,a.get(L.HOCKEY)):l===L.BASEBALL?le(t,S,p,a.get(L.BASEBALL)):l===L.SOCCER?se(t,S,o,A,a.get(L.SOCCER)):l===L.TENNIS?Ne(e,t,S,A,E,i,r,l):l===L.VOLLEYBALL?Ne(e,t,S,p,E,i,r,l):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},le=function(e,r,a,E){return!Number.isNaN(a)&&a>=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(a,". period")}:{allow:!0,message:""}},se=function(e,r,a,E,i){var o=Number(a);return!Number.isNaN(o)&&o>=i||Number.isNaN(o)&&"HALF"!=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},Ne=function(e,r,a,E,i,o,A,_){var S=Number(E),p=Te(S,e),l="atp"==e.league.toLowerCase(),s={home:i,away:o};return _==L.VOLLEYBALL?Ie(r,a,p,s,ne,5==S?Oe:de):A.toString().startsWith(t.TENNIS_GS)&&l?Ie(r,a,p,s,Re,Pe):A.toString().startsWith(t.TENNIS_GS)&&!l||A.toString().startsWith(t.TENNIS_MASTERS)||A.toString().startsWith(t.SUMMER_OLYMPICS_TENNIS)||A.toString().startsWith(t.TENNIS_WTA)?Ie(r,a,p,s,ce,Pe):{allow:!0,message:"The sport ".concat(A," does not have result constraint")}},Te=function(e,r){var a=0,E=0;switch(e){case 1:a=Number(r.score_home_period_1),E=Number(r.score_away_period_1);break;case 2:a=Number(r.score_home_period_2),E=Number(r.score_away_period_2);break;case 3:a=Number(r.score_home_period_3),E=Number(r.score_away_period_3);break;case 4:a=Number(r.score_home_period_4),E=Number(r.score_away_period_4);break;case 5:a=Number(r.score_home_period_5),E=Number(r.score_away_period_5)}return{home:a,away:E}},Ie=function(e,r,a,E,i,o){return Number(E.home)!=i&&Number(E.away)!=i||!(Number(E.home)==i&&a.home>=o||Number(E.away)==i&&a.away>=o)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(E.home," - ").concat(E.away," (").concat(a.home," - ").concat(a.away,")")}},ne=2,de=20,Oe=10,Re=2,ce=1,Pe=5;return r})()));
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,a)=>{for(var E in a)e.o(a,E)&&!e.o(r,E)&&Object.defineProperty(r,E,{enumerable:!0,get:a[E]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{AMERICAN_LEAGUES:()=>U,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>M,LEAGUES_NO_LIVE_CONSTRAINTS:()=>C,League:()=>t,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>y,LeagueIdMapRundown:()=>m,LeagueMap:()=>c,MIN_ODDS_FOR_DIFF_CHECKING:()=>j,MONEYLINE_TYPE_ID:()=>Q,MULTIPLIER_100:()=>Z,MatchResolveType:()=>N,MoneylineTypes:()=>S,PeriodType:()=>T,Provider:()=>I,ScoringType:()=>s,Sport:()=>L,SpreadTypes:()=>p,TAG_CHILD_SPREAD:()=>X,TAG_CHILD_TOTALS:()=>z,TotalTypes:()=>l,UFC_LEAGUE_IDS:()=>u,ZERO:()=>k,adjustSpreadOnChildOdds:()=>Le,adjustSpreadOnOdds:()=>x,allowGameSportWithPeriodConstraint:()=>le,allowGameSportWithResultConstraint:()=>Ne,allowSoccerGame:()=>se,calculateImpliedOddsDifference:()=>P,checkGameContraints:()=>pe,checkOddsFromBookmakers:()=>R,createChildMarkets:()=>ie,fetchResultInCurrentSet:()=>Te,filterOddsByMarketNameBookmaker:()=>oe,filterOddsByMarketNameTeamNameBookmaker:()=>ae,gamesDatesMatching:()=>W,getBetTypesForLeague:()=>h,getBookmakersArray:()=>O,getLeagueInfo:()=>B,getLeagueIsDrawAvailable:()=>b,getLeagueLabel:()=>D,getLeagueOpticOddsName:()=>V,getLeaguePeriodType:()=>f,getLeagueProvider:()=>g,getLeagueSport:()=>v,getLeagueSpreadTypes:()=>w,getLeagueTotalTypes:()=>Y,getLiveSupportedLeagues:()=>F,getParentOdds:()=>Ee,getSpreadData:()=>J,groupAndFormatSpreadOdds:()=>Ae,groupAndFormatTotalOdds:()=>_e,processMarket:()=>Se,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),E=1;E<arguments.length;E++){var i=arguments[E];if(null!=i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(a[o]=i[o])}return a});var a=function(e){return parseFloat(e.toPrecision(12))};function E(e,r,a){return void 0===a||0==+a?Math[e](r):(r=+r,a=+a,isNaN(r)||"number"!=typeof a||a%1!=0?NaN:r<0?-E(e,-r,a):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-a:-a)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+a:a))))}var i,o,A={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?a(100*(this.decimalValue-1)):a(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return a(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=a(100/this.decimalValue);return null!==e.precision&&(r=E("round",r,-e.precision)),r.toString()+"%"}return a(1/this.decimalValue)}},fractional:{from:function(e){var r,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)r=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var a,E=[0,1],i=[1,0],o=function(e){var r=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var E=null,i=(r=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==i?E=r:0===i?E=r.substring(1,r.length):i<r.length&&(E=r.substring(0,i)+r.substring(i+1,r.length));var o=E,A=o.toString().length,_=e,L=_.toString().length;0===_&&(L=0);var t,S=A-L;for(t=S;t>0&&o%2==0;t--)o/=2;for(t=S;t>0&&o%5==0;t--)o/=5;return o}(e),A=e,_=Math.pow(10,-r)/2,L=2;L<1e3;L++){var t=Math.floor(A);if(E[L]=t*E[L-1]+E[L-2],Math.abs(E[L])>o)return;if(i[L]=t*i[L-1]+i[L-2],a=E[L]/i[L],Math.abs(a-e)<_||NaN==a)return E[L].toString()+"/"+i[L].toString();A=1/(A-t)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?a(this.decimalValue-1):a(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?a(-1/(this.decimalValue-1)):a(this.decimalValue-1)}}},_=((o=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=a(e)}).prototype=(i=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,i.from=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=A[e].from(r);return new o(a)},i);_.prototype.to=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var a=A[e].to.call(this,r);return"number"==typeof a&&null!==r.precision&&(a=E("round",a,-r.precision)),a};var L,t,S,p,l,s,N,T,I,n,d=_.from,O=function(e,r,a){var E=e.find((function(e){return Number(e.sportId)===Number(r)}));if(E){if(""==E.primaryBookmaker)return a;var i=[];return E.primaryBookmaker&&i.push(E.primaryBookmaker),E.secondaryBookmaker&&i.push(E.secondaryBookmaker),E.tertiaryBookmaker&&i.push(E.tertiaryBookmaker),i}return a},R=function(e,r,a,E,i){var o=e.get(r[0]);if(!o)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var A=o.homeOdds,_=o.awayOdds,L=a?0:o.drawOdds;if(r.some((function(r){var E=e.get(r);return!!E&&(0===E.homeOdds||0===E.awayOdds||!a&&0===E.drawOdds||1===E.homeOdds||1===E.awayOdds||!a&&1===E.drawOdds)})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"};if(1==r.length)return{homeOdds:A,awayOdds:_,drawOdds:a?0:L};if(r.slice(1).some((function(r){var o=e[r];if(o){var t=o.homeOdds,S=o.awayOdds,p=o.drawOdds,l=d("decimal",A).to("impliedProbability"),s=d("decimal",_).to("impliedProbability"),N=a?0:d("decimal",L).to("impliedProbability"),T=d("decimal",t).to("impliedProbability"),I=d("decimal",S).to("impliedProbability"),n=a?0:d("decimal",p).to("impliedProbability"),O=P(l,T),R=P(s,I),c=a?0:P(N,n);if(O>E&&l>i&&T>i||R>E&&s>i&&I>i||!a&&c>E&&N>i&&n>i)return!0}return!1})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"};var t=[];return r.forEach((function(r){return t.push(e.get(r))})),{homeOdds:A,awayOdds:_,drawOdds:a?0:L}},P=function(e,r){var a=Math.abs(e-r)/e*100;return console.log("% diff: "+a),a};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.EMPTY=""}(L||(L={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_CUP=132]="ENGLAND_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.EUROCUP=20200]="EUROCUP",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1=15312]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2=15313]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3=15314]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4=15315]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5=15316]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6=15317]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7=15318]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15322]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15323]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15324]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15325]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15326]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15327]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15328]="TENNIS_WTA_LIVE_MAPPING_V2_7"}(t||(t={})),function(e){e.MONEYLINE="Moneyline"}(S||(S={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.GOAL_SPREAD="Goal Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(p||(p={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(l||(l={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.EMPTY=""}(s||(s={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(N||(N={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.EMPTY=""}(T||(T={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(I||(I={}));var c=((n={})[t.NCAAF]={sport:L.FOOTBALL,id:t.NCAAF,label:"NCAA Football",opticOddsName:"NCAAF",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NFL]={sport:L.FOOTBALL,id:t.NFL,label:"NFL",opticOddsName:"NFL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.MLB]={sport:L.BASEBALL,id:t.MLB,label:"MLB",opticOddsName:"MLB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.INNING,isDrawAvailable:!1},n[t.NBA]={sport:L.BASKETBALL,id:t.NBA,label:"NBA",opticOddsName:"NBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NCAAB]={sport:L.BASKETBALL,id:t.NCAAB,label:"NCAA Basketball",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.NHL]={sport:L.HOCKEY,id:t.NHL,label:"NHL",opticOddsName:"NHL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.OVERTIME,periodType:T.PERIOD,isDrawAvailable:!1},n[t.UFC]={sport:L.FIGHTING,id:t.UFC,label:"UFC",provider:I.OPTICODDS,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.WNBA]={sport:L.BASKETBALL,id:t.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.MLS]={sport:L.SOCCER,id:t.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EPL]={sport:L.SOCCER,id:t.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGUE_ONE]={sport:L.SOCCER,id:t.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BUNDESLIGA]={sport:L.SOCCER,id:t.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LA_LIGA]={sport:L.SOCCER,id:t.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERIE_A]={sport:L.SOCCER,id:t.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CL]={sport:L.SOCCER,id:t.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EL]={sport:L.SOCCER,id:t.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WC]={sport:L.SOCCER,id:t.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:I.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.J1_LEAGUE]={sport:L.SOCCER,id:t.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.IPL]={sport:L.CRICKET,id:t.IPL,label:"Indian Premier League",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:T.INNING,isDrawAvailable:!1},n[t.T20_BLAST]={sport:L.CRICKET,id:t.T20_BLAST,label:"T20 Blast",provider:I.RUNDOWN,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:T.INNING,isDrawAvailable:!1},n[t.IIHF_WORLD_CHAMPIONSHIP]={sport:L.HOCKEY,id:t.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.COPA_AMERICA]={sport:L.SOCCER,id:t.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.COPA_LIBERTADORES]={sport:L.SOCCER,id:t.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EURO]={sport:L.SOCCER,id:t.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EREDIVISIE]={sport:L.SOCCER,id:t.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.PRIMEIRA_LIGA]={sport:L.SOCCER,id:t.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:L.SOCCER,id:t.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_SOCCER]={sport:L.SOCCER,id:t.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WC_WOMEN]={sport:L.SOCCER,id:t.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_CUP]={sport:L.SOCCER,id:t.ENGLAND_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FRANCE_CUP]={sport:L.SOCCER,id:t.FRANCE_CUP,label:"Coupe de France",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SPAIN_CUP]={sport:L.SOCCER,id:t.SPAIN_CUP,label:"Copa del Rey",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ITALY_CUP]={sport:L.SOCCER,id:t.ITALY_CUP,label:"Coppa Italia",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.TENNIS_WTA]={sport:L.TENNIS,id:t.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.TENNIS_GS]={sport:L.TENNIS,id:t.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.TENNIS_MASTERS]={sport:L.TENNIS,id:t.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_TENNIS]={sport:L.TENNIS,id:t.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.GERMANY_CUP]={sport:L.SOCCER,id:t.GERMANY_CUP,label:"DFB Pokal",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGA_MX]={sport:L.SOCCER,id:t.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BRAZIL_1]={sport:L.SOCCER,id:t.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EURO_U21]={sport:L.SOCCER,id:t.UEFA_EURO_U21,label:"UEFA EURO U21",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FIFA_WORLD_CUP_U20]={sport:L.SOCCER,id:t.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:L.HANDBALL,id:t.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HANDBALL]={sport:L.HANDBALL,id:t.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EUROLEAGUE]={sport:L.BASKETBALL,id:t.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.FIBA_WORLD_CUP]={sport:L.BASKETBALL,id:t.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.FORMULA1]={sport:L.MOTOSPORT,id:t.FORMULA1,label:"Formula 1",provider:I.ENETPULSE,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:L.TABLE_TENNIS,id:t.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.MOTOGP]={sport:L.MOTOSPORT,id:t.MOTOGP,label:"MotoGP",provider:I.ENETPULSE,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.SAUDI_PROFESSIONAL_LEAGUE]={sport:L.SOCCER,id:t.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_WATERPOLO]={sport:L.WATERPOLO,id:t.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.QUARTER,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_VOLEYBALL]={sport:L.VOLLEYBALL,id:t.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:I.ENETPULSE,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:T.SET,isDrawAvailable:!1},n[t.BOXING]={sport:L.FIGHTING,id:t.BOXING,label:"Boxing",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_RUGBY]={sport:L.RUGBY,id:t.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:L.RUGBY,id:t.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:L.HOCKEY,id:t.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.SUMMER_OLYMPICS_HOCKEY]={sport:L.HOCKEY,id:t.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.PERIOD,isDrawAvailable:!0},n[t.UEFA_NATIONS_LEAGUE]={sport:L.SOCCER,id:t.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:I.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CONCACAF_NATIONS_LEAGUE]={sport:L.SOCCER,id:t.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CSGO]={sport:L.ESPORTS,id:t.CSGO,label:"CS GO",opticOddsName:"CS2",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.DOTA2]={sport:L.ESPORTS,id:t.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.SUMMER_OLYMPICS_QUALIFICATION]={sport:L.BASKETBALL,id:t.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:I.ENETPULSE,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.LOL]={sport:L.ESPORTS,id:t.LOL,label:"LOL",opticOddsName:"League of Legends",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.CONMEBOL_WC_QUALIFICATIONS]={sport:L.SOCCER,id:t.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CONFERENCE_LEAGUE]={sport:L.SOCCER,id:t.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.NON_TITLE_BOXING]={sport:L.FIGHTING,id:t.NON_TITLE_BOXING,label:"Boxing",provider:I.ENETPULSE,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:T.ROUND,isDrawAvailable:!1},n[t.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:L.SOCCER,id:t.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:I.ENETPULSE,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.US_ELECTION]={sport:L.POLITICS,id:t.US_ELECTION,label:"US Election 2024",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.UEFA_SUPER_CUP]={sport:L.SOCCER,id:t.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BRAZIL_CUP]={sport:L.SOCCER,id:t.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_CHAMPIONSHIP]={sport:L.SOCCER,id:t.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SCOTLAND_PREMIERSHIP]={sport:L.SOCCER,id:t.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BELGIUM_LEAGUE]={sport:L.SOCCER,id:t.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CZECH_LEAGUE]={sport:L.SOCCER,id:t.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CHILE_PRIMERA]={sport:L.SOCCER,id:t.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.FINLAND_LEAGUE]={sport:L.SOCCER,id:t.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ARGENTINA_PRIMERA]={sport:L.SOCCER,id:t.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.RUSSIA_PREMIER]={sport:L.SOCCER,id:t.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.TURKEY_SUPER_LEAGUE]={sport:L.SOCCER,id:t.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERBIA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.GREECE_SUPER_LEAGUE]={sport:L.SOCCER,id:t.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.INDIA_PREMIER]={sport:L.SOCCER,id:t.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.CHINA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.AUSTRALIA_A_LEAGUE]={sport:L.SOCCER,id:t.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SWITZERLAND_SUPER_LEAGUE]={sport:L.SOCCER,id:t.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.BUNDESLIGA_2]={sport:L.SOCCER,id:t.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LA_LIGA_2]={sport:L.SOCCER,id:t.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SERIE_B]={sport:L.SOCCER,id:t.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.INDIA_SUPER_LEAGUE]={sport:L.SOCCER,id:t.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.LIGUE_2]={sport:L.SOCCER,id:t.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.AUSTRIA_BUNDESLIGA]={sport:L.SOCCER,id:t.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.DENMARK_SUPER_LEAGUE]={sport:L.SOCCER,id:t.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.POLAND_LEAGUE]={sport:L.SOCCER,id:t.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.SWEDEN_LEAGUE]={sport:L.SOCCER,id:t.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.COLOMBIA_PRIMERA_A]={sport:L.SOCCER,id:t.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_EFL_CUP]={sport:L.SOCCER,id:t.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.ENGLAND_LEGAUE_1]={sport:L.SOCCER,id:t.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.URUGUAY_PRIMERA_DIVISION]={sport:L.SOCCER,id:t.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:T.HALF,isDrawAvailable:!0},n[t.EUROCUP]={sport:L.BASKETBALL,id:t.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:T.QUARTER,isDrawAvailable:!1},n[t.GOLF_H2H]={sport:L.GOLF,id:t.GOLF_H2H,label:"Golf head-to-head",provider:I.JSONODDS,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n[t.GOLF_WINNER]={sport:L.GOLF,id:t.GOLF_WINNER,label:"Golf Tournament Winner",provider:I.JSONODDS,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:T.EMPTY,isDrawAvailable:!1},n),M=[t.CSGO,t.DOTA2,t.LOL,t.TENNIS_GS,t.TENNIS_MASTERS,t.SUMMER_OLYMPICS_TENNIS,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,t.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,t.TENNIS_MASTERS_LIVE_MAPPING_V2_1,t.TENNIS_MASTERS_LIVE_MAPPING_V2_2,t.TENNIS_MASTERS_LIVE_MAPPING_V2_3,t.TENNIS_MASTERS_LIVE_MAPPING_V2_4,t.TENNIS_MASTERS_LIVE_MAPPING_V2_5,t.TENNIS_MASTERS_LIVE_MAPPING_V2_6,t.TENNIS_MASTERS_LIVE_MAPPING_V2_7,t.TENNIS_MASTERS_LIVE_MAPPING_V2_8,t.TENNIS_MASTERS_LIVE_MAPPING_V2_9,t.TENNIS_MASTERS_LIVE_MAPPING_V2_10,t.TENNIS_MASTERS_LIVE_MAPPING_V2_11,t.TENNIS_MASTERS_LIVE_MAPPING_V2_12,t.TENNIS_MASTERS_LIVE_MAPPING_V2_13,t.TENNIS_MASTERS_LIVE_MAPPING_V2_14,t.TENNIS_MASTERS_LIVE_MAPPING_V2_15,t.TENNIS_MASTERS_LIVE_MAPPING_V2_16,t.TENNIS_MASTERS_LIVE_MAPPING_V2_17,t.TENNIS_MASTERS_LIVE_MAPPING_V2_18,t.TENNIS_MASTERS_LIVE_MAPPING_V2_19,t.TENNIS_MASTERS_LIVE_MAPPING_V2_20,t.TENNIS_MASTERS_LIVE_MAPPING_V2_21,t.TENNIS_MASTERS_LIVE_MAPPING_V2_22,t.TENNIS_WTA_LIVE_MAPPING_V2_1,t.TENNIS_WTA_LIVE_MAPPING_V2_2,t.TENNIS_WTA_LIVE_MAPPING_V2_3,t.TENNIS_WTA_LIVE_MAPPING_V2_4,t.TENNIS_WTA_LIVE_MAPPING_V2_5,t.TENNIS_WTA_LIVE_MAPPING_V2_6,t.TENNIS_WTA_LIVE_MAPPING_V2_7],C=[t.SUMMER_OLYMPICS_RUGBY,t.SUMMER_OLYMPICS_RUGBY_WOMEN],U=[t.NCAAF,t.NFL,t.MLB,t.NBA,t.NCAAB,t.NHL,t.WNBA,t.MLS,t.IPL,t.T20_BLAST],u=[701,702,703,704],m={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},y={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20200:"Eurocup"},v=function(e){var r=c[e];return r?r.sport:L.EMPTY},D=function(e){var r=c[e];return r?r.label:""},g=function(e){var r=c[e];return r?r.provider:""},b=function(e){var r=c[e];return!!r&&r.isDrawAvailable},F=function(e){var r=new Set;return e.filter((function(e){return"true"===e.enabled})).map((function(e){return r.add(Number(e.sportId))})),Array.from(r)},h=function(e,r){var a=new Set;return r.filter((function(r){return Number(r.sportId)===Number(e)&&"true"===r.enabled})).map((function(e){return a.add(e.marketName)})),Array.from(a)},B=function(e,r){return r.filter((function(r){return Number(r.sportId)===e}))},V=function(e){var r=c[e];return r?r.opticOddsName:void 0},f=function(e){var r=c[e];return r?r.periodType:""},w=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Spread"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},Y=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Total"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},H=function(e,r,a,E,i,o){var A,_;if(M.includes(e)?(A=E.toLowerCase()==r.toLowerCase()||E.toLowerCase()==a.toLowerCase(),_=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==a.toLowerCase()):(A=E.toLowerCase()==r.toLowerCase(),_=i.toLowerCase()==a.toLowerCase()),!0!==A){var L=o.get(E.toLowerCase()),t=o.get(r.toLowerCase()),S=o.get(a.toLowerCase());if([L,t].some((function(e){return null==e})))return!1;A=M.includes(e)?L==t||L==S:L==t}if(!0!==_){var p=o.get(i.toLowerCase());if(t=o.get(r.toLowerCase()),[p,S=o.get(a.toLowerCase())].some((function(e){return null==e})))return!1;_=M.includes(e)&&p==t||p==S}return A&&_},W=function(e,r,a,E){var i;if(v(a)==L.TENNIS){var o=r.getTime(),A=e.getTime();i=Math.abs(A-o)<=Number(60*E*1e3)}else i=r.toUTCString()==e.toUTCString();return i},k=0,K="Draw",Q=0,j=.2,X=10001,z=10002,Z=100,x=function(e,r,a){if(e.some((function(e){return 0===e})))return e;var E=e.reduce((function(e,r){return e+r}),0);if(E<=1)return Array(e.length).fill(0);if(0===a){if(!(r>100*(E-1)))return e;a=r}var i=1+a/100,o=i/E,A=e.map((function(e){return e*o}));if(A.some((function(e){return e>=1})))return Array(e.length).fill(0);var _=A.reduce((function(e,r){return e+r}),0);if(_<1)return Array(e.length).fill(0);var L=i/_;return A.map((function(e){return e*L}))},J=function(e,r,a,E){var i=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(r)}));return i?{minSpread:i.minSpread?Number(i.minSpread):E,targetSpread:i.targetSpread?Number(i.targetSpread):0}:{minSpread:E,targetSpread:0}},q=function(){return q=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},q.apply(this,arguments)},$=function(e,r,a){if(a||2===arguments.length)for(var E,i=0,o=r.length;i<o;i++)!E&&i in r||(E||(E=Array.prototype.slice.call(r,0,i)),E[i]=r[i]);return e.concat(E||Array.prototype.slice.call(r))},ee=function(e){return e===k?0:re("decimal","impliedProbability",e)},re=function(e,r,a){try{return d(e,a).to(r)}catch(e){return 0}},ae=function(e,r,a,E,i){var o=new Map;return a.forEach((function(a){var A=0,_=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.homeTeam.toLowerCase()}));0!==_.length&&(A=_[0].price);var L=0,t=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.awayTeam.toLowerCase()}));0!==t.length&&(L=t[0].price);var S=0;if(!i){var p=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==p.length&&(S=p[0].price)}o.set(a.toLowerCase(),{homeOdds:A,awayOdds:L,drawOdds:S})})),o},Ee=function(e,r,a,E,i,o,A){var _={homeTeam:E.homeTeam,awayTeam:E.awayTeam},L=ae(E.odds,S.MONEYLINE,a,_,e),t=R(L,a,e,A,j);if(t.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:t.errorMessage};var p=(e?[t.homeOdds,t.awayOdds]:[t.homeOdds,t.awayOdds,t.drawOdds]).map((function(e){return ee(e)})),l=J(r,i,Q,o);return{odds:p=null!==l?x(p,l.minSpread,l.targetSpread):x(p,o,0)}},ie=function(e,r,a,E,i,o){var A=[[],[],[]],_=A[0],L=A[1],t=A[2],S=B(a,o),p={homeTeam:e.homeTeam,awayTeam:e.awayTeam};if(S.length>0){oe(e.odds,S,E[0]).filter((function(e){return e&&.5===Math.abs(e.points%1)})).forEach((function(e){"Total"===e.type?L.push(e):"Spread"===e.type&&_.push(e)}));var l=$($([],Ae(_,p),!0),_e(L,p),!0);Le(l,r,i).forEach((function(e){var r={leagueId:Number(e.sportId),typeId:Number(e.typeId),type:e.type.toLowerCase(),line:Number(e.line),odds:e.odds},a=S.find((function(r){return Number(r.typeId)===Number(e.typeId)})),E=null==a?void 0:a.minOdds,i=null==a?void 0:a.maxOdds;E&&i&&(e.odds[0]>=E||e.odds[0]<=i||e.odds[1]>=E||e.odds[1]<=i)||t.push(r)}))}else console.warn("No child markets for leagueID: ".concat(Number(a)));return t},oe=function(e,r,a){var E=r.filter((function(e){return e.marketName.toLowerCase()!==S.MONEYLINE.toLowerCase()})).map((function(e){return e.marketName.toLowerCase()}));return e.filter((function(e){return E.includes(e.marketName.toLowerCase())&&e.sportsBookName.toLowerCase()==a.toLowerCase()})).map((function(e){return q(q({},e),r.find((function(r){return r.marketName===e.marketName})))}))},Ae=function(e,r){var a=e.reduce((function(e,a){var E=a.points,i=a.price,o=a.selection,A=a.typeId,_=a.sportId,L=a.type,t=o===r.homeTeam,S=t?E:-E;return e[S]||(e[S]={home:null,away:null,typeId:null,sportId:null}),t?e[S].home=i:e[S].away=i,e[S].typeId=A,e[S].type=L,e[S].sportId=_,e}),{}),E=Object.entries(a).reduce((function(e,r){var a=r[0],E=r[1],i=parseFloat(a);return null!==E.home&&null!==E.away&&e.push({line:i,odds:[E.home,E.away],typeId:E.typeId,sportId:E.sportId,type:E.type}),e}),[]);return E},_e=function(e,r){var a=e.reduce((function(e,r){if(r){var a="".concat(r.selection,"_").concat(r.points);e[a]||(e[a]={over:null,under:null}),"over"===r.selection_line?e[a].over=r.price:"under"===r.selection_line&&(e[a].under=r.price),e[a].typeId=r.typeId,e[a].type=r.type,e[a].sportId=r.sportId}return e}),{}),E=Object.entries(a).reduce((function(e,a){var E=a[0],i=a[1],o=E.split("_"),A=o[0],_=o[1],L=parseFloat(_),t=A===r.awayTeam;return null!==i.over&&null!==i.under&&e.push({line:L,odds:[i.over,i.under],typeId:t?Number(i.typeId)+1:i.typeId,sportId:i.sportId,type:i.type}),e}),[]);return E},Le=function(e,r,a){var E=[];return e.forEach((function(e){var i=ee(e.odds[0])||k,o=ee(e.odds[1])||k;if(i!==k&&o!==k){var A,_=J(r,e.sportId,e.typeId,a);i=(A=null!==_?x([i,o],_.minSpread,_.targetSpread):x([i,o],a,0))[0],o=A[1],E.push(q(q({},e),{odds:A}))}})),E},te=function(){return te=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},te.apply(this,arguments)},Se=function(e,r,a,E,i,o,A,_){var L=E.filter((function(r){return r.sportId===String(e.leagueId)})),t=Ee(!i,L,a,r,e.leagueId,o,A);t.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=t.errorMessage):e.odds=t.odds.filter((function(e){return 0!=e})).map((function(e){return{american:d("impliedProbability",e).to("moneyline"),decimal:d("impliedProbability",e).to("decimal"),normalizedImplied:e}}));var S=ie(r,L,e.leagueId,a,o,_).map((function(r){var a=te(te({},e),r);return a.odds.length>0&&(a.odds=a.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:d("impliedProbability",e).to("moneyline"),decimal:d("impliedProbability",e).to("decimal"),normalizedImplied:e}}))),a}));return e.childMarkets=S,e},pe=function(e,r,a){var E=v(r),i=e.homeTeam,o=e.homeTotal,A=e.awayTeam,_=e.awayTotal,t=e.clock,S=e.period,p=e.status,l=parseInt(S);return"completed"==p.toLowerCase()?{allow:!1,message:"Blocking game ".concat(i," - ").concat(A," because it is no longer live.")}:E===L.BASKETBALL?le(i,A,l,a.get(L.BASKETBALL)):E===L.HOCKEY?le(i,A,l,a.get(L.HOCKEY)):E===L.BASEBALL?le(i,A,l,a.get(L.BASEBALL)):E===L.SOCCER?se(i,A,t,S,a.get(L.SOCCER)):E===L.TENNIS?Ne(e,i,A,S,o,_,r,E):E===L.VOLLEYBALL?Ne(e,i,A,l,o,_,r,E):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},le=function(e,r,a,E){return!Number.isNaN(a)&&a>=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(a,". period")}:{allow:!0,message:""}},se=function(e,r,a,E,i){var o=Number(a);return!Number.isNaN(o)&&o>=i||Number.isNaN(o)&&"HALF"!=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},Ne=function(e,r,a,E,i,o,A,_){var S=Number(E),p=Te(S,e),l="atp"==e.league.toLowerCase(),s={home:i,away:o};return _==L.VOLLEYBALL?Ie(r,a,p,s,ne,5==S?Oe:de):A.toString().startsWith(t.TENNIS_GS)&&l?Ie(r,a,p,s,Re,ce):A.toString().startsWith(t.TENNIS_GS)&&!l||A.toString().startsWith(t.TENNIS_MASTERS)||A.toString().startsWith(t.SUMMER_OLYMPICS_TENNIS)||A.toString().startsWith(t.TENNIS_WTA)?Ie(r,a,p,s,Pe,ce):{allow:!0,message:"The sport ".concat(A," does not have result constraint")}},Te=function(e,r){var a=0,E=0;switch(e){case 1:a=Number(r.homePeriod1),E=Number(r.awayPeriod1);break;case 2:a=Number(r.homePeriod2),E=Number(r.awayPeriod2);break;case 3:a=Number(r.homePeriod3),E=Number(r.awayPeriod3);break;case 4:a=Number(r.homePeriod4),E=Number(r.awayPeriod4);break;case 5:a=Number(r.homePeriod5),E=Number(r.awayPeriod5)}return{home:a,away:E}},Ie=function(e,r,a,E,i,o){return Number(E.home)!=i&&Number(E.away)!=i||!(Number(E.home)==i&&a.home>=o||Number(E.away)==i&&a.away>=o)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(E.home," - ").concat(E.away," (").concat(a.home," - ").concat(a.away,")")}},ne=2,de=20,Oe=10,Re=2,Pe=1,ce=5;return r})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overtime-live-trading-utils",
3
- "version": "0.0.141",
3
+ "version": "0.0.142",
4
4
  "description": "",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -0,0 +1,50 @@
1
+ export type OddsObject = {
2
+ gameId: string;
3
+ startDate: number;
4
+ homeTeam: string;
5
+ awayTeam: string;
6
+ isLive: boolean;
7
+ status: string;
8
+ sport: string;
9
+ league: string;
10
+ odds: [
11
+ {
12
+ id: string;
13
+ sportsBookName: string;
14
+ name: string;
15
+ price: number;
16
+ timestamp: number;
17
+ points: number;
18
+ isMain: boolean;
19
+ isLive: boolean;
20
+ marketName: string;
21
+ playerId: string;
22
+ selection: string;
23
+ selectionLine: string;
24
+ }
25
+ ];
26
+ };
27
+
28
+ export type ScoresObject = {
29
+ gameId: string;
30
+ sport: string;
31
+ league: string;
32
+ status: string;
33
+ isLive: string;
34
+ clock: string;
35
+ period: string;
36
+ homeTeam: string;
37
+ awayTeam: string;
38
+ homeTotal: string;
39
+ awayTotal: string;
40
+ homePeriod1: string;
41
+ awayPeriod1: string;
42
+ homePeriod2: string;
43
+ awayPeriod2: string;
44
+ homePeriod3: string;
45
+ awayPeriod3: string;
46
+ homePeriod4: string;
47
+ awayPeriod4: string;
48
+ homePeriod5: string;
49
+ awayPeriod5: string;
50
+ };
@@ -1,16 +1,18 @@
1
1
  import { League, Sport } from '../enums/sports';
2
+ import { ScoresObject } from '../types/odds';
2
3
  import { getLeagueSport } from './sports';
3
4
 
4
- export const checkGameContraints = (opticOddsScoresApiResponse, marketLeague: League, constraintsMap) => {
5
- const currentScoreHome = opticOddsScoresApiResponse.score_home_total;
6
- const currentScoreAway = opticOddsScoresApiResponse.score_away_total;
5
+ export const checkGameContraints = (opticOddsScoresApiResponse: ScoresObject, marketLeague: League, constraintsMap) => {
6
+ const marketSport = getLeagueSport(marketLeague);
7
+ const homeTeam = opticOddsScoresApiResponse.homeTeam;
8
+ const currentScoreHome = opticOddsScoresApiResponse.homeTotal;
9
+ const awayTeam = opticOddsScoresApiResponse.awayTeam;
10
+ const currentScoreAway = opticOddsScoresApiResponse.awayTotal;
11
+
7
12
  const currentClock = opticOddsScoresApiResponse.clock;
8
13
  const currentPeriod = opticOddsScoresApiResponse.period;
9
14
  const currentGameStatus = opticOddsScoresApiResponse.status;
10
- const homeTeam = opticOddsScoresApiResponse.home_team;
11
- const awayTeam = opticOddsScoresApiResponse.away_team;
12
15
  const currentPeriodNumber = parseInt(currentPeriod);
13
- const marketSport = getLeagueSport(marketLeague);
14
16
 
15
17
  if (currentGameStatus.toLowerCase() == 'completed') {
16
18
  return {
@@ -105,7 +107,7 @@ export const allowSoccerGame = (homeTeam, awayTeam, currentClock, currentPeriod,
105
107
  };
106
108
 
107
109
  export const allowGameSportWithResultConstraint = (
108
- opticOddsScoresApiResponse,
110
+ opticOddsScoresApiResponse: ScoresObject,
109
111
  homeTeam,
110
112
  awayTeam,
111
113
  currentPeriod,
@@ -174,29 +176,29 @@ export const allowGameSportWithResultConstraint = (
174
176
  };
175
177
  };
176
178
 
177
- export const fetchResultInCurrentSet = (currentSet: number, opticOddsScoresApiResponse) => {
179
+ export const fetchResultInCurrentSet = (currentSet: number, opticOddsScoresApiResponse: ScoresObject) => {
178
180
  let currentHomeGameScore = 0;
179
181
  let currentAwayGameScore = 0;
180
182
  switch (currentSet) {
181
183
  case 1:
182
- currentHomeGameScore = Number(opticOddsScoresApiResponse.score_home_period_1);
183
- currentAwayGameScore = Number(opticOddsScoresApiResponse.score_away_period_1);
184
+ currentHomeGameScore = Number(opticOddsScoresApiResponse.homePeriod1);
185
+ currentAwayGameScore = Number(opticOddsScoresApiResponse.awayPeriod1);
184
186
  break;
185
187
  case 2:
186
- currentHomeGameScore = Number(opticOddsScoresApiResponse.score_home_period_2);
187
- currentAwayGameScore = Number(opticOddsScoresApiResponse.score_away_period_2);
188
+ currentHomeGameScore = Number(opticOddsScoresApiResponse.homePeriod2);
189
+ currentAwayGameScore = Number(opticOddsScoresApiResponse.awayPeriod2);
188
190
  break;
189
191
  case 3:
190
- currentHomeGameScore = Number(opticOddsScoresApiResponse.score_home_period_3);
191
- currentAwayGameScore = Number(opticOddsScoresApiResponse.score_away_period_3);
192
+ currentHomeGameScore = Number(opticOddsScoresApiResponse.homePeriod3);
193
+ currentAwayGameScore = Number(opticOddsScoresApiResponse.awayPeriod3);
192
194
  break;
193
195
  case 4:
194
- currentHomeGameScore = Number(opticOddsScoresApiResponse.score_home_period_4);
195
- currentAwayGameScore = Number(opticOddsScoresApiResponse.score_away_period_4);
196
+ currentHomeGameScore = Number(opticOddsScoresApiResponse.homePeriod4);
197
+ currentAwayGameScore = Number(opticOddsScoresApiResponse.awayPeriod4);
196
198
  break;
197
199
  case 5:
198
- currentHomeGameScore = Number(opticOddsScoresApiResponse.score_home_period_5);
199
- currentAwayGameScore = Number(opticOddsScoresApiResponse.score_away_period_5);
200
+ currentHomeGameScore = Number(opticOddsScoresApiResponse.homePeriod5);
201
+ currentAwayGameScore = Number(opticOddsScoresApiResponse.awayPeriod5);
200
202
  break;
201
203
  }
202
204
  return { home: currentHomeGameScore, away: currentAwayGameScore };
@@ -1,5 +1,6 @@
1
1
  import * as oddslib from 'oddslib';
2
2
  import { createChildMarkets, getParentOdds } from './odds';
3
+ import { OddsObject } from '../types/odds';
3
4
  /**
4
5
  * Processes a single sports event. This function maps event data to a specific format,
5
6
  * filters invalid events, and optionally fetches player properties if the sport supports it.
@@ -16,14 +17,14 @@ import { createChildMarkets, getParentOdds } from './odds';
16
17
  * @returns {Promise<Object|null>} A promise that resolves to the processed event object or null if the event is invalid or mapping fails.
17
18
  */
18
19
  export const processMarket = (
19
- market,
20
- apiResponseWithOdds,
21
- liveOddsProviders,
22
- spreadData,
23
- isDrawAvailable,
24
- defaultSpreadForLiveMarkets,
25
- maxPercentageDiffBetwenOdds,
26
- leagueMap
20
+ market: any,
21
+ apiResponseWithOdds: OddsObject,
22
+ liveOddsProviders: any,
23
+ spreadData: any,
24
+ isDrawAvailable: any,
25
+ defaultSpreadForLiveMarkets: any,
26
+ maxPercentageDiffBetwenOdds: any,
27
+ leagueMap: any
27
28
  ) => {
28
29
  const sportSpreadData = spreadData.filter((data) => data.sportId === String(market.leagueId));
29
30
 
package/src/utils/odds.ts CHANGED
@@ -55,8 +55,8 @@ export const filterOddsByMarketNameTeamNameBookmaker = (
55
55
  const homeTeamOddsObject = oddsArray.filter((odd) => {
56
56
  return (
57
57
  odd &&
58
- odd.market_name.toLowerCase() === marketName.toLowerCase() &&
59
- odd.sports_book_name.toLowerCase() == oddsProvider.toLowerCase() &&
58
+ odd.marketName.toLowerCase() === marketName.toLowerCase() &&
59
+ odd.sportsBookName.toLowerCase() == oddsProvider.toLowerCase() &&
60
60
  odd.selection.toLowerCase() === commonData.homeTeam.toLowerCase()
61
61
  );
62
62
  });
@@ -68,8 +68,8 @@ export const filterOddsByMarketNameTeamNameBookmaker = (
68
68
  const awayTeamOddsObject = oddsArray.filter(
69
69
  (odd) =>
70
70
  odd &&
71
- odd.market_name.toLowerCase() === marketName.toLowerCase() &&
72
- odd.sports_book_name.toLowerCase() == oddsProvider.toLowerCase() &&
71
+ odd.marketName.toLowerCase() === marketName.toLowerCase() &&
72
+ odd.sportsBookName.toLowerCase() == oddsProvider.toLowerCase() &&
73
73
  odd.selection.toLowerCase() === commonData.awayTeam.toLowerCase()
74
74
  );
75
75
 
@@ -82,8 +82,8 @@ export const filterOddsByMarketNameTeamNameBookmaker = (
82
82
  const drawOddsObject = oddsArray.filter(
83
83
  (odd) =>
84
84
  odd &&
85
- odd.market_name.toLowerCase() === marketName.toLowerCase() &&
86
- odd.sports_book_name.toLowerCase() == oddsProvider.toLowerCase() &&
85
+ odd.marketName.toLowerCase() === marketName.toLowerCase() &&
86
+ odd.sportsBookName.toLowerCase() == oddsProvider.toLowerCase() &&
87
87
  odd.selection.toLowerCase() === DRAW.toLowerCase()
88
88
  );
89
89
 
@@ -122,7 +122,7 @@ export const getParentOdds = (
122
122
  defaultSpreadForLiveMarkets,
123
123
  maxPercentageDiffBetwenOdds
124
124
  ) => {
125
- const commonData = { homeTeam: oddsApiObject.home_team, awayTeam: oddsApiObject.away_team };
125
+ const commonData = { homeTeam: oddsApiObject.homeTeam, awayTeam: oddsApiObject.awayTeam };
126
126
 
127
127
  // EXTRACTING ODDS FROM THE RESPONSE PER MARKET NAME AND BOOKMAKER
128
128
  const moneylineOddsMap = filterOddsByMarketNameTeamNameBookmaker(
@@ -193,8 +193,8 @@ export const createChildMarkets: (
193
193
  const [spreadOdds, totalOdds, childMarkets]: any[] = [[], [], []];
194
194
  const leagueInfo = getLeagueInfo(leagueId, leagueMap);
195
195
  const commonData = {
196
- homeTeam: apiResponseWithOdds.home_team,
197
- awayTeam: apiResponseWithOdds.away_team,
196
+ homeTeam: apiResponseWithOdds.homeTeam,
197
+ awayTeam: apiResponseWithOdds.awayTeam,
198
198
  };
199
199
  if (leagueInfo.length > 0) {
200
200
  // TODO ADD ODDS COMPARISON BETWEEN BOOKMAKERS
@@ -204,7 +204,7 @@ export const createChildMarkets: (
204
204
  liveOddsProviders[0]
205
205
  );
206
206
 
207
- const allValidOdds = allChildOdds.filter((odd) => odd && Math.abs(odd.selection_points % 1) === 0.5) as any;
207
+ const allValidOdds = allChildOdds.filter((odd) => odd && Math.abs(odd.points % 1) === 0.5) as any;
208
208
 
209
209
  allValidOdds.forEach((odd) => {
210
210
  if (odd.type === 'Total') {
@@ -270,13 +270,13 @@ export const filterOddsByMarketNameBookmaker = (oddsArray, leagueInfos: LeagueIn
270
270
  return oddsArray
271
271
  .filter(
272
272
  (odd) =>
273
- allChildMarketsTypes.includes(odd.market_name.toLowerCase()) &&
274
- odd.sports_book_name.toLowerCase() == oddsProvider.toLowerCase()
273
+ allChildMarketsTypes.includes(odd.marketName.toLowerCase()) &&
274
+ odd.sportsBookName.toLowerCase() == oddsProvider.toLowerCase()
275
275
  )
276
276
  .map((odd) => {
277
277
  return {
278
278
  ...odd,
279
- ...leagueInfos.find((leagueInfo) => leagueInfo.marketName === odd.market_name), // using .find() for team totals means that we will always assign 10017 as typeID at this point
279
+ ...leagueInfos.find((leagueInfo) => leagueInfo.marketName === odd.marketName), // using .find() for team totals means that we will always assign 10017 as typeID at this point
280
280
  };
281
281
  });
282
282
  };
@@ -291,10 +291,10 @@ export const filterOddsByMarketNameBookmaker = (oddsArray, leagueInfos: LeagueIn
291
291
  export const groupAndFormatSpreadOdds = (oddsArray, commonData) => {
292
292
  // Group odds by their selection points and selection
293
293
  const groupedOdds = oddsArray.reduce((acc: any, odd: any) => {
294
- const { selection_points, price, selection, typeId, sportId, type } = odd;
294
+ const { points, price, selection, typeId, sportId, type } = odd;
295
295
  const isHomeTeam = selection === commonData.homeTeam;
296
296
 
297
- const key = isHomeTeam ? selection_points : -selection_points;
297
+ const key = isHomeTeam ? points : -points;
298
298
 
299
299
  if (!acc[key]) {
300
300
  acc[key] = { home: null, away: null, typeId: null, sportId: null };
@@ -340,7 +340,7 @@ export const groupAndFormatTotalOdds = (oddsArray, commonData) => {
340
340
  // Group odds by their selection points and selection
341
341
  const groupedOdds = oddsArray.reduce((acc, odd) => {
342
342
  if (odd) {
343
- const key = `${odd.selection}_${odd.selection_points}`;
343
+ const key = `${odd.selection}_${odd.points}`;
344
344
  if (!acc[key]) {
345
345
  acc[key] = { over: null, under: null };
346
346
  }
@@ -22,19 +22,24 @@ export const getLeagueIsDrawAvailable = (league: League) => {
22
22
  return leagueInfo ? leagueInfo.isDrawAvailable : false;
23
23
  };
24
24
 
25
- export const getLiveSupportedLeagues = (leagueMap: LeagueInfo[]) => {
26
- return leagueMap.filter((leagueInfo) => leagueInfo.enabled === 'true').map((league) => Number(league.sportId));
25
+ export const getLiveSupportedLeagues = (leagueInfoArray: LeagueInfo[]) => {
26
+ const uniqueId = new Set();
27
+ leagueInfoArray
28
+ .filter((leagueInfo) => leagueInfo.enabled === 'true')
29
+ .map((league) => uniqueId.add(Number(league.sportId)));
30
+ return Array.from(uniqueId);
27
31
  };
28
- export const getBetTypesForLeague = (league: League, leagueMap: LeagueInfo[]) => {
29
- const betTypes = leagueMap
30
- .filter((leagueInfo) => Number(leagueInfo.sportId) === league && leagueInfo.enabled === 'true')
31
- .map((leagueInfo) => leagueInfo.marketName);
32
+ export const getBetTypesForLeague = (league: League, leagueInfoArray: LeagueInfo[]) => {
33
+ const uniqueMarketNames = new Set();
34
+ leagueInfoArray
35
+ .filter((leagueInfo) => Number(leagueInfo.sportId) === Number(league) && leagueInfo.enabled === 'true')
36
+ .map((leagueInfo) => uniqueMarketNames.add(leagueInfo.marketName));
32
37
 
33
- return betTypes;
38
+ return Array.from(uniqueMarketNames);
34
39
  };
35
40
 
36
- export const getLeagueInfo = (league: League, leagueMap: LeagueInfo[]) => {
37
- const leagueInfos = leagueMap.filter((leagueInfo) => Number(leagueInfo.sportId) === league);
41
+ export const getLeagueInfo = (league: League, leagueInfoArray: LeagueInfo[]) => {
42
+ const leagueInfos = leagueInfoArray.filter((leagueInfo) => Number(leagueInfo.sportId) === league);
38
43
  return leagueInfos;
39
44
  };
40
45
 
@@ -48,22 +53,26 @@ export const getLeaguePeriodType = (league: League) => {
48
53
  return leagueInfo ? leagueInfo.periodType : '';
49
54
  };
50
55
 
51
- export const getLeagueSpreadTypes = (league: League, leagueMap: LeagueInfo[]) => {
52
- const betTypes = leagueMap
56
+ export const getLeagueSpreadTypes = (league: League, leagueInfoArray: LeagueInfo[]) => {
57
+ const betTypes = leagueInfoArray
53
58
  .filter(
54
59
  (leagueInfo) =>
55
- Number(leagueInfo.sportId) === league && leagueInfo.type === 'Spread' && leagueInfo.enabled === 'true'
60
+ Number(leagueInfo.sportId) === Number(league) &&
61
+ leagueInfo.type === 'Spread' &&
62
+ leagueInfo.enabled === 'true'
56
63
  )
57
64
  .map((leagueInfo) => leagueInfo.marketName.toLowerCase());
58
65
 
59
66
  return betTypes;
60
67
  };
61
68
 
62
- export const getLeagueTotalTypes = (league: League, leagueMap: LeagueInfo[]) => {
63
- const betTypes = leagueMap
69
+ export const getLeagueTotalTypes = (league: League, leagueInfoArray: LeagueInfo[]) => {
70
+ const betTypes = leagueInfoArray
64
71
  .filter(
65
72
  (leagueInfo) =>
66
- Number(leagueInfo.sportId) === league && leagueInfo.type === 'Total' && leagueInfo.enabled === 'true'
73
+ Number(leagueInfo.sportId) === Number(league) &&
74
+ leagueInfo.type === 'Total' &&
75
+ leagueInfo.enabled === 'true'
67
76
  )
68
77
  .map((leagueInfo) => leagueInfo.marketName.toLowerCase());
69
78