@flesh-and-blood/search 0.0.119 → 0.0.120

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/dist/filters.d.ts CHANGED
@@ -94,6 +94,7 @@ export interface SpecialConditions {
94
94
  export declare const getKeywordsAndAppliedFiltersFromText: (text: string, cards: Card[]) => {
95
95
  appliedFilters: AppliedFilter[];
96
96
  attributes: {
97
+ artists: string[];
97
98
  foilings: Foiling[];
98
99
  releases: Release[];
99
100
  treatments: Treatment[];
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var $r=Object.create;var se=Object.defineProperty;var Wr=Object.getOwnPropertyDescriptor;var jr=Object.getOwnPropertyNames,mt=Object.getOwnPropertySymbols,Gr=Object.getPrototypeOf,vt=Object.prototype.hasOwnProperty,Kr=Object.prototype.propertyIsEnumerable;var yt=(e,t,r)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,he=(e,t)=>{for(var r in t||(t={}))vt.call(t,r)&&yt(e,r,t[r]);if(mt)for(var r of mt(t))Kr.call(t,r)&&yt(e,r,t[r]);return e};var bt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ur=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0})},Mt=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of jr(t))!vt.call(e,n)&&n!==r&&se(e,n,{get:()=>t[n],enumerable:!(i=Wr(t,n))||i.enumerable});return e};var U=(e,t,r)=>(r=e!=null?$r(Gr(e)):{},Mt(t||!e||!e.__esModule?se(r,"default",{value:e,enumerable:!0}):r,e)),Yr=e=>Mt(se({},"__esModule",{value:!0}),e);var Y=bt((Ea,Ht)=>{var fe=Object.defineProperty,Qr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptor,Jr=Object.getOwnPropertyDescriptors,Xr=Object.getOwnPropertyNames,At=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qr=(e,t)=>{for(var r in t||(t={}))Ft.call(t,r)&&Ct(e,r,t[r]);if(At)for(var r of At(t))Zr.call(t,r)&&Ct(e,r,t[r]);return e},ei=(e,t)=>Qr(e,Jr(t)),ti=(e,t)=>{for(var r in t)fe(e,r,{get:t[r],enumerable:!0})},ri=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Xr(t))!Ft.call(e,n)&&n!==r&&fe(e,n,{get:()=>t[n],enumerable:!(i=Vr(t,n))||i.enumerable});return e},ii=e=>ri(fe({},"__esModule",{value:!0}),e),kt={};ti(kt,{Class:()=>St,Foiling:()=>Tt,Format:()=>Lt,Fusion:()=>Pt,Hero:()=>Dt,Keyword:()=>Ot,Rarity:()=>wt,Release:()=>Rt,ReleaseEdition:()=>Bt,Subtype:()=>Et,Talent:()=>It,Treatment:()=>xt,Type:()=>_t,fullSetIdentifiers:()=>Nt,setIdentifierToSetMappings:()=>zt,setToSetIdentifierMappings:()=>ni});Ht.exports=ii(kt);var Tt=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Tt||{}),xt=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.DS="Double Sided",e.EA="Extended Art",e.FA="Full Art",e))(xt||{}),St=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Ninja="Ninja",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Warrior="Warrior",e.Wizard="Wizard",e))(St||{}),Lt=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Lt||{}),Pt=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(Pt||{}),wt=(e=>(e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(wt||{}),Rt=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.TalesOfAria="Tales of Aria",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArakniBlitzDeck="Arakni Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.BravoBlitzDeck="Bravo Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.DromaiBlitzDeck="Dromai Blitz Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.IraWelcomeDeck="Ira Welcome Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.RoundTheTable="Round the Table",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.Promos="Promos",e))(Rt||{}),Bt=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Bt||{}),It=(e=>(e.Royal="Royal",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Shadow="Shadow",e))(It||{}),_t=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(_t||{}),Et=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Chest="Chest",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Et||{}),Dt=(e=>(e.Arakni="Arakni",e.Azalea="Azalea",e.Benji="Benji",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Chane="Chane",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Fai="Fai",e.GenisWotchuneed="Genis Wotchuneed",e.Ira="Ira",e.Iyslander="Iyslander",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Maxx="Maxx",e.Melody="Melody",e.Oldhim="Oldhim",e.Prism="Prism",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu\u2019di",e.Shiyana="Shiyana",e.Squizzy="Squizzy",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e))(Dt||{}),Ot=(e=>(e.Ambush="Ambush",e.ArcaneBarrier="Arcane Barrier",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.Heave="Heave",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Material="Material",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e))(Ot||{}),Nt={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters"},zt=ei(qr({},Nt),{ara:"Arakni Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",bvo:"Bravo Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",fai:"Fai Blitz Deck",kat:"Katsu Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",old:"Oldhim Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",uzu:"Uzuri Blitz Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),Ee={};for(let[e,t]of Object.entries(zt)){let r=Ee[t];r?r.push(e):Ee[t]=[e]}var ni=Ee});var nr=bt((Da,ir)=>{"use strict";function $t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function ie(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$t(Object(r),!0).forEach(function(i){Ne(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$t(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Oe(e){"@babel/helpers - typeof";return Oe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oe(e)}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wt(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function E(e,t,r){return t&&Wt(e.prototype,t),r&&Wt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ne(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&ze(e,t)}function me(e){return me=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},me(e)}function ze(e,t){return ze=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},ze(e,t)}function ai(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function oi(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function si(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oi(e)}function V(e){var t=ai();return function(){var i=me(e),n;if(t){var a=me(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return si(this,n)}}function ee(e){return li(e)||ci(e)||ui(e)||pi()}function li(e){if(Array.isArray(e))return He(e)}function ci(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ui(e,t){if(e){if(typeof e=="string")return He(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return He(e,t)}}function He(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}function pi(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function G(e){return Array.isArray?Array.isArray(e):Jt(e)==="[object Array]"}var di=1/0;function hi(e){if(typeof e=="string")return e;var t=e+"";return t=="0"&&1/e==-di?"-0":t}function fi(e){return e==null?"":hi(e)}function H(e){return typeof e=="string"}function Qt(e){return typeof e=="number"}function gi(e){return e===!0||e===!1||mi(e)&&Jt(e)=="[object Boolean]"}function Vt(e){return Oe(e)==="object"}function mi(e){return Vt(e)&&e!==null}function D(e){return e!=null}function De(e){return!e.trim().length}function Jt(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var yi="Incorrect 'index' type",vi=function(t){return"Invalid value for key ".concat(t)},bi=function(t){return"Pattern length exceeds max of ".concat(t,".")},Mi=function(t){return"Missing ".concat(t," property in key")},Ai=function(t){return"Property 'weight' in key '".concat(t,"' must be a positive integer")},jt=Object.prototype.hasOwnProperty,Ci=function(){function e(t){var r=this;_(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach(function(n){var a=Xt(n);i+=a.weight,r._keys.push(a),r._keyMap[a.id]=a,i+=a.weight}),this._keys.forEach(function(n){n.weight/=i})}return E(e,[{key:"get",value:function(r){return this._keyMap[r]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function Xt(e){var t=null,r=null,i=null,n=1,a=null;if(H(e)||G(e))i=e,t=Gt(e),r=$e(e);else{if(!jt.call(e,"name"))throw new Error(Mi("name"));var s=e.name;if(i=s,jt.call(e,"weight")&&(n=e.weight,n<=0))throw new Error(Ai(s));t=Gt(s),r=$e(s),a=e.getFn}return{path:t,id:r,weight:n,src:i,getFn:a}}function Gt(e){return G(e)?e:e.split(".")}function $e(e){return G(e)?e.join("."):e}function Fi(e,t){var r=[],i=!1,n=function a(s,o,l){if(D(s))if(!o[l])r.push(s);else{var c=o[l],p=s[c];if(!D(p))return;if(l===o.length-1&&(H(p)||Qt(p)||gi(p)))r.push(fi(p));else if(G(p)){i=!0;for(var g=0,h=p.length;g<h;g+=1)a(p[g],o,l+1)}else o.length&&a(p,o,l+1)}};return n(e,H(t)?t.split("."):t,0),i?r:r[0]}var ki={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Ti={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(t,r){return t.score===r.score?t.idx<r.idx?-1:1:t.score<r.score?-1:1}},xi={location:0,threshold:.6,distance:100},Si={useExtendedSearch:!1,getFn:Fi,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},M=ie(ie(ie(ie({},Ti),ki),xi),Si),Li=/[^ ]+/g;function Pi(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,r=new Map,i=Math.pow(10,t);return{get:function(a){var s=a.match(Li).length;if(r.has(s))return r.get(s);var o=1/Math.pow(s,.5*e),l=parseFloat(Math.round(o*i)/i);return r.set(s,l),l},clear:function(){r.clear()}}}var Ue=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.getFn,i=r===void 0?M.getFn:r,n=t.fieldNormWeight,a=n===void 0?M.fieldNormWeight:n;_(this,e),this.norm=Pi(a,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return E(e,[{key:"setSources",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=r}},{key:"setIndexRecords",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=r}},{key:"setKeys",value:function(){var r=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=i,this._keysMap={},i.forEach(function(n,a){r._keysMap[n.id]=a})}},{key:"create",value:function(){var r=this;this.isCreated||!this.docs.length||(this.isCreated=!0,H(this.docs[0])?this.docs.forEach(function(i,n){r._addString(i,n)}):this.docs.forEach(function(i,n){r._addObject(i,n)}),this.norm.clear())}},{key:"add",value:function(r){var i=this.size();H(r)?this._addString(r,i):this._addObject(r,i)}},{key:"removeAt",value:function(r){this.records.splice(r,1);for(var i=r,n=this.size();i<n;i+=1)this.records[i].i-=1}},{key:"getValueForItemAtKeyId",value:function(r,i){return r[this._keysMap[i]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(r,i){if(!(!D(r)||De(r))){var n={v:r,i,n:this.norm.get(r)};this.records.push(n)}}},{key:"_addObject",value:function(r,i){var n=this,a={i,$:{}};this.keys.forEach(function(s,o){var l=s.getFn?s.getFn(r):n.getFn(r,s.path);if(D(l)){if(G(l))(function(){for(var p=[],g=[{nestedArrIndex:-1,value:l}];g.length;){var h=g.pop(),m=h.nestedArrIndex,d=h.value;if(D(d))if(H(d)&&!De(d)){var f={v:d,i:m,n:n.norm.get(d)};p.push(f)}else G(d)&&d.forEach(function(y,b){g.push({nestedArrIndex:b,value:y})})}a.$[o]=p})();else if(H(l)&&!De(l)){var c={v:l,n:n.norm.get(l)};a.$[o]=c}}}),this.records.push(a)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function Zt(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.getFn,n=i===void 0?M.getFn:i,a=r.fieldNormWeight,s=a===void 0?M.fieldNormWeight:a,o=new Ue({getFn:n,fieldNormWeight:s});return o.setKeys(e.map(Xt)),o.setSources(t),o.create(),o}function wi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.getFn,i=r===void 0?M.getFn:r,n=t.fieldNormWeight,a=n===void 0?M.fieldNormWeight:n,s=e.keys,o=e.records,l=new Ue({getFn:i,fieldNormWeight:a});return l.setKeys(s),l.setIndexRecords(o),l}function ge(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.errors,i=r===void 0?0:r,n=t.currentLocation,a=n===void 0?0:n,s=t.expectedLocation,o=s===void 0?0:s,l=t.distance,c=l===void 0?M.distance:l,p=t.ignoreLocation,g=p===void 0?M.ignoreLocation:p,h=i/e.length;if(g)return h;var m=Math.abs(o-a);return c?h+m/c:m?1:h}function Ri(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:M.minMatchCharLength,r=[],i=-1,n=-1,a=0,s=e.length;a<s;a+=1){var o=e[a];o&&i===-1?i=a:!o&&i!==-1&&(n=a-1,n-i+1>=t&&r.push([i,n]),i=-1)}return e[a-1]&&a-i>=t&&r.push([i,a-1]),r}var q=32;function Bi(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i.location,a=n===void 0?M.location:n,s=i.distance,o=s===void 0?M.distance:s,l=i.threshold,c=l===void 0?M.threshold:l,p=i.findAllMatches,g=p===void 0?M.findAllMatches:p,h=i.minMatchCharLength,m=h===void 0?M.minMatchCharLength:h,d=i.includeMatches,f=d===void 0?M.includeMatches:d,y=i.ignoreLocation,b=y===void 0?M.ignoreLocation:y;if(t.length>q)throw new Error(bi(q));for(var v=t.length,x=e.length,T=Math.max(0,Math.min(a,x)),k=c,L=T,w=m>1||f,N=w?Array(x):[],B;(B=e.indexOf(t,L))>-1;){var j=ge(t,{currentLocation:B,expectedLocation:T,distance:o,ignoreLocation:b});if(k=Math.min(j,k),L=B+v,w)for(var R=0;R<v;)N[B+R]=1,R+=1}L=-1;for(var O=[],te=1,ue=v+x,Nr=1<<v-1,Z=0;Z<v;Z+=1){for(var pe=0,K=ue;pe<K;){var zr=ge(t,{errors:Z,currentLocation:T+K,expectedLocation:T,distance:o,ignoreLocation:b});zr<=k?pe=K:ue=K,K=Math.floor((ue-pe)/2+pe)}ue=K;var ht=Math.max(1,T-K+1),Ie=g?x:Math.min(T+K,x)+v,re=Array(Ie+2);re[Ie+1]=(1<<Z)-1;for(var z=Ie;z>=ht;z-=1){var de=z-1,ft=r[e.charAt(de)];if(w&&(N[de]=+!!ft),re[z]=(re[z+1]<<1|1)&ft,Z&&(re[z]|=(O[z+1]|O[z])<<1|1|O[z+1]),re[z]&Nr&&(te=ge(t,{errors:Z,currentLocation:de,expectedLocation:T,distance:o,ignoreLocation:b}),te<=k)){if(k=te,L=de,L<=T)break;ht=Math.max(1,2*T-L)}}var Hr=ge(t,{errors:Z+1,currentLocation:T,expectedLocation:T,distance:o,ignoreLocation:b});if(Hr>k)break;O=re}var _e={isMatch:L>=0,score:Math.max(.001,te)};if(w){var gt=Ri(N,m);gt.length?f&&(_e.indices=gt):_e.isMatch=!1}return _e}function Ii(e){for(var t={},r=0,i=e.length;r<i;r+=1){var n=e.charAt(r);t[n]=(t[n]||0)|1<<i-r-1}return t}var qt=function(){function e(t){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=i.location,a=n===void 0?M.location:n,s=i.threshold,o=s===void 0?M.threshold:s,l=i.distance,c=l===void 0?M.distance:l,p=i.includeMatches,g=p===void 0?M.includeMatches:p,h=i.findAllMatches,m=h===void 0?M.findAllMatches:h,d=i.minMatchCharLength,f=d===void 0?M.minMatchCharLength:d,y=i.isCaseSensitive,b=y===void 0?M.isCaseSensitive:y,v=i.ignoreLocation,x=v===void 0?M.ignoreLocation:v;if(_(this,e),this.options={location:a,threshold:o,distance:c,includeMatches:g,findAllMatches:m,minMatchCharLength:f,isCaseSensitive:b,ignoreLocation:x},this.pattern=b?t:t.toLowerCase(),this.chunks=[],!!this.pattern.length){var T=function(R,O){r.chunks.push({pattern:R,alphabet:Ii(R),startIndex:O})},k=this.pattern.length;if(k>q){for(var L=0,w=k%q,N=k-w;L<N;)T(this.pattern.substr(L,q),L),L+=q;if(w){var B=k-q;T(this.pattern.substr(B),B)}}else T(this.pattern,0)}}return E(e,[{key:"searchIn",value:function(r){var i=this.options,n=i.isCaseSensitive,a=i.includeMatches;if(n||(r=r.toLowerCase()),this.pattern===r){var s={isMatch:!0,score:0};return a&&(s.indices=[[0,r.length-1]]),s}var o=this.options,l=o.location,c=o.distance,p=o.threshold,g=o.findAllMatches,h=o.minMatchCharLength,m=o.ignoreLocation,d=[],f=0,y=!1;this.chunks.forEach(function(v){var x=v.pattern,T=v.alphabet,k=v.startIndex,L=Bi(r,x,T,{location:l+k,distance:c,threshold:p,findAllMatches:g,minMatchCharLength:h,includeMatches:a,ignoreLocation:m}),w=L.isMatch,N=L.score,B=L.indices;w&&(y=!0),f+=N,w&&B&&(d=[].concat(ee(d),ee(B)))});var b={isMatch:y,score:y?f/this.chunks.length:1};return y&&a&&(b.indices=d),b}}]),e}(),J=function(){function e(t){_(this,e),this.pattern=t}return E(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(r){return Kt(r,this.multiRegex)}},{key:"isSingleMatch",value:function(r){return Kt(r,this.singleRegex)}}]),e}();function Kt(e,t){var r=e.match(t);return r?r[1]:null}var _i=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=n===this.pattern;return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),r}(J),Ei=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=n.indexOf(this.pattern),s=a===-1;return{isMatch:s,score:s?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),r}(J),Di=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=n.startsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),r}(J),Oi=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=!n.startsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),r}(J),Ni=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=n.endsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[n.length-this.pattern.length,n.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),r}(J),zi=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){var a=!n.endsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),r}(J),er=function(e){Q(r,e);var t=V(r);function r(i){var n,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.location,o=s===void 0?M.location:s,l=a.threshold,c=l===void 0?M.threshold:l,p=a.distance,g=p===void 0?M.distance:p,h=a.includeMatches,m=h===void 0?M.includeMatches:h,d=a.findAllMatches,f=d===void 0?M.findAllMatches:d,y=a.minMatchCharLength,b=y===void 0?M.minMatchCharLength:y,v=a.isCaseSensitive,x=v===void 0?M.isCaseSensitive:v,T=a.ignoreLocation,k=T===void 0?M.ignoreLocation:T;return _(this,r),n=t.call(this,i),n._bitapSearch=new qt(i,{location:o,threshold:c,distance:g,includeMatches:m,findAllMatches:f,minMatchCharLength:b,isCaseSensitive:x,ignoreLocation:k}),n}return E(r,[{key:"search",value:function(n){return this._bitapSearch.searchIn(n)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),r}(J),tr=function(e){Q(r,e);var t=V(r);function r(i){return _(this,r),t.call(this,i)}return E(r,[{key:"search",value:function(n){for(var a=0,s,o=[],l=this.pattern.length;(s=n.indexOf(this.pattern,a))>-1;)a=s+l,o.push([s,a-1]);var c=!!o.length;return{isMatch:c,score:c?0:1,indices:o}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),r}(J),We=[_i,tr,Di,Oi,zi,Ni,Ei,er],Ut=We.length,Hi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,$i="|";function Wi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split($i).map(function(r){for(var i=r.trim().split(Hi).filter(function(d){return d&&!!d.trim()}),n=[],a=0,s=i.length;a<s;a+=1){for(var o=i[a],l=!1,c=-1;!l&&++c<Ut;){var p=We[c],g=p.isMultiMatch(o);g&&(n.push(new p(g,t)),l=!0)}if(!l)for(c=-1;++c<Ut;){var h=We[c],m=h.isSingleMatch(o);if(m){n.push(new h(m,t));break}}}return n})}var ji=new Set([er.type,tr.type]),Gi=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.isCaseSensitive,n=i===void 0?M.isCaseSensitive:i,a=r.includeMatches,s=a===void 0?M.includeMatches:a,o=r.minMatchCharLength,l=o===void 0?M.minMatchCharLength:o,c=r.ignoreLocation,p=c===void 0?M.ignoreLocation:c,g=r.findAllMatches,h=g===void 0?M.findAllMatches:g,m=r.location,d=m===void 0?M.location:m,f=r.threshold,y=f===void 0?M.threshold:f,b=r.distance,v=b===void 0?M.distance:b;_(this,e),this.query=null,this.options={isCaseSensitive:n,includeMatches:s,minMatchCharLength:l,findAllMatches:h,ignoreLocation:p,location:d,threshold:y,distance:v},this.pattern=n?t:t.toLowerCase(),this.query=Wi(this.pattern,this.options)}return E(e,[{key:"searchIn",value:function(r){var i=this.query;if(!i)return{isMatch:!1,score:1};var n=this.options,a=n.includeMatches,s=n.isCaseSensitive;r=s?r:r.toLowerCase();for(var o=0,l=[],c=0,p=0,g=i.length;p<g;p+=1){var h=i[p];l.length=0,o=0;for(var m=0,d=h.length;m<d;m+=1){var f=h[m],y=f.search(r),b=y.isMatch,v=y.indices,x=y.score;if(b){if(o+=1,c+=x,a){var T=f.constructor.type;ji.has(T)?l=[].concat(ee(l),ee(v)):l.push(v)}}else{c=0,o=0,l.length=0;break}}if(o){var k={isMatch:!0,score:c/o};return a&&(k.indices=l),k}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(r,i){return i.useExtendedSearch}}]),e}(),ye=[];function Ki(){ye.push.apply(ye,arguments)}function je(e,t){for(var r=0,i=ye.length;r<i;r+=1){var n=ye[r];if(n.condition(e,t))return new n(e,t)}return new qt(e,t)}var ve={AND:"$and",OR:"$or"},Ge={PATH:"$path",PATTERN:"$val"},Ke=function(t){return!!(t[ve.AND]||t[ve.OR])},Ui=function(t){return!!t[Ge.PATH]},Yi=function(t){return!G(t)&&Vt(t)&&!Ke(t)},Yt=function(t){return Ne({},ve.AND,Object.keys(t).map(function(r){return Ne({},r,t[r])}))};function rr(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.auto,n=i===void 0?!0:i,a=function s(o){var l=Object.keys(o),c=Ui(o);if(!c&&l.length>1&&!Ke(o))return s(Yt(o));if(Yi(o)){var p=c?o[Ge.PATH]:l[0],g=c?o[Ge.PATTERN]:o[p];if(!H(g))throw new Error(vi(p));var h={keyId:$e(p),pattern:g};return n&&(h.searcher=je(g,t)),h}var m={children:[],operator:l[0]};return l.forEach(function(d){var f=o[d];G(f)&&f.forEach(function(y){m.children.push(s(y))})}),m};return Ke(e)||(e=Yt(e)),a(e)}function Qi(e,t){var r=t.ignoreFieldNorm,i=r===void 0?M.ignoreFieldNorm:r;e.forEach(function(n){var a=1;n.matches.forEach(function(s){var o=s.key,l=s.norm,c=s.score,p=o?o.weight:null;a*=Math.pow(c===0&&p?Number.EPSILON:c,(p||1)*(i?1:l))}),n.score=a})}function Vi(e,t){var r=e.matches;t.matches=[],D(r)&&r.forEach(function(i){if(!(!D(i.indices)||!i.indices.length)){var n=i.indices,a=i.value,s={indices:n,value:a};i.key&&(s.key=i.key.src),i.idx>-1&&(s.refIndex=i.idx),t.matches.push(s)}})}function Ji(e,t){t.score=e.score}function Xi(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.includeMatches,n=i===void 0?M.includeMatches:i,a=r.includeScore,s=a===void 0?M.includeScore:a,o=[];return n&&o.push(Vi),s&&o.push(Ji),e.map(function(l){var c=l.idx,p={item:t[c],refIndex:c};return o.length&&o.forEach(function(g){g(l,p)}),p})}var ne=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;_(this,e),this.options=ie(ie({},M),r),this.options.useExtendedSearch,this._keyStore=new Ci(this.options.keys),this.setCollection(t,i)}return E(e,[{key:"setCollection",value:function(r,i){if(this._docs=r,i&&!(i instanceof Ue))throw new Error(yi);this._myIndex=i||Zt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(r){D(r)&&(this._docs.push(r),this._myIndex.add(r))}},{key:"remove",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},i=[],n=0,a=this._docs.length;n<a;n+=1){var s=this._docs[n];r(s,n)&&(this.removeAt(n),n-=1,a-=1,i.push(s))}return i}},{key:"removeAt",value:function(r){this._docs.splice(r,1),this._myIndex.removeAt(r)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=i.limit,a=n===void 0?-1:n,s=this.options,o=s.includeMatches,l=s.includeScore,c=s.shouldSort,p=s.sortFn,g=s.ignoreFieldNorm,h=H(r)?H(this._docs[0])?this._searchStringList(r):this._searchObjectList(r):this._searchLogical(r);return Qi(h,{ignoreFieldNorm:g}),c&&h.sort(p),Qt(a)&&a>-1&&(h=h.slice(0,a)),Xi(h,this._docs,{includeMatches:o,includeScore:l})}},{key:"_searchStringList",value:function(r){var i=je(r,this.options),n=this._myIndex.records,a=[];return n.forEach(function(s){var o=s.v,l=s.i,c=s.n;if(D(o)){var p=i.searchIn(o),g=p.isMatch,h=p.score,m=p.indices;g&&a.push({item:o,idx:l,matches:[{score:h,value:o,norm:c,indices:m}]})}}),a}},{key:"_searchLogical",value:function(r){var i=this,n=rr(r,this.options),a=function c(p,g,h){if(!p.children){var m=p.keyId,d=p.searcher,f=i._findMatches({key:i._keyStore.get(m),value:i._myIndex.getValueForItemAtKeyId(g,m),searcher:d});return f&&f.length?[{idx:h,item:g,matches:f}]:[]}for(var y=[],b=0,v=p.children.length;b<v;b+=1){var x=p.children[b],T=c(x,g,h);if(T.length)y.push.apply(y,ee(T));else if(p.operator===ve.AND)return[]}return y},s=this._myIndex.records,o={},l=[];return s.forEach(function(c){var p=c.$,g=c.i;if(D(p)){var h=a(n,p,g);h.length&&(o[g]||(o[g]={idx:g,item:p,matches:[]},l.push(o[g])),h.forEach(function(m){var d,f=m.matches;(d=o[g].matches).push.apply(d,ee(f))}))}}),l}},{key:"_searchObjectList",value:function(r){var i=this,n=je(r,this.options),a=this._myIndex,s=a.keys,o=a.records,l=[];return o.forEach(function(c){var p=c.$,g=c.i;if(D(p)){var h=[];s.forEach(function(m,d){h.push.apply(h,ee(i._findMatches({key:m,value:p[d],searcher:n})))}),h.length&&l.push({idx:g,item:p,matches:h})}}),l}},{key:"_findMatches",value:function(r){var i=r.key,n=r.value,a=r.searcher;if(!D(n))return[];var s=[];if(G(n))n.forEach(function(m){var d=m.v,f=m.i,y=m.n;if(D(d)){var b=a.searchIn(d),v=b.isMatch,x=b.score,T=b.indices;v&&s.push({score:x,key:i,value:d,idx:f,norm:y,indices:T})}});else{var o=n.v,l=n.n,c=a.searchIn(o),p=c.isMatch,g=c.score,h=c.indices;p&&s.push({score:g,key:i,value:o,norm:l,indices:h})}return s}}]),e}();ne.version="6.6.2";ne.createIndex=Zt;ne.parseIndex=wi;ne.config=M;ne.parseQuery=rr;Ki(Gi);var Zi=ne;ir.exports=Zi});var Ia={};Ur(Ia,{PUNCTUATION:()=>S,abbreviations:()=>Ve,availableExclusions:()=>wr,availableModifiers:()=>Pr,clashRestrictedCards:()=>Ye,clashSpecializationOverrides:()=>Qe,default:()=>Ir,filterCard:()=>_r,filtersToCardPropertyMappings:()=>we,getAbbreviation:()=>Me,getAbbreviationByCard:()=>qi,getCardByName:()=>lt,getDeckFilters:()=>qn,getExcludedMetaFilters:()=>tt,getHeroBreakdown:()=>Pa,getKeywordsAndAppliedFiltersFromText:()=>st,getMetaFilters:()=>et,getRelatedCards:()=>dt,getRelatedCardsByName:()=>Re,getTokensReferencedByCards:()=>Ba,heroHasFilters:()=>ea,shorthands:()=>rt});module.exports=Yr(Ia);var P=U(Y()),ct=U(nr());var be=U(Y()),Ye=["Ball Lightning","Belittle","Drone of Brutality","Duskblade","Rosetta Thorn"],Qe=[{heroes:[be.Hero.Briar],cardIdentifiers:["rosetta-thorn"]},{heroes:[be.Hero.Emperor],cardIdentifiers:["command-and-conquer-red"]},{heroes:[be.Hero.Prism],cardIdentifiers:["figment-of-erudition-yellow","figment-of-judgment-yellow","figment-of-protection-yellow","figment-of-ravages-yellow","figment-of-rebirth-yellow","figment-of-tenacity-yellow","figment-of-triumph-yellow","figment-of-war-yellow"]}];var S=/[!"#$%&'’()*+,-./:;<=>?@[\]^_`{|}~]/g;var C=U(Y());var Me=e=>Ve.find(({abbreviations:t})=>t.find(r=>r.toLowerCase()===e)),qi=e=>Ve.find(({card:t})=>t.toLowerCase()===e.name.toLowerCase()),Ve=[{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["\u{1F382}","Cake"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["C&C","CnC"],card:"Command and Conquer"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DPot","D Pot"],card:"Potion of Deja Vu"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LoW"],card:"Lord of Wind"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["PJs","Pajamas"],card:"Alluvion Constellas"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["SFaF","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var u=U(Y());var Te=Array.from(Array(50).keys()).map(e=>`${e}`),A=(e,t=[])=>{let r=[...e,u.Class.Generic];return t.length>0&&r.push(u.Class.NotClassed),[{filterToPropertyMapping:{property:"classes",isArray:!0},values:r.map(i=>i.toLowerCase()),isOr:!0},en(t)]},F=(e,t=[])=>{let r=Object.values(u.Hero).filter(i=>i!==e&&!t.includes(i)).map(i=>i.toLowerCase());return[{filterToPropertyMapping:{property:"hero",isString:!0},values:r,excluded:!0,isOr:!0},{filterToPropertyMapping:{property:"specializations",isArray:!0},values:r,excluded:!0,isOr:!0}]},en=e=>{let t=Object.values(u.Talent).filter(r=>!e.includes(r)).map(r=>r.toLowerCase());return{filterToPropertyMapping:{property:"talents",isArray:!0},values:t,excluded:!0}},xe=[u.Talent.Draconic],tn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Ice,u.Talent.Lightning],rn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Ice],nn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Lightning],an=[u.Talent.Elemental,u.Talent.Ice],on=[u.Talent.Elemental,u.Talent.Ice,u.Talent.Lightning],Ze=[u.Talent.Light],qe=[u.Talent.Shadow],sn=[...A([u.Class.Assassin]),...F(u.Hero.Arakni)],ln=[...A([u.Class.Ranger]),...F(u.Hero.Azalea)],cn=[...A([u.Class.Ninja]),...F(u.Hero.Benji)],un=[...A([u.Class.Warrior],Ze),{filterToPropertyMapping:{property:"subtypes",isArray:!0,partialMatch:!0},values:["angel"],excluded:!0,isOr:!0},...F(u.Hero.Boltyn)],pn=[...A([u.Class.Guardian]),...F(u.Hero.Bravo)],dn=[...A([u.Class.Guardian]),...F(u.Hero.Brevant)],hn=[...A([u.Class.Runeblade],nn),...F(u.Hero.Briar)],fn=[...A([u.Class.Runeblade],qe),...F(u.Hero.Chane)],gn=[...A([u.Class.Mechanologist]),...F(u.Hero.Dash)],Je=[...A([u.Class.Mechanologist]),...F(u.Hero.DataDoll)],ar=[...A([u.Class.Warrior]),...F(u.Hero.Dorinthea)],mn=[...A([u.Class.Illusionist],xe),...F(u.Hero.Dromai,[u.Hero.Fai])],yn=[...A([u.Class.Warrior,u.Class.Wizard],xe),{filterToPropertyMapping:{property:"pitch",isNumber:!0},values:["0","2","3"],cardTypes:[u.Type.Action,u.Type.AttackReaction,u.Type.DefenseReaction,u.Type.Instant,u.Type.Mentor,u.Type.Resource],excluded:!0,isOr:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","mentor"],excluded:!0,isOr:!0},...F(u.Hero.Emperor)],vn=[...A([u.Class.Ninja],xe),...F(u.Hero.Fai,[u.Hero.Dromai])],or=[...A([u.Class.Merchant]),...F(u.Hero.GenisWotchuneed)],bn=[...A([u.Class.Ninja]),...F(u.Hero.Ira)],sr=[...A([u.Class.Wizard],an),...F(u.Hero.Iyslander)],Mn=[...A([u.Class.Wizard])],An=[...A([u.Class.Warrior]),...F(u.Hero.Kassai)],Cn=[...A([u.Class.Ninja]),...F(u.Hero.Katsu)],Fn=[...A([u.Class.Merchant]),...F(u.Hero.Kavdaen)],kn=[...A([u.Class.Brute]),...F(u.Hero.Kayo)],Tn=[...A([u.Class.Brute],qe),...F(u.Hero.Levia)],xn=[...A([u.Class.Ranger],on),...F(u.Hero.Lexi)],Sn=[...A([u.Class.Mechanologist]),...F(u.Hero.Maxx)],Ln=[...A([u.Class.Bard]),...F(u.Hero.Melody)],Pn=[...A([u.Class.Guardian],rn),...F(u.Hero.Oldhim)],wn=[...A([u.Class.Illusionist],Ze),...F(u.Hero.Prism)],Rn=[...A([u.Class.Brute]),...F(u.Hero.Rhinar)],Bn=[...A([u.Class.Ranger]),...F(u.Hero.Riptide)],In=[...A([u.Class.Merchant]),...F(u.Hero.Ruudi)],_n=[{filterToPropertyMapping:{property:"classes",isArray:!0},values:["generic"],isOr:!0}],En=[...A([u.Class.Merchant]),...F(u.Hero.Squizzy)],Dn=[...A([u.Class.Guardian],tn),...F(u.Hero.Bravo)],On=[...A([u.Class.Adjudicator],xe),...F(u.Hero.Taipanis)],Nn=[...A([]),...F(u.Hero.Taylor)],zn=[...A([u.Class.Mechanologist]),...F(u.Hero.Teklovossen)],Hn=[...A([u.Class.Adjudicator],Ze),...F(u.Hero.Theryon)],$n=[...A([u.Class.Assassin]),...F(u.Hero.Uzuri)],Wn=[...A([u.Class.Guardian]),...F(u.Hero.Valda)],jn=[...A([u.Class.Runeblade]),...F(u.Hero.Viserai)],Gn=[...A([u.Class.Runeblade],qe),...F(u.Hero.Vynnset)],Kn=[...A([u.Class.Bard]),...F(u.Hero.Yorick)],Un=[...A([u.Class.Guardian]),...F(u.Hero.Yoji)],Yn=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["blitz"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],lr=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["blitz (living legend)"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Qn=[{filterToPropertyMapping:{property:"rarities",isArray:!0},values:["super rare","majestic","legendary","fabled"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Ae=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["classic constructed"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"],excluded:!0}],ae=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["classic constructed (living legend)"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"],excluded:!0}],Vn=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["commoner"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Xe=[{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],le={blitz:Yn,"blitz ll":lr,"blitz living legend":lr,clash:Qn,cc:Ae,classic:Ae,"classic constructed":Ae,ll:ae,"living legend":ae,"cc ll":ae,"ll cc":ae,"classic constructed ll":ae,"classic constructed living legend":ae,constructed:Ae,commoner:Vn,upf:Xe,ultimate:Xe,"ultimate pit fight":Xe,arakni:sn,azalea:ln,benji:cn,boltyn:un,bravo:pn,brevant:dn,briar:hn,chane:fn,dash:gn,data:Je,"data doll":Je,datadoll:Je,dori:ar,dorinthea:ar,dromai:mn,emperor:yn,fai:vn,genis:or,geniswotchuneed:or,ira:bn,iyslander:sr,islander:sr,kano:Mn,kassai:An,katsu:Cn,kavdaen:Fn,kayo:kn,levia:Tn,lexi:xn,maxx:Sn,melody:Ln,oldhim:Pn,prism:wn,rhinar:Rn,riptide:Bn,ruudi:In,shiyana:_n,squizzy:En,starvo:Dn,taipanis:On,taylor:Nn,teklovossen:zn,theryon:Hn,uzuri:$n,valda:Wn,viserai:jn,vynnset:Gn,yorick:Kn,yoji:Un},Ce=["common","rare","super rare","majestic","legendary","fabled"],Jn=(e,t,r)=>{let i=[];if(!t)i.push(...e);else for(let n of e)switch(t){case">=":let a=!1;for(let c of Ce)a?i.push(c):c===n&&(a=!0,i.push(c));break;case">":let s=!1;for(let c of Ce)s?i.push(c):c===n&&(s=!0);break;case"<=":let o=!1;for(let c of Ce.slice().reverse())o?i.push(c):c===n&&(o=!0,i.push(c));break;case"<":let l=!1;for(let c of Ce.slice().reverse())l?i.push(c):c===n&&(l=!0);break;default:break}return{filterToPropertyMapping:{property:"rarities",isArray:!0},isOr:!0,values:i,excluded:r}},Xn=(e,t)=>{let r=[];for(let i of e)if(le[i]){let n=le[i];for(let a of n){let s=he({},a);t&&!a.filterToPropertyMapping.isString&&(s.excluded=!a.excluded),r.push(s)}}return r},et=(e,t,r,i)=>{let n=[];return ra(t)?n.push(...Xn(r,e)):na(t)&&n.push(Jn(r,i,e)),n},oe=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Te,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],$=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Te,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Te},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],X=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Te},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],ke=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(u.Talent).map(e=>e.toLowerCase())}],Zn={"!co":oe,"-co":oe,"!cost":oe,"-cost":oe,"!color":oe,"-color":oe,"!b":$,"-b":$,"!block":$,"-block":$,"!d":$,"-d":$,"!def":$,"-def":$,"!defense":$,"-defense":$,"!pitch":Fe,"-pitch":Fe,"!p":Fe,"-p":Fe,"!attack":X,"-attack":X,"!power":X,"-power":X,"!pwr":X,"-pwr":X,"!pow":X,"-pow":X,"!talents":ke,"-talents":ke,"!tal":ke,"-tal":ke},tt=e=>{let t=[],r=Zn[e];return r&&t.push(...r),t},qn=(e,t)=>[...le[e.toLowerCase()],...t?le[t.toLowerCase()]:[]],ea=e=>{var t;return((t=le[e.toLowerCase().split(" ")[0]])==null?void 0:t.length)>0},ta=["l","legal","hero"],ra=e=>ta.includes(e),ia=["r","rarity"],na=e=>ia.includes(e);var rt={aa:["st:attack"],ab:['k:"arcane barrier"'],ar:['t:"attack reaction"'],dr:['t:"defense reaction"'],ga:['k:"go again"'],naa:["t:action","st:nonattack"],poppers:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],popper:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],sv:['k:"spellvoid"']};var Pr=[">=",">","<=","<"],wr=["!","-"],it={property:"artists",isArray:!0,partialMatch:!0},aa={property:"n/a"},cr={property:"classes",isArray:!0,partialMatch:!0},ur={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},ce={property:"defense",specialProperty:"specialDefense",isNumber:!0},pr={nestedProperty:"foiling",property:"printings",isArray:!0},dr={property:"fusions",isArray:!0},hr={property:"intellect",isNumber:!0},fr={property:"keywords",isArray:!0,partialMatch:!0},nt={property:"n/a",isMeta:!0},gr={property:"life",specialProperty:"specialLife",isNumber:!0},mr={property:"name",isString:!0},at={property:"pitch",isNumber:!0},Se={property:"power",specialProperty:"specialPower",isNumber:!0},yr={property:"n/a",isMeta:!0},oa={property:"n/a"},sa={property:"n/a"},vr={property:"restrictedFormats",isArray:!0,partialMatch:!0},br={property:"sets",isArray:!0,partialMatch:!0},Le={property:"specializations",isArray:!0,partialMatch:!0},Mr={property:"subtypes",isArray:!0},Ar={property:"types",isArray:!0},Cr={property:"talents",isArray:!0},la={property:"functionalText",isString:!0,partialMatch:!0},ca={property:"typeText",isString:!0,partialMatch:!0},Pe={nestedProperty:"treatment",property:"printings",isArray:!0},we={a:it,artist:it,art:it,attack:Se,b:ce,block:ce,c:cr,class:cr,chain:aa,co:ur,cost:ur,color:at,d:ce,def:ce,defense:ce,f:dr,fusion:dr,foil:pr,foiling:pr,i:hr,intellect:hr,k:fr,keyword:fr,l:nt,legal:nt,hero:nt,li:gr,life:gr,n:mr,name:mr,p:at,pitch:at,pwr:Se,pow:Se,power:Se,r:yr,rarity:yr,referencedby:oa,references:sa,rf:vr,restricted:vr,s:br,set:br,sp:Le,spec:Le,specialization:Le,specializations:Le,st:Mr,subtype:Mr,t:Ar,type:Ar,tal:Cr,talent:Cr,text:la,treat:Pe,treatment:Pe,var:Pe,variation:Pe,x:ca},ua=[{text:C.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:C.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(S,"")}],pa=e=>{var n;let t=[],r=e.trim().toLowerCase();for(let{text:a,override:s}of ua)r.includes(a)&&(r=r.replace(a,s));if((n=Me(r))==null?void 0:n.card)t.push(r);else{let a=r.split(/[ ]+/),s="",o=0;for(let l of a)o===2&&(t.push(s.trim().replaceAll('"',"")),s="",o=0),o<2&&l.split('"').length===2?(s+=" "+l,o++):o===0&&s===""?t.push(l):o===1&&(s+=" "+l);o===2&&(t.push(s.trim().replaceAll('"',"")),s="",o=0)}return t},da=[C.Hero.Briar,C.Hero.Emperor,C.Hero.Prism,C.Hero.Shiyana,C.Hero.Taylor],st=(e,t)=>{var p;let r=pa(e),i=[];for(let g of r){let h=rt[g];h?i.push(...h):i.push(g)}let n=[],a=[],s=[],o=[],l=[],c={isClash:!1,heroes:[]};for(let g of i)if(Aa(g)){let[h,m]=g.split(":"),{modifier:d,values:f,isAnd:y,isOr:b}=ba(m),{filterKey:v,excluded:x,isMeta:T}=Ma(h);if(T){if(["rarity","r"].includes(v)&&(f=va(f)),["legal","l","hero"].includes(v)){for(let k of da)m.includes(k.toLowerCase())&&(c.heroes.includes(k)||c.heroes.push(k));m.includes("clash")&&(c.isClash=!0)}n.push(...et(x,v,f,d))}else{if(["chain"].includes(v)){let k=R=>R.name.toLowerCase().replaceAll(S,""),L=f.map(R=>lt(R,t)).filter(R=>!!R).map(k),w=new Set(L);v="name",b=!0;let N=20,B=0,j=R=>{if(!R.types.includes(C.Type.Hero)){let O=k(R);w.add(O),L.includes(O)||L.push(O)}};for(let R of L){if(B>N)break;let{referencedBy:O,references:te}=Re(R,t);te.forEach(j),B===0&&O.forEach(j),B++}f=Array.from(w)}else if(["referencedby","references"].includes(v)){let k=v,L=[...f].filter(w=>!!w);f=[],v="name",b=!0;for(let w of L){let{referencedBy:N,references:B}=Re(w,t);["referencedby"].includes(k)?f.push(...B.map(({name:j})=>j.toLowerCase().replaceAll(S,""))):["references"].includes(k)&&f.push(...N.map(({name:j})=>j.toLowerCase().replaceAll(S,"")))}}else["foiling","foil"].includes(v)?(s=ma(f),f=s.map(k=>k.toLowerCase())):["treat","treatment","var","variation"].includes(v)?(l=ya(f),f=l.map(k=>k.toLowerCase())):["set","s"].includes(v)?(o=ha(f),f=o.map(k=>k.toLowerCase().replaceAll(S,""))):["pitch","p","color"].includes(v)&&(f=ga(f));we[v]&&n.push({filterToPropertyMapping:we[v],values:f,isAnd:y,isOr:b,modifier:d,excluded:x})}}else if(g){let h=(p=Me(g))==null?void 0:p.card,m=tt(g);h?a.push(`"${h.toLowerCase().replace(S,"")}"`):m&&m.length>0?n.push(...m):a.push(g.replace(S,""))}return{appliedFilters:n,attributes:{foilings:s,releases:o,treatments:l},keywords:a,specialConditions:c}},ha=e=>{let t=[];for(let r of e)t.push(...fa(r));return t},fa=e=>{let t=[],r=Object.values(C.Release).find(i=>i.toLowerCase().replaceAll(S,"")===e);if(r&&t.push(r),t.length===0){let i=C.setIdentifierToSetMappings[e];i&&t.push(i)}if(t.length===0){let i=Object.values(C.Release).filter(n=>n.toLowerCase().includes(e));i.length>0&&t.push(...i)}return t},ot={blue:3,yellow:2,red:1,white:0},ga=e=>{let t=[];for(let r of e)ot[r]||ot[r]===0?t.push(ot[r].toString()):t.push(r);return t},Fr={r:C.Foiling.R,rf:C.Foiling.R,rainbow:C.Foiling.R,c:C.Foiling.C,cf:C.Foiling.C,cold:C.Foiling.C,g:C.Foiling.G,gf:C.Foiling.G,gold:C.Foiling.G},ma=e=>{let t=[];for(let r of e)Fr[r]&&t.push(Fr[r]);return t},kr={aa:C.Treatment.AA,alt:C.Treatment.AA,"alt art":C.Treatment.AA,ab:C.Treatment.AB,"alt border":C.Treatment.AB,at:C.Treatment.AT,"alt text":C.Treatment.AT,ds:C.Treatment.DS,"double sided":C.Treatment.DS,ea:C.Treatment.EA,extended:C.Treatment.EA,"extended art":C.Treatment.EA,fa:C.Treatment.FA,full:C.Treatment.FA,"full art":C.Treatment.FA},ya=e=>{let t=[];for(let r of e)kr[r]?t.push(kr[r]):C.Treatment[r.toUpperCase()]&&t.push(C.Treatment[r.toUpperCase()]);return t},Tr={c:"common",f:"fabled",l:"legendary",m:"majestic",v:"marvel",r:"rare",s:"super rare",t:"token"},va=e=>{let t=[];for(let r of e)Tr[r]?t.push(Tr[r]):t.push(r);return t},ba=e=>{let t=[],r,i,n=Pr.find(a=>e.includes(a));if(n){let[,a]=e.split(n);xr(a)?(r=!0,t.push(...a.trim().split("+").map(s=>s.replace(S,"")))):Sr(a)?(i=!0,t.push(...a.trim().split(",").map(s=>s.replace(S,"")))):t.push(a.trim().replace(S,""))}else xr(e)?(r=!0,t.push(...e.trim().split("+").map(a=>a.replace(S,"")))):Sr(e)?(i=!0,t.push(...e.trim().split(",").map(a=>a.replace(S,"")))):e.startsWith('"')&&e.endsWith('"')?t.push(e.trim().replaceAll('"',"").replace(S,"")):t.push(e.trim().replace(S,""));return{modifier:n,values:t,isAnd:r,isOr:i}},Ma=e=>{let t=Ca(e);if(t){let[,r]=e.split(t);return{excluded:!0,filterKey:r,isMeta:Lr(r)}}else return{excluded:!1,filterKey:e,isMeta:Lr(e)}},Aa=e=>e.indexOf(":")>=0,xr=e=>e.indexOf("+")>=0,Sr=e=>e.indexOf(",")>=0,Lr=e=>{var t;return!!((t=we[e])!=null&&t.isMeta)},Ca=e=>{var t;return(t=wr.find(r=>e.includes(r)))==null?void 0:t.slice(0,1)};var I=U(Y()),Rr={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[I.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",printings:[{identifier:"FNG000",image:"FNG000",print:"FNG000",set:I.Release.Promos},{identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${I.Treatment.FA}`,set:I.Release.Promos,treatment:I.Treatment.FA}],name:"Fangs A Lot",rarities:[I.Rarity.Rare],rarity:I.Rarity.Rare,sets:[I.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[I.Subtype.Attack],types:[I.Type.Action],typeText:"Generic Action - Attack"},Br=[{keyword:Rr.name.toLowerCase(),card:Rr}];var ut=class{constructor(t){this.search=(t,r)=>{let i,{appliedFilters:n,attributes:a,keywords:s,specialConditions:o}=st(t,this.cards),l=s.join(" "),c=r?Br.filter(d=>d.keyword===l):[];if(c.length>0?i=c.map(({card:d})=>d):s.length?i=this.fuse.search(l).map(d=>d.item):i=[...this.cards],n.length&&(i=i.filter(d=>d&&_r(d,n,o)),n.some(({excluded:d,values:f})=>!d&&f.includes(P.Format.ClassicConstructed.toLowerCase()))&&(i=i.filter(d=>!d.young)),n.some(({excluded:d,values:f})=>!d&&(f.includes(P.Format.Blitz.toLowerCase())||f.includes(P.Format.Commoner.toLowerCase())))&&(i=i.filter(d=>{let{types:f,young:y}=d;return!(f.includes(P.Type.Hero)&&!y)}))),s.length===0){let d="";if(a.releases.length===1)try{let f=a.releases[0];d=P.setToSetIdentifierMappings[f][0].toUpperCase()}catch(f){console.error("Error getting set identifier from search",f)}d?i.sort((f,y)=>{var x,T;let b=(x=f.setIdentifiers.find(k=>k.includes(d)))==null?void 0:x.replace(d,""),v=(T=y.setIdentifiers.find(k=>k.includes(d)))==null?void 0:T.replace(d,"");return b&&v?b.localeCompare(v):-1}):i.sort((f,y)=>f.name===y.name?`${f.pitch}`.localeCompare(`${y.pitch}`):f.name.localeCompare(y.name))}else{let d=[],f=[],y=s.map(b=>b.toLowerCase().replace(S,"")).join(" ");for(let b of i)b.name.toLowerCase().replace(S,"")===y?d.push(b):f.push(b);i=[...d,...f]}let p,{foilings:g,releases:h,treatments:m}=a;return(g.length>0||h.length>0||m.length>0)&&(p=i.map(d=>{let f=d.printings.filter(y=>{let b=g.length===0||g.includes(y.foiling),v=h.length===0||h.includes(y.set),x=m.length===0||m.includes(y.treatment);return!!y.image&&b&&v&&x});return he({matchingPrintings:f},d)})),{appliedFilters:n,attributes:a,keywords:s,searchResults:p||i}};let r={getFn:(i,n)=>{let a=ct.default.config.getFn(i,n);return a&&(Array.isArray(a)?a.map(s=>s.replace(S,"")):a.replace(S,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"setIdentifiers",weight:2},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.cards=[...t],this.fuse=new ct.default([...t],r)}},Ir=ut,_r=(e,t,r)=>{let i=!0;for(let n of t){let{isNumber:a,isString:s,isArray:o,isBoolean:l,property:c}=n.filterToPropertyMapping;if((a&&!Fa(e,n)||s&&!ka(e,n)||o&&!Ta(e,n)||l&&!xa(e,n))&&(i=!1),r.isClash&&["rarities","restrictedFormats"].includes(c)){let d=[P.Rarity.SuperRare,P.Rarity.Majestic,P.Rarity.Legendary,P.Rarity.Fabled].some(x=>e.rarities.includes(x)),f=!1;for(let{cardIdentifiers:x,heroes:T}of Qe)for(let k of r.heroes)T.includes(k)&&x.includes(e.cardIdentifier)&&(f=!0);let y=!!e.specializations&&e.specializations.length>0||f,b=[P.Type.Mentor,P.Type.Weapon].some(x=>e.types.includes(x)),v=Ye.includes(e.name);!i&&!v&&(y||b)&&d&&(i=!0),v&&(i=!1)}r.isClash&&r.heroes.includes(P.Hero.Briar)&&e.name==="Rosetta Thorn"&&(i=!0),!i&&r.heroes.includes(P.Hero.Shiyana)&&["classes"].includes(c)&&e.specializations&&e.specializations.length>0&&(i=!0);let h=e.types.includes(P.Type.Equipment);if(!i&&r.heroes.includes(P.Hero.Taylor)&&h&&h&&(i=!0),!i)break}return i},Fa=(e,t)=>{var r;if(Be(t,e)){let{values:i,modifier:n,excluded:a,filterToPropertyMapping:{partialMatch:s}}=t,o=pt(e,t);if(o!=null&&!isNaN(o))if(o=parseInt(o),n)switch(n){case">=":let l=i==null?void 0:i.some(h=>o>=parseInt(h));return a?!l:l;case">":let c=i==null?void 0:i.some(h=>o>parseInt(h));return a?!c:c;case"<=":let p=i==null?void 0:i.some(h=>o<=parseInt(h));return a?!p:p;case"<":let g=i==null?void 0:i.some(h=>o<parseInt(h));return a?!g:g;default:return!1}else{let l=i==null?void 0:i.some(c=>o===parseInt(c));return a?!l:l}else{let l=(r=La(e,t))==null?void 0:r.toLowerCase(),c=s?i==null?void 0:i.some(p=>l==null?void 0:l.includes(p)):i==null?void 0:i.some(p=>l===p);return a?!c:c}}else return!0},ka=(e,t)=>{var r;if(Be(t,e)){let{values:i,isAnd:n,excluded:a,filterToPropertyMapping:{partialMatch:s}}=t,o=(r=pt(e,t))==null?void 0:r.replaceAll(S,"");if(s){let l=n?i==null?void 0:i.every(c=>o==null?void 0:o.toLowerCase().includes(c)):i==null?void 0:i.some(c=>o==null?void 0:o.toLowerCase().includes(c));return a?!l:l}else{let l=n?i==null?void 0:i.every(c=>(o==null?void 0:o.toLowerCase())===c):i==null?void 0:i.some(c=>(o==null?void 0:o.toLowerCase())===c);return a?!l:l}}else return!0},Ta=(e,t)=>{if(Be(t,e)){let{values:r,isAnd:i,excluded:n,filterToPropertyMapping:{partialMatch:a}}=t,s=Sa(e,t).map(o=>o==null?void 0:o.replaceAll(S,""));if(a){let o=i?r.every(c=>s==null?void 0:s.some(p=>p==null?void 0:p.toLowerCase().includes(c))):r.some(c=>s==null?void 0:s.some(p=>p==null?void 0:p.toLowerCase().includes(c))),l=s.length===0;return n?!o||l:o}else{let o=i?r.every(l=>s==null?void 0:s.some(c=>(c==null?void 0:c.toLowerCase())===l)):r.some(l=>s==null?void 0:s.some(c=>(c==null?void 0:c.toLowerCase())===l));return n?!o:o}}else return!0},xa=(e,t)=>{if(Be(t,e)){let{excluded:r}=t,i=pt(e,t);return r?!i:i}else return!0},pt=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.property]},Sa=(e,t)=>{let{filterToPropertyMapping:{nestedProperty:r,property:i}}=t,n=e[i]||[];return r?n.map(a=>a[r]).filter(a=>!!a):n},La=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.specialProperty]},Be=({cardTypes:e},{types:t,subtypes:r})=>!e||(e==null?void 0:e.some(i=>t.map(n=>n.toLowerCase()).includes(i.toLowerCase())||r.map(n=>n.toLowerCase()).includes(i.toLowerCase())));var lt=(e,t)=>{let r=t.find(i=>i.name.toLowerCase().replace(S,"")===e);return r||(r=t.find(i=>i.name.toLowerCase().replace(S,"").includes(e))),r};var W=U(Y()),Pa=e=>{let t=e.filter(o=>o.types.includes(W.Type.Hero)).sort((o,l)=>o.name.localeCompare(l.name)),r=t.filter(o=>!o.young&&!o.classes.includes(W.Class.Adjudicator)),i=t.filter(o=>{let l=o.rarities.some(p=>p!==W.Rarity.Promo),c=o.sets.some(p=>p!==W.Release.Promos);return l||c}),n=t.filter(o=>{let l=o.rarities.every(p=>p===W.Rarity.Promo),c=o.sets.every(p=>p===W.Release.Promos);return l&&c}),a=t.filter(o=>o.young),s=a.filter(({hero:o})=>!r.find(l=>l.hero===o));return{all:t,adult:r,nonPromo:i,promoOnly:n,young:a,youngOnly:s}};var Or=U(Y());var wa={"Dawnblade, Resplendent":"Dawnblade"},Er=e=>wa[e.name]||e.name,Dr=e=>{var t;return(t=e.functionalText)==null?void 0:t.replaceAll(e.name,"")},Re=(e,t)=>{let r=t.find(i=>i.name.toLowerCase().replace(S,"")===e);return r||(r=t.find(i=>i.name.toLowerCase().replace(S,"").includes(e))),dt(r,t)},dt=(e,t)=>{let r=[],i=[],n=[];if(e){let a=[],s=[],o=Er(e);for(let l of t){let c=Er(l),p=o===c,g=e.pitch!==l.pitch;if(p&&g)r.push(l);else if(!p){let h=Dr(l),m=h==null?void 0:h.includes(o),d=Dr(e),f=d==null?void 0:d.includes(c);m&&a.push(l),f&&s.push(l)}}for(let l of a)i.push(l);for(let l of s){let c=l.name;o!==c&&!s.some(p=>{let g=p.name;return g!==c&&g.includes(c)})&&n.push(l)}}return{otherPitches:r,referencedBy:i,references:n}},Ra=["cash-in-yellow"],Ba=(e,t,r)=>{let i=new Set;for(let n of e.filter(({cardIdentifier:a})=>!Ra.includes(a))){let{references:a}=dt(n,t);for(let s of a.filter(o=>{let l=o.name==="Hyper Driver",c=r===Or.Hero.Maxx;return!l||c}))i.add(s)}return Array.from(i)};0&&(module.exports={PUNCTUATION,abbreviations,availableExclusions,availableModifiers,clashRestrictedCards,clashSpecializationOverrides,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getDeckFilters,getExcludedMetaFilters,getHeroBreakdown,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,heroHasFilters,shorthands});
1
+ var $r=Object.create;var le=Object.defineProperty;var Wr=Object.getOwnPropertyDescriptor;var jr=Object.getOwnPropertyNames,mt=Object.getOwnPropertySymbols,Gr=Object.getPrototypeOf,vt=Object.prototype.hasOwnProperty,Kr=Object.prototype.propertyIsEnumerable;var yt=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,he=(e,t)=>{for(var r in t||(t={}))vt.call(t,r)&&yt(e,r,t[r]);if(mt)for(var r of mt(t))Kr.call(t,r)&&yt(e,r,t[r]);return e};var bt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ur=(e,t)=>{for(var r in t)le(e,r,{get:t[r],enumerable:!0})},Mt=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of jr(t))!vt.call(e,n)&&n!==r&&le(e,n,{get:()=>t[n],enumerable:!(i=Wr(t,n))||i.enumerable});return e};var Y=(e,t,r)=>(r=e!=null?$r(Gr(e)):{},Mt(t||!e||!e.__esModule?le(r,"default",{value:e,enumerable:!0}):r,e)),Yr=e=>Mt(le({},"__esModule",{value:!0}),e);var Q=bt((Ea,Ht)=>{var fe=Object.defineProperty,Qr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptor,Jr=Object.getOwnPropertyDescriptors,Xr=Object.getOwnPropertyNames,At=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qr=(e,t)=>{for(var r in t||(t={}))Ft.call(t,r)&&Ct(e,r,t[r]);if(At)for(var r of At(t))Zr.call(t,r)&&Ct(e,r,t[r]);return e},ei=(e,t)=>Qr(e,Jr(t)),ti=(e,t)=>{for(var r in t)fe(e,r,{get:t[r],enumerable:!0})},ri=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Xr(t))!Ft.call(e,n)&&n!==r&&fe(e,n,{get:()=>t[n],enumerable:!(i=Vr(t,n))||i.enumerable});return e},ii=e=>ri(fe({},"__esModule",{value:!0}),e),kt={};ti(kt,{Class:()=>St,Foiling:()=>Tt,Format:()=>Lt,Fusion:()=>Pt,Hero:()=>Dt,Keyword:()=>Ot,Rarity:()=>wt,Release:()=>Rt,ReleaseEdition:()=>Bt,Subtype:()=>Et,Talent:()=>It,Treatment:()=>xt,Type:()=>_t,fullSetIdentifiers:()=>Nt,setIdentifierToSetMappings:()=>zt,setToSetIdentifierMappings:()=>ni});Ht.exports=ii(kt);var Tt=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Tt||{}),xt=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.DS="Double Sided",e.EA="Extended Art",e.FA="Full Art",e))(xt||{}),St=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Ninja="Ninja",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Warrior="Warrior",e.Wizard="Wizard",e))(St||{}),Lt=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Lt||{}),Pt=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(Pt||{}),wt=(e=>(e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(wt||{}),Rt=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.TalesOfAria="Tales of Aria",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArakniBlitzDeck="Arakni Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.BravoBlitzDeck="Bravo Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.DromaiBlitzDeck="Dromai Blitz Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.IraWelcomeDeck="Ira Welcome Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.RoundTheTable="Round the Table",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.Promos="Promos",e))(Rt||{}),Bt=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Bt||{}),It=(e=>(e.Royal="Royal",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Shadow="Shadow",e))(It||{}),_t=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(_t||{}),Et=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Chest="Chest",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Et||{}),Dt=(e=>(e.Arakni="Arakni",e.Azalea="Azalea",e.Benji="Benji",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Chane="Chane",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Fai="Fai",e.GenisWotchuneed="Genis Wotchuneed",e.Ira="Ira",e.Iyslander="Iyslander",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Maxx="Maxx",e.Melody="Melody",e.Oldhim="Oldhim",e.Prism="Prism",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu\u2019di",e.Shiyana="Shiyana",e.Squizzy="Squizzy",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e))(Dt||{}),Ot=(e=>(e.Ambush="Ambush",e.ArcaneBarrier="Arcane Barrier",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.Heave="Heave",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Material="Material",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e))(Ot||{}),Nt={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters"},zt=ei(qr({},Nt),{ara:"Arakni Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",bvo:"Bravo Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",fai:"Fai Blitz Deck",kat:"Katsu Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",old:"Oldhim Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",uzu:"Uzuri Blitz Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),Ee={};for(let[e,t]of Object.entries(zt)){let r=Ee[t];r?r.push(e):Ee[t]=[e]}var ni=Ee});var nr=bt((Da,ir)=>{"use strict";function $t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function ne(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$t(Object(r),!0).forEach(function(i){Ne(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$t(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Oe(e){"@babel/helpers - typeof";return Oe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oe(e)}function E(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wt(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function D(e,t,r){return t&&Wt(e.prototype,t),r&&Wt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ne(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function V(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&ze(e,t)}function me(e){return me=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},me(e)}function ze(e,t){return ze=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},ze(e,t)}function ai(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function oi(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function si(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oi(e)}function J(e){var t=ai();return function(){var i=me(e),n;if(t){var a=me(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return si(this,n)}}function te(e){return li(e)||ci(e)||ui(e)||pi()}function li(e){if(Array.isArray(e))return He(e)}function ci(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ui(e,t){if(e){if(typeof e=="string")return He(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return He(e,t)}}function He(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}function pi(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function G(e){return Array.isArray?Array.isArray(e):Jt(e)==="[object Array]"}var di=1/0;function hi(e){if(typeof e=="string")return e;var t=e+"";return t=="0"&&1/e==-di?"-0":t}function fi(e){return e==null?"":hi(e)}function $(e){return typeof e=="string"}function Qt(e){return typeof e=="number"}function gi(e){return e===!0||e===!1||mi(e)&&Jt(e)=="[object Boolean]"}function Vt(e){return Oe(e)==="object"}function mi(e){return Vt(e)&&e!==null}function N(e){return e!=null}function De(e){return!e.trim().length}function Jt(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var yi="Incorrect 'index' type",vi=function(t){return"Invalid value for key ".concat(t)},bi=function(t){return"Pattern length exceeds max of ".concat(t,".")},Mi=function(t){return"Missing ".concat(t," property in key")},Ai=function(t){return"Property 'weight' in key '".concat(t,"' must be a positive integer")},jt=Object.prototype.hasOwnProperty,Ci=function(){function e(t){var r=this;E(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach(function(n){var a=Xt(n);i+=a.weight,r._keys.push(a),r._keyMap[a.id]=a,i+=a.weight}),this._keys.forEach(function(n){n.weight/=i})}return D(e,[{key:"get",value:function(r){return this._keyMap[r]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function Xt(e){var t=null,r=null,i=null,n=1,a=null;if($(e)||G(e))i=e,t=Gt(e),r=$e(e);else{if(!jt.call(e,"name"))throw new Error(Mi("name"));var s=e.name;if(i=s,jt.call(e,"weight")&&(n=e.weight,n<=0))throw new Error(Ai(s));t=Gt(s),r=$e(s),a=e.getFn}return{path:t,id:r,weight:n,src:i,getFn:a}}function Gt(e){return G(e)?e:e.split(".")}function $e(e){return G(e)?e.join("."):e}function Fi(e,t){var r=[],i=!1,n=function a(s,o,l){if(N(s))if(!o[l])r.push(s);else{var c=o[l],p=s[c];if(!N(p))return;if(l===o.length-1&&($(p)||Qt(p)||gi(p)))r.push(fi(p));else if(G(p)){i=!0;for(var g=0,h=p.length;g<h;g+=1)a(p[g],o,l+1)}else o.length&&a(p,o,l+1)}};return n(e,$(t)?t.split("."):t,0),i?r:r[0]}var ki={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Ti={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(t,r){return t.score===r.score?t.idx<r.idx?-1:1:t.score<r.score?-1:1}},xi={location:0,threshold:.6,distance:100},Si={useExtendedSearch:!1,getFn:Fi,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},v=ne(ne(ne(ne({},Ti),ki),xi),Si),Li=/[^ ]+/g;function Pi(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,r=new Map,i=Math.pow(10,t);return{get:function(a){var s=a.match(Li).length;if(r.has(s))return r.get(s);var o=1/Math.pow(s,.5*e),l=parseFloat(Math.round(o*i)/i);return r.set(s,l),l},clear:function(){r.clear()}}}var Ue=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.getFn,i=r===void 0?v.getFn:r,n=t.fieldNormWeight,a=n===void 0?v.fieldNormWeight:n;E(this,e),this.norm=Pi(a,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return D(e,[{key:"setSources",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=r}},{key:"setIndexRecords",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=r}},{key:"setKeys",value:function(){var r=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=i,this._keysMap={},i.forEach(function(n,a){r._keysMap[n.id]=a})}},{key:"create",value:function(){var r=this;this.isCreated||!this.docs.length||(this.isCreated=!0,$(this.docs[0])?this.docs.forEach(function(i,n){r._addString(i,n)}):this.docs.forEach(function(i,n){r._addObject(i,n)}),this.norm.clear())}},{key:"add",value:function(r){var i=this.size();$(r)?this._addString(r,i):this._addObject(r,i)}},{key:"removeAt",value:function(r){this.records.splice(r,1);for(var i=r,n=this.size();i<n;i+=1)this.records[i].i-=1}},{key:"getValueForItemAtKeyId",value:function(r,i){return r[this._keysMap[i]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(r,i){if(!(!N(r)||De(r))){var n={v:r,i,n:this.norm.get(r)};this.records.push(n)}}},{key:"_addObject",value:function(r,i){var n=this,a={i,$:{}};this.keys.forEach(function(s,o){var l=s.getFn?s.getFn(r):n.getFn(r,s.path);if(N(l)){if(G(l))(function(){for(var p=[],g=[{nestedArrIndex:-1,value:l}];g.length;){var h=g.pop(),y=h.nestedArrIndex,d=h.value;if(N(d))if($(d)&&!De(d)){var m={v:d,i:y,n:n.norm.get(d)};p.push(m)}else G(d)&&d.forEach(function(f,M){g.push({nestedArrIndex:M,value:f})})}a.$[o]=p})();else if($(l)&&!De(l)){var c={v:l,n:n.norm.get(l)};a.$[o]=c}}}),this.records.push(a)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function Zt(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.getFn,n=i===void 0?v.getFn:i,a=r.fieldNormWeight,s=a===void 0?v.fieldNormWeight:a,o=new Ue({getFn:n,fieldNormWeight:s});return o.setKeys(e.map(Xt)),o.setSources(t),o.create(),o}function wi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.getFn,i=r===void 0?v.getFn:r,n=t.fieldNormWeight,a=n===void 0?v.fieldNormWeight:n,s=e.keys,o=e.records,l=new Ue({getFn:i,fieldNormWeight:a});return l.setKeys(s),l.setIndexRecords(o),l}function ge(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.errors,i=r===void 0?0:r,n=t.currentLocation,a=n===void 0?0:n,s=t.expectedLocation,o=s===void 0?0:s,l=t.distance,c=l===void 0?v.distance:l,p=t.ignoreLocation,g=p===void 0?v.ignoreLocation:p,h=i/e.length;if(g)return h;var y=Math.abs(o-a);return c?h+y/c:y?1:h}function Ri(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:v.minMatchCharLength,r=[],i=-1,n=-1,a=0,s=e.length;a<s;a+=1){var o=e[a];o&&i===-1?i=a:!o&&i!==-1&&(n=a-1,n-i+1>=t&&r.push([i,n]),i=-1)}return e[a-1]&&a-i>=t&&r.push([i,a-1]),r}var ee=32;function Bi(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i.location,a=n===void 0?v.location:n,s=i.distance,o=s===void 0?v.distance:s,l=i.threshold,c=l===void 0?v.threshold:l,p=i.findAllMatches,g=p===void 0?v.findAllMatches:p,h=i.minMatchCharLength,y=h===void 0?v.minMatchCharLength:h,d=i.includeMatches,m=d===void 0?v.includeMatches:d,f=i.ignoreLocation,M=f===void 0?v.ignoreLocation:f;if(t.length>ee)throw new Error(bi(ee));for(var k=t.length,b=e.length,T=Math.max(0,Math.min(a,b)),L=c,x=T,w=y>1||m,I=w?Array(b):[],_;(_=e.indexOf(t,x))>-1;){var K=ge(t,{currentLocation:_,expectedLocation:T,distance:o,ignoreLocation:M});if(L=Math.min(K,L),x=_+k,w)for(var O=0;O<k;)I[_+O]=1,O+=1}x=-1;for(var R=[],z=1,re=k+b,Nr=1<<k-1,q=0;q<k;q+=1){for(var pe=0,U=re;pe<U;){var zr=ge(t,{errors:q,currentLocation:T+U,expectedLocation:T,distance:o,ignoreLocation:M});zr<=L?pe=U:re=U,U=Math.floor((re-pe)/2+pe)}re=U;var ht=Math.max(1,T-U+1),Ie=g?b:Math.min(T+U,b)+k,ie=Array(Ie+2);ie[Ie+1]=(1<<q)-1;for(var H=Ie;H>=ht;H-=1){var de=H-1,ft=r[e.charAt(de)];if(w&&(I[de]=+!!ft),ie[H]=(ie[H+1]<<1|1)&ft,q&&(ie[H]|=(R[H+1]|R[H])<<1|1|R[H+1]),ie[H]&Nr&&(z=ge(t,{errors:q,currentLocation:de,expectedLocation:T,distance:o,ignoreLocation:M}),z<=L)){if(L=z,x=de,x<=T)break;ht=Math.max(1,2*T-x)}}var Hr=ge(t,{errors:q+1,currentLocation:T,expectedLocation:T,distance:o,ignoreLocation:M});if(Hr>L)break;R=ie}var _e={isMatch:x>=0,score:Math.max(.001,z)};if(w){var gt=Ri(I,y);gt.length?m&&(_e.indices=gt):_e.isMatch=!1}return _e}function Ii(e){for(var t={},r=0,i=e.length;r<i;r+=1){var n=e.charAt(r);t[n]=(t[n]||0)|1<<i-r-1}return t}var qt=function(){function e(t){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=i.location,a=n===void 0?v.location:n,s=i.threshold,o=s===void 0?v.threshold:s,l=i.distance,c=l===void 0?v.distance:l,p=i.includeMatches,g=p===void 0?v.includeMatches:p,h=i.findAllMatches,y=h===void 0?v.findAllMatches:h,d=i.minMatchCharLength,m=d===void 0?v.minMatchCharLength:d,f=i.isCaseSensitive,M=f===void 0?v.isCaseSensitive:f,k=i.ignoreLocation,b=k===void 0?v.ignoreLocation:k;if(E(this,e),this.options={location:a,threshold:o,distance:c,includeMatches:g,findAllMatches:y,minMatchCharLength:m,isCaseSensitive:M,ignoreLocation:b},this.pattern=M?t:t.toLowerCase(),this.chunks=[],!!this.pattern.length){var T=function(O,R){r.chunks.push({pattern:O,alphabet:Ii(O),startIndex:R})},L=this.pattern.length;if(L>ee){for(var x=0,w=L%ee,I=L-w;x<I;)T(this.pattern.substr(x,ee),x),x+=ee;if(w){var _=L-ee;T(this.pattern.substr(_),_)}}else T(this.pattern,0)}}return D(e,[{key:"searchIn",value:function(r){var i=this.options,n=i.isCaseSensitive,a=i.includeMatches;if(n||(r=r.toLowerCase()),this.pattern===r){var s={isMatch:!0,score:0};return a&&(s.indices=[[0,r.length-1]]),s}var o=this.options,l=o.location,c=o.distance,p=o.threshold,g=o.findAllMatches,h=o.minMatchCharLength,y=o.ignoreLocation,d=[],m=0,f=!1;this.chunks.forEach(function(k){var b=k.pattern,T=k.alphabet,L=k.startIndex,x=Bi(r,b,T,{location:l+L,distance:c,threshold:p,findAllMatches:g,minMatchCharLength:h,includeMatches:a,ignoreLocation:y}),w=x.isMatch,I=x.score,_=x.indices;w&&(f=!0),m+=I,w&&_&&(d=[].concat(te(d),te(_)))});var M={isMatch:f,score:f?m/this.chunks.length:1};return f&&a&&(M.indices=d),M}}]),e}(),X=function(){function e(t){E(this,e),this.pattern=t}return D(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(r){return Kt(r,this.multiRegex)}},{key:"isSingleMatch",value:function(r){return Kt(r,this.singleRegex)}}]),e}();function Kt(e,t){var r=e.match(t);return r?r[1]:null}var _i=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=n===this.pattern;return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),r}(X),Ei=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=n.indexOf(this.pattern),s=a===-1;return{isMatch:s,score:s?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),r}(X),Di=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=n.startsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),r}(X),Oi=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=!n.startsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),r}(X),Ni=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=n.endsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[n.length-this.pattern.length,n.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),r}(X),zi=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){var a=!n.endsWith(this.pattern);return{isMatch:a,score:a?0:1,indices:[0,n.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),r}(X),er=function(e){V(r,e);var t=J(r);function r(i){var n,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.location,o=s===void 0?v.location:s,l=a.threshold,c=l===void 0?v.threshold:l,p=a.distance,g=p===void 0?v.distance:p,h=a.includeMatches,y=h===void 0?v.includeMatches:h,d=a.findAllMatches,m=d===void 0?v.findAllMatches:d,f=a.minMatchCharLength,M=f===void 0?v.minMatchCharLength:f,k=a.isCaseSensitive,b=k===void 0?v.isCaseSensitive:k,T=a.ignoreLocation,L=T===void 0?v.ignoreLocation:T;return E(this,r),n=t.call(this,i),n._bitapSearch=new qt(i,{location:o,threshold:c,distance:g,includeMatches:y,findAllMatches:m,minMatchCharLength:M,isCaseSensitive:b,ignoreLocation:L}),n}return D(r,[{key:"search",value:function(n){return this._bitapSearch.searchIn(n)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),r}(X),tr=function(e){V(r,e);var t=J(r);function r(i){return E(this,r),t.call(this,i)}return D(r,[{key:"search",value:function(n){for(var a=0,s,o=[],l=this.pattern.length;(s=n.indexOf(this.pattern,a))>-1;)a=s+l,o.push([s,a-1]);var c=!!o.length;return{isMatch:c,score:c?0:1,indices:o}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),r}(X),We=[_i,tr,Di,Oi,zi,Ni,Ei,er],Ut=We.length,Hi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,$i="|";function Wi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split($i).map(function(r){for(var i=r.trim().split(Hi).filter(function(d){return d&&!!d.trim()}),n=[],a=0,s=i.length;a<s;a+=1){for(var o=i[a],l=!1,c=-1;!l&&++c<Ut;){var p=We[c],g=p.isMultiMatch(o);g&&(n.push(new p(g,t)),l=!0)}if(!l)for(c=-1;++c<Ut;){var h=We[c],y=h.isSingleMatch(o);if(y){n.push(new h(y,t));break}}}return n})}var ji=new Set([er.type,tr.type]),Gi=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.isCaseSensitive,n=i===void 0?v.isCaseSensitive:i,a=r.includeMatches,s=a===void 0?v.includeMatches:a,o=r.minMatchCharLength,l=o===void 0?v.minMatchCharLength:o,c=r.ignoreLocation,p=c===void 0?v.ignoreLocation:c,g=r.findAllMatches,h=g===void 0?v.findAllMatches:g,y=r.location,d=y===void 0?v.location:y,m=r.threshold,f=m===void 0?v.threshold:m,M=r.distance,k=M===void 0?v.distance:M;E(this,e),this.query=null,this.options={isCaseSensitive:n,includeMatches:s,minMatchCharLength:l,findAllMatches:h,ignoreLocation:p,location:d,threshold:f,distance:k},this.pattern=n?t:t.toLowerCase(),this.query=Wi(this.pattern,this.options)}return D(e,[{key:"searchIn",value:function(r){var i=this.query;if(!i)return{isMatch:!1,score:1};var n=this.options,a=n.includeMatches,s=n.isCaseSensitive;r=s?r:r.toLowerCase();for(var o=0,l=[],c=0,p=0,g=i.length;p<g;p+=1){var h=i[p];l.length=0,o=0;for(var y=0,d=h.length;y<d;y+=1){var m=h[y],f=m.search(r),M=f.isMatch,k=f.indices,b=f.score;if(M){if(o+=1,c+=b,a){var T=m.constructor.type;ji.has(T)?l=[].concat(te(l),te(k)):l.push(k)}}else{c=0,o=0,l.length=0;break}}if(o){var L={isMatch:!0,score:c/o};return a&&(L.indices=l),L}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(r,i){return i.useExtendedSearch}}]),e}(),ye=[];function Ki(){ye.push.apply(ye,arguments)}function je(e,t){for(var r=0,i=ye.length;r<i;r+=1){var n=ye[r];if(n.condition(e,t))return new n(e,t)}return new qt(e,t)}var ve={AND:"$and",OR:"$or"},Ge={PATH:"$path",PATTERN:"$val"},Ke=function(t){return!!(t[ve.AND]||t[ve.OR])},Ui=function(t){return!!t[Ge.PATH]},Yi=function(t){return!G(t)&&Vt(t)&&!Ke(t)},Yt=function(t){return Ne({},ve.AND,Object.keys(t).map(function(r){return Ne({},r,t[r])}))};function rr(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.auto,n=i===void 0?!0:i,a=function s(o){var l=Object.keys(o),c=Ui(o);if(!c&&l.length>1&&!Ke(o))return s(Yt(o));if(Yi(o)){var p=c?o[Ge.PATH]:l[0],g=c?o[Ge.PATTERN]:o[p];if(!$(g))throw new Error(vi(p));var h={keyId:$e(p),pattern:g};return n&&(h.searcher=je(g,t)),h}var y={children:[],operator:l[0]};return l.forEach(function(d){var m=o[d];G(m)&&m.forEach(function(f){y.children.push(s(f))})}),y};return Ke(e)||(e=Yt(e)),a(e)}function Qi(e,t){var r=t.ignoreFieldNorm,i=r===void 0?v.ignoreFieldNorm:r;e.forEach(function(n){var a=1;n.matches.forEach(function(s){var o=s.key,l=s.norm,c=s.score,p=o?o.weight:null;a*=Math.pow(c===0&&p?Number.EPSILON:c,(p||1)*(i?1:l))}),n.score=a})}function Vi(e,t){var r=e.matches;t.matches=[],N(r)&&r.forEach(function(i){if(!(!N(i.indices)||!i.indices.length)){var n=i.indices,a=i.value,s={indices:n,value:a};i.key&&(s.key=i.key.src),i.idx>-1&&(s.refIndex=i.idx),t.matches.push(s)}})}function Ji(e,t){t.score=e.score}function Xi(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.includeMatches,n=i===void 0?v.includeMatches:i,a=r.includeScore,s=a===void 0?v.includeScore:a,o=[];return n&&o.push(Vi),s&&o.push(Ji),e.map(function(l){var c=l.idx,p={item:t[c],refIndex:c};return o.length&&o.forEach(function(g){g(l,p)}),p})}var ae=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;E(this,e),this.options=ne(ne({},v),r),this.options.useExtendedSearch,this._keyStore=new Ci(this.options.keys),this.setCollection(t,i)}return D(e,[{key:"setCollection",value:function(r,i){if(this._docs=r,i&&!(i instanceof Ue))throw new Error(yi);this._myIndex=i||Zt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(r){N(r)&&(this._docs.push(r),this._myIndex.add(r))}},{key:"remove",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},i=[],n=0,a=this._docs.length;n<a;n+=1){var s=this._docs[n];r(s,n)&&(this.removeAt(n),n-=1,a-=1,i.push(s))}return i}},{key:"removeAt",value:function(r){this._docs.splice(r,1),this._myIndex.removeAt(r)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=i.limit,a=n===void 0?-1:n,s=this.options,o=s.includeMatches,l=s.includeScore,c=s.shouldSort,p=s.sortFn,g=s.ignoreFieldNorm,h=$(r)?$(this._docs[0])?this._searchStringList(r):this._searchObjectList(r):this._searchLogical(r);return Qi(h,{ignoreFieldNorm:g}),c&&h.sort(p),Qt(a)&&a>-1&&(h=h.slice(0,a)),Xi(h,this._docs,{includeMatches:o,includeScore:l})}},{key:"_searchStringList",value:function(r){var i=je(r,this.options),n=this._myIndex.records,a=[];return n.forEach(function(s){var o=s.v,l=s.i,c=s.n;if(N(o)){var p=i.searchIn(o),g=p.isMatch,h=p.score,y=p.indices;g&&a.push({item:o,idx:l,matches:[{score:h,value:o,norm:c,indices:y}]})}}),a}},{key:"_searchLogical",value:function(r){var i=this,n=rr(r,this.options),a=function c(p,g,h){if(!p.children){var y=p.keyId,d=p.searcher,m=i._findMatches({key:i._keyStore.get(y),value:i._myIndex.getValueForItemAtKeyId(g,y),searcher:d});return m&&m.length?[{idx:h,item:g,matches:m}]:[]}for(var f=[],M=0,k=p.children.length;M<k;M+=1){var b=p.children[M],T=c(b,g,h);if(T.length)f.push.apply(f,te(T));else if(p.operator===ve.AND)return[]}return f},s=this._myIndex.records,o={},l=[];return s.forEach(function(c){var p=c.$,g=c.i;if(N(p)){var h=a(n,p,g);h.length&&(o[g]||(o[g]={idx:g,item:p,matches:[]},l.push(o[g])),h.forEach(function(y){var d,m=y.matches;(d=o[g].matches).push.apply(d,te(m))}))}}),l}},{key:"_searchObjectList",value:function(r){var i=this,n=je(r,this.options),a=this._myIndex,s=a.keys,o=a.records,l=[];return o.forEach(function(c){var p=c.$,g=c.i;if(N(p)){var h=[];s.forEach(function(y,d){h.push.apply(h,te(i._findMatches({key:y,value:p[d],searcher:n})))}),h.length&&l.push({idx:g,item:p,matches:h})}}),l}},{key:"_findMatches",value:function(r){var i=r.key,n=r.value,a=r.searcher;if(!N(n))return[];var s=[];if(G(n))n.forEach(function(y){var d=y.v,m=y.i,f=y.n;if(N(d)){var M=a.searchIn(d),k=M.isMatch,b=M.score,T=M.indices;k&&s.push({score:b,key:i,value:d,idx:m,norm:f,indices:T})}});else{var o=n.v,l=n.n,c=a.searchIn(o),p=c.isMatch,g=c.score,h=c.indices;p&&s.push({score:g,key:i,value:o,norm:l,indices:h})}return s}}]),e}();ae.version="6.6.2";ae.createIndex=Zt;ae.parseIndex=wi;ae.config=v;ae.parseQuery=rr;Ki(Gi);var Zi=ae;ir.exports=Zi});var Ia={};Ur(Ia,{PUNCTUATION:()=>S,abbreviations:()=>Ve,availableExclusions:()=>wr,availableModifiers:()=>Pr,clashRestrictedCards:()=>Ye,clashSpecializationOverrides:()=>Qe,default:()=>Ir,filterCard:()=>_r,filtersToCardPropertyMappings:()=>we,getAbbreviation:()=>Me,getAbbreviationByCard:()=>qi,getCardByName:()=>lt,getDeckFilters:()=>qn,getExcludedMetaFilters:()=>tt,getHeroBreakdown:()=>Pa,getKeywordsAndAppliedFiltersFromText:()=>st,getMetaFilters:()=>et,getRelatedCards:()=>dt,getRelatedCardsByName:()=>Re,getTokensReferencedByCards:()=>Ba,heroHasFilters:()=>ea,shorthands:()=>rt});module.exports=Yr(Ia);var P=Y(Q()),ct=Y(nr());var be=Y(Q()),Ye=["Ball Lightning","Belittle","Drone of Brutality","Duskblade","Rosetta Thorn"],Qe=[{heroes:[be.Hero.Briar],cardIdentifiers:["rosetta-thorn"]},{heroes:[be.Hero.Emperor],cardIdentifiers:["command-and-conquer-red"]},{heroes:[be.Hero.Prism],cardIdentifiers:["figment-of-erudition-yellow","figment-of-judgment-yellow","figment-of-protection-yellow","figment-of-ravages-yellow","figment-of-rebirth-yellow","figment-of-tenacity-yellow","figment-of-triumph-yellow","figment-of-war-yellow"]}];var S=/[!"#$%&'’()*+,-./:;<=>?@[\]^_`{|}~]/g;var C=Y(Q());var Me=e=>Ve.find(({abbreviations:t})=>t.find(r=>r.toLowerCase()===e)),qi=e=>Ve.find(({card:t})=>t.toLowerCase()===e.name.toLowerCase()),Ve=[{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["\u{1F382}","Cake"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["C&C","CnC"],card:"Command and Conquer"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DPot","D Pot"],card:"Potion of Deja Vu"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LoW"],card:"Lord of Wind"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["PJs","Pajamas"],card:"Alluvion Constellas"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["SFaF","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var u=Y(Q());var Te=Array.from(Array(50).keys()).map(e=>`${e}`),A=(e,t=[])=>{let r=[...e,u.Class.Generic];return t.length>0&&r.push(u.Class.NotClassed),[{filterToPropertyMapping:{property:"classes",isArray:!0},values:r.map(i=>i.toLowerCase()),isOr:!0},en(t)]},F=(e,t=[])=>{let r=Object.values(u.Hero).filter(i=>i!==e&&!t.includes(i)).map(i=>i.toLowerCase());return[{filterToPropertyMapping:{property:"hero",isString:!0},values:r,excluded:!0,isOr:!0},{filterToPropertyMapping:{property:"specializations",isArray:!0},values:r,excluded:!0,isOr:!0}]},en=e=>{let t=Object.values(u.Talent).filter(r=>!e.includes(r)).map(r=>r.toLowerCase());return{filterToPropertyMapping:{property:"talents",isArray:!0},values:t,excluded:!0}},xe=[u.Talent.Draconic],tn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Ice,u.Talent.Lightning],rn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Ice],nn=[u.Talent.Elemental,u.Talent.Earth,u.Talent.Lightning],an=[u.Talent.Elemental,u.Talent.Ice],on=[u.Talent.Elemental,u.Talent.Ice,u.Talent.Lightning],Ze=[u.Talent.Light],qe=[u.Talent.Shadow],sn=[...A([u.Class.Assassin]),...F(u.Hero.Arakni)],ln=[...A([u.Class.Ranger]),...F(u.Hero.Azalea)],cn=[...A([u.Class.Ninja]),...F(u.Hero.Benji)],un=[...A([u.Class.Warrior],Ze),{filterToPropertyMapping:{property:"subtypes",isArray:!0,partialMatch:!0},values:["angel"],excluded:!0,isOr:!0},...F(u.Hero.Boltyn)],pn=[...A([u.Class.Guardian]),...F(u.Hero.Bravo)],dn=[...A([u.Class.Guardian]),...F(u.Hero.Brevant)],hn=[...A([u.Class.Runeblade],nn),...F(u.Hero.Briar)],fn=[...A([u.Class.Runeblade],qe),...F(u.Hero.Chane)],gn=[...A([u.Class.Mechanologist]),...F(u.Hero.Dash)],Je=[...A([u.Class.Mechanologist]),...F(u.Hero.DataDoll)],ar=[...A([u.Class.Warrior]),...F(u.Hero.Dorinthea)],mn=[...A([u.Class.Illusionist],xe),...F(u.Hero.Dromai,[u.Hero.Fai])],yn=[...A([u.Class.Warrior,u.Class.Wizard],xe),{filterToPropertyMapping:{property:"pitch",isNumber:!0},values:["0","2","3"],cardTypes:[u.Type.Action,u.Type.AttackReaction,u.Type.DefenseReaction,u.Type.Instant,u.Type.Mentor,u.Type.Resource],excluded:!0,isOr:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","mentor"],excluded:!0,isOr:!0},...F(u.Hero.Emperor)],vn=[...A([u.Class.Ninja],xe),...F(u.Hero.Fai,[u.Hero.Dromai])],or=[...A([u.Class.Merchant]),...F(u.Hero.GenisWotchuneed)],bn=[...A([u.Class.Ninja]),...F(u.Hero.Ira)],sr=[...A([u.Class.Wizard],an),...F(u.Hero.Iyslander)],Mn=[...A([u.Class.Wizard])],An=[...A([u.Class.Warrior]),...F(u.Hero.Kassai)],Cn=[...A([u.Class.Ninja]),...F(u.Hero.Katsu)],Fn=[...A([u.Class.Merchant]),...F(u.Hero.Kavdaen)],kn=[...A([u.Class.Brute]),...F(u.Hero.Kayo)],Tn=[...A([u.Class.Brute],qe),...F(u.Hero.Levia)],xn=[...A([u.Class.Ranger],on),...F(u.Hero.Lexi)],Sn=[...A([u.Class.Mechanologist]),...F(u.Hero.Maxx)],Ln=[...A([u.Class.Bard]),...F(u.Hero.Melody)],Pn=[...A([u.Class.Guardian],rn),...F(u.Hero.Oldhim)],wn=[...A([u.Class.Illusionist],Ze),...F(u.Hero.Prism)],Rn=[...A([u.Class.Brute]),...F(u.Hero.Rhinar)],Bn=[...A([u.Class.Ranger]),...F(u.Hero.Riptide)],In=[...A([u.Class.Merchant]),...F(u.Hero.Ruudi)],_n=[{filterToPropertyMapping:{property:"classes",isArray:!0},values:["generic"],isOr:!0}],En=[...A([u.Class.Merchant]),...F(u.Hero.Squizzy)],Dn=[...A([u.Class.Guardian],tn),...F(u.Hero.Bravo)],On=[...A([u.Class.Adjudicator],xe),...F(u.Hero.Taipanis)],Nn=[...A([]),...F(u.Hero.Taylor)],zn=[...A([u.Class.Mechanologist]),...F(u.Hero.Teklovossen)],Hn=[...A([u.Class.Adjudicator],Ze),...F(u.Hero.Theryon)],$n=[...A([u.Class.Assassin]),...F(u.Hero.Uzuri)],Wn=[...A([u.Class.Guardian]),...F(u.Hero.Valda)],jn=[...A([u.Class.Runeblade]),...F(u.Hero.Viserai)],Gn=[...A([u.Class.Runeblade],qe),...F(u.Hero.Vynnset)],Kn=[...A([u.Class.Bard]),...F(u.Hero.Yorick)],Un=[...A([u.Class.Guardian]),...F(u.Hero.Yoji)],Yn=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["blitz"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],lr=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["blitz (living legend)"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Qn=[{filterToPropertyMapping:{property:"rarities",isArray:!0},values:["super rare","majestic","legendary","fabled"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Ae=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["classic constructed"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"],excluded:!0}],oe=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["classic constructed (living legend)"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"],excluded:!0}],Vn=[{filterToPropertyMapping:{property:"restrictedFormats",isArray:!0},values:["commoner"],excluded:!0},{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],Xe=[{filterToPropertyMapping:{property:"young",isBoolean:!0},values:[],cardTypes:["hero"]}],ce={blitz:Yn,"blitz ll":lr,"blitz living legend":lr,clash:Qn,cc:Ae,classic:Ae,"classic constructed":Ae,ll:oe,"living legend":oe,"cc ll":oe,"ll cc":oe,"classic constructed ll":oe,"classic constructed living legend":oe,constructed:Ae,commoner:Vn,upf:Xe,ultimate:Xe,"ultimate pit fight":Xe,arakni:sn,azalea:ln,benji:cn,boltyn:un,bravo:pn,brevant:dn,briar:hn,chane:fn,dash:gn,data:Je,"data doll":Je,datadoll:Je,dori:ar,dorinthea:ar,dromai:mn,emperor:yn,fai:vn,genis:or,geniswotchuneed:or,ira:bn,iyslander:sr,islander:sr,kano:Mn,kassai:An,katsu:Cn,kavdaen:Fn,kayo:kn,levia:Tn,lexi:xn,maxx:Sn,melody:Ln,oldhim:Pn,prism:wn,rhinar:Rn,riptide:Bn,ruudi:In,shiyana:_n,squizzy:En,starvo:Dn,taipanis:On,taylor:Nn,teklovossen:zn,theryon:Hn,uzuri:$n,valda:Wn,viserai:jn,vynnset:Gn,yorick:Kn,yoji:Un},Ce=["common","rare","super rare","majestic","legendary","fabled"],Jn=(e,t,r)=>{let i=[];if(!t)i.push(...e);else for(let n of e)switch(t){case">=":let a=!1;for(let c of Ce)a?i.push(c):c===n&&(a=!0,i.push(c));break;case">":let s=!1;for(let c of Ce)s?i.push(c):c===n&&(s=!0);break;case"<=":let o=!1;for(let c of Ce.slice().reverse())o?i.push(c):c===n&&(o=!0,i.push(c));break;case"<":let l=!1;for(let c of Ce.slice().reverse())l?i.push(c):c===n&&(l=!0);break;default:break}return{filterToPropertyMapping:{property:"rarities",isArray:!0},isOr:!0,values:i,excluded:r}},Xn=(e,t)=>{let r=[];for(let i of e)if(ce[i]){let n=ce[i];for(let a of n){let s=he({},a);t&&!a.filterToPropertyMapping.isString&&(s.excluded=!a.excluded),r.push(s)}}return r},et=(e,t,r,i)=>{let n=[];return ra(t)?n.push(...Xn(r,e)):na(t)&&n.push(Jn(r,i,e)),n},se=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Te,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],W=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Te,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Te},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],Z=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Te},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],ke=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(u.Talent).map(e=>e.toLowerCase())}],Zn={"!co":se,"-co":se,"!cost":se,"-cost":se,"!color":se,"-color":se,"!b":W,"-b":W,"!block":W,"-block":W,"!d":W,"-d":W,"!def":W,"-def":W,"!defense":W,"-defense":W,"!pitch":Fe,"-pitch":Fe,"!p":Fe,"-p":Fe,"!attack":Z,"-attack":Z,"!power":Z,"-power":Z,"!pwr":Z,"-pwr":Z,"!pow":Z,"-pow":Z,"!talents":ke,"-talents":ke,"!tal":ke,"-tal":ke},tt=e=>{let t=[],r=Zn[e];return r&&t.push(...r),t},qn=(e,t)=>[...ce[e.toLowerCase()],...t?ce[t.toLowerCase()]:[]],ea=e=>{var t;return((t=ce[e.toLowerCase().split(" ")[0]])==null?void 0:t.length)>0},ta=["l","legal","hero"],ra=e=>ta.includes(e),ia=["r","rarity"],na=e=>ia.includes(e);var rt={aa:["st:attack"],ab:['k:"arcane barrier"'],ar:['t:"attack reaction"'],dr:['t:"defense reaction"'],ga:['k:"go again"'],naa:["t:action","st:nonattack"],poppers:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],popper:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],sv:['k:"spellvoid"']};var Pr=[">=",">","<=","<"],wr=["!","-"],it={property:"artists",isArray:!0,partialMatch:!0},aa={property:"n/a"},cr={property:"classes",isArray:!0,partialMatch:!0},ur={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},ue={property:"defense",specialProperty:"specialDefense",isNumber:!0},pr={nestedProperty:"foiling",property:"printings",isArray:!0},dr={property:"fusions",isArray:!0},hr={property:"intellect",isNumber:!0},fr={property:"keywords",isArray:!0,partialMatch:!0},nt={property:"n/a",isMeta:!0},gr={property:"life",specialProperty:"specialLife",isNumber:!0},mr={property:"name",isString:!0},at={property:"pitch",isNumber:!0},Se={property:"power",specialProperty:"specialPower",isNumber:!0},yr={property:"n/a",isMeta:!0},oa={property:"n/a"},sa={property:"n/a"},vr={property:"restrictedFormats",isArray:!0,partialMatch:!0},br={property:"sets",isArray:!0,partialMatch:!0},Le={property:"specializations",isArray:!0,partialMatch:!0},Mr={property:"subtypes",isArray:!0},Ar={property:"types",isArray:!0},Cr={property:"talents",isArray:!0},la={property:"functionalText",isString:!0,partialMatch:!0},ca={property:"typeText",isString:!0,partialMatch:!0},Pe={nestedProperty:"treatment",property:"printings",isArray:!0},we={a:it,artist:it,art:it,attack:Se,b:ue,block:ue,c:cr,class:cr,chain:aa,co:ur,cost:ur,color:at,d:ue,def:ue,defense:ue,f:dr,fusion:dr,foil:pr,foiling:pr,i:hr,intellect:hr,k:fr,keyword:fr,l:nt,legal:nt,hero:nt,li:gr,life:gr,n:mr,name:mr,p:at,pitch:at,pwr:Se,pow:Se,power:Se,r:yr,rarity:yr,referencedby:oa,references:sa,rf:vr,restricted:vr,s:br,set:br,sp:Le,spec:Le,specialization:Le,specializations:Le,st:Mr,subtype:Mr,t:Ar,type:Ar,tal:Cr,talent:Cr,text:la,treat:Pe,treatment:Pe,var:Pe,variation:Pe,x:ca},ua=[{text:C.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:C.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(S,"")}],pa=e=>{var n;let t=[],r=e.trim().toLowerCase();for(let{text:a,override:s}of ua)r.includes(a)&&(r=r.replace(a,s));if((n=Me(r))==null?void 0:n.card)t.push(r);else{let a=r.split(/[ ]+/),s="",o=0;for(let l of a)o===2&&(t.push(s.trim().replaceAll('"',"")),s="",o=0),o<2&&l.split('"').length===2?(s+=" "+l,o++):o===0&&s===""?t.push(l):o===1&&(s+=" "+l);o===2&&(t.push(s.trim().replaceAll('"',"")),s="",o=0)}return t},da=[C.Hero.Briar,C.Hero.Emperor,C.Hero.Prism,C.Hero.Shiyana,C.Hero.Taylor],st=(e,t)=>{var g;let r=pa(e),i=[];for(let h of r){let y=rt[h];y?i.push(...y):i.push(h)}let n=[],a=[],s=[],o=[],l=[],c=[],p={isClash:!1,heroes:[]};for(let h of i)if(Aa(h)){let[y,d]=h.split(":"),{modifier:m,values:f,isAnd:M,isOr:k}=ba(d),{filterKey:b,excluded:T,isMeta:L}=Ma(y);if(L){if(["rarity","r"].includes(b)&&(f=va(f)),["legal","l","hero"].includes(b)){for(let x of da)d.includes(x.toLowerCase())&&(p.heroes.includes(x)||p.heroes.push(x));d.includes("clash")&&(p.isClash=!0)}n.push(...et(T,b,f,m))}else{if(["chain"].includes(b)){let x=R=>R.name.toLowerCase().replaceAll(S,""),w=f.map(R=>lt(R,t)).filter(R=>!!R).map(x),I=new Set(w);b="name",k=!0;let _=20,K=0,O=R=>{if(!R.types.includes(C.Type.Hero)){let z=x(R);I.add(z),w.includes(z)||w.push(z)}};for(let R of w){if(K>_)break;let{referencedBy:z,references:re}=Re(R,t);re.forEach(O),K===0&&z.forEach(O),K++}f=Array.from(I)}else if(["referencedby","references"].includes(b)){let x=b,w=[...f].filter(I=>!!I);f=[],b="name",k=!0;for(let I of w){let{referencedBy:_,references:K}=Re(I,t);["referencedby"].includes(x)?f.push(...K.map(({name:O})=>O.toLowerCase().replaceAll(S,""))):["references"].includes(x)&&f.push(..._.map(({name:O})=>O.toLowerCase().replaceAll(S,"")))}}else["art","artist"].includes(b)?a=f:["foiling","foil"].includes(b)?(o=ma(f),f=o.map(x=>x.toLowerCase())):["treat","treatment","var","variation"].includes(b)?(c=ya(f),f=c.map(x=>x.toLowerCase())):["set","s"].includes(b)?(l=ha(f),f=l.map(x=>x.toLowerCase().replaceAll(S,""))):["pitch","p","color"].includes(b)&&(f=ga(f));we[b]&&n.push({filterToPropertyMapping:we[b],values:f,isAnd:M,isOr:k,modifier:m,excluded:T})}}else if(h){let y=(g=Me(h))==null?void 0:g.card,d=tt(h);y?s.push(`"${y.toLowerCase().replace(S,"")}"`):d&&d.length>0?n.push(...d):s.push(h.replace(S,""))}return{appliedFilters:n,attributes:{artists:a,foilings:o,releases:l,treatments:c},keywords:s,specialConditions:p}},ha=e=>{let t=[];for(let r of e)t.push(...fa(r));return t},fa=e=>{let t=[],r=Object.values(C.Release).find(i=>i.toLowerCase().replaceAll(S,"")===e);if(r&&t.push(r),t.length===0){let i=C.setIdentifierToSetMappings[e];i&&t.push(i)}if(t.length===0){let i=Object.values(C.Release).filter(n=>n.toLowerCase().includes(e));i.length>0&&t.push(...i)}return t},ot={blue:3,yellow:2,red:1,white:0},ga=e=>{let t=[];for(let r of e)ot[r]||ot[r]===0?t.push(ot[r].toString()):t.push(r);return t},Fr={r:C.Foiling.R,rf:C.Foiling.R,rainbow:C.Foiling.R,c:C.Foiling.C,cf:C.Foiling.C,cold:C.Foiling.C,g:C.Foiling.G,gf:C.Foiling.G,gold:C.Foiling.G},ma=e=>{let t=[];for(let r of e)Fr[r]&&t.push(Fr[r]);return t},kr={aa:C.Treatment.AA,alt:C.Treatment.AA,"alt art":C.Treatment.AA,ab:C.Treatment.AB,"alt border":C.Treatment.AB,at:C.Treatment.AT,"alt text":C.Treatment.AT,ds:C.Treatment.DS,"double sided":C.Treatment.DS,ea:C.Treatment.EA,extended:C.Treatment.EA,"extended art":C.Treatment.EA,fa:C.Treatment.FA,full:C.Treatment.FA,"full art":C.Treatment.FA},ya=e=>{let t=[];for(let r of e)kr[r]?t.push(kr[r]):C.Treatment[r.toUpperCase()]&&t.push(C.Treatment[r.toUpperCase()]);return t},Tr={c:"common",f:"fabled",l:"legendary",m:"majestic",v:"marvel",r:"rare",s:"super rare",t:"token"},va=e=>{let t=[];for(let r of e)Tr[r]?t.push(Tr[r]):t.push(r);return t},ba=e=>{let t=[],r,i,n=Pr.find(a=>e.includes(a));if(n){let[,a]=e.split(n);xr(a)?(r=!0,t.push(...a.trim().split("+").map(s=>s.replace(S,"")))):Sr(a)?(i=!0,t.push(...a.trim().split(",").map(s=>s.replace(S,"")))):t.push(a.trim().replace(S,""))}else xr(e)?(r=!0,t.push(...e.trim().split("+").map(a=>a.replace(S,"")))):Sr(e)?(i=!0,t.push(...e.trim().split(",").map(a=>a.replace(S,"")))):e.startsWith('"')&&e.endsWith('"')?t.push(e.trim().replaceAll('"',"").replace(S,"")):t.push(e.trim().replace(S,""));return{modifier:n,values:t,isAnd:r,isOr:i}},Ma=e=>{let t=Ca(e);if(t){let[,r]=e.split(t);return{excluded:!0,filterKey:r,isMeta:Lr(r)}}else return{excluded:!1,filterKey:e,isMeta:Lr(e)}},Aa=e=>e.indexOf(":")>=0,xr=e=>e.indexOf("+")>=0,Sr=e=>e.indexOf(",")>=0,Lr=e=>{var t;return!!((t=we[e])!=null&&t.isMeta)},Ca=e=>{var t;return(t=wr.find(r=>e.includes(r)))==null?void 0:t.slice(0,1)};var B=Y(Q()),Rr={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[B.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",printings:[{artist:"Hoodwill",identifier:"FNG000",image:"FNG000",print:"FNG000",set:B.Release.Promos},{artist:"Hoodwill",identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${B.Treatment.FA}`,set:B.Release.Promos,treatment:B.Treatment.FA}],name:"Fangs A Lot",rarities:[B.Rarity.Rare],rarity:B.Rarity.Rare,sets:[B.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[B.Subtype.Attack],types:[B.Type.Action],typeText:"Generic Action - Attack"},Br=[{keyword:Rr.name.toLowerCase(),card:Rr}];var ut=class{constructor(t){this.search=(t,r)=>{let i,{appliedFilters:n,attributes:a,keywords:s,specialConditions:o}=st(t,this.cards),l=s.join(" "),c=r?Br.filter(d=>d.keyword===l):[];if(c.length>0?i=c.map(({card:d})=>d):s.length?i=this.fuse.search(l).map(d=>d.item):i=[...this.cards],n.length&&(i=i.filter(d=>d&&_r(d,n,o)),n.some(({excluded:d,values:m})=>!d&&m.includes(P.Format.ClassicConstructed.toLowerCase()))&&(i=i.filter(d=>!d.young)),n.some(({excluded:d,values:m})=>!d&&(m.includes(P.Format.Blitz.toLowerCase())||m.includes(P.Format.Commoner.toLowerCase())))&&(i=i.filter(d=>{let{types:m,young:f}=d;return!(m.includes(P.Type.Hero)&&!f)}))),s.length===0){let d="";if(a.releases.length===1)try{let m=a.releases[0];d=P.setToSetIdentifierMappings[m][0].toUpperCase()}catch(m){console.error("Error getting set identifier from search",m)}d?i.sort((m,f)=>{var b,T;let M=(b=m.setIdentifiers.find(L=>L.includes(d)))==null?void 0:b.replace(d,""),k=(T=f.setIdentifiers.find(L=>L.includes(d)))==null?void 0:T.replace(d,"");return M&&k?M.localeCompare(k):-1}):i.sort((m,f)=>m.name===f.name?`${m.pitch}`.localeCompare(`${f.pitch}`):m.name.localeCompare(f.name))}else{let d=[],m=[],f=s.map(M=>M.toLowerCase().replace(S,"")).join(" ");for(let M of i)M.name.toLowerCase().replace(S,"")===f?d.push(M):m.push(M);i=[...d,...m]}let p,{foilings:g,releases:h,treatments:y}=a;return(g.length>0||h.length>0||y.length>0)&&(p=i.map(d=>{let m=d.printings.filter(f=>{let M=g.length===0||g.includes(f.foiling),k=h.length===0||h.includes(f.set),b=y.length===0||y.includes(f.treatment);return!!f.image&&M&&k&&b});return he({matchingPrintings:m},d)})),{appliedFilters:n,attributes:a,keywords:s,searchResults:p||i}};let r={getFn:(i,n)=>{let a=ct.default.config.getFn(i,n);return a&&(Array.isArray(a)?a.map(s=>s.replace(S,"")):a.replace(S,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"setIdentifiers",weight:2},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.cards=[...t],this.fuse=new ct.default([...t],r)}},Ir=ut,_r=(e,t,r)=>{let i=!0;for(let n of t){let{isNumber:a,isString:s,isArray:o,isBoolean:l,property:c}=n.filterToPropertyMapping;if((a&&!Fa(e,n)||s&&!ka(e,n)||o&&!Ta(e,n)||l&&!xa(e,n))&&(i=!1),r.isClash&&["rarities","restrictedFormats"].includes(c)){let d=[P.Rarity.SuperRare,P.Rarity.Majestic,P.Rarity.Legendary,P.Rarity.Fabled].some(b=>e.rarities.includes(b)),m=!1;for(let{cardIdentifiers:b,heroes:T}of Qe)for(let L of r.heroes)T.includes(L)&&b.includes(e.cardIdentifier)&&(m=!0);let f=!!e.specializations&&e.specializations.length>0||m,M=[P.Type.Mentor,P.Type.Weapon].some(b=>e.types.includes(b)),k=Ye.includes(e.name);!i&&!k&&(f||M)&&d&&(i=!0),k&&(i=!1)}r.isClash&&r.heroes.includes(P.Hero.Briar)&&e.name==="Rosetta Thorn"&&(i=!0),!i&&r.heroes.includes(P.Hero.Shiyana)&&["classes"].includes(c)&&e.specializations&&e.specializations.length>0&&(i=!0);let h=e.types.includes(P.Type.Equipment);if(!i&&r.heroes.includes(P.Hero.Taylor)&&h&&h&&(i=!0),!i)break}return i},Fa=(e,t)=>{var r;if(Be(t,e)){let{values:i,modifier:n,excluded:a,filterToPropertyMapping:{partialMatch:s}}=t,o=pt(e,t);if(o!=null&&!isNaN(o))if(o=parseInt(o),n)switch(n){case">=":let l=i==null?void 0:i.some(h=>o>=parseInt(h));return a?!l:l;case">":let c=i==null?void 0:i.some(h=>o>parseInt(h));return a?!c:c;case"<=":let p=i==null?void 0:i.some(h=>o<=parseInt(h));return a?!p:p;case"<":let g=i==null?void 0:i.some(h=>o<parseInt(h));return a?!g:g;default:return!1}else{let l=i==null?void 0:i.some(c=>o===parseInt(c));return a?!l:l}else{let l=(r=La(e,t))==null?void 0:r.toLowerCase(),c=s?i==null?void 0:i.some(p=>l==null?void 0:l.includes(p)):i==null?void 0:i.some(p=>l===p);return a?!c:c}}else return!0},ka=(e,t)=>{var r;if(Be(t,e)){let{values:i,isAnd:n,excluded:a,filterToPropertyMapping:{partialMatch:s}}=t,o=(r=pt(e,t))==null?void 0:r.replaceAll(S,"");if(s){let l=n?i==null?void 0:i.every(c=>o==null?void 0:o.toLowerCase().includes(c)):i==null?void 0:i.some(c=>o==null?void 0:o.toLowerCase().includes(c));return a?!l:l}else{let l=n?i==null?void 0:i.every(c=>(o==null?void 0:o.toLowerCase())===c):i==null?void 0:i.some(c=>(o==null?void 0:o.toLowerCase())===c);return a?!l:l}}else return!0},Ta=(e,t)=>{if(Be(t,e)){let{values:r,isAnd:i,excluded:n,filterToPropertyMapping:{partialMatch:a}}=t,s=Sa(e,t).map(o=>o==null?void 0:o.replaceAll(S,""));if(a){let o=i?r.every(c=>s==null?void 0:s.some(p=>p==null?void 0:p.toLowerCase().includes(c))):r.some(c=>s==null?void 0:s.some(p=>p==null?void 0:p.toLowerCase().includes(c))),l=s.length===0;return n?!o||l:o}else{let o=i?r.every(l=>s==null?void 0:s.some(c=>(c==null?void 0:c.toLowerCase())===l)):r.some(l=>s==null?void 0:s.some(c=>(c==null?void 0:c.toLowerCase())===l));return n?!o:o}}else return!0},xa=(e,t)=>{if(Be(t,e)){let{excluded:r}=t,i=pt(e,t);return r?!i:i}else return!0},pt=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.property]},Sa=(e,t)=>{let{filterToPropertyMapping:{nestedProperty:r,property:i}}=t,n=e[i]||[];return r?n.map(a=>a[r]).filter(a=>!!a):n},La=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.specialProperty]},Be=({cardTypes:e},{types:t,subtypes:r})=>!e||(e==null?void 0:e.some(i=>t.map(n=>n.toLowerCase()).includes(i.toLowerCase())||r.map(n=>n.toLowerCase()).includes(i.toLowerCase())));var lt=(e,t)=>{let r=t.find(i=>i.name.toLowerCase().replace(S,"")===e);return r||(r=t.find(i=>i.name.toLowerCase().replace(S,"").includes(e))),r};var j=Y(Q()),Pa=e=>{let t=e.filter(o=>o.types.includes(j.Type.Hero)).sort((o,l)=>o.name.localeCompare(l.name)),r=t.filter(o=>!o.young&&!o.classes.includes(j.Class.Adjudicator)),i=t.filter(o=>{let l=o.rarities.some(p=>p!==j.Rarity.Promo),c=o.sets.some(p=>p!==j.Release.Promos);return l||c}),n=t.filter(o=>{let l=o.rarities.every(p=>p===j.Rarity.Promo),c=o.sets.every(p=>p===j.Release.Promos);return l&&c}),a=t.filter(o=>o.young),s=a.filter(({hero:o})=>!r.find(l=>l.hero===o));return{all:t,adult:r,nonPromo:i,promoOnly:n,young:a,youngOnly:s}};var Or=Y(Q());var wa={"Dawnblade, Resplendent":"Dawnblade"},Er=e=>wa[e.name]||e.name,Dr=e=>{var t;return(t=e.functionalText)==null?void 0:t.replaceAll(e.name,"")},Re=(e,t)=>{let r=t.find(i=>i.name.toLowerCase().replace(S,"")===e);return r||(r=t.find(i=>i.name.toLowerCase().replace(S,"").includes(e))),dt(r,t)},dt=(e,t)=>{let r=[],i=[],n=[];if(e){let a=[],s=[],o=Er(e);for(let l of t){let c=Er(l),p=o===c,g=e.pitch!==l.pitch;if(p&&g)r.push(l);else if(!p){let h=Dr(l),y=h==null?void 0:h.includes(o),d=Dr(e),m=d==null?void 0:d.includes(c);y&&a.push(l),m&&s.push(l)}}for(let l of a)i.push(l);for(let l of s){let c=l.name;o!==c&&!s.some(p=>{let g=p.name;return g!==c&&g.includes(c)})&&n.push(l)}}return{otherPitches:r,referencedBy:i,references:n}},Ra=["cash-in-yellow"],Ba=(e,t,r)=>{let i=new Set;for(let n of e.filter(({cardIdentifier:a})=>!Ra.includes(a))){let{references:a}=dt(n,t);for(let s of a.filter(o=>{let l=o.name==="Hyper Driver",c=r===Or.Hero.Maxx;return!l||c}))i.add(s)}return Array.from(i)};0&&(module.exports={PUNCTUATION,abbreviations,availableExclusions,availableModifiers,clashRestrictedCards,clashSpecializationOverrides,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getDeckFilters,getExcludedMetaFilters,getHeroBreakdown,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,heroHasFilters,shorthands});
package/dist/search.d.ts CHANGED
@@ -11,6 +11,7 @@ declare class Search {
11
11
  appliedFilters: AppliedFilter[];
12
12
  keywords: string[];
13
13
  attributes: {
14
+ artists: string[];
14
15
  foilings: Foiling[];
15
16
  releases: Release[];
16
17
  treatments: Treatment[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flesh-and-blood/search",
3
3
  "description": "TypeScript search engine for Flesh and Blood cards",
4
- "version": "0.0.119",
4
+ "version": "0.0.120",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -12,11 +12,11 @@
12
12
  "full": "npm run build"
13
13
  },
14
14
  "dependencies": {
15
- "@flesh-and-blood/types": "^0.0.119",
15
+ "@flesh-and-blood/types": "^0.0.120",
16
16
  "fuse.js": "^6.6.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@flesh-and-blood/cards": "^0.0.119",
19
+ "@flesh-and-blood/cards": "^0.0.120",
20
20
  "@types/jest": "^29.5.7",
21
21
  "@types/node": "^20.8.10",
22
22
  "esbuild": "^0.19.5",
@@ -46,5 +46,5 @@
46
46
  "FAB",
47
47
  "FABTCG"
48
48
  ],
49
- "gitHead": "85660ffdd516b4d70055c0fbe8160d42c7bfd909"
49
+ "gitHead": "08d604bbd612bae748b7385b3ddf5b02b7e72ca2"
50
50
  }